13#ifndef CD_CDRDOMAINBCIMPLEM_H
14#define CD_CDRDOMAINBCIMPLEM_H
18#include <CD_NamespaceHeader.H>
26 auto wallBc = [](
const RealVect& a_position,
const Real a_time) -> Real {
30 for (
int dir = 0; dir < SpaceDim; dir++) {
31 for (SideIterator sit; sit.ok(); ++sit) {
46 return std::make_pair(a_dir, a_side);
73#include <CD_NamespaceFooter.H>
Declaration of domain boundary condition types for CdrSolver.
~CdrDomainBC()
Destructor. Does nothing.
Definition CD_CdrDomainBCImplem.H:40
const FluxFunction & getBcFunction(const DomainSide &a_domainSide) const
Get the BC type on a particular domain side.
Definition CD_CdrDomainBCImplem.H:56
void setBcFunction(const DomainSide &a_domainSide, const FluxFunction &a_function)
Set the BC type on a domain side.
Definition CD_CdrDomainBCImplem.H:68
CdrDomainBC()
Initializing constructor.
Definition CD_CdrDomainBCImplem.H:20
std::function< Real(const RealVect a_position, const Real a_time)> FluxFunction
Function which maps f(R^3,t) : R. Used for setting the associated value and boundary condition type.
Definition CD_CdrDomainBC.H:52
const BcType & getBcType(const DomainSide &a_domainSide) const
Get the BC type on a particular domain side.
Definition CD_CdrDomainBCImplem.H:50
std::map< DomainSide, FluxFunction > m_bcFunctions
BC functions on various domain edges.
Definition CD_CdrDomainBC.H:149
std::map< DomainSide, BcType > m_bcTypes
BC types on various domain edges.
Definition CD_CdrDomainBC.H:144
std::pair< int, Side::LoHiSide > DomainSide
Alias for mapping a direction and side. The first element in pair is the coordinate direction and the...
Definition CD_CdrDomainBC.H:58
void setBcType(const DomainSide &a_domainSide, const BcType &a_bcType)
Set the BC type on a domain side.
Definition CD_CdrDomainBCImplem.H:62
BcType
Boundary condition types for the CDR solvers.
Definition CD_CdrDomainBC.H:38
DomainSide domainSide(const int a_dir, const Side::LoHiSide a_side) const
Create a domain side from dir/side.
Definition CD_CdrDomainBCImplem.H:44