| title | FeenoX |
|---|---|
| subtitle | A cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool |
| titleblock | FeenoX: A cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool ======================================================================================= |
| lang | en-US |
| number-sections | true |
| toc | true |
Choose your background for further details about the what, how and whys:
::::: {.only-in-format .html }
<a class="btn btn-lg btn-outline-primary" href="./README4engineers.md" role="button">FeenoX for Industry Engineers</a>
<a class="btn btn-lg btn-outline-secondary" href="./README4hackers.md" role="button">FeenoX for Unix Hackers</a>
<a class="btn btn-lg btn-outline-info" href="./README4academics.md" role="button">FeenoX for Academic Professors</a>
:::::
See the following paper for a brief summary (and to cite FeenoX in your work):
- Theler J, “FeenoX: a cloud-first finite-element(ish) computational engineering tool,” Journal of Open Source Software, vol. 9, no. 95, p. 5846, Mar. 2024, doi: 10.21105/joss.05846.
White paper “Why FeenoX is different”
First non-trivial large-deformation mechanical example: NAFEMS GNL5 “Large-deformation beam”
FeenoX is now in Debian (Trixie backports, Forky and Sid) and Ubuntu (25.04 onward).
: You can install FeenoX from APT
```terminal sudo apt install feenox ```Open-source web-based UX for FeenoX.
: Take a look at SunCAE for an example of how to write a front end for FeenoX.
IB students
: Remember that your first read should be the 0-th tutorial, Setting up your workspace
doc/examples-list.md
:::::: {.only-in-format .html }
<div id="cast-le10"></div>
<script>AsciinemaPlayer.create('doc/le10.cast', document.getElementById('cast-le10'), {cols:133,rows:32, poster: 'npt:0:3'});</script>
::::::
doc/tutorials-list.md
The tests directory in the repository has hundreds of
grep-able examples- unit and regression tests,
- (crude) mathematical & code verification tests (as in "are we solving right the equations?"),
- subdirectories with further case studies
- Both free as in "free speech" and in "free beer"
- The problem to solve is defined through a syntactically-sugared self-descriptive English-like plain-text input file that should resemble the original human-friendly problem formulation as much as possible:
- no need to recompile if the problem changes (FeenoX is a program, not a library)
- nouns are definitions and verbs are instructions
- simple problems need simple inputs
- everything is an expression
- 100%-defined user output (no
PRINTnorWRITE_RESULTSinstructions, no output)
- Cloud-first design (cloud friendliness is not enough)
- MPI parallelization
- Leverages high-quality well-established free and open source libraries to solve...
- general mathematical problems using GNU GSL
- sets of ODEs/DAEs using SUNDIALS
- PDEs formulated with the finite element method
- Focuses on flexibility, especially when defining non-uniform multi-solid material properties from ASME tables
- Follows the Unix programming philosophy
- Each PDE (i.e. from Laplace downward in the list of examples) is implemented in a subdirectory within
src/pdeof the source tree- any subdirectory can be removed if a particular PDE is not needed
- any subdirectory can be used as a template to add a new PDE to the capabilities
- Space, time and/or solution-dependent material properties and boundary conditions
- Command-line argument expansion for
- Steady-state, [quasi-static] and/or transient problems
- Linear and non-linear problems
- Possibility to verify the code using the Method of Manufactured Solutions
- Separate repository to profile and study code performance using Google's benchmark library
::::: {.only-in-format .html }
::: {.container .text-center .my-5 .ratio .ratio-16x9}
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/EZSjFzJAhbw?rel=0" allowfullscreen></iframe> ::::::::
- CAEplex: a web-based thermo-mechanical solver running on the cloud
- Non-conformal mesh mapping
- ASME stress linearization for pressurized pipes and vessels
- Assessment of material properties from tabulated sources
- Environmentally-assisted fatigue analysis in dissimilar interfaces of nuclear pipes
- Neutron transport in the cloud
- Solving mazes without AI
- Parametric NAFEMS LE10 benchmark: comparison of resource consumption for different FEA programs
- Some Youtube videos
::::: {.only-in-format .html }
::: {.container .text-center .my-5 .ratio .ratio-16x9}
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/b3K2QewI8jE?rel=0" allowfullscreen></iframe> ::::::::
Browse through the documentation index and/or the doc subdirectory of the Github repository for
- FAQs, including what FeenoX means
- Manual
- Description
- Software Design Requirements
- Software Design Specification
- Unix man page (accessible through
man feenoxafter installation) - History
- Compilation guide
- Programming guide
If you use Debian (either Sid, or Trixie with backports) or Ubuntu 25.04 or higher, you can do
sudo apt install feenox
See these links for details about the packages:
doc/downloads.md
doc/git.md
See the download page and the compilation guide for detailed information.
FeenoX is distributed under the terms of the GNU General Public License version 3 or (at your option) any later version. The following text was borrowed from the Gmsh documentation. Replacing “Gmsh” with “FeenoX” (using Unix's sed) gives:
doc/freesw.md
doc/licensing.md
doc/contributing-guidelines.md
Home page: https://www.seamplex.com/feenox
Repository: https://github.com/seamplex/feenox
Bug reporting: https://github.com/seamplex/feenox/issues
Discussions: https://github.com/seamplex/feenox/discussions
Follow us: YouTube
LinkedIn
Github
FeenoX is licensed under GNU GPL version 3 or (at your option) any later version.
FeenoX is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.