1. Awatif
  2. FEM Solver

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 { Node, Element, AnalysisInputs, AnalysisOutputs } from "awatif-data-structure";
import { analyze } from "awatif-fem";

const nodes: Node[] = [
  [0, 0, 3],
  [3, 0, 3],
  [3, 0, 0],
];
const elements: Element[] = [
  [0, 1],
  [1, 2],
];
const analysisInputs: AnalysisInputs = {
  materials: new Map(),
  sections: new Map(),
  pointSupports: new Map(),
  pointLoads: new Map(),
};

analysisInputs.pointSupports?.set(0, [false, true, false, true, false, true]);
analysisInputs.pointSupports?.set(2, [false, true, false, true, false, true]);
analysisInputs.pointLoads?.set(1, [0, -22e3, 0, 0, 0, 0]);
elements.forEach((_, i) => {
  analysisInputs.materials?.set(i, {
    elasticity: 210e9,
    shearModulus: 84e9,
  });
  analysisInputs.sections?.set(i, {
    momentOfInertiaZ: 16.6e-5,
    torsionalConstant: 4.6e-5,
  });
});

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

  1. Bars - view - source code
  2. Beams - view - source code
  3. Truss - view - source code
  4. 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:

portal-frame bending moment

API Reference

source code - terms and privacy