1.0.0 • Published 12 months ago
awatif-fem v1.0.0
Awatif FEM Solver
Take your parametric app to the next level by utilizing the advanced yet simple FEM solver that Awatif provides.
- Built for the Web: Runs anywhere, even in browsers without a backend.
- Fast and Lightweight: Built using modern programming technologies.
- In 3D: Operates in both 2D and 3D spaces.
- Validated and Trusted: Rigorously tested and validated by clients.
- Comprehensive: Runs static analysis. Dynamic and non-linear on the way.
Installation
npm install awatif-fem
Usage
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],
},
],
};
Examples
- Portal frame - view - source code
- 2D truss - view - source code
- Two bars - view - source code
- Examples from the book: A First Course in the Finite Element Method by Daryl L. Logan 6th edition - source code
When you toggle the bending moment setting located at the top-left corner, you should see this:
Documentation
1.0.0
12 months ago
0.0.12
1 year ago
0.0.13
1 year ago
0.0.11
1 year ago
0.0.10
1 year ago
0.0.9
1 year ago
0.0.8
1 year ago
0.0.4
1 year ago
0.0.1
1 year ago
0.0.3
1 year ago
2.0.13
1 year ago
0.0.2
1 year ago
2.0.12
1 year ago
2.0.11
1 year ago
2.0.9
1 year ago
2.0.10
1 year ago
2.0.8
1 year ago
2.0.7
2 years ago
2.0.6
2 years ago
2.0.3
2 years ago
2.0.5
2 years ago
2.0.4
2 years ago
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago