Chombo + EB  3.0
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
LSProblem< dim > Class Template Reference

#include <ComputeCutCellMoments.H>

Public Member Functions

 ~LSProblem ()
 
 LSProblem (const int &a_degreeP, const bool &a_useConstraints)
 
 LSProblem (const int &a_orderAccuracy, const int &a_degreeP, const bool &a_useConstraints, const IndexTM< Real, dim > &a_normal)
 
int invertNormalEq (const Vector< Real > &a_rhs, Vector< Real > &a_residual)
 
int getDegree ()
 
int getOrderAccuracy ()
 
void getMatrix (Real **a_matrix)
 
void getRhs (Vector< Real > &a_rhs)
 
void getUnknowns (Vector< Real > &a_unknown)
 
void monoMaxMin (Real &a_maxVal, Real &a_minVal, const IndexTM< int, dim > &a_mono, const IFData< dim > &a_IFData)
 
void computeBounds (const IndexTM< Real, dim > &a_dx, const CutCellMoments< dim > &a_ccm)
 
void print (ostream &a_out) const
 
void outputMatrix () const
 
void outputRhs () const
 
void outputUnknowns () const
 
void outputBounds () const
 
const LocPthMomentgetLocMonomialMapDegreeP () const
 
const PthMomentLocgetMonomialLocMapDegreeP () const
 
const PthMomentLocgetMonomialLocMapDegreePLess1 () const
 
Real getUnknown (int loc)
 
int getNumberDegP ()
 
int getNumberDegPLess1 ()
 
int numActiveBounds () const
 

Private Types

typedef IndexTM< int, dimIvDim
 
typedef map< IvDim, int, LexLT< IvDim > > PthMomentLoc
 
typedef map< int, IvDimLocPthMoment
 

Private Member Functions

void setRhs (const Vector< Real > &a_rhs)
 
void setMatrix ()
 
void momentBounds (Real &a_lobnd, Real &a_hibnd, const IvDim &a_mono, const IFData< dim > &a_ifData)
 
void differentiate (int &a_coeff, IvDim &a_Dmono, int &a_idir, const IvDim &a_mono)
 
int nChooseR (int a_n, int a_r)
 
void fillMap (PthMomentLoc &a_monoLoc, LocPthMoment &a_locMono, const int &a_degree)
 
int numMonomials (const int &a_monoDegree)
 
int factorial (const int &a_n, const int &a_m=0)
 
void allocArray (const int &a_rows, const int &a_cols, Real **&a_A)
 
void freeArray (const int &a_rows, const int &a_cols, Real **&a_A)
 

Private Attributes

int m_order
 
int m_degreeP
 
int m_numActiveBounds
 
bool m_useConstraints
 
IndexTM< Real, dimm_normal
 
PthMomentLoc m_monoLocP
 
LocPthMoment m_locMonoP
 
int m_numP
 
PthMomentLoc m_monoLocPLess1
 
LocPthMoment m_locMonoPLess1
 
int m_numPLess1
 
Real ** m_matrix
 
Vector< Realm_unknowns
 
Vector< Realm_rhs
 
Vector< Realm_lowerBound
 
Vector< Realm_upperBound
 

Member Typedef Documentation

◆ IvDim

template<int dim>
typedef IndexTM<int,dim> LSProblem< dim >::IvDim
private

◆ PthMomentLoc

template<int dim>
typedef map<IvDim,int,LexLT <IvDim> > LSProblem< dim >::PthMomentLoc
private

◆ LocPthMoment

template<int dim>
typedef map<int,IvDim> LSProblem< dim >::LocPthMoment
private

Constructor & Destructor Documentation

◆ ~LSProblem()

template<int dim>
LSProblem< dim >::~LSProblem ( )

References dim.

◆ LSProblem() [1/2]

template<int dim>
LSProblem< dim >::LSProblem ( const int &  a_degreeP,
const bool &  a_useConstraints 
)

◆ LSProblem() [2/2]

template<int dim>
LSProblem< dim >::LSProblem ( const int &  a_orderAccuracy,
const int &  a_degreeP,
const bool &  a_useConstraints,
const IndexTM< Real, dim > &  a_normal 
)

Member Function Documentation

◆ invertNormalEq()

template<int dim>
int LSProblem< dim >::invertNormalEq ( const Vector< Real > &  a_rhs,
Vector< Real > &  a_residual 
)

◆ getDegree()

template<int dim>
int LSProblem< dim >::getDegree ( )
inline

◆ getOrderAccuracy()

template<int dim>
int LSProblem< dim >::getOrderAccuracy ( )
inline

◆ getMatrix()

template<int dim>
void LSProblem< dim >::getMatrix ( Real **  a_matrix)

◆ getRhs()

template<int dim>
void LSProblem< dim >::getRhs ( Vector< Real > &  a_rhs)

◆ getUnknowns()

template<int dim>
void LSProblem< dim >::getUnknowns ( Vector< Real > &  a_unknown)

◆ monoMaxMin()

template<int dim>
void LSProblem< dim >::monoMaxMin ( Real a_maxVal,
Real a_minVal,
const IndexTM< int, dim > &  a_mono,
const IFData< dim > &  a_IFData 
)

◆ computeBounds()

template<int dim>
void LSProblem< dim >::computeBounds ( const IndexTM< Real, dim > &  a_dx,
const CutCellMoments< dim > &  a_ccm 
)

◆ print()

template<int dim>
void LSProblem< dim >::print ( ostream &  a_out) const

◆ outputMatrix()

template<int dim>
void LSProblem< dim >::outputMatrix ( ) const

◆ outputRhs()

template<int dim>
void LSProblem< dim >::outputRhs ( ) const

◆ outputUnknowns()

template<int dim>
void LSProblem< dim >::outputUnknowns ( ) const

◆ outputBounds()

template<int dim>
void LSProblem< dim >::outputBounds ( ) const

◆ getLocMonomialMapDegreeP()

template<int dim>
const LocPthMoment& LSProblem< dim >::getLocMonomialMapDegreeP ( ) const
inline

◆ getMonomialLocMapDegreeP()

template<int dim>
const PthMomentLoc& LSProblem< dim >::getMonomialLocMapDegreeP ( ) const
inline

◆ getMonomialLocMapDegreePLess1()

template<int dim>
const PthMomentLoc& LSProblem< dim >::getMonomialLocMapDegreePLess1 ( ) const
inline

◆ getUnknown()

template<int dim>
Real LSProblem< dim >::getUnknown ( int  loc)
inline

◆ getNumberDegP()

template<int dim>
int LSProblem< dim >::getNumberDegP ( )
inline

◆ getNumberDegPLess1()

template<int dim>
int LSProblem< dim >::getNumberDegPLess1 ( )
inline

◆ numActiveBounds()

template<int dim>
int LSProblem< dim >::numActiveBounds ( ) const
inline

◆ setRhs()

template<int dim>
void LSProblem< dim >::setRhs ( const Vector< Real > &  a_rhs)
private

◆ setMatrix()

template<int dim>
void LSProblem< dim >::setMatrix ( )
private

◆ momentBounds()

template<int dim>
void LSProblem< dim >::momentBounds ( Real a_lobnd,
Real a_hibnd,
const IvDim a_mono,
const IFData< dim > &  a_ifData 
)
private

◆ differentiate()

template<int dim>
void LSProblem< dim >::differentiate ( int &  a_coeff,
IvDim a_Dmono,
int &  a_idir,
const IvDim a_mono 
)
private

◆ nChooseR()

template<int dim>
int LSProblem< dim >::nChooseR ( int  a_n,
int  a_r 
)
private

◆ fillMap()

template<int dim>
void LSProblem< dim >::fillMap ( PthMomentLoc a_monoLoc,
LocPthMoment a_locMono,
const int &  a_degree 
)
private

◆ numMonomials()

template<int dim>
int LSProblem< dim >::numMonomials ( const int &  a_monoDegree)
private

◆ factorial()

template<int dim>
int LSProblem< dim >::factorial ( const int &  a_n,
const int &  a_m = 0 
)
private

◆ allocArray()

template<int dim>
void LSProblem< dim >::allocArray ( const int &  a_rows,
const int &  a_cols,
Real **&  a_A 
)
private

◆ freeArray()

template<int dim>
void LSProblem< dim >::freeArray ( const int &  a_rows,
const int &  a_cols,
Real **&  a_A 
)
private

Member Data Documentation

◆ m_order

template<int dim>
int LSProblem< dim >::m_order
private

◆ m_degreeP

template<int dim>
int LSProblem< dim >::m_degreeP
private

◆ m_numActiveBounds

template<int dim>
int LSProblem< dim >::m_numActiveBounds
private

◆ m_useConstraints

template<int dim>
bool LSProblem< dim >::m_useConstraints
private

◆ m_normal

template<int dim>
IndexTM<Real,dim> LSProblem< dim >::m_normal
private

◆ m_monoLocP

template<int dim>
PthMomentLoc LSProblem< dim >::m_monoLocP
private

◆ m_locMonoP

template<int dim>
LocPthMoment LSProblem< dim >::m_locMonoP
private

◆ m_numP

template<int dim>
int LSProblem< dim >::m_numP
private

◆ m_monoLocPLess1

template<int dim>
PthMomentLoc LSProblem< dim >::m_monoLocPLess1
private

◆ m_locMonoPLess1

template<int dim>
LocPthMoment LSProblem< dim >::m_locMonoPLess1
private

◆ m_numPLess1

template<int dim>
int LSProblem< dim >::m_numPLess1
private

◆ m_matrix

template<int dim>
Real** LSProblem< dim >::m_matrix
private

◆ m_unknowns

template<int dim>
Vector<Real> LSProblem< dim >::m_unknowns
private

◆ m_rhs

template<int dim>
Vector<Real> LSProblem< dim >::m_rhs
private

◆ m_lowerBound

template<int dim>
Vector<Real> LSProblem< dim >::m_lowerBound
private

◆ m_upperBound

template<int dim>
Vector<Real> LSProblem< dim >::m_upperBound
private

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