Product / PolyMesh FEA

Mesh generation, solution, error estimation, and refinement in one project.

PolyMesh is the BSD-3-Clause project published as Polyhedral-FEA. It combines CAD-aware hybrid meshing, FE/VEM assembly, a linear-elastostatics solver, recovery-based error estimation, and adaptive refinement.

  • C++20 with OpenCASCADE and Eigen
  • Standard FE cells and polyhedral VEM in one system
  • Public source, tests, validation reports, and benchmark artifacts

Adaptive loop

Use the solved field to decide where the next mesh spends work.

Geometry and boundary-condition features drive an initial size field. The project meshes, solves, recovers stress, estimates discretization error, and can refine toward an explicit target or resource limit.

PolyMesh imports a CAD boundary representation, analyzes features, creates a hybrid mesh, assembles and solves it, estimates error, and either exports the result or adapts the mesh.CADSTEP / B-repMESHhybrid cellsSOLVEone systemESTIMATEZZ recoveryRESULTVTUADAPT SIZE / ORDER / LOCAL REFINEMENT
The estimator is a refinement signal, not a guarantee that the physical model is correct.

Standalone project

A mesher and solver with inspectable boundaries.

The public project accepts STEP and B-rep geometry, produces hybrid meshes, solves linear elastostatics, writes VTU fields, and includes CLI, desktop-study, and self-hosted browser applications.

Standard tetrahedral, hexahedral, prism, and pyramid elements share a global assembly with arbitrary polyhedral cells handled through the Virtual Element Method. The public documentation identifies which experimental paths remain gated instead of treating every implemented path as a default.

A learned advisor can rank measured candidate mesh actions under a degrees-of-freedom budget. It can select or refuse a candidate; it does not guarantee a requested error tolerance.

Project scope
Geometry inputSTEP and B-rep for CAD-aware commands; Gmsh volume mesh accepted by the solve path
Elementstet4/tet10, hex8/hex20, prism, pyramid, and polyhedral VEM
AnalysisSmall-strain linear elastostatics
AdaptivityGeometry sizing, recovery-based error estimation, h/p refinement controls
OutputVTU fields with displacement, stress, error, and mesh-quality data
LicenseBSD 3-Clause

Inside Chudware

A pinned in-process meshing dependency, not a remote black box.

Chudware builds a specific public PolyMesh commit into its FEA stack and records that commit in result provenance. The pinned revision does not move when the standalone project's default branch advances.

Chudware uses the meshing pipeline for its volume mesh and adaptive path. Chudware's engine owns study setup, face selection, per-body material and interface policies, resource admission, static/contact/thermal/modal/buckling solvers, evidence fields, and document persistence.

Why the boundary matters

A result names the engine build, PolyMesh commit, solver, and mesher. That makes the meshing input to a released result traceable even when both projects continue changing.

Source, validation, and limits

Limits

The public project publishes the failure modes with the validation.

The default product mesher is a graded tetrahedral path. Polyhedral VEM transitions and the learned advisor remain separately gated where the public evidence does not justify making them the default.

Geometry fidelity, extreme slivers, iterative-solver scaling, feature resolution, and advisor out-of-distribution behavior are documented limits. A mesh or solve can refuse rather than return an answer outside its configured resource and validity gates.

No tolerance guarantee

The recovery indicator measures behavior of the discretized solution. It does not validate material properties, boundary conditions, load cases, contact assumptions, or the geometry itself.

Inspect the implementation

Read the source and the committed evidence.

The public repository includes build instructions, validation reports, benchmark artifacts, limits, and runnable applications.