PetscCompGrid Class Reference

#include <PetscCompGrid.H>

Inheritance diagram for PetscCompGrid:

Inheritance graph
[legend]

List of all members.


Detailed Description

This base class organizes the construction of a PETSc matrix, with an AMR hierarchy

Public Member Functions

virtual ~PetscCompGrid ()
 Destructor.
 PetscCompGrid (int a_dof)
 Base class constructor. Called by all subclass constructors.
virtual void define (const ProblemDomain &a_cdomain, Vector< DisjointBoxLayout > &a_grids, Vector< int > &a_refratios, BCHolder a_bc, const RealVect &a_cdx, int a_numLevels=-1, int a_ibase=0)
virtual void clean ()
Mat getMatrix () const
Mat getPMatrix () const
void setMatlab (bool b=true)
void setRepartition (bool b=true)
void setVerbose (int a_v)
void setAverageFineSolutionToCoarse (bool b=true)
PetscErrorCode createMatrix (int a_makePmat=0)
PetscErrorCode putChomboInPetsc (const Vector< LevelData< FArrayBox > * > &rhs, Vec b) const
PetscErrorCode putPetscInChombo (Vec b, Vector< LevelData< FArrayBox > * > &rhs) const
virtual IntVect getGhostVect () const =0
virtual void addExtraCovered (GID_type, int, const DataIndex &, BaseFab< PetscInt > &)

Public Attributes

Vector< RefCountedPtr
< LevelData< BaseFab< PetscInt > > > > 
m_GIDs
PetscInt m_gid0
PetscInt m_nlocrealpatches
PetscInt m_patchid0
int m_num_extra_nnz
PetscBool m_repartition

Protected Member Functions

virtual void createOpStencil (IntVect, int, const DataIndex &, StencilTensor &)=0
virtual void applyBCs (IntVect, int, const DataIndex &, Box, StencilTensor &)
virtual void InterpToFine (IntVect, int, const DataIndex &, StencilTensor &)
virtual void InterpToCoarse (IntVect, int, const DataIndex &, StencilTensor &)
IntVect getCFStencil (const ProblemDomain &a_cdom, const IntVect a_ivc)
PetscErrorCode AddStencilToMat (IntVect, int, const DataIndex &, StencilTensor &, Mat)
void NodeDefine (StencilNode &a_node, IntVect a_iv, int a_lev, Real a_val)
void setCFCoverMaps (int a_nlev)
void setCoverMaps (int a_nlev)
PetscErrorCode permuteDataAndMaps (Vector< StencilTensor > &patchStencil)

Protected Attributes

Vector< ProblemDomainm_domains
Vector< DisjointBoxLayoutm_grids
Vector< int > m_refRatios
Vector< RealVectm_dxs
Vector< RefCountedPtr
< LevelData< BaseFab< PetscInt > > > > 
m_crsSupportGIDs
Vector< RefCountedPtr
< LevelData< BaseFab< PetscInt > > > > 
m_fineCoverGIDs
Mat m_mat
Mat m_Pmat
BCHolder m_bc
int m_CFStencilRad
BaseFab
< FourthOrderInterpStencil * > 
m_FCStencils
bool m_writeMatlab
bool m_averageFineSolutionToCoarse
int m_verbose
const int m_dof

Private Member Functions

void operator= (const PetscCompGrid &a_input)
 PetscCompGrid (const PetscCompGrid &a_input)

Private Attributes

PetscInt m_patch_size
VecScatter m_from_petscscat
Vec m_origvec

Constructor & Destructor Documentation

virtual PetscCompGrid::~PetscCompGrid (  )  [virtual]

Destructor.

PetscCompGrid::PetscCompGrid ( int  a_dof  )  [inline]

Base class constructor. Called by all subclass constructors.

PetscCompGrid::PetscCompGrid ( const PetscCompGrid a_input  )  [inline, private]

References MayDay::Error().


Member Function Documentation

virtual void PetscCompGrid::define ( const ProblemDomain a_cdomain,
Vector< DisjointBoxLayout > &  a_grids,
Vector< int > &  a_refratios,
BCHolder  a_bc,
const RealVect a_cdx,
int  a_numLevels = -1,
int  a_ibase = 0 
) [virtual]

virtual void PetscCompGrid::clean (  )  [virtual]

Reimplemented in PetscCompGridPois, and PetscCompGridVTO.

Mat PetscCompGrid::getMatrix (  )  const [inline]

References m_mat.

Mat PetscCompGrid::getPMatrix (  )  const [inline]

References m_Pmat.

void PetscCompGrid::setMatlab ( bool  b = true  )  [inline]

References m_writeMatlab.

void PetscCompGrid::setRepartition ( bool  b = true  )  [inline]

References m_repartition.

void PetscCompGrid::setVerbose ( int  a_v  )  [inline]

References m_verbose.

void PetscCompGrid::setAverageFineSolutionToCoarse ( bool  b = true  )  [inline]

PetscErrorCode PetscCompGrid::createMatrix ( int  a_makePmat = 0  ) 

PetscErrorCode PetscCompGrid::putChomboInPetsc ( const Vector< LevelData< FArrayBox > * > &  rhs,
Vec  b 
) const

PetscErrorCode PetscCompGrid::putPetscInChombo ( Vec  b,
Vector< LevelData< FArrayBox > * > &  rhs 
) const

virtual IntVect PetscCompGrid::getGhostVect (  )  const [pure virtual]

Implemented in PetscCompGridPois, and PetscCompGridVTO.

virtual void PetscCompGrid::addExtraCovered ( GID_type  ,
int  ,
const DataIndex ,
BaseFab< PetscInt > &   
) [inline, virtual]

virtual void PetscCompGrid::createOpStencil ( IntVect  ,
int  ,
const DataIndex ,
StencilTensor  
) [protected, pure virtual]

Implemented in PetscCompGridPois, and PetscCompGridVTO.

virtual void PetscCompGrid::applyBCs ( IntVect  ,
int  ,
const DataIndex ,
Box  ,
StencilTensor  
) [protected, virtual]

Reimplemented in PetscCompGridVTO.

virtual void PetscCompGrid::InterpToFine ( IntVect  ,
int  ,
const DataIndex ,
StencilTensor  
) [protected, virtual]

virtual void PetscCompGrid::InterpToCoarse ( IntVect  ,
int  ,
const DataIndex ,
StencilTensor  
) [protected, virtual]

IntVect PetscCompGrid::getCFStencil ( const ProblemDomain a_cdom,
const IntVect  a_ivc 
) [protected]

PetscErrorCode PetscCompGrid::AddStencilToMat ( IntVect  ,
int  ,
const DataIndex ,
StencilTensor ,
Mat   
) [protected]

void PetscCompGrid::NodeDefine ( StencilNode a_node,
IntVect  a_iv,
int  a_lev,
Real  a_val 
) [inline, protected]

void PetscCompGrid::setCFCoverMaps ( int  a_nlev  )  [protected]

void PetscCompGrid::setCoverMaps ( int  a_nlev  )  [protected]

PetscErrorCode PetscCompGrid::permuteDataAndMaps ( Vector< StencilTensor > &  patchStencil  )  [protected]

void PetscCompGrid::operator= ( const PetscCompGrid a_input  )  [inline, private]

References MayDay::Error().


Member Data Documentation

Mat PetscCompGrid::m_mat [protected]

Referenced by getMatrix().

Mat PetscCompGrid::m_Pmat [protected]

Referenced by getPMatrix().

bool PetscCompGrid::m_writeMatlab [protected]

Referenced by setMatlab().

int PetscCompGrid::m_verbose [protected]

Referenced by setVerbose().

const int PetscCompGrid::m_dof [protected]

Referenced by setRepartition().

PetscInt PetscCompGrid::m_patch_size [private]

VecScatter PetscCompGrid::m_from_petscscat [private]

Vec PetscCompGrid::m_origvec [private]


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

Generated on Fri Apr 5 04:25:15 2019 for Chombo + EB by  doxygen 1.5.5