IDWarp depends on the follow libraries:
Complexify (see the Complex build section)
See the MDO Lab installation guide here for the supported versions and installation instructions.
All the core computations in IDWarp are coded in Fortran. It is therefore necessary to build this library before using IDWarp.
To start, find a configuration file close to your current setup in:
and copy it to
config/config.mk. For example:
cp config/defaults/config.LINUX_GFORTRAN.mk config/config.mk
Once you have copied the config file, return to the root directory and compile IDWarp by running:
If everything was successful, the following lines will be printed to the screen (near the end):
Testing if module idwarp can be imported... Module idwarp was successfully imported.
If you don’t see this, it will be necessary to configure the build manually.
To configure manually, open
config/config.mk and modify options as necessary.
Common issues are often that dependency variable paths, such as
CGNS_LINKER_FLAGS, point to an incorrect location and need to be updated.
After changes to the configuration file, run
make clean before attempting a new build.
Lastly, to build and install the Python interface, type
pip install .
Some features require additional dependencies.
Using IDWarp with OpenFOAM meshes in DAFoam requires
This dependency can be checked with
pip install .[dafoam]
Using MultiUSMesh requires
cgnsUtilities, which can be checked with
pip install .[multi]
Its possible to build a “complexified” version of IDWarp directly from the real version. To build IDWarp in complex mode, a complex version of PETSc and the Complexify module and library are required. Once installed and configured, run the following to build the complexified library
export PETSC_ARCH=$PETSC_ARCH_COMPLEX make -f Makefile_CS
PETSC_ARCH, must be set and point to the complex PETSc before the code is compiled.
In the above example, an intermediate convenience variable,
PETSC_ARCH_COMPLEX, defines the complex PETSc arch path.
Once the library is built run the following to install the python module and library into your environment.
pip install .[complex]