chombo-discharge
Loading...
Searching...
No Matches
CD_MFHelmholtzEBBC.H
Go to the documentation of this file.
1/* chombo-discharge
2 * Copyright © 2021 SINTEF Energy Research.
3 * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4 */
5
12#ifndef CD_MFHelmholtzEBBC_H
13#define CD_MFHelmholtzEBBC_H
14
15// Our includes
16#include <CD_EBHelmholtzEBBC.H>
18#include <CD_VofUtils.H>
19#include <CD_NamespaceHeader.H>
20
27{
28public:
32 MFHelmholtzEBBC() = delete;
33
38
43
47 virtual ~MFHelmholtzEBBC();
48
60 virtual void
63 const EBCellFAB& a_phi,
65 const DataIndex& a_dit,
66 const Real& a_beta,
67 const bool& a_homogeneousPhysBC) const override;
68
69protected:
74
79
84
88 void
90
94 void
96
100 virtual void
102
113 virtual void
121
132 void
140
152 virtual bool
155 const VofUtils::Neighborhood a_neighborhood,
157 const int a_order,
158 const int a_weight) const;
159};
160
161#include <CD_NamespaceFooter.H>
162
163#endif
Declaration of class for computing "jump interface" boundary conditions for multifluid Helmholtz code...
Various functions for getting Vofs near cut-cells.
Base class for passing EB boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzEBBC.H:29
Class for making boundary conditions on the EB in a multifluid context.
Definition CD_MFHelmholtzEBBC.H:27
int m_phase
Phase.
Definition CD_MFHelmholtzEBBC.H:78
void defineMultiPhase()
Define stuff for multi-phase.
Definition CD_MFHelmholtzEBBC.cpp:46
RefCountedPtr< MFHelmholtzJumpBC > m_jumpBC
Jump bc object.
Definition CD_MFHelmholtzEBBC.H:73
virtual ~MFHelmholtzEBBC()
Default constructor.
Definition CD_MFHelmholtzEBBC.cpp:31
MFHelmholtzEBBC(const MFHelmholtzEBBC &a_other)=delete
Disallowed copy constructor. Factory must call the other version.
virtual bool getLeastSquaresBoundaryGradStencil(std::pair< Real, VoFStencil > &a_stencil, const VolIndex &a_vof, const VofUtils::Neighborhood a_neighborhood, const DataIndex &a_dit, const int a_order, const int a_weight) const
Get stencil with specified order.
Definition CD_MFHelmholtzEBBC.cpp:155
virtual void defineSinglePhase()=0
Define stuff for multi-phase.
virtual void applyEBFluxSinglePhase(VoFIterator &a_singlePhaseVofs, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const =0
Apply flux single phase.
void define() override final
User define function.
Definition CD_MFHelmholtzEBBC.cpp:37
virtual void applyEBFlux(VoFIterator &a_vofit, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const override
Apply the EB flux. This is the version that is called by EBHelmholtzOp.
Definition CD_MFHelmholtzEBBC.cpp:109
MFHelmholtzEBBC()=delete
Disallowed weak constructor. Factory must call the other version.
LayoutData< BaseIVFAB< Real > > m_boundaryWeights
Weights for matching cells.
Definition CD_MFHelmholtzEBBC.H:83
void applyEBFluxMultiPhase(VoFIterator &a_multiPhaseVofs, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const
Apply flux in multiphase cells.
Definition CD_MFHelmholtzEBBC.cpp:129
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
Static class which contains some routines for fetching VoFs using various algorithms....
Definition CD_VofUtils.H:33