chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzDirichletEBBC.H
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
6/*
7 @file CD_EBHelmholtzDirichletEBBC.H
8 @brief Declaration of a boundary condition class for EBHelmholtzOp
9 @author Robert Marskar
10*/
11
12#ifndef CD_EBHelmholtzDirichletEBBC_H
13#define CD_EBHelmholtzDirichletEBBC_H
14
15// Std includes
16#include <functional>
17
18// Our includes
19#include <CD_VofUtils.H>
20#include <CD_EBHelmholtzEBBC.H>
21#include <CD_NamespaceHeader.H>
22
27{
28public:
33
38
44 virtual void
45 setOrder(const int a_order);
46
52 virtual void
53 setWeight(const int a_weight);
54
59 virtual void
60 setValue(const int a_value);
61
66 virtual void
68
72 virtual void
74
79 virtual void
81
92 virtual void
95 const EBCellFAB& a_phi,
97 const DataIndex& a_dit,
98 const Real& a_beta,
99 const bool& a_homogeneousPhysBC) const override;
100
101protected:
106
111
116
121
126
131
136
141
146
150 virtual void
151 define() override;
152
163 virtual bool
165 const VolIndex& a_vof,
167 const DataIndex& a_dit,
168 const int a_order) const;
169
178 virtual bool
180 const VolIndex& a_vof,
181 const DataIndex& a_dit,
182 const int a_order) const;
183
192 virtual bool
194};
195
196#include <CD_NamespaceFooter.H>
197
198#endif
Various functions for getting Vofs near cut-cells.
Base class for passing Dirichlet EB boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzDirichletEBBC.H:27
virtual bool getJohansenStencil(std::pair< Real, VoFStencil > &a_stencil, const VolIndex &a_vof, const DataIndex &a_dit, const int a_order) const
Get johansen stencil with specified order. Not used but exists for backward compatibility testing and...
Definition CD_EBHelmholtzDirichletEBBC.cpp:316
EBHelmholtzDirichletEBBC()
Default constructor.
Definition CD_EBHelmholtzDirichletEBBC.cpp:23
std::function< Real(const RealVect &a_pos)> m_functionValue
Value on the EB.
Definition CD_EBHelmholtzDirichletEBBC.H:140
int m_order
Stencil approximation order,.
Definition CD_EBHelmholtzDirichletEBBC.H:115
LayoutData< BaseIVFAB< Real > > m_boundaryWeights
Boundary weights.
Definition CD_EBHelmholtzDirichletEBBC.H:145
virtual void setValue(const int a_value)
Set the value on the EB.
Definition CD_EBHelmholtzDirichletEBBC.cpp:61
virtual bool getChomboLsqStencil(std::pair< Real, VoFStencil > &a_stencil, const VolIndex &a_vof, const DataIndex &a_dit) const
Get Chombo's least squares gradient stencil. Not used but kept for backward compatibility testing and...
Definition CD_EBHelmholtzDirichletEBBC.cpp:387
virtual void setDomainDropOrder(const int a_domainSize)
Drop BC order if domain size is equal or below this.
Definition CD_EBHelmholtzDirichletEBBC.cpp:83
bool m_dropOrder
Special flag for dropping stencil order if the cell is a coarsened cell.
Definition CD_EBHelmholtzDirichletEBBC.H:130
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_EBHelmholtzDirichletEBBC.cpp:231
virtual void setOrder(const int a_order)
Set BC order.
Definition CD_EBHelmholtzDirichletEBBC.cpp:42
int m_weight
Distance weighting factor for stencils.
Definition CD_EBHelmholtzDirichletEBBC.H:120
bool m_useFunction
Use function for BC value.
Definition CD_EBHelmholtzDirichletEBBC.H:110
virtual void define() override
User define function.
Definition CD_EBHelmholtzDirichletEBBC.cpp:97
virtual bool getLeastSquaresStencil(std::pair< Real, VoFStencil > &a_stencil, const VolIndex &a_vof, const VofUtils::Neighborhood a_neighborhood, const DataIndex &a_dit, const int a_order) const
Get stencil with specified order.
Definition CD_EBHelmholtzDirichletEBBC.cpp:273
int m_domainDropOrder
Special flag for dropping stencil order when domains become coarser than this.
Definition CD_EBHelmholtzDirichletEBBC.H:125
bool m_useConstant
Use constant for BC.
Definition CD_EBHelmholtzDirichletEBBC.H:105
virtual void setWeight(const int a_weight)
Set stencil weights.
Definition CD_EBHelmholtzDirichletEBBC.cpp:51
virtual void setCoarseGridDropOrder(const bool a_dropOrder)
Signal that we should drop the stencil order if the cell is a coarsened cell.
Definition CD_EBHelmholtzDirichletEBBC.cpp:91
Real m_constantValue
Value on EB.
Definition CD_EBHelmholtzDirichletEBBC.H:135
virtual ~EBHelmholtzDirichletEBBC()
Destructor.
Definition CD_EBHelmholtzDirichletEBBC.cpp:36
Base class for passing EB boundary conditions into EBHelmholtzOp.
Definition CD_EBHelmholtzEBBC.H:29
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25
Neighborhood
Neighborhood type.
Definition CD_VofUtils.H:55