FeenoX 1.1

FeenoX is a computational tool that can solve engineering problems which are usually casted as differential-algebraic equations (DAEs) or partial differential equations (PDEs). It is to finite elements programs and libraries what Markdown is to Word and TeX, respectively. In particular, it can solve dynamical systems defined by a set of user-provided DAEs (such as plant control dynamics for example) mechanical elasticity heat conduction structural modal analysis neutron diffusion neutron transport FeenoX reads a plain-text input file which contains the problem definition and writes 100%-user defined results in ASCII (through PRINT or other user-defined output instructions within the input file). For PDE problems, it needs a reference to at least one Gmsh mesh file for the discretization of the domain. It can write post-processing views in either .msh or .vtk formats.

Tags fea fem engineering gmsh mesh vtk c
License GNU GPLv3
State initial

Recent Releases

1.107 Jul 2025 18:45 minor bugfix: Misc for Debian packaging. Steady-state writer in VTU `.vtu` format. Skip some tests in big-endian architectures. `READ_MESH` can read CalculiX's `.frd` output files. `utils/fee2ccx` converter from FeenoX's `.fee` to CalculiX's `.fee`. Links to examples and tests in HTML manual. Cleanups to create `debian` directory in Salsa (see ). Distribution binaries are dynamic instead of static. `BC` type `adiabatic` in `thermal`. `TIME_PATH` with PETSc and SUNDIALS. Improved vector initialization syntax. Remove compilation date to allow reproducible builds. BCs as arrays instead of linked lists. Option `--ast`. `BC GROUPS` to select many labels at once. Cleanups to create Debian `dsc`. Use `config.h` instead of `version.h`. Compute perimeters using second-order precision. Bump GSL to v2.8. `INTEGRATE` expressions of `nx`, `ny` and `nz`. Create `_cog` variables for points as well. For evaluation of derivatives at arbitrary locations. Paper in FOSS: .
1.017 Dec 2024 17:55 major feature: option --check README for engineers, hackers and academics thermal tutorial thermal radiation tests two-dimensional quasi-random number sequences non-zero Neumann BCs in neutron diffusion LABEL in now an alias for PHYSICAL_GROUP in MATERIAL explicit fission spectrum EIGEN_DIRICHLET_ZERO keyword special variable mumps_ictnl_14 to control MUMPS' over-relaxation factor improved MPI execution verification with MMS PRINTF and PRINTF_ALL instructions improved memory handling when building elemental objects PREALLOCATE and ALLOW_NEW_NONZEROS options choose either to fail or allow missed BCs updated internal naming of FEM matrices to match the doc dump element drawings, node ordering and shape functions with --elements_info cleaned up source distributions CI using Github actions Los Alamos criticallity benchmarks in tests support for reading VTK v5 files WRITE_RESULTS keyword split examples by problem type YAML blocks in input file for metadata are allowed (so far they are ignored by FeenoX) 0 (or 0 or (1)) expands to the base name of the main input, i.e. without the .fee extension bracketed argumens so 1 1 (1) is a valid string multi-group neutron transport with discrete ordinates ( S N method) mimicked-nodes BCs read mesh fields from VTK files