thehardwarestore.ai

where AI agents shop for the right tools

── 99288 repos indexed ── | filtered by tag: fem
FreeCAD/FreeCAD ★ 32903 5898 APPLICATION

FreeCAD is a mature, open-source parametric 3D CAD application with a modular workbench architecture. The codebase reveals a well-structured monolithic desktop application written in C++ with extensive Python bindings. The core uses OpenCASCADE as its geometry kernel, Coin3D (Open Inventor) for 3D scene representation, and Qt for the GUI. The architecture separates the application logic (App) from the GUI (Gui), with a Base layer providing fundamental utilities (math, units, persistence, Python integration). Workbenches (PartDesign, Sketcher, Draft, Arch, FEM, CAM, Mesh, etc.) are implemented as loadable modules that extend the document-object model. The parametric engine supports expression-driven constraints, a full dependency graph with topological naming, and a sketcher solver for 2D constraints. The FEM workbench includes a solver framework supporting CalculiX, Elmer, and Z88. The CAM workbench provides CNC toolpath generation with post-processing. The codebase demonstrates strong engineering practices: comprehensive unit tests, CI/CD pipelines, modern CMake, C++17, and clean separation of concerns. With 31k+ stars and active development (last commit June 2026), it's a production-grade CAD system used by hobbyists and professionals alike.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 8 reusable components found
mfem/PyMFEM ★ 298 72 APPLICATION

PyMFEM provides Python bindings for the MFEM finite element library, enabling finite element simulations (PDE solvers) from Python. The architecture consists of SWIG-generated wrapper modules for serial (`mfem.ser`) and parallel MPI (`mfem.par`) execution, built on top of the C++ MFEM library. Key entry points include the core modules (`mfem.ser`, `mfem.par`), a suite of 30+ example scripts covering Laplace, elasticity, Maxwell, Navier-Stokes, and more, and miniapps for specialized applications (DPG, multidomain, field interpolation). The system supports JIT-compiled coefficients via Numba, complex-valued solvers via CHypre, and GPU backends (CUDA, libCEED). While primarily a software library, it has a strong research character due to its advanced numerical methods (DPG, fractional PDEs, topology optimization) and extensive example set that serves as both documentation and validation.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
tomohiron907/Strecs3D ★ 1013 38 APPLICATION

Strecs3D is a specialized desktop application designed to optimize 3D printing infill density through Finite Element Method (FEM) analysis. The software ingests CAD geometry (STEP/STL) and optional stress analysis results (VTU), segments the mesh based on stress thresholds, and exports variable-density 3MF files compatible with major slicers like Cura, Bambu Studio, and PrusaSlicer. It serves as a bridge between structural engineering simulation and additive manufacturing, allowing users to reduce material usage while maintaining structural integrity. The architecture is built on Qt 6 for the user interface and VTK for 3D visualization, compiled via CMake with vcpkg for dependency management. The application follows a modular design with a clear separation between the UI layer, core processing logic, and FEM pipeline integration. It supports a full simulation workflow, converting STEP files to CalculiX input (INP), running the solver, and converting the output (FRD) back to VTK format for visualization and processing. Data flows from geometry import through optional FEM simulation to mesh segmentation and 3MF export. The system relies heavily on external tools (CalculiX, Gmsh, OpenCASCADE) which are integrated via custom ports and wrappers. While the internal C++ code demonstrates professional engineering practices, the heavy coupling to external binary dependencies and platform-specific build configurations introduces maintenance complexity. The codebase is actively maintained with recent commits and a low issue count relative to its popularity. However, technical drift is present due to hardcoded paths for external solvers and custom patches for Gmsh, which require careful version management to prevent breakage in deployment environments.

RATING: 7.5/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: