Opm::Refinement Namespace Reference

Classes

struct  AxisPositions
 
struct  AxisSubdivision
 
struct  BlockRefinement
 
class  Builder
 

Enumerations

enum class  Backend { Trilinear , Conforming }
 

Functions

AxisSubdivision axisSubdivision (const BlockRefinement &request, int dim)
 
std::array< int, 3 > refinedDims (const BlockRefinement &request)
 
AxisPositions axisPositions (const AxisSubdivision &sub)
 
std::vector< BlockRefinement > blockRefinements (const std::vector< std::array< int, 3 > > &cellsPerDim, const std::vector< std::array< int, 3 > > &startIJK, const std::vector< std::array< int, 3 > > &endIJK, const std::vector< std::string > &names, const std::vector< std::string > &parentGridNames)
 
void validateBlockRefinements (const std::vector< BlockRefinement > &requests)
 

Enumeration Type Documentation

◆ Backend

enum class Opm::Refinement::Backend
strong

Which algorithm refines a CpGrid: the existing cell-by-cell trilinear refinement (the default), or a conforming Builder.

Enumerator
Trilinear 
Conforming 

Function Documentation

◆ axisPositions()

AxisPositions Opm::Refinement::axisPositions ( const AxisSubdivision &  sub)

◆ axisSubdivision()

AxisSubdivision Opm::Refinement::axisSubdivision ( const BlockRefinement &  request,
int  dim 
)

The request's subdivision in one direction, uniform tables filled in when the request carries none.

◆ blockRefinements()

std::vector< BlockRefinement > Opm::Refinement::blockRefinements ( const std::vector< std::array< int, 3 > > &  cellsPerDim,
const std::vector< std::array< int, 3 > > &  startIJK,
const std::vector< std::array< int, 3 > > &  endIJK,
const std::vector< std::string > &  names,
const std::vector< std::string > &  parentGridNames 
)

The vector form of CpGrid::addLgrsUpdateLeafView as block requests; parent names default to "GLOBAL". Throws std::invalid_argument when the sizes differ.

◆ refinedDims()

std::array< int, 3 > Opm::Refinement::refinedDims ( const BlockRefinement &  request)

Refined dimensions of the block: the subdivision sizes, which for a uniform request are box size times cellsPerDim.

◆ validateBlockRefinements()

void Opm::Refinement::validateBlockRefinements ( const std::vector< BlockRefinement > &  requests)

Validate a set of block requests: matching sizes are the caller's responsibility; this checks per-box consistency (start < end, positive subdivisions) and pairwise disjointness of boxes sharing a parent grid. Throws std::invalid_argument with a message naming the offending box(es).