Chombo + EB
3.0
|
Aggregated stencil. More...
#include <AggStencil.H>
Classes | |
struct | access_t |
Public Types | |
typedef Vector< pair< access_t, Real > > | stencil_t |
Public Member Functions | |
AggStencil (const Vector< RefCountedPtr< BaseIndex > > &a_dstVoFs, const Vector< RefCountedPtr< BaseStencil > > &a_stencil, const srcData_t &a_srcData, const dstData_t &a_dstData) | |
~AggStencil () | |
void | apply (dstData_t &a_lph, const srcData_t &a_phi, const int &a_varDest, const bool &a_incrementOnly) const |
void | apply (dstData_t &a_lph, const srcData_t &a_phi, const int &a_src, const int &a_dst, const int &a_nco, const bool &a_incrementOnly) const |
void | cache (const dstData_t &a_lph) const |
void | uncache (dstData_t &a_phi) const |
Protected Attributes | |
int | m_destVar |
Vector< stencil_t > | m_ebstencil |
Vector< access_t > | m_dstAccess |
Vector< Vector< Real > > | m_cacheDst |
Private Member Functions | |
AggStencil () | |
disallowed operators. Without code because Jeff says that is better. More... | |
AggStencil & | operator= (const AggStencil &stenin) |
deep copy for this object would kill performance More... | |
AggStencil (const AggStencil &stenin) | |
no reason to allow this one either. More... | |
Aggregated stencil.
srcData_t classes need the following functions int dataType(BaseIndex); int offset(BaseIndex); Real* dataPtr(int dataType, int ivar);
dstData_t classes need the following functions int dataType(BaseIndex); int offset(BaseIndex); Real* dataPtr(int dataType, int ivar);
sten_t classes need the following functions srcIndex_t index(int isten) Real weight(int isten)
typedef Vector<pair<access_t, Real> > AggStencil< srcData_t, dstData_t >::stencil_t |
AggStencil< srcData_t, dstData_t >::AggStencil | ( | const Vector< RefCountedPtr< BaseIndex > > & | a_dstVoFs, |
const Vector< RefCountedPtr< BaseStencil > > & | a_stencil, | ||
const srcData_t & | a_srcData, | ||
const dstData_t & | a_dstData | ||
) |
a_dstIndex is where the answers will go. a_srcStencil is the stencil into the src data a_srcData is to provide offsets for source data (can be a dummy but must be the right size) a_dstData is to provide offsets for destin data (can be a dummy but must be the right size)
|
inline |
|
private |
disallowed operators. Without code because Jeff says that is better.
weak construction is bad.
|
private |
no reason to allow this one either.
void AggStencil< srcData_t, dstData_t >::apply | ( | dstData_t & | a_lph, |
const srcData_t & | a_phi, | ||
const int & | a_varDest, | ||
const bool & | a_incrementOnly | ||
) | const |
void AggStencil< srcData_t, dstData_t >::apply | ( | dstData_t & | a_lph, |
const srcData_t & | a_phi, | ||
const int & | a_src, | ||
const int & | a_dst, | ||
const int & | a_nco, | ||
const bool & | a_incrementOnly | ||
) | const |
for applying a scalar operator to multiple operators. Sets the initial variable for destination to a_varDest Sets dataPtr for a_phi initial variable to a_varSrc Runs over ncomp components
void AggStencil< srcData_t, dstData_t >::cache | ( | const dstData_t & | a_lph | ) | const |
void AggStencil< srcData_t, dstData_t >::uncache | ( | dstData_t & | a_phi | ) | const |
|
private |
deep copy for this object would kill performance
|
protected |
|
protected |
|
protected |
|
mutableprotected |