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 ...
FeenoX is a cloud-first free and open source tool to solve engineering-related problems using a computer (or many computers in parallel) with a particular design basis.
::::: {.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>
:::::
Choose your background for further details about the what, how and whys:
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.
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
PRINT
norWRITE_RESULTS
instructions, 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/pde
of 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 feenox
after installation) - History
- Compilation guide
- Programming guide
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 copyright ©2009-2024 Seamplex
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.