#include "MomentIterator.H"
#include "EB_TYPEDEFS.H"
#include "IndexTM.H"
#include "Factorial.H"
#include "CH_Timer.H"
#include "parstream.H"
#include <map>
#include <utility>
#include "NamespaceHeader.H"
#include "NamespaceFooter.H"
Go to the source code of this file.
Functions | |
template<int Dim, int ORDER> | |
void | checkMoments (IndexedMoments< Dim, ORDER > &a_moments, Vector< IndexTM< int, Dim > > &a_bogusPowers, const Real &a_dx, const Real &a_tolerance, const bool &a_ebMoment, const bool &a_bindMoments) |
template<int Dim> | |
bool | allPositive (const IndexTM< int, Dim > &a_index) |
void checkMoments | ( | IndexedMoments< Dim, ORDER > & | a_moments, | |
Vector< IndexTM< int, Dim > > & | a_bogusPowers, | |||
const Real & | a_dx, | |||
const Real & | a_tolerance, | |||
const bool & | a_ebMoment, | |||
const bool & | a_bindMoments | |||
) | [inline] |
Moments are centered at the center of the cell. For each of these moments I shift them to the lowest corner of the cell, where I know what the bounds of the integrals is (lower bound always zero, upper bound = dx^d dx^px dx^py dx^pz If the shifted moment is out of bounds, I bound it throw a message. tolerance is about verbosity.
References MomentIterator< D, P >::ok(), MomentIterator< D, P >::reset(), IndexTM< T, N >::setAll(), IndexedMoments< Dim, P >::shift(), and IndexTM< T, N >::sum().
bool allPositive | ( | const IndexTM< int, Dim > & | a_index | ) | [inline] |
return true if all of a_index >= 0, false otherwise
Referenced by IndexedMoments< Dim, P >::indexOf().