Features and About OpenFDEM

OpenFDEM aims to be a free finite and discrete element solver with object-oriented architecture for solving multiscale, multiphase and multiphysics (3M) problems that operates on various platforms. The applications are, but not limited to, mechanical, thermal and fluid mechanics problems. Additional acceleration techniques will be used to boost the calculation. The main new features are:

Object Oriented Architecture

Modular & Extensible FEM Kernel and DEM Kernel (OPENFDEMlib)

  • Fully extendable and portable - The kernel is extendable in any “direction”. The possibility of adding new element types, new material models with any element type and number of internal history parameters, new boundary conditions (time-dependent, position-dependent, state-dependent, periodic and flow-in/out) or numerical algorithms (explicit and implicit), as well as ability to add and manage arbitrary degrees of freedom is matter of course. (It is not a Y-like code which is only limited to triangle element, Q4 cohesive element and triangle-triangle contact, OpenFDEM aims to be a more general FEM/DEM solver can be compatible to arbitrary scenarios)

  • Highly accurate and reliable – The kernel provides high-order integration schemes and solving methods to seek more reliable numerical results which are comparable to theoretical solutions. The element type has a maximum order of three to rebuild the large deformation within the entity, and the kinematic is able to construct a nonlinear deformation. The Hilber-Hughes-Taylor (HHT) time integration scheme (second order accuracy) is employed for the explicit solver. The Y-based codes are limited to the first order time integration and constant strain element.

  • Friendly preprocessing interface - The Gmsh API is provided to quickly create meshes from CAD, geometry file and third-party commercial software. The built-in commands are accessible to crate many basic geometries (rectangular, circle, ellipse, polygon, line, particles) and initial discontinuities (single joint, joint sets, DFNs, DFNs from image mapping). The built-in mesh module is able to quickly assess mesh quality and the local bad meshes will be further optimized by swap, node insertion, node delete, element split techniques, automatically or manually.

  • Parallel processing support - Most modules can be operated in parallel and very good performance scalability can be obtained on various platforms. The NBS contact method is not continued in OpenFDEM anymore and a new cell-based contact searching algorithm, having a complexity of O(NlogN) is proposed to make the contact searching process is parallelable. Built-in high-level support for dynamic load balancing. The GPU acceleration will be also added shortly.

  • Mesh adaptive analysis support – local adaptive mesh refinement (lAMR) and global adaptive mesh refinement(gAMR) are provided for mesh optimization and accuracy enhancement. It supports for various error estimations based on different remeshing criteria, support for primary unknown and internal variables mapping, support for high-accuracy internal variable interpolation and fast unbalance equilibrium after refinement. The AMR supports fracture path consistent before and after remeshing.

  • Rich grain-based modelling support – Voronoi tessellations can be created with the built-in Voronoi module. The optimization is deployed to match the laboratorial mineral distribution from measurements or digital image. The realistic GBM can be reproduced directly in the project by inputting the binary sample images, the polygonal element type is available for representing the whole mineral individually, further transgranular fracturing can be realized by element splitting techniques.

  • Large material library including the state-of-the-art models for phase field of quasibrittle materials and rich element library – currently, OpenFDEM supports 17 element materials spanning elastic, hyperelastic, plastic, damage, nonlocal, viscous and phsefiled models, supports 7 cohesive materials spanning static, dynamic and fatigue problems. It also supports 6 contact models including Mohr-coulomb friction, hertz contact, rate friction, rough dilation shear law and so on. (The OpenFDEM is the only code supports materials beyond the community of rock mechanics)

  • advanced analysis solvers -linear dynamic (implicit and explicit), linear static (using PETSC) and nonlinear dynamic (explicit) are applicable for different problems (The OpenFDEM is the only project provides implicit solver for FDEM-like codes).

Particle Discrete Element Method (pDEM)

  • Rigid DEM support - built in module for rigid particles packing, kinematics and collision, the particle-based contact models include linear, Hertz, cohesive bond and rotation resistance model.

  • Realistic Particle Modelling - overlapping particles and Fourier-Voronoi-based algorithm are used to generate realistic particles having complex shapes. The realistic particles can be rigid or deformable, the breakage of the particles are also possible.

Fluid Dynamic Module

  • Analysis Procedures: matrix flow for pore seepage, transient incompressible fracture flow, transient compressible fracture flow and gas flow problems.

  • Element Library: triangle, quadratic triangle, quadrilateral and quadratic quadrilateral element types are supported for Newtonian fluid and Bingham fluid.

  • Boundary Types: water level, porepressure, flow rate, steady flow and impermeable boundary conditions are supported in hydro module.

Thermal transportation module

  • Analysis procedures: matrix thermal transportation, thermal resistance in fractures, heat conduction of fluid in fracture, heat advection of fluid, heat exchange between solid and fluid and contact thermal problems.

  • Element Library: triangle, quadratic triangle, quadrilateral and quadratic quadrilateral element types are supported.

  • Boundary Types: constant temperature, flux, conduction, advection, radiation, source and adiabatic thermal conditions are supported.

Computational fluid dynamics

  • Material Point Method (MPM) is used to simulate the fluid transportation and large deformation. This mesh-free method does not encounter the drawbacks of mesh-based methods (high deformation tangling, advection errors etc.) which makes it a promising and powerful tool for large deformation problems. The coupling among FDEM and MPM makes the solid interacting with fluid is possible.

Post-Processing

  • Export to VTK format is supported, allowing to use VTK based visualization tools (such as ParaView) for postprocessing on different platforms

  • Export to Tecplot format is supported

  • Export historic variables which are monitored at each step to csv is supported.

Third-Party Packages used in OpenFDEM:

  • GMSH - 2D and 3D mesh generator

  • GSL - mathematical routines

  • Eigen- matrix calculation

  • PETSC - Portable, Extensible Toolkit for Scientific Computation

  • ParaView - Parallel Visualization Application (for .vtk files)

Documentation

The documentation is auto-generated from the many .of and .rst files throughout the codebase and the extensive comments in the source code .h and .of files. Sphinx is used to compile the documentation in HTML and PDF formats.