Skip to content

0.3.0

Choose a tag to compare

@nikoscham nikoscham released this 30 Oct 08:10
· 2 commits to main since this release

FEAScript 0.3.0

This release introduces triangular elements, the Euler–Bernoulli beam solver, nonlinear 1D problems, sparse matrix assembly with a universal frontal solver, and vtk.js visualization.

New Features

Physical Modeling

  • Added the 1D Euler–Bernoulli beam solver with cubic Hermite elements, supporting fixed, pinned, spring, force and moment conditions - Contributed by @ferrari212 and @nikoscham
  • Added support for nonlinear 1D problems in the general form PDE solver, using the Newton–Raphson method - Contributed by @nikoscham
  • Added support for spatially varying coefficients (thermal conductivity and heat source as functions of position) - Contributed by @Ed6003 and @nikoscham
  • Added 1D front propagation - Contributed by @nikoscham
  • The viscosity of the creeping flow model can now be set, as a number or as a function of position - Contributed by @nikoscham

Geometry and Meshing

  • Added linear and quadratic triangular elements, including triangular meshes imported from Gmsh - Contributed by @nikoscham
  • Gmsh import now detects the mesh dimension and element order automatically - Contributed by @nikoscham

Numerical Methods

  • Introduced sparse matrix assembly - Contributed by @nikoscham
  • The frontal solver now supports every model that it can solve, including the linear general form PDE - Contributed by @nikoscham
  • Integrated BLAS routines from stdlib - Contributed by @nikoscham
  • Linear elements now use a 2-point Gauss rule per direction (2 × 2 on quadrilaterals), for more accurate results - Contributed by @nikoscham

Visualization & Post-Processing

  • Added visualization with vtk.js and export to VTK/VTP files - Contributed by @nikoscham
  • Models with more than one unknown per node (creeping flow, beam) now return named result fields (e.g. u, v, p, w) that can be plotted directly - Contributed by @nikoscham

Parallelization

  • Web workers now accept the same model options as the main thread, so every model can run in a worker - Contributed by @nikoscham

Testing & Package Distribution

Breaking Changes

  • setSolverConfig is removed; use setModelConfig
  • importGmshQuadTri is renamed to importGmshMesh
  • Results on linear elements change slightly, as they are now integrated more accurately

See the changelog for the full list of changes.

Code Statistics

Files Code Lines Comment Lines Blank Lines Total Lines
105 21,022 5,820 1,933 28,775