#include <IFData.H>
Public Types | |
typedef IndexTM< int, dim > | EdgeIndex |
typedef map< EdgeIndex, Real, LexLT< EdgeIndex > > | EdgeIntersections |
typedef IndexTM< int, dim > | Vertex |
typedef map< Vertex, int, LexLT< Vertex > > | CornerSigns |
typedef IndexTM< Real, dim > | Rvect |
Public Member Functions | |
IFData () | |
IFData (const IFData< dim > &a_info) | |
IFData (const BaseIF &a_function, const Rvect &a_dx, const RvgDim &a_globalCellCenter, const Vector< int > &a_normalDir=Vector< int >()) | |
IFData (const IFData< dim+1 > &a_hInfo, const int &a_idir, const int &a_hilo) | |
~IFData () | |
void | reduceGradNormal (const Vector< IndexTM< Real, GLOBALDIM > > &a_gradNormal, const IndexTM< Real, GLOBALDIM > &a_normal) |
void | setNormal () |
void | makeCornerSigns () |
void | findIntersectionPts () |
bool | isConnected (int &a_edgeDir, const Vertex &a_vertex1, const Vertex &a_vertex2) |
void | makeEdgeKey (const int &a_edgeDir, const Vertex &a_vertex1, const Vertex &a_vertex2) |
Real | rootFinder (const EdgeIndex &a_thisEdge) |
Real | midPtRootFinder (const Rvect &a_loPt, const Rvect &a_hiPt) const |
Real | BrentRootFinder (const RvgDim &a_loPt, const RvgDim &a_hiPt, const int &a_edgeDir) const |
void | checkIntersection (bool &a_hiOn, bool &a_loOn, const Real &a_pt) const |
void | remakeCornerSigns () |
void | print (ostream &out) const |
void | dump () const |
void | operator= (const IFData &a_ifData) |
RvgDim | relCoord (const Vertex &a_vertex) |
void | setChangingDirection () |
bool | searchNormalDir (const int i) const |
Public Attributes | |
CornerSigns | m_cornerSigns |
EdgeIntersections | m_intersections |
BaseIF * | m_function |
Rvect | m_dx |
RvgDim | m_globalCellCenter |
Vector< int > | m_normalDir |
Vector< int > | m_changingDir |
Rvect | m_normal |
Vector< IndexTM< Real, dim > > | m_gradNormal |
bool | m_allVerticesIn |
bool | m_allVerticesOut |
bool | m_allVerticesOn |
References IFData< dim >::m_function.
References IFData< dim >::m_function, and BaseIF::newImplicitFunction().
IFData< dim >::IFData | ( | const BaseIF & | a_function, | |
const Rvect & | a_dx, | |||
const RvgDim & | a_globalCellCenter, | |||
const Vector< int > & | a_normalDir = Vector<int>() | |||
) | [inline] |
References MayDay::Abort(), dim, IFData< dim >::findIntersectionPts(), GLOBALDIM, BaseIF::gradNormal(), i, j, IFData< dim >::m_function, IFData< dim >::m_globalCellCenter, IFData< dim >::m_gradNormal, IFData< dim >::m_normalDir, IFData< dim >::makeCornerSigns(), BaseIF::newImplicitFunction(), BaseIF::normal(), IFData< dim >::reduceGradNormal(), IFData< dim >::setChangingDirection(), and IFData< dim >::setNormal().
IFData< dim >::IFData | ( | const IFData< dim+1 > & | a_hInfo, | |
const int & | a_idir, | |||
const int & | a_hilo | |||
) | [inline] |
References CH_TIME, dim, BaseIF::gradNormal(), IN, j, IFData< dim >::m_allVerticesIn, IFData< dim >::m_allVerticesOn, IFData< dim >::m_allVerticesOut, IFData< dim >::m_cornerSigns, IFData< dim >::m_dx, IFData< dim >::m_function, IFData< dim >::m_globalCellCenter, IFData< dim >::m_intersections, IFData< dim >::m_normal, IFData< dim >::m_normalDir, BaseIF::newImplicitFunction(), BaseIF::normal(), OUT, Vector< T >::push_back(), IFData< dim >::reduceGradNormal(), and IFData< dim >::setChangingDirection().
References IFData< dim >::m_function.
void IFData< dim >::reduceGradNormal | ( | const Vector< IndexTM< Real, GLOBALDIM > > & | a_gradNormal, | |
const IndexTM< Real, GLOBALDIM > & | a_normal | |||
) | [inline] |
References dim, i, j, k, IFData< dim >::m_changingDir, IFData< dim >::m_gradNormal, and norm().
Referenced by IFData< dim >::IFData().
References dim, IFData< dim >::m_changingDir, IFData< dim >::m_function, IFData< dim >::m_globalCellCenter, IFData< dim >::m_normal, norm(), and BaseIF::normal().
Referenced by IFData< dim >::IFData().
References dim, i, IN, j, IFData< dim >::m_allVerticesIn, IFData< dim >::m_allVerticesOn, IFData< dim >::m_allVerticesOut, IFData< dim >::m_cornerSigns, IFData< dim >::m_function, IFData< dim >::m_globalCellCenter, MACHINEPRECISION, ON, OUT, IFData< dim >::relCoord(), and BaseIF::value().
Referenced by IFData< dim >::IFData().
References IFData< dim >::isConnected(), LARGEINTVAL, IFData< dim >::m_cornerSigns, and IFData< dim >::makeEdgeKey().
Referenced by IFData< dim >::IFData().
References IFData< dim >::BrentRootFinder(), dim, LARGEREALVAL, IFData< dim >::m_changingDir, IFData< dim >::m_globalCellCenter, and IFData< dim >::relCoord().
Referenced by IFData< dim >::makeEdgeKey().
Real IFData< dim >::midPtRootFinder | ( | const Rvect & | a_loPt, | |
const Rvect & | a_hiPt | |||
) | const [inline] |
References MayDay::Abort(), Abs(), LARGEREALVAL, IFData< dim >::m_function, SpaceDim, and BaseIF::value().
Real IFData< dim >::BrentRootFinder | ( | const RvgDim & | a_loPt, | |
const RvgDim & | a_hiPt, | |||
const int & | a_edgeDir | |||
) | const [inline] |
References Abs(), MayDay::Error(), i, IFData< dim >::m_function, Min(), TOLERANCE, and BaseIF::value().
Referenced by IFData< dim >::rootFinder().
References IN, IFData< dim >::m_allVerticesIn, IFData< dim >::m_allVerticesOn, IFData< dim >::m_allVerticesOut, IFData< dim >::m_cornerSigns, ON, and OUT.
Referenced by IFData< dim >::makeEdgeKey().
References IFData< dim >::m_allVerticesIn, IFData< dim >::m_allVerticesOn, IFData< dim >::m_allVerticesOut, IFData< dim >::m_cornerSigns, IFData< dim >::m_dx, IFData< dim >::m_globalCellCenter, IFData< dim >::m_gradNormal, IFData< dim >::m_intersections, IFData< dim >::m_normal, and IFData< dim >::m_normalDir.
Referenced by IFData< dim >::dump(), and operator<<().
References pout(), and IFData< dim >::print().
References IFData< dim >::m_allVerticesIn, IFData< dim >::m_allVerticesOn, IFData< dim >::m_allVerticesOut, IFData< dim >::m_changingDir, IFData< dim >::m_cornerSigns, IFData< dim >::m_dx, IFData< dim >::m_function, IFData< dim >::m_globalCellCenter, IFData< dim >::m_gradNormal, IFData< dim >::m_intersections, IFData< dim >::m_normal, IFData< dim >::m_normalDir, and BaseIF::newImplicitFunction().
IndexTM< Real, GLOBALDIM > IFData< dim >::relCoord | ( | const Vertex & | a_vertex | ) | [inline] |
References dim, IFData< dim >::m_changingDir, and IFData< dim >::m_dx.
Referenced by IFData< dim >::makeCornerSigns(), and IFData< dim >::rootFinder().
References GLOBALDIM, i, IFData< dim >::m_changingDir, IFData< dim >::m_normalDir, Vector< T >::push_back(), IFData< dim >::searchNormalDir(), and Vector< T >::size().
Referenced by IFData< dim >::IFData().
References j, IFData< dim >::m_normalDir, and Vector< T >::size().
Referenced by IFData< dim >::setChangingDirection().
CornerSigns IFData< dim >::m_cornerSigns |
EdgeIntersections IFData< dim >::m_intersections |
BaseIF* IFData< dim >::m_function |
RvgDim IFData< dim >::m_globalCellCenter |
Vector<int> IFData< dim >::m_normalDir |
Vector<int> IFData< dim >::m_changingDir |
Referenced by IFData< dim >::IFData(), IFData< dim >::operator=(), IFData< dim >::print(), and IFData< dim >::setNormal().
bool IFData< dim >::m_allVerticesIn |
Referenced by CutCellMoments< 1 >::addBdMoments(), CutCellMoments< dim >::addBdMoments(), CutCellMoments< dim >::getBdEBMoment(), CutCellMoments< 1 >::getBdMoment(), CutCellMoments< dim >::getBdMoment(), IFData< 1 >::IFData(), IFData< dim >::IFData(), IFData< dim >::makeCornerSigns(), IFData< dim >::operator=(), IFData< 1 >::print(), IFData< dim >::print(), and IFData< dim >::remakeCornerSigns().
bool IFData< dim >::m_allVerticesOut |
Referenced by CutCellMoments< dim >::getBdEBMoment(), CutCellMoments< 1 >::getBdMoment(), CutCellMoments< dim >::getBdMoment(), IFData< 1 >::IFData(), IFData< dim >::IFData(), IFData< dim >::makeCornerSigns(), IFData< dim >::operator=(), IFData< 1 >::print(), IFData< dim >::print(), and IFData< dim >::remakeCornerSigns().
bool IFData< dim >::m_allVerticesOn |