Installation#
Mandatory Packages#
To compile OpenFDEM, you neeed a complier supporting C++ 17 and the following packages are required:
CMake(>= version 3.15) - cross-platform build systemC, C++ compiler with Standard Template Library (STL) support,
C++ 20is mandatoryOpenMP- a high-performance, freely available package for multi core accelerationGSL- a general software library for numerical computations in applied mathematics and scienceGmsh(>= version 4.10) - mesh generation and pre-processing, it is optional and the kernel is implemented in the source codeEigen(>= version 3.4.0) - a scientific matrix computation, it is optional and the headers are included in source code
Optional Packages#
CUDA- package for GPU parallelizationPETSc(>= version 3.13) - portable, extensible toolkit for scientific computationSLEPc- scalable library for eigenvalue problem computationsBLAS/LAPACK- optimizes linear algebra kernelsdoxygen- documentation system for automatic generating reference manual from the source codeSphinx- documentation generator or a tool that translates a set of plain text source files into various output formats, automatically producing cross-references, indices, etc.
Implicit Static/Non-Linear Solvers#
To use the implicit static or nonlinear solvers, at least one of the following libraries is required:
PETSc- portable, extensible toolkit for scientific computation (ifPETSCinstalled,LAPACKandBLAScan be ignored)BLAS/LAPACK- a standard software library for numerical linear algebra
For Python interface#
Python- (>=3.8 is recommended)pybind11- a package create Python bindings of existing C++ code
Post-Processing#
To use the post-processing outputs (optional steps):
ParaView- Parallel visualization applicationTecplot- Commerical software for field results
OpenFDEM is flexible and can be run on Windows or Linux-like systems. The released version is for Windows x64.