3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Static Public Member Functions | List of all members
Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView > Class Template Reference

A helper for the grid creator that matches a free-flow grid to a PNM grid. More...

#include <dumux/multidomain/boundary/freeflowporenetwork/snappygridmanager.hh>

Description

template<class GridView>
class Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >

A helper for the grid creator that matches a free-flow grid to a PNM grid.

Static Public Member Functions

static unsigned int directionIndex (const GlobalPosition &vector)
 Returns the direction index of a unit vector (0 = x, 1 = y, 2 = z) More...
 
static auto couplingPlaneBoundingBox (const GlobalPosition &gridLowerLeft, const GlobalPosition &gridUpperRight, const GlobalPosition &couplingPlaneNormal, const std::string &modelParamGroup)
 
static Plane makeCouplingPlane (const GlobalPosition &gridLowerLeft, const GlobalPosition &gridUpperRight, const GlobalPosition &couplingPlaneNormal, const std::string &modelParamGroup)
 
static std::array< std::optional< Line >, dim > makeAxisParallelLinesFromCouplingPlane (const GlobalPosition &gridLowerLeft, const GlobalPosition &gridUpperRight, const GlobalPosition &couplingPlaneNormal, const std::string &modelParamGroup)
 Creates lines parallel to the bounding box axis of the coupling plane. Creates one line for dim == 2 and two lines for dim == 3. The array size is dim, therefore the entry for the normal to the coupling plane is empty. More...
 
template<class LowDimGridView , class LowDimGridData >
static auto getPointsOnLine (const Dune::FieldVector< Scalar, 3 > &bulkGridLowerLeft, const Dune::FieldVector< Scalar, 3 > &bulkGridUpperRight, const Dune::FieldVector< Scalar, 3 > &couplingPlaneNormal, const LowDimGridView &lowDimGridView, const LowDimGridData &lowDimGridData, const std::string &modelParamGroup)
 Returns the lowDim positions intersecting with a given line. More...
 
template<class LowDimGridView , class LowDimGridData >
static auto getPointsOnLine (const Dune::FieldVector< Scalar, 2 > &bulkGridLowerLeft, const Dune::FieldVector< Scalar, 2 > &bulkGridUpperRight, const Dune::FieldVector< Scalar, 2 > &couplingPlaneNormal, const LowDimGridView &lowDimGridView, const LowDimGridData &lowDimGridData, const std::string &modelParamGroup)
 Returns the lowDim positions intersecting with a given line. More...
 

Member Function Documentation

◆ couplingPlaneBoundingBox()

template<class GridView >
static auto Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::couplingPlaneBoundingBox ( const GlobalPosition &  gridLowerLeft,
const GlobalPosition &  gridUpperRight,
const GlobalPosition &  couplingPlaneNormal,
const std::string &  modelParamGroup 
)
inlinestatic

◆ directionIndex()

template<class GridView >
static unsigned int Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::directionIndex ( const GlobalPosition &  vector)
inlinestatic

Returns the direction index of a unit vector (0 = x, 1 = y, 2 = z)

◆ getPointsOnLine() [1/2]

template<class GridView >
template<class LowDimGridView , class LowDimGridData >
static auto Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::getPointsOnLine ( const Dune::FieldVector< Scalar, 2 > &  bulkGridLowerLeft,
const Dune::FieldVector< Scalar, 2 > &  bulkGridUpperRight,
const Dune::FieldVector< Scalar, 2 > &  couplingPlaneNormal,
const LowDimGridView &  lowDimGridView,
const LowDimGridData &  lowDimGridData,
const std::string &  modelParamGroup 
)
inlinestatic

Returns the lowDim positions intersecting with a given line.

Parameters
bulkGridLowerLeftThe lower left position of the bulk grid
bulkGridUpperRightThe upper right position of the bulk grid
couplingPlaneNormalThe normal vector of the coupling plane
lowDimGridViewThe lowDim gridView
lowDimGridDataThe lowDim grid data
modelParamGroupThe bulk model parameter group

◆ getPointsOnLine() [2/2]

template<class GridView >
template<class LowDimGridView , class LowDimGridData >
static auto Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::getPointsOnLine ( const Dune::FieldVector< Scalar, 3 > &  bulkGridLowerLeft,
const Dune::FieldVector< Scalar, 3 > &  bulkGridUpperRight,
const Dune::FieldVector< Scalar, 3 > &  couplingPlaneNormal,
const LowDimGridView &  lowDimGridView,
const LowDimGridData &  lowDimGridData,
const std::string &  modelParamGroup 
)
inlinestatic

Returns the lowDim positions intersecting with a given line.

Parameters
bulkGridLowerLeftThe lower left position of the bulk grid
bulkGridUpperRightThe upper right position of the bulk grid
couplingPlaneNormalThe normal vector of the coupling plane
lowDimGridViewThe lowDim gridView
lowDimGridDataThe lowDim grid data
modelParamGroupThe bulk model parameter group

◆ makeAxisParallelLinesFromCouplingPlane()

template<class GridView >
static std::array< std::optional< Line >, dim > Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::makeAxisParallelLinesFromCouplingPlane ( const GlobalPosition &  gridLowerLeft,
const GlobalPosition &  gridUpperRight,
const GlobalPosition &  couplingPlaneNormal,
const std::string &  modelParamGroup 
)
inlinestatic

Creates lines parallel to the bounding box axis of the coupling plane. Creates one line for dim == 2 and two lines for dim == 3. The array size is dim, therefore the entry for the normal to the coupling plane is empty.

Parameters
gridLowerLeftThe lower left position of the bulk grid
gridUpperRightThe upper right position of the bulk grid
couplingPlaneNormalThe normal vector of the coupling plane
modelParamGroupThe bulk model parameter group

◆ makeCouplingPlane()

template<class GridView >
static Plane Dumux::PoreNetwork::Detail::SnappyGridManagerHelper< GridView >::makeCouplingPlane ( const GlobalPosition &  gridLowerLeft,
const GlobalPosition &  gridUpperRight,
const GlobalPosition &  couplingPlaneNormal,
const std::string &  modelParamGroup 
)
inlinestatic

The documentation for this class was generated from the following file: