chombo-discharge
Loading...
Searching...
No Matches
CD_MFHelmholtzEBBC.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_MFHELMHOLTZEBBC_H
14#define CD_MFHELMHOLTZEBBC_H
15
16// Our includes
17#include <CD_EBHelmholtzEBBC.H>
19#include <CD_VofUtils.H>
20#include <CD_NamespaceHeader.H>
21
28{
29public:
33 MFHelmholtzEBBC() = delete;
34
39
46
50 virtual ~MFHelmholtzEBBC();
51
63 virtual void
66 const EBCellFAB& a_phi,
68 const DataIndex& a_dit,
69 const Real& a_beta,
70 const bool& a_homogeneousPhysBC) const override;
71
72protected:
77
82
87
91 void
93
97 void
99
103 virtual void
105
116 virtual void
124
135 void
143
155 virtual bool
158 const VofUtils::Neighborhood a_neighborhood,
160 const int a_order,
161 const int a_weight) const;
162};
163
164#include <CD_NamespaceFooter.H>
165
166#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:30
Class for making boundary conditions on the EB in a multifluid context.
Definition CD_MFHelmholtzEBBC.H:28
int m_phase
Phase.
Definition CD_MFHelmholtzEBBC.H:81
void defineMultiPhase()
Define stuff for multi-phase.
Definition CD_MFHelmholtzEBBC.cpp:47
RefCountedPtr< MFHelmholtzJumpBC > m_jumpBC
Jump bc object.
Definition CD_MFHelmholtzEBBC.H:76
virtual ~MFHelmholtzEBBC()
Default constructor.
Definition CD_MFHelmholtzEBBC.cpp:32
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:167
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:38
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:111
MFHelmholtzEBBC()=delete
Disallowed weak constructor. Factory must call the other version.
LayoutData< BaseIVFAB< Real > > m_boundaryWeights
Weights for matching cells.
Definition CD_MFHelmholtzEBBC.H:86
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:131
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
Static class which contains some routines for fetching VoFs using various algorithms....
Definition CD_VofUtils.H:34