chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzEddingtonSP1DomainBC.H
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
7/*
8 @file CD_EBHelmholtzEddingtonSP1DomainBC.H
9 @brief Declaration of a domain boundary condition class for EBHelmholtzOp.
10 @author Robert Marskar
11*/
12
13#ifndef CD_EBHELMHOLTZEDDINGTONDOMAINBC_H
14#define CD_EBHELMHOLTZEDDINGTONDOMAINBC_H
15
16// Our includes
17#include <CD_RtSpecies.H>
19#include <CD_EBHelmholtzDomainBC.H>
20#include <CD_NamespaceHeader.H>
21
31{
32public:
37
46 const RefCountedPtr<RtSpecies>& a_species,
47 const Real a_r1,
48 const Real a_r2);
49
55
61
66
73
79 operator=(const EBHelmholtzEddingtonSP1DomainBC&& a_other) = delete;
80
89 void
90 define(const Location::Cell a_dataLocation,
91 const EBLevelGrid& a_eblg,
92 const RealVect& a_probLo,
93 const Real a_dx) override final;
94
106 void
107 getFaceFlux(BaseFab<Real>& a_faceFlux,
108 const BaseFab<Real>& a_phi,
109 const BaseFab<Real>& a_Bcoef,
110 const int& a_dir,
111 const Side::LoHiSide& a_side,
112 const DataIndex& a_dit,
113 const bool a_useHomogeneous) const override final;
114
126 Real
127 getFaceFlux(const VolIndex& a_vof,
128 const EBCellFAB& a_phi,
129 const EBFaceFAB& a_Bcoef,
130 const int& a_dir,
131 const Side::LoHiSide& a_side,
132 const DataIndex& a_dit,
133 const bool a_useHomogeneous) const override final;
134
144 Real
145 getDiagWeight(const int a_dir, const Side::LoHiSide a_side) const override final;
146
147protected:
152
156 RefCountedPtr<RtSpecies> m_species;
157
161 Real m_r1;
162
166 Real m_r2;
167
172 std::map<EddingtonSP1DomainBc::DomainSide, std::shared_ptr<EBHelmholtzDomainBC>> m_bcObjects;
173};
174
175#include <CD_NamespaceFooter.H>
176
177#endif
Simple data holder for holding domain boundary condition types for EddingtonSP1.
Declaration of a class which supplies a user interface to radiative transfer code.
Base class for passing domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzDomainBC.H:30
Class for passing EddingtonSP1 domain boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:31
virtual ~EBHelmholtzEddingtonSP1DomainBC()
Destructor.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.cpp:83
RefCountedPtr< RtSpecies > m_species
Radiative transfer species.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:156
std::map< EddingtonSP1DomainBc::DomainSide, std::shared_ptr< EBHelmholtzDomainBC > > m_bcObjects
BC objects on each domain side.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:172
Real m_r1
"First reflection coefficient"
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:161
EBHelmholtzEddingtonSP1DomainBC()=delete
Not allowed, use the full constructor.
EBHelmholtzEddingtonSP1DomainBC & operator=(const EBHelmholtzEddingtonSP1DomainBC &&a_other)=delete
Disallowed - don't see why you would need it.
EBHelmholtzEddingtonSP1DomainBC & operator=(const EBHelmholtzEddingtonSP1DomainBC &a_other)=delete
Disallowed - don't see why you would need it.
EBHelmholtzEddingtonSP1DomainBC(const EBHelmholtzEddingtonSP1DomainBC &a_other)=delete
Disallowed – don't see why you would need it.
void getFaceFlux(BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const BaseFab< Real > &a_Bcoef, const int &a_dir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const bool a_useHomogeneous) const override final
Get face flux. This is for regular cells.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.cpp:106
EddingtonSP1DomainBc m_eddingtonBCs
Eddington domain boundary conditions.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:151
Real getDiagWeight(const int a_dir, const Side::LoHiSide a_side) const override final
Diagonal-weight multiplier for the domain-face contribution to the relaxation diagonal.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.cpp:138
EBHelmholtzEddingtonSP1DomainBC(const EBHelmholtzEddingtonSP1DomainBC &&a_other)=delete
Disallowed – don't see why you would need it.
Real m_r2
"Second reflection coefficient"
Definition CD_EBHelmholtzEddingtonSP1DomainBC.H:166
void define(const Location::Cell a_dataLocation, const EBLevelGrid &a_eblg, const RealVect &a_probLo, const Real a_dx) override final
Define function.
Definition CD_EBHelmholtzEddingtonSP1DomainBC.cpp:89
Class which maps boundary condition types to a side and direction.
Definition CD_EddingtonSP1DomainBc.H:33
Cell
Enum for distinguishing between cell locations.
Definition CD_Location.H:31