3.3.0
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Files | Classes | Enumerations | Functions
Embedded mixed-dimension coupling mode

Couples problems of different dimensions where one or more lower-dimensional problems (lowdim) are embedded in a higher-dimensional domain (bulk). Examples are embedded one-dimensional networks for the simulation of blood tissue perfusion, or root-soil interaction, and embedded fracture models. More...

Description

Couples problems of different dimensions where one or more lower-dimensional problems (lowdim) are embedded in a higher-dimensional domain (bulk). Examples are embedded one-dimensional networks for the simulation of blood tissue perfusion, or root-soil interaction, and embedded fracture models.

Files

file  circleaveragepointsourcetraits.hh
 Point source traits for average-based coupling modes.
 
file  circlepoints.hh
 Helper function to compute points on a circle.
 
file  couplingmanager1d3d.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain.
 
file  couplingmanager1d3d_average.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain.
 
file  couplingmanager1d3d_kernel.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain.
 
file  couplingmanager1d3d_line.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain.
 
file  couplingmanager1d3d_surface.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain.
 
file  couplingmanager2d3d.hh
 Coupling manager for embedded fractures.
 
file  couplingmanagerbase.hh
 Coupling manager for low-dimensional domains embedded in the bulk domain. Point sources on each integration point are computed by an AABB tree.
 
file  cylinderintegration.hh
 Integration over cylindrical and elliptic cylindrical domains Lowest order integration formulas that are mostly useful to evenly distribute mass in a cylindrical domain.
 
file  extendedsourcestencil.hh
 Extended source stencil helper class for coupling managers.
 
file  integrationpointsource.hh
 An integration point source class, i.e. sources located at a single point in space associated with a quadrature point.
 
file  pointsourcedata.hh
 Data associated with a point source.
 

Classes

class  Dumux::Embedded1d3dCouplingManager< MDTraits, CouplingMode >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::Embedded1d3dCouplingManager< MDTraits, Embedded1d3dCouplingMode::Average >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::Embedded1d3dCouplingManager< MDTraits, Embedded1d3dCouplingMode::Kernel >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::Embedded1d3dCouplingManager< MDTraits, Embedded1d3dCouplingMode::Line >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::Embedded1d3dCouplingManager< MDTraits, Embedded1d3dCouplingMode::Surface >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::EmbeddedCouplingManager2d3d< MDTraits >
 Coupling manager for embedded fractures. More...
 
class  Dumux::EmbeddedCouplingManagerBase< MDTraits, Implementation, PSTraits >
 Manages the coupling between bulk elements and lower dimensional elements Point sources on each integration point are computed by an AABB tree. More...
 
class  Dumux::EmbeddedCoupling::CylinderIntegration< Scalar >
 Helper class to integrate over a cylinder domain. More...
 
class  Dumux::EmbeddedCoupling::EllipticCylinderIntegration< Scalar >
 Helper class to integrate over an elliptic cylinder domain. More...
 
class  Dumux::EmbeddedCoupling::EllipseIntegration< Scalar >
 Helper class to integrate over an elliptic domain. More...
 
class  Dumux::EmbeddedCoupling::ExtendedSourceStencil< CouplingManager >
 A class managing an extended source stencil. More...
 
class  Dumux::IntegrationPointSource< GlobalPosition, SourceValues, IdType >
 An integration point source class with an identifier to attach data and a quadrature weight and integration element. More...
 
class  Dumux::IntegrationPointSourceHelper
 A helper class calculating a DOF-index to point source map. More...
 
class  Dumux::PointSourceData< MDTraits >
 A point source data class used for integration in multidimension models. More...
 
class  Dumux::PointSourceDataCircleAverage< MDTraits >
 A point source data class used for integration in multidimension models. More...
 

Enumerations

enum class  Dumux::EmbeddedCouplingMode { Dumux::EmbeddedCouplingMode::line , Dumux::EmbeddedCouplingMode::average , Dumux::EmbeddedCouplingMode::cylindersources , Dumux::EmbeddedCouplingMode::kernel }
 The coupling mode. More...
 

Functions

template<class GlobalPosition , class Scalar >
void Dumux::EmbeddedCoupling::circlePoints (std::vector< GlobalPosition > &points, const std::vector< Scalar > &sincos, const GlobalPosition &center, const GlobalPosition &normal, const Scalar radius)
 
template<class GlobalPosition , class Scalar >
std::vector< GlobalPosition > Dumux::EmbeddedCoupling::circlePoints (const GlobalPosition &center, const GlobalPosition &normal, const Scalar radius, const std::size_t numPoints=20)
 returns a vector of points on a circle More...
 

Enumeration Type Documentation

◆ EmbeddedCouplingMode

enum class Dumux::EmbeddedCouplingMode
strong

The coupling mode.

Deprecated:
Will be removed after 3.3
Enumerator
line 
average 
cylindersources 
kernel 

Function Documentation

◆ circlePoints() [1/2]

template<class GlobalPosition , class Scalar >
std::vector< GlobalPosition > Dumux::EmbeddedCoupling::circlePoints ( const GlobalPosition &  center,
const GlobalPosition &  normal,
const Scalar  radius,
const std::size_t  numPoints = 20 
)

returns a vector of points on a circle

Parameters
centerthe circle center
normalthe normal to the circle plane
radiusthe circle radius
numPointsthe number of points

◆ circlePoints() [2/2]

template<class GlobalPosition , class Scalar >
void Dumux::EmbeddedCoupling::circlePoints ( std::vector< GlobalPosition > &  points,
const std::vector< Scalar > &  sincos,
const GlobalPosition &  center,
const GlobalPosition &  normal,
const Scalar  radius 
)
Parameters
pointsa vector of points to be filled
sincosvector with [sin(a0), cos(a0), sin(a1), cos(a1), ...] for each circumferential sample point ai
centerthe circle center
normalthe normal to the circle plane
radiusthe circle radius
Note
This version allows for a more efficient circle point generator if the circumferential positions are fixed and can be reused. In this case, sine and cosine of the corresponding angles can be precomputed.