The G+Smo adapter can be used to couple G+Smo to CFD solvers for FSI applications or even to couple G+Smo to itself for advanced structural simulations.

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="<Other submodules>;gsPreCICE"
make <solver_name>

Depending on the solver, different submodules need to be added.

<Other submodules> can be gsElasticity, gsKLShell and gsStructuralAnalysis. For more details, refer to the documentation and examples within each submodule.

Solver Required Submodules Configuration
perpendicular-flap-vertex-gismo gsElasticity,gsStructuralAnalysis cmake .. -DGISMO_OPTIONAL="gsPreCICE;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>

Example instructions for perpendicular-flap-vertex-gismo

git clone https://github.com/gismo/gismo.git
cd gismo
mkdir build & cd build
cmake .. -DGISMO_OPTIONAL="gsElasticity;gsStructuralAnalysis;gsPreCICE"
make install perpendicular-flap-vertex-gismo

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.