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++ 20
is 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 (ifPETSC
installed,LAPACK
andBLAS
can 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.