Finite element solver library for Range FEA. Provides physics solvers, linear system solvers, and supporting utilities used by the fea-solver CLI and the GUI application.
Each physics solver derives from RSolverGeneric and operates on an RModel from range-model-lib.
| Class | Physics |
|---|---|
RSolverHeat |
Steady-state and transient heat conduction |
RSolverRadiativeHeat |
Radiative heat transfer (hemicube method) |
RSolverFluid |
Incompressible fluid flow (Navier-Stokes) |
RSolverFluidHeat |
Coupled fluid flow and heat transfer |
RSolverFluidParticle |
Particle transport in fluid |
RSolverStress |
Linear structural stress analysis |
RSolverAcoustic |
Acoustic pressure wave propagation |
RSolverElectrostatics |
Electrostatic field analysis |
RSolverMagnetostatics |
Magnetostatic field analysis |
RSolverWave |
General wave equation |
RSolverMesh |
Mesh deformation / moving mesh |
The top-level RSolver class owns the solver map and orchestrates multi-physics execution.
RMatrixSolver wraps iterative solvers for sparse systems assembled by the physics solvers:
- Conjugate Gradient (CG)
- Generalized Minimal Residual (GMRES)
RMatrixPreconditioner provides preconditioning, and RMatrixManager handles sparse matrix storage.
REigenValueSolver provides eigenvalue/eigenvector computation for modal analysis.
RConvection— convective boundary condition assemblyRLocalRotation— local coordinate frame rotations for anisotropic material propertiesRScales— physical unit scaling factorsRIterationInfo/RIterationInfoValue— convergence tracking per iterationRHemiCube/RHemiCubePixel/RHemiCubeSector— hemicube geometry for view-factor computation in radiative heat transferRSolverSharedData— data shared between coupled solvers across time steps
range-base-lib— math primitives, logging, job managementrange-model-lib— FEA model: elements, nodes, materials, boundary conditions