Manual installation of DES3D
Docker image coming soon!
Requirements
- A C++ compiler that supports C++11 standard. GNU g++ 5.0 or newer will suffice
- Boost::Program_options library. Version 1.42 or newer. Boost is a large set of libraries.
To install only
program_optionslibrary, follow these stpes:-
First download the source code from [https://www.boost.org].
-
In the untarred source directory, run:
./bootstrap.shIn the same directory, build the library by running:
./b2 --with-program_options -q
-
- Python 3.2+
- Numpy for post-processing
- Optional:
- MMG3D: An optional mesh adaptation library. Used for remeshing in DES3D.
Exodus: For importing a mesh in the ExodusII format. Available as a part of SEACAS project [https://github.com/gsjaardema/seacas/]
Configuration
Required dependencies
boost::program_options
Modify BOOST_ROOT_DIR in Makefile if you manually built or installed
boost library. If you followed the instructions above to build
Boost::Program_options library, set BOOST_ROOT_DIR to the untarred
boost directory.
Build options
| Parameter Name | Possible Values | Description |
|---|---|---|
ndims | 2, 3 | Choose 2 for two-dimensional models (dynearthsol2d) or 3 for three-dimensional models (dynearthsol3d). |
opt | 0, 1, 2, 3 | Integer value for optimization level. |
openacc | 0, 1 | Disable (0) or enable (1) OpenACC build. |
openmp | 0, 1 | Disable (0) or enable (1) OpenMP build. |
nprof | 0, 1 | Disable (0) or enable (1) profiling with nprof. |
gprof | 0, 1 | Disable (0) or enable (1) profiling with gprof. |
usemmg | 0, 1 | Disable (0) or enable (1) mesh optimization during remeshing with mmg. |
useexo | 0, 1 | Disable (0) or enable (1) import of an .exo mesh, usually created with the meshing software, CUBIT. Note: Only a 3D mesh can be imported currently. |
Optional external libraries
ExodusII
If you want to import an ExodusII mesh (.exo),
- install SEACAS enabling exodus support
- set
useexo = 1andndims = 3. Only 3D exodus mesh can be imported. - set
EXO_INCLUDEandEXO_LIB_DIRinMakefilebased on the SEACAS installation path.
MMG
Install this library if adaptive mesh optimization is desired: e.g., finer elements where plastic strain is localized.
- install MMG
- set
usemmg = 1. Bothdims=2and3are supported. - set
MMG_INCLUDEandMMG_LIB_DIRbased on the MMG installation paths. - For further information, see Adaptive mesh refinement with MMG
Building
$ make
Build options can be set on the command line without editing Makefile: e.g.,
- To build optimized executable (default optimization level, 1):
make - To build a debugging executable:
make opt=0 - To build the executable without
OpenMP:make openmp=0- This build is necessary to debug the code under
valgrind.
- This build is necessary to debug the code under