What sets Awatif apart is the significant challenge in our industry: the reliance on different apps for designing structures. Unfortunately, we still lack a unified data structure to interpolate between them. Awatif addresses this challenge by decomposing model complexity into its core primitives, which are geometry-based. Any structure geometry can be represented by a list of nodes and elements. All additional data required for analysis, design, or reporting is simply assigned to these nodes or elements.
The data structure is platform-agnostic; you can follow the same structure in Python or C#. Here, the types are defined in TypeScript, allowing you to import them into your algorithm. This enables smooth interpolation with other algorithms that adhere to the same data structure.
npm install awatif-data-structure
import { Element, Node, AnalysisInputs } from "awatif-data-structure";
const nodes: Node[] = [
[0, 0, 0],
[0, 5, 0],
[5, 5, 0],
[5, 0, 0],
];
const elements: Element[] = [
[0, 1],
[1, 2],
[2, 3],
];
const analysisInputs: AnalysisInputs = {
materials: new Map(),
sections: new Map(),
pointLoads: new Map(),
};
analysisInputs.materials?.set(0, { elasticity: 200 });
analysisInputs.sections?.set(1, { area: 10 });
analysisInputs.pointLoads?.set(1, [0, 0, -50, 0, 0, 0]);
Below are examples of a complete Finite Element Method (FEM) analysis using this data structure: