Chombo + EB + MF  3.2
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
InterfaceJump Class Reference

#include <InterfaceJump.H>

Public Member Functions

 InterfaceJump ()
 
 ~InterfaceJump ()
 
void define (const MFIndexSpace &a_MFIS, const ProblemDomain &a_domain, const DisjointBoxLayout &a_dbl, const RealVect &a_vectDx, const RealVect &a_physOrigin, const bool a_isVectorJump=false)
 
void setJump (const Real &a_gD, const Real &a_gN)
 
void setJump (const RealVect &a_gD, const RealVect &a_gN)
 
void setJump (const Vector< RefCountedPtr< BaseBCValue > > &a_phiValVect, const Vector< RefCountedPtr< BaseBCValue > > &a_flxValVect, const Vector< Real > &a_alpha, const Vector< Real > &a_beta, const Real &a_time=0.0)
 
void resetJump (const Vector< Real > &a_alpha, const Vector< Real > &a_beta, const Real &a_time)
 
void getFaceStencil (VoFStencil &a_istencil, VoFStencil &a_jstencil, const Vector< Real > &a_beta, const VolIndex &a_ivof, const DataIndex &a_dix, const int &a_iphase, const int &a_iface)
 
void computeScalarBV (const EBCellFAB &a_P0, const EBCellFAB &a_P1, const Vector< Real > &a_beta, const DataIndex &a_dataInd, BaseIVFAB< Real > &a_PBV0, BaseIVFAB< Real > &a_PBV1, BaseIVFAB< Real > &a_dpDN0, BaseIVFAB< Real > &a_dpDN1, bool homogeneous=false)
 
void computeVectorBV (const EBCellFAB &a_P0, const EBCellFAB &a_P1, const Vector< Real > &a_beta, const DataIndex &a_dataInd, BaseIVFAB< Real > &a_PBV0, BaseIVFAB< Real > &a_PBV1, BaseIVFAB< Real > &a_dpDN0, BaseIVFAB< Real > &a_dpDN1, bool homogeneous=false)
 

Protected Member Functions

void calculateJump (const Vector< Real > &a_alpha, const Vector< Real > &a_beta, const Real &a_time)
 
void defineLayoutData (EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< VoFStencil > > > &a_stencils, LayoutData< BaseIVFAB< Vector< Real > > > &a_inHomDirichWeight, LayoutData< BaseIVFAB< Vector< int > > > &a_dirichletDropOrder, LayoutData< BaseIVFAB< Vector< VolIndex > > > &a_boundaryVofs, LayoutData< BaseIVFAB< Vector< int > > > &a_boundaryFaceIndices)
 
void defineScalarJumpLayoutData (EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< Real > > > &a_scalarGD, LayoutData< BaseIVFAB< Vector< Real > > > &a_scalarGN)
 
void defineVectorJumpLayoutData (EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< RealVect > > > &a_vectorGD, LayoutData< BaseIVFAB< Vector< RealVect > > > &a_vectorGN)
 
void cacheVoFIt ()
 
void definePhase (const MFIndexSpace &a_MFIS, const ProblemDomain &a_domain, const DisjointBoxLayout &a_dbl, EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< VoFStencil > > > &a_stencils, LayoutData< BaseIVFAB< Vector< Real > > > &a_inHomDirichWeight, LayoutData< BaseIVFAB< Vector< int > > > &a_dirichletDropOrder, LayoutData< BaseIVFAB< Vector< VolIndex > > > &a_boundaryVofs, LayoutData< BaseIVFAB< Vector< int > > > &a_boundaryFaceIndices, const int &a_numEBISLGhost, const int &a_phase)
 
void computeBoundaryLayoutData (LayoutData< BaseIVFAB< Vector< VolIndex > > > &a_0boundaryVofs, LayoutData< BaseIVFAB< Vector< VolIndex > > > &a_1boundaryVofs, LayoutData< BaseIVFAB< Vector< int > > > &a_0boundaryFaceIndices, LayoutData< BaseIVFAB< Vector< int > > > &a_1boundaryFaceIndices)
 
void leastSquaresDirichStencil (VoFStencil &a_stencil, Real &a_weight, const RealVect &a_normal, const RealVect &a_centroid, const Real &a_bndryArea, const VolIndex &a_vof, const EBISBox &a_ebisBox, const RealVect &a_dx, const ProblemDomain &a_domain, int a_ivar)
 
void johanDirichletStencil (const RealVect &a_normal, const RealVect &a_centroid, const VolIndex &a_vof, const EBISBox &a_ebisBox, VoFStencil &a_vofStencil, int &a_dirichletDropOrder, Real &a_inHomDirichWeight)
 
void boundarySlope (Real *a_dPhiDn, const RealVect &a_normal, const VolIndex &a_vof, const EBCellFAB &a_phiFab, const EBISBox &a_ebisBox, const int &a_ivar=0)
 
void setDxConstants ()
 
void invert2x2 (const Real &a_betaZeta1, const Real &a_betaZeta2, const Real &a_r1, const Real &a_r2, Real &a_pB1, Real &a_pB2)
 
void normalDeriv (const Real &a_qs, const Real &a_zetas, const Real &a_pBs, Real &a_dPdns)
 
void findTangentPlane (RealVect &a_t1, RealVect &a_t2, const RealVect a_normal)
 
void crossProduct (Real a_cp[3], const Real a_c1[3], const Real a_c2[3])
 
Real euclidianNorm (const RealVect a_vect)
 
Real innerProduct (const RealVect &a_v1, const RealVect &a_v2)
 
void AInvTimesVelocity3D (RealVect &a_answer, const RealVect &a_velocity, const RealVect &a_normal, const RealVect &a_t1, const RealVect &a_t2, const Vector< Real > &a_nu, const Vector< Real > &a_zeta)
 
void AInvTimesVelocity2D (RealVect &a_answer, const RealVect &a_velocity, const RealVect &a_normal, const RealVect &a_t1, const Vector< Real > &a_nu, const Vector< Real > &a_zeta)
 
void AInvTimesVelocity (RealVect &a_answer, const RealVect &a_velocity, const RealVect &a_normal, const RealVect &a_t1, const RealVect &a_t2, const Vector< Real > &a_nu, const Vector< Real > &a_zeta)
 
void ATimesQ3D (RealVect &a_answer, const RealVect &a_q, const RealVect &a_normal, const RealVect &a_t1, const RealVect &a_t2, const Real a_nu)
 
void ATimesQ2D (RealVect &a_answer, const RealVect &a_q, const RealVect &a_normal, const RealVect &a_t1, const Real a_nu)
 
void ATimesQ (RealVect &a_answer, const RealVect &a_q, const RealVect &a_normal, const RealVect &a_t1, const RealVect &a_t2, const Real a_nu)
 

Protected Attributes

bool m_isDefined
 
bool m_isVectorJump
 
RealVect m_vectDx
 
RealVect m_d2Vect
 
Real m_dxScale
 
RealVect m_origin
 
ProblemDomain m_domain
 
int m_nComp
 
LayoutData< BaseIVFAB< Vector
< Real > > > 
m_scalarGD
 
LayoutData< BaseIVFAB< Vector
< Real > > > 
m_scalarGN
 
LayoutData< BaseIVFAB< Vector
< RealVect > > > 
m_vectorGD
 
LayoutData< BaseIVFAB< Vector
< RealVect > > > 
m_vectorGN
 
Vector< RefCountedPtr
< BaseBCValue > > 
m_phiValVect
 
Vector< RefCountedPtr
< BaseBCValue > > 
m_flxValVect
 
LayoutData< BaseIVFAB< Vector
< VoFStencil > > > 
m_0stencils
 
LayoutData< BaseIVFAB< Vector
< Real > > > 
m_0inHomDirichWeight
 
LayoutData< BaseIVFAB< Vector
< int > > > 
m_0dirichletDropOrder
 
LayoutData< BaseIVFAB< Vector
< VolIndex > > > 
m_0boundaryVofs
 
LayoutData< BaseIVFAB< Vector
< int > > > 
m_0boundaryFaceIndices
 
LayoutData< BaseIVFAB< Vector
< VoFStencil > > > 
m_1stencils
 
LayoutData< BaseIVFAB< Vector
< Real > > > 
m_1inHomDirichWeight
 
LayoutData< BaseIVFAB< Vector
< int > > > 
m_1dirichletDropOrder
 
LayoutData< BaseIVFAB< Vector
< VolIndex > > > 
m_1boundaryVofs
 
LayoutData< BaseIVFAB< Vector
< int > > > 
m_1boundaryFaceIndices
 
LayoutData< VoFIteratorm_vofItBndry
 
EBISLayout m_0ebisl
 
EBISLayout m_1ebisl
 
DisjointBoxLayout m_dbl
 

Constructor & Destructor Documentation

InterfaceJump::InterfaceJump ( )
InterfaceJump::~InterfaceJump ( )

Member Function Documentation

void InterfaceJump::define ( const MFIndexSpace a_MFIS,
const ProblemDomain a_domain,
const DisjointBoxLayout a_dbl,
const RealVect a_vectDx,
const RealVect a_physOrigin,
const bool  a_isVectorJump = false 
)
void InterfaceJump::setJump ( const Real a_gD,
const Real a_gN 
)
void InterfaceJump::setJump ( const RealVect a_gD,
const RealVect a_gN 
)
void InterfaceJump::setJump ( const Vector< RefCountedPtr< BaseBCValue > > &  a_phiValVect,
const Vector< RefCountedPtr< BaseBCValue > > &  a_flxValVect,
const Vector< Real > &  a_alpha,
const Vector< Real > &  a_beta,
const Real a_time = 0.0 
)
void InterfaceJump::resetJump ( const Vector< Real > &  a_alpha,
const Vector< Real > &  a_beta,
const Real a_time 
)
void InterfaceJump::getFaceStencil ( VoFStencil a_istencil,
VoFStencil a_jstencil,
const Vector< Real > &  a_beta,
const VolIndex a_ivof,
const DataIndex a_dix,
const int &  a_iphase,
const int &  a_iface 
)
void InterfaceJump::computeScalarBV ( const EBCellFAB a_P0,
const EBCellFAB a_P1,
const Vector< Real > &  a_beta,
const DataIndex a_dataInd,
BaseIVFAB< Real > &  a_PBV0,
BaseIVFAB< Real > &  a_PBV1,
BaseIVFAB< Real > &  a_dpDN0,
BaseIVFAB< Real > &  a_dpDN1,
bool  homogeneous = false 
)
void InterfaceJump::computeVectorBV ( const EBCellFAB a_P0,
const EBCellFAB a_P1,
const Vector< Real > &  a_beta,
const DataIndex a_dataInd,
BaseIVFAB< Real > &  a_PBV0,
BaseIVFAB< Real > &  a_PBV1,
BaseIVFAB< Real > &  a_dpDN0,
BaseIVFAB< Real > &  a_dpDN1,
bool  homogeneous = false 
)
void InterfaceJump::calculateJump ( const Vector< Real > &  a_alpha,
const Vector< Real > &  a_beta,
const Real a_time 
)
protected
void InterfaceJump::defineLayoutData ( EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< VoFStencil > > > &  a_stencils,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_inHomDirichWeight,
LayoutData< BaseIVFAB< Vector< int > > > &  a_dirichletDropOrder,
LayoutData< BaseIVFAB< Vector< VolIndex > > > &  a_boundaryVofs,
LayoutData< BaseIVFAB< Vector< int > > > &  a_boundaryFaceIndices 
)
protected
void InterfaceJump::defineScalarJumpLayoutData ( EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_scalarGD,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_scalarGN 
)
protected
void InterfaceJump::defineVectorJumpLayoutData ( EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< RealVect > > > &  a_vectorGD,
LayoutData< BaseIVFAB< Vector< RealVect > > > &  a_vectorGN 
)
protected
void InterfaceJump::cacheVoFIt ( )
protected
void InterfaceJump::definePhase ( const MFIndexSpace a_MFIS,
const ProblemDomain a_domain,
const DisjointBoxLayout a_dbl,
EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< VoFStencil > > > &  a_stencils,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_inHomDirichWeight,
LayoutData< BaseIVFAB< Vector< int > > > &  a_dirichletDropOrder,
LayoutData< BaseIVFAB< Vector< VolIndex > > > &  a_boundaryVofs,
LayoutData< BaseIVFAB< Vector< int > > > &  a_boundaryFaceIndices,
const int &  a_numEBISLGhost,
const int &  a_phase 
)
protected
void InterfaceJump::computeBoundaryLayoutData ( LayoutData< BaseIVFAB< Vector< VolIndex > > > &  a_0boundaryVofs,
LayoutData< BaseIVFAB< Vector< VolIndex > > > &  a_1boundaryVofs,
LayoutData< BaseIVFAB< Vector< int > > > &  a_0boundaryFaceIndices,
LayoutData< BaseIVFAB< Vector< int > > > &  a_1boundaryFaceIndices 
)
protected
void InterfaceJump::leastSquaresDirichStencil ( VoFStencil a_stencil,
Real a_weight,
const RealVect a_normal,
const RealVect a_centroid,
const Real a_bndryArea,
const VolIndex a_vof,
const EBISBox a_ebisBox,
const RealVect a_dx,
const ProblemDomain a_domain,
int  a_ivar 
)
protected
void InterfaceJump::johanDirichletStencil ( const RealVect a_normal,
const RealVect a_centroid,
const VolIndex a_vof,
const EBISBox a_ebisBox,
VoFStencil a_vofStencil,
int &  a_dirichletDropOrder,
Real a_inHomDirichWeight 
)
protected
void InterfaceJump::boundarySlope ( Real a_dPhiDn,
const RealVect a_normal,
const VolIndex a_vof,
const EBCellFAB a_phiFab,
const EBISBox a_ebisBox,
const int &  a_ivar = 0 
)
protected
void InterfaceJump::setDxConstants ( )
protected
void InterfaceJump::invert2x2 ( const Real a_betaZeta1,
const Real a_betaZeta2,
const Real a_r1,
const Real a_r2,
Real a_pB1,
Real a_pB2 
)
protected
void InterfaceJump::normalDeriv ( const Real a_qs,
const Real a_zetas,
const Real a_pBs,
Real a_dPdns 
)
protected
void InterfaceJump::findTangentPlane ( RealVect a_t1,
RealVect a_t2,
const RealVect  a_normal 
)
protected
void InterfaceJump::crossProduct ( Real  a_cp[3],
const Real  a_c1[3],
const Real  a_c2[3] 
)
protected
Real InterfaceJump::euclidianNorm ( const RealVect  a_vect)
protected
Real InterfaceJump::innerProduct ( const RealVect a_v1,
const RealVect a_v2 
)
protected
void InterfaceJump::AInvTimesVelocity3D ( RealVect a_answer,
const RealVect a_velocity,
const RealVect a_normal,
const RealVect a_t1,
const RealVect a_t2,
const Vector< Real > &  a_nu,
const Vector< Real > &  a_zeta 
)
protected
void InterfaceJump::AInvTimesVelocity2D ( RealVect a_answer,
const RealVect a_velocity,
const RealVect a_normal,
const RealVect a_t1,
const Vector< Real > &  a_nu,
const Vector< Real > &  a_zeta 
)
protected
void InterfaceJump::AInvTimesVelocity ( RealVect a_answer,
const RealVect a_velocity,
const RealVect a_normal,
const RealVect a_t1,
const RealVect a_t2,
const Vector< Real > &  a_nu,
const Vector< Real > &  a_zeta 
)
protected
void InterfaceJump::ATimesQ3D ( RealVect a_answer,
const RealVect a_q,
const RealVect a_normal,
const RealVect a_t1,
const RealVect a_t2,
const Real  a_nu 
)
protected
void InterfaceJump::ATimesQ2D ( RealVect a_answer,
const RealVect a_q,
const RealVect a_normal,
const RealVect a_t1,
const Real  a_nu 
)
protected
void InterfaceJump::ATimesQ ( RealVect a_answer,
const RealVect a_q,
const RealVect a_normal,
const RealVect a_t1,
const RealVect a_t2,
const Real  a_nu 
)
protected

Member Data Documentation

bool InterfaceJump::m_isDefined
protected
bool InterfaceJump::m_isVectorJump
protected
RealVect InterfaceJump::m_vectDx
protected
RealVect InterfaceJump::m_d2Vect
protected
Real InterfaceJump::m_dxScale
protected
RealVect InterfaceJump::m_origin
protected
ProblemDomain InterfaceJump::m_domain
protected
int InterfaceJump::m_nComp
protected
LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_scalarGD
protected
LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_scalarGN
protected
LayoutData< BaseIVFAB< Vector<RealVect> > > InterfaceJump::m_vectorGD
protected
LayoutData< BaseIVFAB< Vector<RealVect> > > InterfaceJump::m_vectorGN
protected
Vector< RefCountedPtr<BaseBCValue> > InterfaceJump::m_phiValVect
protected
Vector< RefCountedPtr<BaseBCValue> > InterfaceJump::m_flxValVect
protected
LayoutData< BaseIVFAB< Vector<VoFStencil> > > InterfaceJump::m_0stencils
protected
LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_0inHomDirichWeight
protected
LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_0dirichletDropOrder
protected
LayoutData< BaseIVFAB< Vector<VolIndex> > > InterfaceJump::m_0boundaryVofs
protected
LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_0boundaryFaceIndices
protected
LayoutData< BaseIVFAB< Vector<VoFStencil> > > InterfaceJump::m_1stencils
protected
LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_1inHomDirichWeight
protected
LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_1dirichletDropOrder
protected
LayoutData< BaseIVFAB< Vector<VolIndex> > > InterfaceJump::m_1boundaryVofs
protected
LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_1boundaryFaceIndices
protected
LayoutData<VoFIterator > InterfaceJump::m_vofItBndry
protected
EBISLayout InterfaceJump::m_0ebisl
protected
EBISLayout InterfaceJump::m_1ebisl
protected
DisjointBoxLayout InterfaceJump::m_dbl
protected

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