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

#include <IFData.H>

Public Types

typedef IndexTM< int, dimEdgeIndex
 
typedef map< EdgeIndex, Real, LexLT< EdgeIndex > > EdgeIntersections
 
typedef IndexTM< int, dimVertex
 
typedef map< Vertex, int, LexLT< Vertex > > CornerSigns
 
typedef IndexTM< int, dimIvDim
 
typedef IndexTM< Real, dimRvDim
 
typedef map< IvDim, RvDim, LexLT< IvDim > > NormalDerivatives
 

Public Member Functions

 IFData ()
 
 IFData (const IFData< dim > &a_IFData)
 
 IFData (const BaseIF &a_function, const RvDim &a_dx, const RvDim &a_origin, const int &a_maxOrder)
 
 IFData (IFSlicer< dim > *a_function, const RvDim &a_dx, const RvDim &a_origin, const int &a_maxOrder)
 
 IFData (const IFData< dim+1 > &a_hInfo, const int &a_idir, const int &a_hilo)
 
 ~IFData ()
 
void setNormalDerivatives ()
 
void makeCornerSigns ()
 
void findIntersectionPts ()
 
void defineLocalCoords ()
 
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 BrentRootFinder (const RvDim &a_loPt, const RvDim &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 operator= (const IFData &a_ifData)
 
void setChangingDirection ()
 
bool searchNormalDir (const int i) const
 

Public Attributes

CornerSigns m_cornerSigns
 
EdgeIntersections m_intersections
 
IFSlicer< dim > * m_function
 
CoordinateSystem< dimm_globalCoord
 
CoordinateSystem< dimm_cellCenterCoord
 
CoordinateSystem< dimm_parentCoord
 
CoordinateSystem< dimm_localCoord
 
int m_maxOrder
 
NormalDerivatives m_normalDerivatives
 
bool m_badNormal
 
bool m_allVerticesIn
 
bool m_allVerticesOut
 
bool m_allVerticesOn
 

Member Typedef Documentation

◆ EdgeIndex

template<int dim>
typedef IndexTM<int,dim> IFData< dim >::EdgeIndex

◆ EdgeIntersections

template<int dim>
typedef map<EdgeIndex,Real,LexLT<EdgeIndex> > IFData< dim >::EdgeIntersections

◆ Vertex

template<int dim>
typedef IndexTM<int,dim> IFData< dim >::Vertex

◆ CornerSigns

template<int dim>
typedef map<Vertex,int,LexLT<Vertex> > IFData< dim >::CornerSigns

◆ IvDim

template<int dim>
typedef IndexTM<int,dim> IFData< dim >::IvDim

◆ RvDim

template<int dim>
typedef IndexTM<Real,dim> IFData< dim >::RvDim

◆ NormalDerivatives

template<int dim>
typedef map<IvDim,RvDim,LexLT<IvDim> > IFData< dim >::NormalDerivatives

Constructor & Destructor Documentation

◆ IFData() [1/5]

template<int dim>
IFData< dim >::IFData ( )

◆ IFData() [2/5]

template<int dim>
IFData< dim >::IFData ( const IFData< dim > &  a_IFData)

◆ IFData() [3/5]

template<int dim>
IFData< dim >::IFData ( const BaseIF a_function,
const RvDim a_dx,
const RvDim a_origin,
const int &  a_maxOrder 
)

◆ IFData() [4/5]

template<int dim>
IFData< dim >::IFData ( IFSlicer< dim > *  a_function,
const RvDim a_dx,
const RvDim a_origin,
const int &  a_maxOrder 
)

◆ IFData() [5/5]

template<int dim>
IFData< dim >::IFData ( const IFData< dim+1 > &  a_hInfo,
const int &  a_idir,
const int &  a_hilo 
)

◆ ~IFData()

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

Member Function Documentation

◆ setNormalDerivatives()

template<int dim>
void IFData< dim >::setNormalDerivatives ( )

◆ makeCornerSigns()

template<int dim>
void IFData< dim >::makeCornerSigns ( )

◆ findIntersectionPts()

template<int dim>
void IFData< dim >::findIntersectionPts ( )

◆ defineLocalCoords()

template<int dim>
void IFData< dim >::defineLocalCoords ( )

◆ isConnected()

template<int dim>
bool IFData< dim >::isConnected ( int &  a_edgeDir,
const Vertex a_vertex1,
const Vertex a_vertex2 
)

References dim, and LARGEINTVAL.

Referenced by IFData< dim >::findIntersectionPts().

◆ makeEdgeKey()

template<int dim>
void IFData< dim >::makeEdgeKey ( const int &  a_edgeDir,
const Vertex a_vertex1,
const Vertex a_vertex2 
)

◆ rootFinder()

template<int dim>
Real IFData< dim >::rootFinder ( const EdgeIndex a_thisEdge)

◆ BrentRootFinder()

template<int dim>
Real IFData< dim >::BrentRootFinder ( const RvDim a_loPt,
const RvDim a_hiPt,
const int &  a_edgeDir 
) const

◆ checkIntersection()

template<int dim>
void IFData< dim >::checkIntersection ( bool &  a_hiOn,
bool &  a_loOn,
const Real a_pt 
) const

References MACHINEPRECISION.

Referenced by IFData< dim >::makeEdgeKey().

◆ remakeCornerSigns()

template<int dim>
void IFData< dim >::remakeCornerSigns ( )

◆ print()

template<int dim>
void IFData< dim >::print ( ostream &  out) const

◆ operator=()

template<int dim>
void IFData< dim >::operator= ( const IFData< dim > &  a_ifData)

◆ setChangingDirection()

template<int dim>
void IFData< dim >::setChangingDirection ( )

◆ searchNormalDir()

template<int dim>
bool IFData< dim >::searchNormalDir ( const int  i) const

Member Data Documentation

◆ m_cornerSigns

template<int dim>
CornerSigns IFData< dim >::m_cornerSigns

◆ m_intersections

template<int dim>
EdgeIntersections IFData< dim >::m_intersections

◆ m_function

template<int dim>
IFSlicer<dim>* IFData< dim >::m_function

◆ m_globalCoord

template<int dim>
CoordinateSystem<dim> IFData< dim >::m_globalCoord

◆ m_cellCenterCoord

template<int dim>
CoordinateSystem<dim> IFData< dim >::m_cellCenterCoord

◆ m_parentCoord

template<int dim>
CoordinateSystem<dim> IFData< dim >::m_parentCoord

◆ m_localCoord

template<int dim>
CoordinateSystem<dim> IFData< dim >::m_localCoord

◆ m_maxOrder

template<int dim>
int IFData< dim >::m_maxOrder

◆ m_normalDerivatives

template<int dim>
NormalDerivatives IFData< dim >::m_normalDerivatives

◆ m_badNormal

template<int dim>
bool IFData< dim >::m_badNormal

◆ m_allVerticesIn

template<int dim>
bool IFData< dim >::m_allVerticesIn

◆ m_allVerticesOut

template<int dim>
bool IFData< dim >::m_allVerticesOut

◆ m_allVerticesOn

template<int dim>
bool IFData< dim >::m_allVerticesOn

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