What is G+Smo?
G+Smo (pronounced gismo or gizmo) is a C++ library for isogeometric analysis (IGA). Geometry plus simulation modules aims at the seamless integration of Computer-aided Design (CAD) and Finite Element Analysis (FEA).
Aim of the adapter
The G+Smo adapter provides a collection of examples demonstrating the use of G+Smo solvers adapted for preCICE. A particular focus lies on the IGA functionality of G+Smo.
Install G+Smo and the adapter
The G+Smo adapter is a submodule of the G+Smo library and relies on the core functionality of the main library. The adapter is automatically cloned into the main library if configured.
Clone G+Smo and build a specific solver:
git clone https://github.com/gismo/gismo.git
cd gismo
mkdir build & cd build
cmake .. -DGISMO_OPTIONAL="<additional submodules>;gsPreCICE"
make <solver_name>
Depending on the solver, different submodules need to be added. These <additional submodules>
can be gsElasticity
, gsKLShell
and gsStructuralAnalysis
.
For example, to build the solver perpendicular-flap-vertex-gismo
, configure and build with:
cmake .. -DGISMO_OPTIONAL="gsElasticity;gsStructuralAnalysis;gsPreCICE"
make perpendicular-flap-vertex-gismo
For more details, refer to the documentation and examples within each submodule. Available solvers:
Solver | Additional submodules |
---|---|
perpendicular-flap-vertex-gismo |
gsElasticity ,gsStructuralAnalysis |
Finally, make the solver discoverable, e.g. by installation (by default, to /usr/local/
, which might not be in your LD_LIBRARY_PATH
):
make install <solver_name>
History
The adapter has been developed by Jingya Li (@Crazy-Rich-Meghan) and Hugo Verhelst (@hverhelst).
How to cite
There is a FAQ entry on how to cite G+Smo itself.