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 { 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

  1. Portal frame - view - source code
  2. 2D truss - view - source code
  3. Two bars - 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

Maintainers

Mohamed Adil

Mohamed Adil

Founder / CEO

Kaison Cheung

Kaison Cheung

Software Developer

API Reference

source code - terms and privacy