| 
    Chombo + EB
    3.2
    
   | 
 
#include <DirichletPoissonDomainBC.H>

Public Member Functions | |
| DirichletPoissonDomainBC () | |
| virtual | ~DirichletPoissonDomainBC () | 
| virtual void | setValue (Real a_value) | 
| virtual void | setFunction (RefCountedPtr< BaseBCValue > a_func) | 
| virtual void | setData (LevelData< EBCellFAB > *a_data) | 
| virtual void | setEBOrder (int a_ebOrder) | 
| virtual void | getFaceVel (Real &a_faceFlux, const FaceIndex &a_face, const EBFluxFAB &a_vel, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const int &a_icomp, const Real &a_time, const Side::LoHiSide &a_side) | 
| virtual void | getFaceFlux (BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) | 
| void | getHigherOrderFaceFlux (BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) | 
| virtual void | getFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) | 
| void | getInhomFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time) | 
| bool | isDirichletDom (const VolIndex &a_ivof, const VolIndex &a_jvof, const EBCellFAB &a_phi) const | 
| void | getHigherOrderFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useHomogeneous) | 
| void | getHigherOrderFaceFlux (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid, const bool &a_useHomogeneous) | 
| void | getHigherOrderInhomFaceFlux (Real &a_faceFlux, const VolIndex &a_vof, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time) | 
| void | getHigherOrderInhomFaceFlux (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid) | 
| virtual void | getFaceGradPhi (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid, const bool &a_useHomogeneous) | 
| void | getInhomFaceGradPhi (Real &a_faceFlux, const FaceIndex &a_face, const int &a_comp, const EBCellFAB &a_phi, const RealVect &a_probLo, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const Real &a_time, const bool &a_useAreaFrac, const RealVect &a_centroid) | 
| virtual void | getFluxStencil (VoFStencil &a_stencil, const VolIndex &a_vof, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox) | 
| virtual void | getFluxStencil (VoFStencil &a_stencil, const FaceIndex &a_face, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox) | 
| void | getFirstOrderFluxStencil (VoFStencil &a_stencil, const FaceIndex &a_face, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox) | 
| void | getSecondOrderFluxStencil (VoFStencil &a_stencil, const FaceIndex &a_face, const int &a_comp, const RealVect &a_dx, const int &a_idir, const Side::LoHiSide &a_side, const EBISBox &a_ebisBox) | 
  Public Member Functions inherited from BaseDomainBC | |
| BaseDomainBC () | |
| virtual | ~BaseDomainBC () | 
| virtual void | enforceFaceVel (LevelData< EBFluxFAB > &a_velocity, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const RealVect &a_dx, const Real &a_time, const RealVect &a_origin) | 
| virtual void | enforceFaceVel (LevelData< EBFluxFAB > &a_velocity, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const RealVect &a_dx, const Real &a_time, const RealVect &a_origin, const int &a_comp) | 
| bool | dataBased () const | 
Public Attributes | |
| bool | m_isDefined | 
Private Attributes | |
| bool | m_onlyHomogeneous | 
| bool | m_isFunctional | 
| Real | m_value | 
| RefCountedPtr< BaseBCValue > | m_func | 
| LevelData< EBCellFAB > * | m_data | 
| bool | m_dataBased | 
| int | m_ebOrder | 
Additional Inherited Members | |
  Protected Attributes inherited from BaseDomainBC | |
| LevelData< EBCellFAB > * | m_data | 
| bool | m_dataBased | 
| DirichletPoissonDomainBC::DirichletPoissonDomainBC | ( | ) | 
      
  | 
  virtual | 
      
  | 
  virtual | 
      
  | 
  virtual | 
Reimplemented from BaseDomainBC.
References getFaceFlux(), getFaceVel(), getHigherOrderFaceFlux(), getInhomFaceFlux(), m_data, m_dataBased, m_onlyHomogeneous, and setEBOrder().
      
  | 
  virtual | 
use this for order of domain boundary
Referenced by setData(), and DirichletPoissonDomainBCFactory::setData().
      
  | 
  virtual | 
This is used by the projections to get velocity at domain faces where eb intersects. Sets velocity to a dirichlet value.
Reimplemented from BaseDomainBC.
Referenced by setData().
      
  | 
  virtual | 
Implements BaseDomainBC.
Referenced by setData().
| void DirichletPoissonDomainBC::getHigherOrderFaceFlux | ( | BaseFab< Real > & | a_faceFlux, | 
| const BaseFab< Real > & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time, | ||
| const bool & | a_useHomogeneous | ||
| ) | 
Referenced by isDirichletDom(), and setData().
      
  | 
  virtual | 
Elliptic solver flux.
Implements BaseDomainBC.
      
  | 
  inlinevirtual | 
A query of whether a_jvof is Dirichlet Domain boundary to a_ivof. a_jvof is the ghost vof; a_ivof is the valid computational vof. If the code runs into here it's got to be Dirichlet BC
Reimplemented from BaseDomainBC.
References getFaceGradPhi(), getFirstOrderFluxStencil(), getFluxStencil(), getHigherOrderFaceFlux(), getHigherOrderInhomFaceFlux(), getInhomFaceGradPhi(), and getSecondOrderFluxStencil().
| void DirichletPoissonDomainBC::getHigherOrderFaceFlux | ( | Real & | a_faceFlux, | 
| const VolIndex & | a_vof, | ||
| const int & | a_comp, | ||
| const EBCellFAB & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time, | ||
| const bool & | a_useHomogeneous | ||
| ) | 
This is called by InflowOutflowHelmholtzDomainBC::getFaceFlux, which is called by EBAMRPoissonOp::applyOp when EB x domain. Used for higher-order velocity boundary conditions. This routine iterates over the possible multiple faces at a domain face and calls getHigherOrderFaceFlux(...) below for the individual face extrapolation
| void DirichletPoissonDomainBC::getHigherOrderFaceFlux | ( | Real & | a_faceFlux, | 
| const FaceIndex & | a_face, | ||
| const int & | a_comp, | ||
| const EBCellFAB & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time, | ||
| const bool & | a_useAreaFrac, | ||
| const RealVect & | a_centroid, | ||
| const bool & | a_useHomogeneous | ||
| ) | 
This is called by DirichletPoissonDomain::getHigherOrderFaceflux which is called by InflowOutflowHelmholtzDomainBC::getFaceFlux. This is used by the projections to get extrapolated grad(phi) at domain faces for cell-centered gradient. Called by getFaceFlux.
| void DirichletPoissonDomainBC::getHigherOrderInhomFaceFlux | ( | Real & | a_faceFlux, | 
| const VolIndex & | a_vof, | ||
| const int & | a_comp, | ||
| const EBCellFAB & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time | ||
| ) | 
This is called by InflowOutflowHelmholtzDomainBC::getFaceFlux, which is called by EBAMRPoissonOp::applyOp when EB x domain. Used for higher-order velocity boundary conditions. This routine iterates over the possible multiple faces at a domain face and calls getHigherOrderFaceFlux(...) below for the individual face extrapolation
Referenced by isDirichletDom().
| void DirichletPoissonDomainBC::getHigherOrderInhomFaceFlux | ( | Real & | a_faceFlux, | 
| const FaceIndex & | a_face, | ||
| const int & | a_comp, | ||
| const EBCellFAB & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time, | ||
| const bool & | a_useAreaFrac, | ||
| const RealVect & | a_centroid | ||
| ) | 
This is called by DirichletPoissonDomain::getHigherOrderFaceflux which is called by InflowOutflowHelmholtzDomainBC::getFaceFlux. This is used by the projections to get extrapolated grad(phi) at domain faces for cell-centered gradient. Called by getFaceFlux.
      
  | 
  virtual | 
This is used by the projections to get grad(phi) at domain faces (usually outflow). Called by InflowOutflowPoissonDomainBC::getFaceFlux.
Implements BaseDomainBC.
Referenced by isDirichletDom().
| void DirichletPoissonDomainBC::getInhomFaceGradPhi | ( | Real & | a_faceFlux, | 
| const FaceIndex & | a_face, | ||
| const int & | a_comp, | ||
| const EBCellFAB & | a_phi, | ||
| const RealVect & | a_probLo, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const DataIndex & | a_dit, | ||
| const Real & | a_time, | ||
| const bool & | a_useAreaFrac, | ||
| const RealVect & | a_centroid | ||
| ) | 
This is used by the projections to get grad(phi) at domain faces (usually outflow). Called by InflowOutflowPoissonDomainBC::getFaceFlux.
Referenced by isDirichletDom().
      
  | 
  virtual | 
Reimplemented from BaseDomainBC.
Referenced by isDirichletDom().
      
  | 
  virtual | 
Reimplemented from BaseDomainBC.
| void DirichletPoissonDomainBC::getFirstOrderFluxStencil | ( | VoFStencil & | a_stencil, | 
| const FaceIndex & | a_face, | ||
| const int & | a_comp, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const EBISBox & | a_ebisBox | ||
| ) | 
Referenced by isDirichletDom().
| void DirichletPoissonDomainBC::getSecondOrderFluxStencil | ( | VoFStencil & | a_stencil, | 
| const FaceIndex & | a_face, | ||
| const int & | a_comp, | ||
| const RealVect & | a_dx, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_side, | ||
| const EBISBox & | a_ebisBox | ||
| ) | 
Referenced by isDirichletDom().
| bool DirichletPoissonDomainBC::m_isDefined | 
      
  | 
  private | 
Referenced by setData(), and DirichletPoissonDomainBCFactory::setData().
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
Referenced by setData(), and DirichletPoissonDomainBCFactory::setData().
      
  | 
  private | 
Referenced by setData(), and DirichletPoissonDomainBCFactory::setData().
      
  | 
  private | 
 1.8.13