百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
F

feenox

> 编程语言
开源

基于云的免费、无费用、无 X 的 uniX 类型的有限元计算工程工具

100 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

基于云的免费、无费用、无 X 的 uniX 类型的有限元计算工程工具

FeenoX: A cloud-first free no-fee no-X uniX-like finite-element(ish) computational engineering tool

  • 1 About FeenoX
    • 1.1 Extents
      • 1.1.1 Examples
      • 1.1.2 Tutorials
      • 1.1.3 Tests
    • 1.2 Capabilities
    • 1.3 Usefulness
  • 2 Documentation
  • 3 Quickstart
    • 3.1 Install from apt
    • 3.2 Download
    • 3.3 Git repository
  • 4 Licensing
    • 4.1 Contributing
  • 5 Further information

DOI

About FeenoX

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.

Consider the following input file:

feenox
PROBLEM mechanical MESH box.msh

T(x,y,z) = sqrt(x^2 + y^2) + z   # non-trivial temperature distribution
E = 200e3 * (1-T(x,y,z)/300)     # temperature-dependent Young modulus
nu = 0.3

BC left fixed           # left face fully fixed
BC top  p=1e4*(1+x)     # top face with a trapezoidal load

WRITE_RESULTS FORMAT vtu

Note that

  • The input file is made of simple self-descriptive English keywords
    • Note that if one asks an LLM to create an input—which is a straightforward task—hallucinations are easily detected.
  • Material properties and boundary conditions can be expressions of $x$, $y$ and $z$
  • Input mesh is in Gmsh’s format .msh
  • Output results are in Paraview’s .vtk/.vtu formats

Each of these items has a lot of design and usage implications, thoroughly discussed in the Software Design Specification, ranging from integrating FeenoX as a back end for different front ends with a reasonably low effort (e.g. SunCAE), down to suitability for interaction with Large Language Models. As a reference, the reader is encouraged to compare the above input syntax with any other FEA solver and then consider how to ask ChatGPT & friends for help to create an input file from scratch. Good luck detecting hallucinations. Or how to write a Graphical User Interface that would need to create something the solver can read. Plus, it can be installed with

terminal
apt install feenox

Choose your background for further details about the what, how and whys:

  • Industry Engineer
  • Unix Hacker
  • Academic Professor

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.

News

  • 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

Extents

Examples

  • Basic mathematics

  • Systems of ODEs/DAEs

  • Laplace’s equation

  • Heat conduction

  • Elasticity (small and large strain)

  • Modal analysis

  • Neutron diffusion

  • Neutron SN

Tutorials

  1. Setting up your workspace
  2. Overview: the tensile test case
  3. Fun & games: solving mazes with PDES instead of AI
  4. Heat conduction

Tests

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

    • mms
      • thermal
        • 2d
        • 3d
      • mechanical
        • sdef
        • ldef
    • nafems
      • le10

Capabilities

  • 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 nor WRITE_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]
      • reads mesh in [Gmsh] format
      • uses [PETSc]/[SLEPc] to solve
        • linear systems ([KSP])
        • non-linear systems ([SNES])
        • time-dependent systems ([TS])
        • generalized eigen-value problems ([EPS])
      • writes results in Gmsh’s [.msh] format and/or [Paraview]’s [VTU/VTK] formats
  • Focuses on [flexibility], especially when defining [non-uniform multi-solid material properties from ASME tables]

  • Follows the [Unix programming philosophy]

    • [rule of separation]
    • [rule of silence]
    • [rule of economy]
  • Each PDE (i.e. from Laplace downward in the list of examples) [is implemented in a subdirectory] within [src/pde][PDEs] 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]

    • [algebraic expressions], and/or
    • [point-wise interpolated data]
  • [Command-line argument expansion] for

    • [increased flexibility],
    • [parametric sweeps], and/or
    • [optimization loops]
  • [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]

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Cfinite-elementshpcnumerical-methodsode-solver

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月18日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言