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()

InterfaceJump::~InterfaceJump ( )

Member Function Documentation

◆ define()

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 
)

◆ setJump() [1/3]

void InterfaceJump::setJump ( const Real a_gD,
const Real a_gN 
)

◆ setJump() [2/3]

void InterfaceJump::setJump ( const RealVect a_gD,
const RealVect a_gN 
)

◆ setJump() [3/3]

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 
)

◆ resetJump()

void InterfaceJump::resetJump ( const Vector< Real > &  a_alpha,
const Vector< Real > &  a_beta,
const Real a_time 
)

◆ getFaceStencil()

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 
)

◆ computeScalarBV()

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 
)

◆ computeVectorBV()

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 
)

◆ calculateJump()

void InterfaceJump::calculateJump ( const Vector< Real > &  a_alpha,
const Vector< Real > &  a_beta,
const Real a_time 
)
protected

◆ defineLayoutData()

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

◆ defineScalarJumpLayoutData()

void InterfaceJump::defineScalarJumpLayoutData ( EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_scalarGD,
LayoutData< BaseIVFAB< Vector< Real > > > &  a_scalarGN 
)
protected

◆ defineVectorJumpLayoutData()

void InterfaceJump::defineVectorJumpLayoutData ( EBISLayout a_ebisl,
LayoutData< BaseIVFAB< Vector< RealVect > > > &  a_vectorGD,
LayoutData< BaseIVFAB< Vector< RealVect > > > &  a_vectorGN 
)
protected

◆ cacheVoFIt()

void InterfaceJump::cacheVoFIt ( )
protected

◆ definePhase()

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

◆ computeBoundaryLayoutData()

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

◆ leastSquaresDirichStencil()

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

◆ johanDirichletStencil()

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

◆ boundarySlope()

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

◆ setDxConstants()

void InterfaceJump::setDxConstants ( )
protected

◆ invert2x2()

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

◆ normalDeriv()

void InterfaceJump::normalDeriv ( const Real a_qs,
const Real a_zetas,
const Real a_pBs,
Real a_dPdns 
)
protected

◆ findTangentPlane()

void InterfaceJump::findTangentPlane ( RealVect a_t1,
RealVect a_t2,
const RealVect  a_normal 
)
protected

◆ crossProduct()

void InterfaceJump::crossProduct ( Real  a_cp[3],
const Real  a_c1[3],
const Real  a_c2[3] 
)
protected

◆ euclidianNorm()

Real InterfaceJump::euclidianNorm ( const RealVect  a_vect)
protected

◆ innerProduct()

Real InterfaceJump::innerProduct ( const RealVect a_v1,
const RealVect a_v2 
)
protected

◆ AInvTimesVelocity3D()

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

◆ AInvTimesVelocity2D()

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

◆ AInvTimesVelocity()

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

◆ ATimesQ3D()

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

◆ ATimesQ2D()

void InterfaceJump::ATimesQ2D ( RealVect a_answer,
const RealVect a_q,
const RealVect a_normal,
const RealVect a_t1,
const Real  a_nu 
)
protected

◆ ATimesQ()

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

◆ m_isDefined

bool InterfaceJump::m_isDefined
protected

◆ m_isVectorJump

bool InterfaceJump::m_isVectorJump
protected

◆ m_vectDx

RealVect InterfaceJump::m_vectDx
protected

◆ m_d2Vect

RealVect InterfaceJump::m_d2Vect
protected

◆ m_dxScale

Real InterfaceJump::m_dxScale
protected

◆ m_origin

RealVect InterfaceJump::m_origin
protected

◆ m_domain

ProblemDomain InterfaceJump::m_domain
protected

◆ m_nComp

int InterfaceJump::m_nComp
protected

◆ m_scalarGD

LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_scalarGD
protected

◆ m_scalarGN

LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_scalarGN
protected

◆ m_vectorGD

LayoutData< BaseIVFAB< Vector<RealVect> > > InterfaceJump::m_vectorGD
protected

◆ m_vectorGN

LayoutData< BaseIVFAB< Vector<RealVect> > > InterfaceJump::m_vectorGN
protected

◆ m_phiValVect

Vector< RefCountedPtr<BaseBCValue> > InterfaceJump::m_phiValVect
protected

◆ m_flxValVect

Vector< RefCountedPtr<BaseBCValue> > InterfaceJump::m_flxValVect
protected

◆ m_0stencils

LayoutData< BaseIVFAB< Vector<VoFStencil> > > InterfaceJump::m_0stencils
protected

◆ m_0inHomDirichWeight

LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_0inHomDirichWeight
protected

◆ m_0dirichletDropOrder

LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_0dirichletDropOrder
protected

◆ m_0boundaryVofs

LayoutData< BaseIVFAB< Vector<VolIndex> > > InterfaceJump::m_0boundaryVofs
protected

◆ m_0boundaryFaceIndices

LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_0boundaryFaceIndices
protected

◆ m_1stencils

LayoutData< BaseIVFAB< Vector<VoFStencil> > > InterfaceJump::m_1stencils
protected

◆ m_1inHomDirichWeight

LayoutData< BaseIVFAB< Vector<Real> > > InterfaceJump::m_1inHomDirichWeight
protected

◆ m_1dirichletDropOrder

LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_1dirichletDropOrder
protected

◆ m_1boundaryVofs

LayoutData< BaseIVFAB< Vector<VolIndex> > > InterfaceJump::m_1boundaryVofs
protected

◆ m_1boundaryFaceIndices

LayoutData< BaseIVFAB< Vector<int> > > InterfaceJump::m_1boundaryFaceIndices
protected

◆ m_vofItBndry

LayoutData<VoFIterator > InterfaceJump::m_vofItBndry
protected

◆ m_0ebisl

EBISLayout InterfaceJump::m_0ebisl
protected

◆ m_1ebisl

EBISLayout InterfaceJump::m_1ebisl
protected

◆ m_dbl

DisjointBoxLayout InterfaceJump::m_dbl
protected

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