chombo-discharge
Loading...
Searching...
No Matches
CD_EBHelmholtzDirichletEBBCFactory.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_EBHelmholtzDirichletEBBCFactory.H
9 @brief Declaration of a factory class for making Dirichlet boundary conditions on EBs for EBHelmholtzOp
10 @author Robert Marskar
11*/
12
13#ifndef CD_EBHELMHOLTZDIRICHLETEBBCFACTORY_H
14#define CD_EBHELMHOLTZDIRICHLETEBBCFACTORY_H
15
16// Our includes
17#include <CD_EBHelmholtzEBBCFactory.H>
18#include <CD_NamespaceHeader.H>
19
24{
25public:
30
38 EBHelmholtzDirichletEBBCFactory(const int a_order, const int a_weight, const Real a_value);
39
47 const int a_weight,
48 const std::function<Real(const RealVect& a_pos)>& a_value);
49
54
60 virtual void
61 setOrder(const int a_order);
62
68 virtual void
69 setWeight(const int a_weight);
70
75 virtual void
76 setValue(const Real a_value);
77
82 virtual void
84
89 virtual void
91
96 virtual void
98
104 create() override;
105
106protected:
111
116
121
126
131
136
141
146};
147
148#include <CD_NamespaceFooter.H>
149
150#endif
Factory class for making Dirichlet BCs on EBs in EBHelmholtzOp.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:24
bool m_dropOrder
Special flag for dropping stencil order if the cell is a coarsened cell.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:135
int m_weight
Stencil weighting.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:125
bool m_useFunction
Use function for BC value.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:115
virtual ~EBHelmholtzDirichletEBBCFactory()
Destructor.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:56
EBHelmholtzDirichletEBBCFactory()
Constructor.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:21
bool m_useConstant
Use constant for BC.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:110
Real m_constantValue
Value on EB.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:140
virtual void setValue(const Real a_value)
Set the value on the EB.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:82
int m_domainDropOrder
Special flag for dropping stencil order when domains become coarser than this.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:130
virtual void setOrder(const int a_order)
Set BC order.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:62
int m_order
Stencil approximation order,.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:120
virtual RefCountedPtr< EBHelmholtzEBBC > create() override
Factory method.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:118
std::function< Real(const RealVect &a_pos)> m_functionValue
Value on the EB.
Definition CD_EBHelmholtzDirichletEBBCFactory.H:145
virtual void setCoarseGridDropOrder(const bool a_dropOrder)
Signal that it should drop the stencil order if the cell is a coarsened cell.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:112
virtual void setDomainDropOrder(const int a_domainSize)
Drop BC order if domain size is equal or below this.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:104
virtual void setWeight(const int a_weight)
Set BC order.
Definition CD_EBHelmholtzDirichletEBBCFactory.cpp:72
Factory class for making EBHelmholtzEBBCs.
Definition CD_EBHelmholtzEBBCFactory.H:27
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26