Repository navigation
0.3.0
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
- Added solver input validation and regression, analytical and benchmark tests (including the NAFEMS T4 benchmark), run with
npm test- Contributed by @ferrari212 and @nikoscham require("feascript")now works in CommonJS projects - Contributed by @nikoscham- Added a changelog and the documentation site https://docs.feascript.com - Contributed by @nikoscham
Breaking Changes
setSolverConfigis removed; usesetModelConfigimportGmshQuadTriis renamed toimportGmshMesh- 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 |