Take your parametric app to the next level by utilizing the advanced yet simple FEM solver that Awatif provides.
Runs anywhere, even in browsers without a backend.
Built using modern programming technologies.
Operates in both 2D and 3D spaces.
Rigorously tested and validated by clients.
Runs static analysis. Dynamic and non-linear on the way.
npm install awatif-fem
import { analyze, Node, Element, AnalysisInput, AnalysisOutputs } from "awatif-fem";
const nodes: Node[] = [
[0, 0, 3],
[3, 0, 3],
[3, 0, 0],
];
const elements: Element[] = [
[0, 1],
[1, 2],
];
const analysisInputs: AnalysisInput[] = [
{
node: 0,
support: [false, true, false, true, false, true],
},
{
node: 2,
support: [false, true, false, true, false, true],
},
...elements.map((_, i) => ({
element: i,
elasticity: 210e9,
shearModulus: 84e9,
momentOfInertiaZ: 16.6e-5,
torsionalConstant: 4.6e-5,
})),
{
node: 1,
load: [0, -22e3, 0, 0, 0, 0],
},
];
const analysisOutputs = analyze(nodes, elements, analysisInputs);
const expectedAnalysisOutputs: AnalysisOutputs = {
default: [
{
node: 0,
reaction: [
0, 11000.000000000004, 0, -1646.4208242950122, 0, 31353.579175705014,
],
},
{
node: 1,
deformation: [
0, -0.002627398344540233, 0, 0.0012782770374961275, 0,
-0.0012782770374961275,
],
},
{
element: 0,
normal: [0, 0],
shearY: [11000.000000000004, -11000.000000000004],
shearZ: [0, 0],
torsion: [-1646.4208242950122, 1646.4208242950122],
bendingY: [0, 0],
bendingZ: [31353.579175705014, 1646.4208242950117],
},
],
};
When you toggle the bending moment setting located at the top-left corner, you should see this: