11 #ifndef _INTERFACEJUMP_H_ 12 #define _INTERFACEJUMP_H_ 20 #include "NamespaceHeader.H" 37 const bool a_isVectorJump =
false);
49 const Real& a_time = 0.0);
71 bool homogeneous =
false);
81 bool homogeneous =
false);
162 const int& a_numEBISLGhost,
177 const Real& a_bndryArea,
190 int& a_dirichletDropOrder,
191 Real& a_inHomDirichWeight);
198 const int& a_ivar = 0);
203 const Real& a_betaZeta2,
272 #include "NamespaceFooter.H" void findTangentPlane(RealVect &a_t1, RealVect &a_t2, const RealVect a_normal)
void normalDeriv(const Real &a_qs, const Real &a_zetas, const Real &a_pBs, Real &a_dPdns)
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 defineVectorJumpLayoutData(EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< RealVect > > > &a_vectorGD, LayoutData< BaseIVFAB< Vector< RealVect > > > &a_vectorGN)
Definition: MFIndexSpace.H:17
ProblemDomain m_domain
Definition: InterfaceJump.H:94
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
Real innerProduct(const RealVect &a_v1, const RealVect &a_v2)
void resetJump(const Vector< Real > &a_alpha, const Vector< Real > &a_beta, const Real &a_time)
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)
Real euclidianNorm(const RealVect a_vect)
LayoutData< BaseIVFAB< Vector< int > > > m_1boundaryFaceIndices
Definition: InterfaceJump.H:115
RealVect m_d2Vect
Definition: InterfaceJump.H:91
DisjointBoxLayout m_dbl
Definition: InterfaceJump.H:125
one dimensional dynamic array
Definition: Vector.H:53
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout.
Definition: BoxLayout.H:26
int m_nComp
Definition: InterfaceJump.H:95
LayoutData< BaseIVFAB< Vector< Real > > > m_scalarGN
Definition: InterfaceJump.H:98
Vector< RefCountedPtr< BaseBCValue > > m_flxValVect
Definition: InterfaceJump.H:101
EBISLayout m_1ebisl
Definition: InterfaceJump.H:122
Vector< RefCountedPtr< BaseBCValue > > m_phiValVect
Definition: InterfaceJump.H:101
LayoutData< BaseIVFAB< Vector< int > > > m_0dirichletDropOrder
Definition: InterfaceJump.H:106
LayoutData< BaseIVFAB< Vector< VolIndex > > > m_0boundaryVofs
Definition: InterfaceJump.H:107
LayoutData< BaseIVFAB< Vector< VolIndex > > > m_1boundaryVofs
Definition: InterfaceJump.H:114
VoF-centered stencil.
Definition: Stencils.H:60
void calculateJump(const Vector< Real > &a_alpha, const Vector< Real > &a_beta, const Real &a_time)
bool m_isDefined
Definition: InterfaceJump.H:86
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 ATimesQ(RealVect &a_answer, const RealVect &a_q, const RealVect &a_normal, const RealVect &a_t1, const RealVect &a_t2, const Real a_nu)
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 setJump(const Real &a_gD, const Real &a_gN)
LayoutData< BaseIVFAB< Vector< Real > > > m_0inHomDirichWeight
Definition: InterfaceJump.H:105
Definition: EBCellFAB.H:29
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)
double Real
Definition: REAL.H:33
LayoutData< BaseIVFAB< Vector< Real > > > m_1inHomDirichWeight
Definition: InterfaceJump.H:112
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 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 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 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)
LayoutData< VoFIterator > m_vofItBndry
Definition: InterfaceJump.H:118
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
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)
EBISLayout m_0ebisl
Definition: InterfaceJump.H:121
LayoutData< BaseIVFAB< Vector< int > > > m_1dirichletDropOrder
Definition: InterfaceJump.H:113
LayoutData< BaseIVFAB< Vector< Real > > > m_scalarGD
Definition: InterfaceJump.H:98
Definition: InterfaceJump.H:22
LayoutData< BaseIVFAB< Vector< VoFStencil > > > m_0stencils
Definition: InterfaceJump.H:104
LayoutData< BaseIVFAB< Vector< RealVect > > > m_vectorGD
Definition: InterfaceJump.H:99
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
void invert2x2(const Real &a_betaZeta1, const Real &a_betaZeta2, const Real &a_r1, const Real &a_r2, Real &a_pB1, Real &a_pB2)
Definition: DataIndex.H:114
void ATimesQ2D(RealVect &a_answer, const RealVect &a_q, const RealVect &a_normal, const RealVect &a_t1, const Real a_nu)
Real m_dxScale
Definition: InterfaceJump.H:92
LayoutData< BaseIVFAB< Vector< RealVect > > > m_vectorGN
Definition: InterfaceJump.H:99
LayoutData< BaseIVFAB< Vector< int > > > m_0boundaryFaceIndices
Definition: InterfaceJump.H:108
LayoutData< BaseIVFAB< Vector< VoFStencil > > > m_1stencils
Definition: InterfaceJump.H:111
Volume of Fluid Index.
Definition: VolIndex.H:31
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)
RealVect m_origin
Definition: InterfaceJump.H:93
bool m_isVectorJump
Definition: InterfaceJump.H:88
Definition: EBISLayout.H:39
void defineScalarJumpLayoutData(EBISLayout &a_ebisl, LayoutData< BaseIVFAB< Vector< Real > > > &a_scalarGD, LayoutData< BaseIVFAB< Vector< Real > > > &a_scalarGN)
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)
RealVect m_vectDx
Definition: InterfaceJump.H:90
void crossProduct(Real a_cp[3], const Real a_c1[3], const Real a_c2[3])
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 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)