Proto
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:
[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.

## ◆ 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: