Physical Solver Backends#
Overview#
OpenPisco can interface with several external and internal simulation tools.
All solver backends expose a common interface through
OpenPisco.PhysicalSolvers.SolverBase, allowing optimization
algorithms and criteria to remain independent of the underlying simulation
software.
External Solvers#
Code_Aster#
Code_Aster 1 is an open-source finite-element solver developed by EDF. It supports a wide range of structural, thermal and multiphysics analyses.
Main features:
Linear and nonlinear mechanics
Thermal analyses
Modal analyses
Harmonic analyses
Native field post-processing
The interface relies on:
Classes derived from
OpenPisco.ExternalTools.Aster.AsterSolverBase.AsterSolverBase
FreeFem++#
FreeFem++ 2 is a high-level finite-element software package based on the variational formulation of PDEs.
The OpenPisco interface provides:
Automatic generation of FreeFem scripts
Execution of simulations
Retrieval of generated fields
Main classes:
OpenPisco.ExternalTools.FreeFem.FreeFemInterface.FreeFemInterfaceOpenPisco.ExternalTools.FreeFem.FreeFemProblemWriter.FreeFemProblemWriter
Internal Solver#
Muscat#
Muscat 5 is the native finite-element solver available within OpenPisco.
Unlike external solvers:
No intermediate files need to be generated.
No executable needs to be launched.
Meshes are directly accessible through OpenPisco and Muscat structures.
The implementation is based on:
OpenPisco.PhysicalSolvers.UnstructuredFEAGenericProblem
Supported Analyses#
Analysis |
Code_Aster |
FreeFem++ |
Zset |
Muscat |
OpenFOAM |
|---|---|---|---|---|---|
Linear elasticity |
True |
True |
True |
True |
False |
Thermoelasticity |
True |
False |
False |
False |
False |
Static buckling |
True |
False |
False |
False |
False |
Modal analysis |
True |
False |
False |
False |
False |
Harmonic analysis |
True |
False |
False |
False |
False |
Thermal analysis |
True |
False |
False |
True |
False |
Thermal eigenvalue analysis |
True |
False |
False |
False |
False |
Incompressible flow |
False |
False |
False |
False |
True |