|
Chombo + EB + MF
3.2
|
#include <IndexedMoments.H>

Public Member Functions | |
| IndexedMoments () | |
| constructor—make statics first time called More... | |
| ~IndexedMoments () | |
| Destructor. More... | |
| Real & | operator[] (int a_i) |
| const Real & | operator[] (int a_i) const |
| Real & | operator[] (const IndexTM< int, Dim > &a_index) |
| const Real & | operator[] (const IndexTM< int, Dim > &a_index) const |
| IndexedMoments< Dim, P > & | operator+= (const IndexedMoments< Dim, P > &increment) |
| add compoenentwise More... | |
| IndexedMoments< Dim, P > & | operator*= (const Real &a_factor) |
| multiply each component by constant More... | |
| void | linearOut (void *const a_outbuf) const |
| void | linearIn (const void *const a_inbuf) |
| void | setRegular (const Real a_dx) |
| set to a regular IndexTM More... | |
| void | setToRegular (const Real a_dx) |
| bool | isRegular () const |
| IndexedMoments< Dim, P > & | operator= (const map< IndexTM< int, Dim >, Real > &a_mapin) |
| for use with irregnode More... | |
| IndexedMoments< Dim, P > & | operator= (const IndexedMoments< Dim, P > &a_input) |
| void | shift (const IndexTM< Real, Dim > &a_distance) |
| shift moment by the input distance. More... | |
| void | setToZero () |
| void | spout () const |
| outputs the current state to pout() (a la parstream.H) More... | |
| void | setToTruncatedMultiply (const IndexedMoments< Dim, P > &a_CA, const IndexedMoments< Dim, P > &a_CB) |
| void | divideByFactorial () |
| divides each entry by p! More... | |
| void | multiplyByFactorial () |
| multiply each entry by p! More... | |
Static Public Member Functions | |
| static int | size () |
| number of reals in the vector More... | |
| static size_t | linearSize () |
| for linearization More... | |
| static const Vector< IndexTM< int, Dim > > & | getMonomialPowers () |
| monomial powers More... | |
| static int | indexOf (IndexTM< int, Dim > a_index) |
| Calculate what linear index this multi-index is. More... | |
| static IndexTM< int, Dim > | getIndex (const int &a_linearIndex) |
Protected Member Functions | |
| Real | getMoment (const IndexTM< int, Dim > &a_mono, const map< IndexTM< int, Dim >, Real > &a_mapin) const |
Static Protected Member Functions | |
| static void | setStatics () |
| static void | setMultiIndicies () |
| static void | setSize () |
Static Protected Attributes | |
| static bool | s_staticsSet = false |
| static int | s_size = 0 |
| static Vector< IndexTM< int, Dim > > | s_multiIndicies = Vector<IndexTM<int, Dim> >() |
Private Attributes | |
| int | m_isRegular |
| Vector< Real > | m_moms |
Static Private Attributes | |
| static const int | s_max_sizes [][CH_IM_MAX_POWER+1] |
Vector-like container for multi-indexed Real values up to some max multi-index P (sum of indicies <= P). Layout is 0th dim first, then 1st, etc.
| D | The Dimension of the container |
| IndexedMoments< Dim, P >::IndexedMoments | ( | ) |
constructor—make statics first time called
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setStatics().
|
inline |
Destructor.
|
inline |
Retrieve the moment from the index a_index The lexigraphical index to the data
|
inline |
Retrieve the moment from the index a_index The lexigraphical index to the data
|
inline |
Retrieve the moment from the index a_index The multi-index that's needed
|
inline |
Retrieve the moment from the index a_index The multi-index that's needed
| IndexedMoments< Dim, P > & IndexedMoments< Dim, P >::operator+= | ( | const IndexedMoments< Dim, P > & | increment | ) |
add compoenentwise
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator*=(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator[]().
| IndexedMoments< Dim, P > & IndexedMoments< Dim, P >::operator*= | ( | const Real & | a_factor | ) |
multiply each component by constant
multiply each component by factor
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getMoment(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator[]().
|
inlinestatic |
number of reals in the vector
Referenced by getIndMomSize(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::linearIn(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::linearOut(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::linearSize().
|
inlinestatic |
for linearization
|
inline |
|
inline |
| void IndexedMoments< Dim, P >::setRegular | ( | const Real | a_dx | ) |
set to a regular IndexTM
Only moments with an even multi-index are non-zero
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::IndexedMoments(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::linearIn(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setToRegular().
|
inline |
|
inlinestatic |
monomial powers
Referenced by MomentIterator< D, P >::MomentIterator(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setRegular().
|
inline |
| IndexedMoments< Dim, P > & IndexedMoments< Dim, P >::operator= | ( | const map< IndexTM< int, Dim >, Real > & | a_mapin | ) |
for use with irregnode
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::isRegular(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::shift().
|
inline |
| void IndexedMoments< Dim, P >::shift | ( | const IndexTM< Real, Dim > & | a_distance | ) |
shift moment by the input distance.
shift moment by the input vector distance. this changes the current object from integral(x^p) to integral((x+x0)^p), where x0 = a_distance
Referenced by checkMoments(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator+=(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator=().
|
inline |
|
static |
Calculate what linear index this multi-index is.
Referenced by allPositive(), getIndMomLinearIndex(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator[](), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setToZero().
|
inlinestatic |
Referenced by getIndMomMultiIndex().
| void IndexedMoments< Dim, P >::spout | ( | ) | const |
outputs the current state to pout() (a la parstream.H)
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getIndex(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::operator=(), and IrregNode::spout().
| void IndexedMoments< Dim, P >::setToTruncatedMultiply | ( | const IndexedMoments< Dim, P > & | a_CA, |
| const IndexedMoments< Dim, P > & | a_CB | ||
| ) |
Say = sum_p(CA m^p), and = sum_q(CB m^q).
This sets the current data to the set of coefficents M such that <AB> = sum_r(M m^r) + O(h^P+1).
We drop all coefficents for powers s.t. p + q > P.
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getIndex(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setMultiIndicies().
| void IndexedMoments< Dim, P >::divideByFactorial | ( | ) |
divides each entry by p!
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getIndex(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setToTruncatedMultiply().
| void IndexedMoments< Dim, P >::multiplyByFactorial | ( | ) |
multiply each entry by p!
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::divideByFactorial(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getIndex().
|
protected |
Referenced by checkMoments(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::getIndex().
|
staticprotected |
|
staticprotected |
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setSize().
|
staticprotected |
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setRegular().
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
private |
|
private |
|
staticprivate |
1.8.13