{"id":14673126,"url":"https://github.com/seamplex/feenox","last_synced_at":"2025-09-09T02:31:07.704Z","repository":{"id":38883545,"uuid":"330409885","full_name":"seamplex/feenox","owner":"seamplex","description":"Cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool","archived":false,"fork":false,"pushed_at":"2024-09-05T10:37:48.000Z","size":37531,"stargazers_count":62,"open_issues_count":2,"forks_count":12,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-09-07T01:57:22.162Z","etag":null,"topics":["finite-elements","hpc","numerical-methods","ode-solver","pde-solver"],"latest_commit_sha":null,"homepage":"https://www.seamplex.com/feenox","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seamplex.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-17T14:29:56.000Z","updated_at":"2024-09-05T10:37:52.000Z","dependencies_parsed_at":"2023-09-25T00:13:01.963Z","dependency_job_id":"43ec114a-83ba-4eb2-a642-e5905b893b0b","html_url":"https://github.com/seamplex/feenox","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamplex%2Ffeenox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamplex%2Ffeenox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamplex%2Ffeenox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamplex%2Ffeenox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seamplex","download_url":"https://codeload.github.com/seamplex/feenox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":218751632,"owners_count":16382468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["finite-elements","hpc","numerical-methods","ode-solver","pde-solver"],"created_at":"2024-09-12T06:03:37.414Z","updated_at":"2025-09-09T02:31:07.651Z","avatar_url":"https://github.com/seamplex.png","language":"C","readme":"FeenoX: A cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool\n\n- 1 About FeenoX\n  - 1.1 Extents\n    - 1.1.1 Examples\n    - 1.1.2 Tutorials\n    - 1.1.3 Tests\n  - 1.2 Capabilities\n  - 1.3 Usefulness\n- 2 Documentation\n- 3 Quickstart\n  - 3.1 Install from apt\n  - 3.2 Download\n  - 3.3 Git repository\n- 4 Licensing\n  - 4.1 Contributing\n- 5 Further information\n\n[DOI]\n\n  [1 About FeenoX]: #about-feenox\n  [1.1 Extents]: #extents\n  [1.1.1 Examples]: #examples\n  [1.1.2 Tutorials]: #tutorials\n  [1.1.3 Tests]: #tests\n  [1.2 Capabilities]: #capabilities\n  [1.3 Usefulness]: #usefulness\n  [2 Documentation]: #documentation\n  [3 Quickstart]: #quickstart\n  [3.1 Install from apt]: #install-from-apt\n  [3.2 Download]: #download\n  [3.3 Git repository]: #git-repository\n  [4 Licensing]: #licensing\n  [4.1 Contributing]: #sec:contributing\n  [5 Further information]: #further-information\n  [DOI]: https://joss.theoj.org/papers/10.21105/joss.05846/status.svg\n  [1]: https://doi.org/10.21105/joss.05846\n\nAbout FeenoX\n\nFeenoX is a cloud-first free and open source tool to solve\nengineering-related problems using a computer (or many computers in\nparallel) with a particular design basis.\n\nConsider the following input file:\n\n    PROBLEM mechanical MESH box.msh\n\n    T(x,y,z) = sqrt(x^2 + y^2) + z   # non-trivial temperature distribution\n    E = 200e3 * (1-T(x,y,z)/300)     # temperature-dependent Young modulus\n    nu = 0.3\n\n    BC left fixed           # left face fully fixed\n    BC top  p=1e4*(1+x)     # top face with a triapezoidal load\n\n    WRITE_RESULTS FORMAT vtu\n\nNote that\n\n- The input file is made of simple self-descriptive English keywords\n- Material properties and boundary conditions can be expressions of x, y\n  and z\n- Input mesh is is Gmsh’s format .msh\n- Output results are in Paraview’s .vtk/.vtu formats\n\nEach of these items has a lot of design and usage implications,\nthoroughly discussed in the Software Design Specification, ranging from\nintegrating FeenoX as a back end for different front ends with a\nreasonably low effort (e.g. SunCAE), down to suitability for interaction\nwith Large Language Models. As a reference, the reader is encouraged to\ncompare the above input syntax with any other FEA solver and then\nconsider how to ask ChatGPT \u0026 friends for help to create an input file\nfrom scratch. Or how to write a Graphical User Interface that would need\nto create something the solver can read. Plus, it can be installed with\n\n    apt install feenox\n\n------------------------------------------------------------------------\n\nChoose your background for further details about the what, how and whys:\n\n- Industry Engineer\n- Unix Hacker\n- Academic Professor\n\nSee the following paper for a brief summary (and to cite FeenoX in your\nwork):\n\n- Theler J, “FeenoX: a cloud-first finite-element(ish) computational\n  engineering tool,” Journal of Open Source Software, vol. 9, no. 95,\n  p. 5846, Mar. 2024, doi: 10.21105/joss.05846.\n\n  News\n\n  - First non-trivial large-deformation mechanical example: NAFEMS GNL5\n    “Large-deformation beam”\n\n  - \n\n    FeenoX is now in Debian (testing) and Ubuntu 25.04!\n\n        You can install FeenoX from APT\n\n            sudo apt install feenox\n\n        Check progress on the following pages:\n\n        - https://packages.debian.org/unstable/science/feenox\n        - https://launchpad.net/ubuntu/+source/feenox\n\n  - \n\n    Open-source web-based UX for FeenoX.\n\n        Take a look at SunCAE for an example of how to write a front end\n        for FeenoX.\n\n  - \n\n    IB students\n\n        Remember that your first read should be the 0-th tutorial,\n        Setting up your workspace\n\n  [FeenoX]: https://seamplex.com/feenox\n  [cloud-first]: https://seamplex.com/feenox/doc/sds.html#cloud-first\n  [free and open source]: #licensing\n  [engineering-related problems]: #extents\n  [many computers in parallel]: https://www.seamplex.com/feenox/doc/sds.html#sec:scalability\n  [particular design basis]: https://seamplex.com/feenox/doc/sds.html\n  [input file]: https://www.seamplex.com/feenox/doc/sds.html#sec:input\n  [simple]: https://www.seamplex.com/feenox/doc/sds.html#sec:simple\n  [self-descriptive English]: https://www.seamplex.com/feenox/doc/sds.html#sec:sugar\n  [keywords]: https://www.seamplex.com/feenox/doc/sds.html#sec:nouns_verbs\n  [Material properties and boundary conditions]: https://www.seamplex.com/feenox/doc/sds.html#sec:flexibility\n  [expressions of x, y and z]: https://www.seamplex.com/feenox/doc/sds.html#sec:expression\n  [Gmsh’s format .msh]: https://www.seamplex.com/feenox/doc/sds.html#sec:interoperability\n  [Software Design Specification]: https://www.seamplex.com/feenox/doc/sds.html\n  [SunCAE]: https://www.seamplex.com/suncae\n  [Industry Engineer]: ./README4engineers.md\n  [Unix Hacker]: ./README4hackers.md\n  [Academic Professor]: ./README4academics.md\n  [cite FeenoX in your work]: ./doc/FAQ.md#how-should-i-cite-feenox\n  [10.21105/joss.05846]: https://doi.org/10.21105/joss.05846\n  [NAFEMS GNL5 “Large-deformation beam”]: https://www.seamplex.com/feenox/examples/mechanical.html#nafems-gnl5-large-deformation-beam\n  [Setting up your workspace]: https://www.seamplex.com/feenox/doc/tutorials/000-setup/\n\nExtents\n\nExamples\n\n- Basic mathematics\n- Systems of ODEs/DAEs\n- Laplace’s equation\n- Heat conduction\n- Elasticity (small and large strain)\n- Modal analysis\n- Neutron diffusion\n- Neutron SN\n\n  [Basic mathematics]: https://seamplex.com/feenox/examples/basic.html\n  [Systems of ODEs/DAEs]: https://seamplex.com/feenox/examples/daes.html\n  [Laplace’s equation]: https://seamplex.com/feenox/examples/laplace.html\n  [Heat conduction]: https://seamplex.com/feenox/examples/thermal.html\n  [Elasticity (small and large strain)]: https://seamplex.com/feenox/examples/mechanical.html\n  [Modal analysis]: https://seamplex.com/feenox/examples/modal.html\n  [Neutron diffusion]: https://seamplex.com/feenox/examples/neutron_diffusion.html\n  [Neutron SN]: https://seamplex.com/feenox/examples/neutron_sn.html\n\nTutorials\n\n0.  Setting up your workspace\n1.  Overview: the tensile test case\n2.  Fun \u0026 games: solving mazes with PDES instead of AI\n3.  Heat conduction\n\n  [2]: https://www.seamplex.com/feenox/doc/tutorials/000-setup\n  [Overview: the tensile test case]: https://www.seamplex.com/feenox/doc/tutorials/110-tensile-test\n  [Fun \u0026 games: solving mazes with PDES instead of AI]: https://www.seamplex.com/feenox/doc/tutorials/120-mazes\n  [3]: https://www.seamplex.com/feenox/doc/tutorials/320-thermal\n\nTests\n\nThe tests directory in the repository has hundreds of\n\n- grep-able examples\n- unit and regression tests,\n- (crude) mathematical \u0026 code verification tests (as in “are we solving\n  right the equations?”),\n- subdirectories with further case studies\n  - mms\n    - thermal\n      - 2d\n      - 3d\n    - mechanical\n      - sdef\n      - ldef\n  - nafems\n    - le10\n\n  [tests]: https://github.com/seamplex/feenox/tree/main/tests\n  [unit and regression tests]: https://seamplex.com/feenox/doc/compilation.html#sec:test-suite\n  [mms]: https://github.com/seamplex/feenox/tree/main/tests/mms\n  [thermal]: https://github.com/seamplex/feenox/tree/main/tests/mms/thermal\n  [2d]: https://github.com/seamplex/feenox/tree/main/tests/mms/thermal/2d\n  [3d]: https://github.com/seamplex/feenox/tree/main/tests/mms/thermal/3d\n  [mechanical]: https://github.com/seamplex/feenox/tree/main/tests/mms/mechanical\n  [sdef]: https://github.com/seamplex/feenox/tree/main/tests/mms/thermal/sdef\n  [ldef]: https://github.com/seamplex/feenox/tree/main/tests/mms/thermal/ldef\n  [nafems]: https://github.com/seamplex/feenox/tree/main/tests/nafems\n  [le10]: https://github.com/seamplex/feenox/tree/main/tests/nafems/le10\n\nCapabilities\n\n- Both free as in “free speech” and in “free beer”\n- The problem to solve is defined through a syntactically-sugared\n  self-descriptive English-like plain-text input file that should\n  resemble the original human-friendly problem formulation as much as\n  possible:\n  - no need to recompile if the problem changes (FeenoX is a program,\n    not a library)\n  - nouns are definitions and verbs are instructions\n  - simple problems need simple inputs\n  - everything is an expression\n  - 100%-defined user output (no PRINT nor WRITE_RESULTS instructions,\n    no output)\n- Cloud-first design (cloud friendliness is not enough)\n- MPI parallelization\n- Leverages high-quality well-established free and open source libraries\n  to solve…\n  - general mathematical problems using GNU GSL\n  - sets of ODEs/DAEs using SUNDIALS\n  - PDEs formulated with the finite element method\n    - reads mesh in Gmsh format\n    - uses PETSc/SLEPc to solve\n      - linear systems (KSP)\n      - non-linear systems (SNES)\n      - time-dependent systems (TS)\n      - generalized eigen-value problems (EPS)\n    - writes results in Gmsh’s .msh format and/or Paraview’s VTU/VTK\n      formats\n- Focuses on flexibility, especially when defining non-uniform\n  multi-solid material properties from ASME tables\n- Follows the Unix programming philosophy\n  - rule of separation\n  - rule of silence\n  - rule of economy\n- Each PDE (i.e. from Laplace downward in the list of examples) is\n  implemented in a subdirectory within src/pde of the source tree\n  - any subdirectory can be removed if a particular PDE is not needed\n  - any subdirectory can be used as a template to add a new PDE to the\n    capabilities\n- Space, time and/or solution-dependent material properties and boundary\n  conditions\n  - algebraic expressions, and/or\n  - point-wise interpolated data\n- Command-line argument expansion for\n  - increased flexibility,\n  - parametric sweeps, and/or\n  - optimization loops\n- Steady-state, [quasi-static] and/or transient problems\n- Linear and non-linear problems\n- Possibility to verify the code using the Method of Manufactured\n  Solutions\n- Separate repository to profile and study code performance using\n  Google’s benchmark library\n\n  [problem]: https://www.seamplex.com/feenox/doc/feenox-manual.html#problem\n  [syntactically-sugared]: https://seamplex.com/feenox/doc/sds.html#sec:syntactic\n  [self-descriptive English-like plain-text input file]: https://seamplex.com/feenox/doc/sds.html#sec:input\n  [resemble the original human-friendly problem formulation]: https://seamplex.com/feenox/doc/sds.html#sec:matching-formulations\n  [no need to recompile if the problem changes]: https://seamplex.com/feenox/doc/sds.html#sec:introduction\n  [nouns are definitions and verbs are instructions]: https://seamplex.com/feenox/doc/sds.html#sec:nouns_verbs\n  [simple problems need simple inputs]: https://seamplex.com/feenox/doc/sds.html#sec:simple\n  [everything is an expression]: https://seamplex.com/feenox/doc/sds.html#sec:expression\n  [100%-defined user output]: https://seamplex.com/feenox/doc/sds.html#sec:output\n  [WRITE_RESULTS]: https://www.seamplex.com/feenox/doc/feenox-manual.html#write_results\n  [Cloud-first design]: https://seamplex.com/feenox/doc/sds.html#cloud-first\n  [MPI parallelization]: https://seamplex.com/feenox/doc/sds.html#sec:scalability\n  [general mathematical problems]: https://seamplex.com/feenox/examples/basic.html\n  [GNU GSL]: https://www.gnu.org/software/gsl/\n  [sets of ODEs/DAEs]: https://seamplex.com/feenox/examples/daes.html\n  [SUNDIALS]: https://computing.llnl.gov/projects/sundials\n  [PDEs]: https://github.com/seamplex/feenox/tree/main/src/pdes\n  [finite element method]: https://en.wikipedia.org/wiki/Finite_element_method\n  [Gmsh]: http://gmsh.info/\n  [PETSc]: https://petsc.org/release/\n  [SLEPc]: https://slepc.upv.es/\n  [KSP]: https://petsc.org/release/manual/ksp/\n  [SNES]: https://petsc.org/release/manual/snes/\n  [TS]: https://petsc.org/release/manual/ts/\n  [EPS]: https://slepc.upv.es/documentation/current/docs/manualpages/EPS/index.html\n  [.msh]: http://gmsh.info/doc/texinfo/gmsh.html#MSH-file-format\n  [Paraview]: https://www.paraview.org/\n  [VTU/VTK]: https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html\n  [flexibility]: https://seamplex.com/feenox/doc/sds.html#sec:flexibility\n  [non-uniform multi-solid material properties from ASME tables]: https://www.seamplex.com/feenox/doc/tutorials/320-thermal/#from-a-steady-state\n  [Unix programming philosophy]: https://seamplex.com/feenox/doc/sds.html#sec:unix\n  [rule of separation]: https://seamplex.com/feenox/doc/sds.html#sec:separation\n  [rule of silence]: https://seamplex.com/feenox/doc/sds.html#sec:silence\n  [rule of economy]: https://seamplex.com/feenox/doc/sds.html#sec:economy\n  [is implemented in a subdirectory]: https://seamplex.com/feenox/doc/sds.html#sec:extensibility\n  [Space]: https://github.com/seamplex/feenox/blob/main/tests/thermal-two-squares-material-explicit-space.fee\n  [time]: https://github.com/seamplex/feenox/blob/main/tests/nafems-t3-1d.fee\n  [material properties]: https://github.com/seamplex/feenox/blob/main/tests/wilson-2d.fee\n  [boundary conditions]: https://github.com/seamplex/feenox/blob/main/tests/radiation-as-convection-celsius.fee\n  [algebraic expressions]: https://seamplex.com/feenox/examples/mechanical.html#parallelepiped-whose-youngs-modulus-is-a-function-of-the-temperature\n  [point-wise interpolated data]: https://seamplex.com/feenox/examples/mechanical.html#temperature-dependent-material-properties\n  [Command-line argument expansion]: https://seamplex.com/feenox/doc/sds.html#sec:run-time-arguments\n  [increased flexibility]: https://seamplex.com/feenox/examples/basic.html#computing-the-derivative-of-a-function-as-a-unix-filter\n  [parametric sweeps]: https://seamplex.com/feenox/doc/sds.html#sec:parametric\n  [optimization loops]: https://seamplex.com/feenox/doc/sds.html#optimization-loops\n  [Steady-state]: https://www.seamplex.com/feenox/doc/tutorials/120-mazes/#solving-the-steady-state-laplace-equation\n  [transient problems]: https://www.seamplex.com/feenox/doc/tutorials/320-thermal/#sec:transient\n  [Linear]: https://www.seamplex.com/feenox/doc/tutorials/320-thermal/#linear-steady-state-problems\n  [non-linear]: https://www.seamplex.com/feenox/doc/tutorials/320-thermal/#non-linear-state-state-problems\n  [Method of Manufactured Solutions]: https://github.com/seamplex/feenox/tree/main/tests/mms\n  [repository to profile and study code performance]: https://github.com/seamplex/feenox-benchmark\n  [Google’s benchmark library]: https://github.com/google/benchmark\n\nUsefulness\n\n- CAEplex: a web-based thermo-mechanical solver running on the cloud\n- Non-conformal mesh mapping\n- ASME stress linearization for pressurized pipes and vessels\n- Assessment of material properties from tabulated sources\n- Environmentally-assisted fatigue analysis in dissimilar interfaces of\n  nuclear pipes\n- Neutron transport in the cloud\n- Solving mazes without AI\n- Parametric NAFEMS LE10 benchmark: comparison of resource consumption\n  for different FEA programs\n- Some Youtube videos\n\n  [CAEplex]: https://www.caeplex.com\n  [web-based thermo-mechanical solver running on the cloud]: https://www.youtube.com/watch?v=DOnoXo_MCZg\n  [Non-conformal mesh mapping]: https://github.com/gtheler/feenox-non-conformal-mesh-interpolation\n  [ASME stress linearization for pressurized pipes and vessels]: https://github.com/seamplex/pipe-linearize\n  [Assessment of material properties from tabulated sources]: https://seamplex.com/feenox/examples/basic.html#on-the-evaluation-of-thermal-expansion-coefficients\n  [Environmentally-assisted fatigue analysis in dissimilar interfaces of nuclear pipes]:\n    https://github.com/seamplex/piping-asme-fatigue\n  [Neutron transport in the cloud]: https://seamplex.com/thesis/html/front/abstract.html\n  [Solving mazes without AI]: https://www.linkedin.com/feed/update/urn:li:activity:6973982270852325376/\n  [Parametric NAFEMS LE10 benchmark: comparison of resource consumption for different FEA programs]:\n    https://seamplex.com/feenox/tests/nafems/le10/\n  [Some Youtube videos]: https://seamplex.com/feenox/doc/#sec:youtube\n\nDocumentation\n\nBrowse through the documentation index and/or the doc subdirectory of\nthe Github repository for\n\n- FAQs, including what FeenoX means\n- Manual\n- Description\n- Software Design Requirements\n- Software Design Specification\n- Unix man page (accessible through man feenox after installation)\n- History\n- Compilation guide\n- Programming guide\n\n  [documentation index]: doc\n  [doc]: https://github.com/seamplex/feenox/tree/main/doc\n  [Github repository]: https://github.com/seamplex/feenox/\n  [FAQs]: ./doc/FAQ.md\n  [what FeenoX means]: https://seamplex.com/feenox/doc/FAQ.html#what-does-feenox-mean\n  [Manual]: https://seamplex.com/feenox/doc/feenox-manual.html\n  [Description]: https://www.seamplex.com/feenox/doc/feenox-desc.html\n  [Software Design Requirements]: https://seamplex.com/feenox/doc/srs.html\n  [4]: https://seamplex.com/feenox/doc/sds.html\n  [Unix man page]: https://seamplex.com/feenox/doc/feenox.1.html\n  [History]: ./doc/history.md\n  [Compilation guide]: ./doc/compilation.md\n  [Programming guide]: ./doc/programming.md\n\nQuickstart\n\nInstall from apt\n\nIf you use Debian (either Sid, or Trixie with backports) or Ubuntu 25.04\nor higher, you can do\n\n    sudo apt install feenox\n\nSee these links for details about the packages:\n\n- https://packages.debian.org/unstable/science/feenox\n- https://launchpad.net/ubuntu/+source/feenox\n\n  [Debian]: https://www.debian.org\n  [Sid]: https://wiki.debian.org/DebianUnstable\n  [Trixie]: https://www.debian.org/releases/trixie\n  [backports]: https://backports.debian.org\n  [Ubuntu 25.04]: https://releases.ubuntu.com/plucky\n\nDownload\n\n  ----------------------------- -----------------------------------------------------\n  Debian package                https://packages.debian.org/unstable/science/feenox\n\n  Ubuntu package                https://launchpad.net/ubuntu/+source/feenox\n\n  GNU/Linux binaries            https://www.seamplex.com/feenox/dist/linux\n\n  Source tarballs               https://www.seamplex.com/feenox/dist/src\n\n  Github repository             https://github.com/seamplex/feenox/\n  ----------------------------- -----------------------------------------------------\n\nGeneric GNU/Linux binaries are provided as statically-linked executables\nfor convenience. They do not support MUMPS nor MPI and have only basic\noptimization flags. Please compile from source for high-end\napplications. See detailed compilation instructions.\n\n  - Be aware that FeenoX does not have a GUI. Read the documentation,\n    especially the description and the FAQs. Ask for help on the GitHub\n    discussions page if you do now understand what this means.\n\n  - You can still use FeenoX through a web-based UI through SunCAE.\n\n  [detailed compilation instructions]: doc/compilation.md\n  [documentation]: https://seamplex.com/feenox/doc/\n  [description]: https://www.seamplex.com/feenox/doc/feenox-desc.html\n  [5]: https://seamplex.com/feenox/doc/FAQ.html\n  [GitHub discussions page]: https://github.com/seamplex/feenox/discussions\n  [SunCAE]: https://www.seamplex.com/suncae\n\nGit repository\n\nThe Git repository has the latest sources repository. To compile,\nproceed as follows. If something goes wrong and you get an error, do not\nhesitate to ask in FeenoX’s discussion page.\n\n  If you do not have Git or Autotools, download a source tarball and\n  proceed with the usual configure \u0026 make procedure. See these\n  instructions.\n\n1.  Install mandatory dependencies\n\n        sudo apt-get update\n        sudo apt-get install git build-essential make automake autoconf libgsl-dev\n\n    If you cannot install libgsl-dev but still have git and the build\n    toolchain, you can have the configure script to download and compile\n    it for you. See point 4 below.\n\n2.  Install optional dependencies (of course these are optional but\n    recommended)\n\n        sudo apt-get install libsundials-dev petsc-dev slepc-dev\n\n3.  Clone Github repository\n\n        git clone https://github.com/seamplex/feenox\n\n4.  Bootstrap, configure, compile \u0026 make\n\n        cd feenox\n        ./autogen.sh\n        ./configure\n        make -j4\n\n    If you cannot (or do not want to) use libgsl-dev from a package\n    repository, call configure with --enable-download-gsl:\n\n        ./configure --enable-download-gsl\n\n    If you do not have Internet access, get the tarball manually, copy\n    it to the same directory as configure and run again. See the\n    detailed compilation instructions for an explanation.\n\n5.  Run test suite (optional)\n\n        make check\n\n6.  Install the binary system wide (optional)\n\n        sudo make install\n\n      If you do not have root permissions, configure with your home\n      directory as prefix and then make install as a regular user:\n\n          ./configure --prefix=$HOME\n          make\n          make install\n\nTo stay up to date, pull and then autogen, configure and make (and\noptionally install):\n\n    git pull\n    ./autogen.sh\n    ./configure\n    make -j4\n    sudo make install\n\nSee the download page and the compilation guide for detailed\ninformation.\n\n  [discussion page]: https://github.com/seamplex/feenox/discussions\n  [source tarball]: https://seamplex.com/feenox/dist/src/\n  [these instructions]: doc/source.md\n  [6]: compilation.md\n  [download page]: https://seamplex.com/feenox/download.html\n  [compilation guide]: ./doc/compilation.md\n\nLicensing\n\nFeenoX is distributed under the terms of the GNU General Public License\nversion 3 or (at your option) any later version. The following text was\nborrowed from the Gmsh documentation. Replacing “Gmsh” with “FeenoX”\n(using Unix’s sed) gives:\n\n  FeenoX is “free software”; this means that everyone is free to use it\n  and to redistribute it on a free basis. FeenoX is not in the public\n  domain; it is copyrighted and there are restrictions on its\n  distribution, but these restrictions are designed to permit everything\n  that a good cooperating citizen would want to do. What is not allowed\n  is to try to prevent others from further sharing any version of FeenoX\n  that they might get from you.\n\n  Specifically, we want to make sure that you have the right to give\n  away copies of FeenoX, that you receive source code or else can get it\n  if you want it, that you can change FeenoX or use pieces of FeenoX in\n  new free programs, and that you know you can do these things.\n\n  To make sure that everyone has such rights, we have to forbid you to\n  deprive anyone else of these rights. For example, if you distribute\n  copies of FeenoX, you must give the recipients all the rights that you\n  have. You must make sure that they, too, receive or can get the source\n  code. And you must tell them their rights.\n\n  Also, for our own protection, we must make certain that everyone finds\n  out that there is no warranty for FeenoX. If FeenoX is modified by\n  someone else and passed on, we want their recipients to know that what\n  they have is not what we distributed, so that any problems introduced\n  by others will not reflect on our reputation.\n\n  The precise conditions of the license for FeenoX are found in the\n  General Public License that accompanies the source code. Further\n  information about this license is available from the GNU Project\n  webpage http://www.gnu.org/copyleft/gpl-faq.html.\n\nFeenoX is licensed under the terms of the GNU General Public License\nversion 3 or, at the user convenience, any later version. This means\nthat users get the four essential freedoms:[1]\n\n0.  The freedom to run the program as they wish, for any purpose.\n1.  The freedom to study how the program works, and change it so it does\n    their computing as they wish.\n2.  The freedom to redistribute copies so they can help others.\n3.  The freedom to distribute copies of their modified versions to\n    others.\n\nSo a free program has to be open source, but it also has to explicitly\nprovide the four freedoms above both through the written license and\nthrough appropriate mechanisms to get, modify, compile, run and document\nthese modifications using well-established and/or reasonable\nstraightforward procedures. That is why licensing FeenoX as GPLv3+ also\nimplies that the source code and all the scripts and makefiles needed to\ncompile and run it are available for anyone that requires it (i.e. it is\ncompiled with ./configure \u0026\u0026 make). Anyone wanting to modify the program\neither to fix bugs, improve it or add new features is free to do so. And\nif they do not know how to program, the have the freedom to hire a\nprogrammer to do it without needing to ask permission to the original\nauthors. Even more, the documentation is released under the terms of the\nCreative Commons Attribution-ShareAlike 4.0 International License so\nthese new (or modified) features can be properly documented as well.\n\nNevertheless, since these original authors are the copyright holders,\nthey still can use it to either enforce or prevent further actions from\nthe users that receive FeenoX under the GPLv3+. In particular, the\nlicense allows re-distribution of modified versions only if\n\na.  they are clearly marked as different from the original, and\nb.  they are distributed under the same terms of the GPLv3+.\n\nThere are also some other subtle technicalities that need not be\ndiscussed here such as\n\n- what constitutes a modified version (which cannot be redistributed\n  under a different license)\n- what is an aggregate (in which each part be distributed under\n  different licenses)\n- usage over a network and the possibility of using AGPL instead of GPL\n  to further enforce freedom\n\nThese issues are already taken into account in the FeenoX licensing\nscheme.\n\nIt should be noted that not only is FeenoX free and open source, but\nalso all of the libraries it depends on (and their dependencies) also\nare. It can also be compiled using free and open source build tool\nchains running over free and open source operating systems.\n\n[1]  There are some examples of pieces of computational software which\nare described as “open source” in which even the first of the four\nfreedoms is denied. The most iconic case is that of Android, whose\nsources are readily available online but there is no straightforward way\nof updating one’s mobile phone firmware with a customized version, not\nto mention vendor and hardware lock ins and the possibility of bricking\ndevices if something unexpected happens. In the nuclear industry, it is\nthe case of a Monte Carlo particle-transport program that requests users\nto sign an agreement about the objective of its usage before allowing\nits execution. The software itself might be open source because the\nsource code is provided after signing the agreement, but it is not free\n(as in freedom) at all.\n\n  [GNU General Public License]: http://www.gnu.org/copyleft/gpl.html\n  [Gmsh documentation]: http://gmsh.info/doc/texinfo/gmsh.html#Copying-conditions\n  [General Public License]: https://github.com/seamplex/feenox/blob/master/COPYING\n  [7]: https://www.gnu.org/licenses/gpl-3.0\n  [the documentation]: https://seamplex.com/feenox/doc/\n  [Creative Commons Attribution-ShareAlike 4.0 International License]: https://creativecommons.org/licenses/by-sa/4.0/\n  [AGPL]: https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License\n\nContributing\n\nContributions from hackers and/or academics are welcome, especially new\ntypes of PDEs and new formulations of existing PDEs. For elliptic\noperators feel free to use the Laplace equation at src/pdes/laplace as a\ntemplate.\n\n1.  Read the Programming Guide.\n2.  Browse Github discussions and open a new thread explaining what you\n    want to do and/or asking for help.\n3.  Fork the Git repository under your Github account\n4.  Create a pull request, including\n    - code,\n    - documentation, and\n    - tests.\n5.  Follow up the review procedure.\n\nNote that\n\n- It is mandatory to observe the Code of Conduct.\n- The contributed code has to be compatible with the GPLv3+ license.\n- Each author keeps the copyright of the contribution.\n- You can ask!\n\n  [hackers]: README4hackers.html\n  [academics]: README4academics.html\n  [src/pdes/laplace]: https://github.com/seamplex/feenox/tree/main/src/pdes/laplace\n  [8]: https://seamplex.com/feenox/doc/programming.html\n  [Github discussions]: https://github.com/seamplex/feenox/discussions\n  [Git repository]: https://github.com/seamplex/feenox/\n  [Code of Conduct]: https://seamplex.com/feenox/doc/CODE_OF_CONDUCT.html\n  [GPLv3+ license]: https://www.seamplex.com/feenox/#sec:licensing\n\nFurther information\n\nHome page: https://www.seamplex.com/feenox\nRepository: https://github.com/seamplex/feenox\nBug reporting: https://github.com/seamplex/feenox/issues\nDiscussions: https://github.com/seamplex/feenox/discussions\nFollow us: YouTube LinkedIn Github\n\n------------------------------------------------------------------------\n\nFeenoX is licensed under GNU GPL version 3 or (at your option) any later\nversion.\nFeenoX is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\n  [YouTube]: https://www.youtube.com/channel/UCC6SzVLxO8h6j5rLlfCQPhA\n  [LinkedIn]: https://www.linkedin.com/company/seamplex/\n  [Github]: https://github.com/seamplex\n  [GNU GPL version 3]: http://www.gnu.org/copyleft/gpl.html\n","funding_links":[],"categories":["PDE Solver"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamplex%2Ffeenox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseamplex%2Ffeenox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamplex%2Ffeenox/lists"}