Glossary
In this section, we provide a short description of concepts and classes used in darts-package.
Concepts:
Cell - 3D polyhedral or 2D multilateral geometry, e.g. prism, tetrahedron, hexahedron, pyramid or quad, triangle.
Computational grid - the geometrical representation of a particular domain or a body by partitioning it into a set of smaller geometrical elements (cells). They are usually used to resolve spatial variability of material properties of the domain or physical processes happening there for the purpose of computer modeling.
Structured grid - the computational grid where it is possible to come up with such a cell numbering that will allow identifying the neighbors of every cell in a uniform way. Examples: rectangular grid in Cartesian, polar or spherical coordinates, curved quadrilateral grid
Unstructured grid - the computational grid where it is not possible to identify the neighbors of every cell from their ids in a uniform way. It is cell-specific.
Flux - a stream of some quantity over the particular interface, e.g. flux of fluid mass, heat flux, a flux of mechanical stress. It may be a scalar or a vector.
Flux Approximation - the representation of flux at a particular interface as a function of the quantities defined in the points close to the interface.
Two-Point Flux Approximation (TPFA) - the simple representation of flux as a function of quantity defined at two different points. It is usually used to approximate fluxes caused be the pressure or molecular diffusion, dispersion, or heat conduction processes. It is robust and simple but non-consistent for the general anisotropic cases.
Multi-Point Flux Approximation (MPFA) - the more advanced representation of flux as a function of quantity defined at a few different points. It has the same applications as TPFA but and it is capable to provide consistent approximation in general. However, its robustness faces numerical issues (monotonicity, coercivity, discrete maximum principle).
Multi-Point Stress Approximation (MPSA) - the multi-point approximation used to represent the traction vector at the interface. It utilizes the same concept as MPFA but is used for different applications (continuum mechanics).
Connection list - the dataset that contains the flux approximations over all relevant interfaces in the computational grid. The unified format of this dataset that supports TPFA, MPFA, and MPSA includes the following arrays: left and right cell ids that define the interface between two cells where the flux is approximated, offset that indicates the starting position of every flux approximation in the following arrays, stencil consists of cell ids contributing to the particular approximation, and trans includes the coefficients of the contribution from every cell in the stencil.
Classes:
StructDiscretizer provides two-point flux approximation (TPFA) for a structured grid either created rectangular or Corner-Point Geometry read from file. The approximation includes simple geometry processing, calculation of transmissibility list, filtering, and casting procedures.
UnstructDiscretizer provides a set of approximation methods for an unstructured polyhedral three-dimensional grig generated by Gmsh grid generator. The supported approximations are two-point flux approximation (TPFA) for both fluid and heat fluxes, multi-point flux approximation (MPFA) and multi-point stress approximation (MPSA). Fractures are supported by TPFA only. This discretizer contains a number of arrays that store the geometry of either matrix or fracture cells used in all methods. Multi-point approximations also perform extended geometry processing (finding the neighbors, generation of faces) and it usually stores boundary faces and fracture shapes as long as matrix and fracture cells.
TransCalculations includes a set of methods that calculate particular TPFA between different kinds of cells (matrix, fracture).
ControlVolume is a parent class for the cells of different kinds of geometry: Hexahedron, Wedge, Pyramid, Tetrahedron, Quadrangle, Triangle, Line.
Face is a class used to store all required information about the interface. It is used in MPFA, MPSA.
nbHexahedron, nbWedge, nbPyramid, nbTetrahedron is an attempt to redefine cell classes with numba support.
StructReservoir represents a parent class for the domain covered with a structured grid.
DartsModel is a parent class for all models.