|
|
Features |
|
|
\ No newline at end of file |
|
|
HiFlow3 provides a great range of features and functionalities that go beyond standard Finite Element software toolkits. In the following, we list the most essential ones among these:
|
|
|
|
|
|
#### I/O:
|
|
|
|
|
|
* Generic, flexible and competent interface via xml input files
|
|
|
* Parallel and sequential mesh I/O in VTK format
|
|
|
* User-extensible I/O concept
|
|
|
|
|
|
#### Usability:
|
|
|
|
|
|
* Easy-to-set-up user applications facilitated using powerful HiFlow3 core library
|
|
|
|
|
|
#### Mesh treatment, FEM and DoF setup:
|
|
|
|
|
|
* Dimension-independent treatment of meshes
|
|
|
* Indexing and iteration via topological and geometrical data computation and storage
|
|
|
* Triangular, quadrilateral, tetrahedral, hexahedral and pyramidal cells
|
|
|
* User-extensible cell type concept with arbitrary dimension
|
|
|
* Association of user data to mesh entities of all dimensions
|
|
|
* Computation of all sub-entity and neighborhood relations through a highly interconnected FEM and DoF module
|
|
|
* Simple iteration over entities, sub-entities and neighbor entities
|
|
|
* User-extensible iterators
|
|
|
* Continuous and discoutinuous Galerkin elements
|
|
|
* Isotropic and adaptive refinement and coarsening of all cell types
|
|
|
* Arbitrary refinements via user-defined refinement trees
|
|
|
* Communication of distributed meshes over MPI
|
|
|
* Mesh partitioning and distribution
|
|
|
* Interface to METIS abd ParMETIS library for partitioning
|
|
|
* h- or p-refinement
|
|
|
|
|
|
#### Uncertainty quantification for PDE problems:
|
|
|
|
|
|
* Generalized Polynomial Chaos Expansion (gPCE)
|
|
|
* Hyperbolic truncature
|
|
|
* Mixed multivariate distributions
|
|
|
* Legendre and Hermite basis polynomial expansions
|
|
|
* User-extensible Chaos Polynomial interface
|
|
|
* Preconditioner: Mean-based, Multilevel, ILU
|
|
|
* Special linear algebra routines and structures suitable for stochastic spectral methods
|
|
|
|
|
|
#### High-Performance Computing and Parallelization:
|
|
|
|
|
|
* Parallel data management, distributed data structures, data movement
|
|
|
* Highly efficient, scalable Linear Algebra and Solver module (among others with GMRES-, FGMRES-, PGMRES, CG-, PCG-Solvers and Block-Jacobi type of Preconditioners)
|
|
|
* Local LA toolbox provides the basic classes for the local multi-platform linear algebra objects (vector, matrices, preconditioners)
|
|
|
* Global LAtoolbox provides the global communication layer including managing coupling data; local data handling via the "lmpLAtoolbox" (multi-platform LA toolbox)
|
|
|
* Interfaces to PETSc and Hypre Preconditioners Libraries
|
|
|
* Hardware-aware multi-platform-capable implementation of solvers and FE code structure
|
|
|
* Interfaces for Intel and AMD multi-core CPUs (OpenMP parallel algorithms, Intel MKL, ATLAS) and NVIDIA GPUs (CUDA, CUBLAS).
|
|
|
|
|
|
#### Quality Management and Documentation:
|
|
|
|
|
|
* Quality checks and comprehensive test suite available and automatically executable (currently 23 tests, all automated)
|
|
|
* Benchmark applications and tutorials included and well documented
|
|
|
* Doxygen documented routines; incode documentation of all core functions |
|
|
\ No newline at end of file |