Chombo + EB  3.0
Public Member Functions | Private Attributes | List of all members
CornerCopier Class Reference

An even stranger (than Copier) thing to copy from ghost cells to corner ghost cells. More...

#include <CornerCopier.H>

Inheritance diagram for CornerCopier:
Inheritance graph
[legend]

Public Member Functions

 CornerCopier ()
 null constructor, copy constructor and operator= can be compiler defined. More...
 
 CornerCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false)
 Basic defining constructor. More...
 
 CornerCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false)
 this constructor contains support for periodic BC's More...
 
 CornerCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, bool a_exchange=false)
 Copier to copy into corner ghost cells of a_dest from ghost cells of a_level. More...
 
 CornerCopier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, bool a_exchange=false)
 Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs. More...
 
virtual ~CornerCopier ()
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false)
 define to match constructor (also doesn't do anything) More...
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false)
 define to match constructor (also doesn't do anything) More...
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_ghost, bool a_exchange=false)
 
virtual void define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_ghost, bool a_exchange=false)
 contains support for periodic BCs More...
 
virtual void clear ()
 
const IntVectghost ()
 
- Public Member Functions inherited from Copier
 Copier ()
 null constructor, copy constructor and operator= can be compiler defined. More...
 
 Copier (const Copier &a_rhs)
 
 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 
 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 this constructor contains support for periodic BC's More...
 
 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 Copier to copy data into the valid and invalid regions of a_dest from a_level. More...
 
 Copier (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs. More...
 
virtual ~Copier ()
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 contains support for periodic BCs More...
 
virtual void define (const DisjointBoxLayout &a_level, const BoxLayout &a_dest, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 
virtual void define (const BoxLayout &a_level, const BoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_destGhost, bool a_exchange=false, IntVect a_shift=IntVect::Zero)
 contains support for periodic BCs More...
 
virtual void exchangeDefine (const DisjointBoxLayout &a_grids, const IntVect &a_ghost)
 alternative version of define for exchange copiers that uses new optimized neighborIterator More...
 
void ghostDefine (const DisjointBoxLayout &a_src, const DisjointBoxLayout &a_dest, const ProblemDomain &a_domain, const IntVect &a_srcGhost)
 performs the computation necessary for moving from ghost+valid cells to valid. More...
 
Copieroperator= (const Copier &b)
 
void reverse ()
 
void trimEdges (const DisjointBoxLayout &a_exchangedLayout, const IntVect &ghost)
 
void coarsen (int a_refRatio)
 
int print () const
 
bool bufferAllocated () const
 
void setBufferAllocated (bool arg) const
 
int numLocalCellsToCopy () const
 
int numFromCellsToCopy () const
 
int numToCellsToCopy () const
 
bool isDefined () const
 

Private Attributes

IntVect m_ghost
 

Additional Inherited Members

- Public Attributes inherited from Copier
CopierBuffer m_buffers
 
- Protected Member Functions inherited from Copier
void trimMotion (const DisjointBoxLayout &a_exchangedLayout, const IntVect &a_ghost, const Vector< MotionItem *> &a_oldItems, Vector< MotionItem *> &a_newItems)
 
void sort ()
 
const ProblemDomaingetPhysDomain (const DisjointBoxLayout &a_level) const
 
- Protected Attributes inherited from Copier
Vector< MotionItem * > m_localMotionPlan
 
Vector< MotionItem * > m_fromMotionPlan
 
Vector< MotionItem * > m_toMotionPlan
 
bool buffersAllocated
 
DisjointBoxLayout m_originPlan
 
BoxLayout m_dest
 
bool m_isDefined
 
- Static Protected Attributes inherited from Copier
static Pool s_motionItemPool
 

Detailed Description

An even stranger (than Copier) thing to copy from ghost cells to corner ghost cells.

This is a specialized Copier to fill corner ghost cells from ghost cells of adjacent boxes. Calling exchange with this copier will fill only the corner ghost cells. All other exchange operations should be performed by calling a separate exchange with a normal Copier.

Constructor & Destructor Documentation

◆ CornerCopier() [1/5]

CornerCopier::CornerCopier ( )
inline

null constructor, copy constructor and operator= can be compiler defined.

References clear(), define(), m_ghost, IntVect::Unit, and ~CornerCopier().

◆ CornerCopier() [2/5]

CornerCopier::CornerCopier ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
bool  a_exchange = false 
)

Basic defining constructor.

Note that this constructor doesn't take a ghost cell argument, so it creates a useless CornerCopier (no intersections are computed). Provided for compatibility with Copier base class.

◆ CornerCopier() [3/5]

CornerCopier::CornerCopier ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
const ProblemDomain a_domain,
bool  a_exchange = false 
)

this constructor contains support for periodic BC's

Note that this constructor doesn't take a ghost cell argument, so it creates a useless CornerCopier (no intersections are computed). Provided for compatibility with Copier base class.

◆ CornerCopier() [4/5]

CornerCopier::CornerCopier ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
const IntVect a_ghost,
bool  a_exchange = false 
)

Copier to copy into corner ghost cells of a_dest from ghost cells of a_level.

Assumption is that a_dest and a_level have the same number of ghost cells.

◆ CornerCopier() [5/5]

CornerCopier::CornerCopier ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
const ProblemDomain a_domain,
const IntVect a_ghost,
bool  a_exchange = false 
)

Copier to copy data into the valid and invalid regions of a_dest from a_level with support for periodic BCs.

Assumption is that a_dest and a_level have the same number of ghost cells.

◆ ~CornerCopier()

virtual CornerCopier::~CornerCopier ( )
virtual

Referenced by CornerCopier().

Member Function Documentation

◆ define() [1/4]

virtual void CornerCopier::define ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
bool  a_exchange = false 
)
virtual

define to match constructor (also doesn't do anything)

Referenced by CornerCopier().

◆ define() [2/4]

virtual void CornerCopier::define ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
const ProblemDomain a_domain,
bool  a_exchange = false 
)
virtual

define to match constructor (also doesn't do anything)

◆ define() [3/4]

virtual void CornerCopier::define ( const DisjointBoxLayout a_level,
const BoxLayout a_dest,
const IntVect a_ghost,
bool  a_exchange = false 
)
virtual

◆ define() [4/4]

virtual void CornerCopier::define ( const BoxLayout a_level,
const BoxLayout a_dest,
const ProblemDomain a_domain,
const IntVect a_ghost,
bool  a_exchange = false 
)
virtual

contains support for periodic BCs

◆ clear()

virtual void CornerCopier::clear ( )
virtual

Reimplemented from Copier.

Referenced by CornerCopier().

◆ ghost()

const IntVect& CornerCopier::ghost ( )
inline

References m_ghost.

Member Data Documentation

◆ m_ghost

IntVect CornerCopier::m_ghost
private

Referenced by CornerCopier(), and ghost().


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