Proto
Public Member Functions
Proto::ProblemDomain Class Reference

Represents a rectangular domain over which a problem can be defined, including periodic images. More...

#include <Proto_ProblemDomain.H>

Collaboration diagram for Proto::ProblemDomain:
Collaboration graph
[legend]

Public Member Functions

 ProblemDomain (const Box &a_bx, const array< bool, DIM > a_isPeriodic)
 Constructor constructs a ProblemDomain with Box a_bx, and periodic directions given by a_periodic.
 
void define (const Box &a_bx, const array< bool, DIM > a_isPeriodic)
 Define - same arguments as constructor, but allows weak construction.
 
Box operator & (Box a_bx) const
 Intersection of problem domain with a Box a_bx, including periodicity. More...
 
bool coarsenable (Point a_boxSize) const
 Checks to see whether the ProblemDomain Box is coarsenable by a_boxsize. More...
 
Box box () const
 Returns Box that defines the *this.
 
array< bool, DIM > periodicflags () const
 Returns the array of bools defining the periodic directions.
 
ProblemDomain coarsen (Point a_refRatio) const
 Returns a ProblemDomain with a box given by this->box.coarsen(a_refRatio). More...
 
ProblemDomain refine (Point a_refRatio) const
 Returns a ProblemDomain with a Box given by this->box.coarsen(a_refRatio).
 

Detailed Description

Represents a rectangular domain over which a problem can be defined, including periodic images.

A ProblemDomain is specified by a Box defining the rectangular set of Points over which a problem may be defined, plus an array<bool,DIM> specifying whether or not each of the coordinate directions is periodic. The Box is assumed to have the low corner to be all Zeros, and specifies the overall range of indices that contain all the boxes in a DisjointBoxLayout.

Member Function Documentation

◆ coarsen()

ProblemDomain Proto::ProblemDomain::coarsen ( Point  a_refRatio) const
inline

Returns a ProblemDomain with a box given by this->box.coarsen(a_refRatio).

this->coarsenable(a_refRatio) must be true, and is enforced by a PR_assert.

◆ coarsenable()

bool Proto::ProblemDomain::coarsenable ( Point  a_boxSize) const
inline

Checks to see whether the ProblemDomain Box is coarsenable by a_boxsize.

Must return true for a DisjointBoxLayout defined over *this to use fixed-sized boxes of size a_boxsize.

◆ operator &()

Box Proto::ProblemDomain::operator& ( Box  a_bx) const
inline

Intersection of problem domain with a Box a_bx, including periodicity.

Returns the Box that is the intersection of a_bx with m_bx and all of its periodic images.


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