chombo-discharge
|
Class which maps boundary condition types to a side and direction. More...
#include <CD_EddingtonSP1DomainBc.H>
Public Types | |
enum class | BcType { Dirichlet , Neumann , Larsen } |
Boundary condition type. | |
using | BcFunction = std::function< Real(const RealVect a_position, const Real a_time)> |
Function which maps f(R^3,t) : R. Used for setting the associated value and boundary condition type. | |
using | DomainSide = std::pair< int, Side::LoHiSide > |
Alias for mapping a direction and side. | |
using | Bc = std::pair< BcType, BcFunction > |
Alias for mapping a bctype and function. | |
Public Member Functions | |
EddingtonSP1DomainBc () | |
Initializing constructor. This populates the bc. | |
EddingtonSP1DomainBc (const EddingtonSP1DomainBc &a_domainBc)=default | |
Copy constructor. More... | |
EddingtonSP1DomainBc (const EddingtonSP1DomainBc &&a_domainBc)=delete | |
Disallowedd move constructor. More... | |
EddingtonSP1DomainBc & | operator= (const EddingtonSP1DomainBc &a_domainBc)=default |
Copy assignment. More... | |
EddingtonSP1DomainBc & | operator= (const EddingtonSP1DomainBc &&a_domainBc)=delete |
Disallowed move assignment. More... | |
virtual | ~EddingtonSP1DomainBc () |
Destructor. This. | |
void | setBc (const DomainSide a_domainSide, const Bc a_bc) |
Set the boundary condition on a domain side. You must set both the type, and the associated function. More... | |
Bc & | getBc (const DomainSide a_domainSide) |
Returns the boundary condition for a side and direction. More... | |
const Bc & | getBc (const DomainSide a_domainSide) const |
Returns the boundary condition for a side and direction. More... | |
Protected Attributes | |
std::map< DomainSide, Bc > | m_bcFunctions |
This holds the map to the boundary condition type and side. The first entry in the map is the direction and side of the boundary condition. The other entry in the map is the BC type, and the associated function which returns the value in space and time of the BC. | |
Class which maps boundary condition types to a side and direction.
This class is simply meant to hold boundary conditions for use in EddingtonSP1. It provides no functionality otherwise,
|
default |
Copy constructor.
[in] | a_domainBc | Other |
|
delete |
Disallowedd move constructor.
[in] | a_domainBc | Other |
EddingtonSP1DomainBc::Bc & EddingtonSP1DomainBc::getBc | ( | const DomainSide | a_domainSide | ) |
Returns the boundary condition for a side and direction.
[in] | a_domainSide | Coordinate direction and siden |
const EddingtonSP1DomainBc::Bc & EddingtonSP1DomainBc::getBc | ( | const DomainSide | a_domainSide | ) | const |
Returns the boundary condition for a side and direction.
[in] | a_domainSide | Coordinate direction and siden |
|
delete |
Disallowed move assignment.
[in] | a_domainBc | Other |
|
default |
Copy assignment.
[in] | a_domainBc | Other |
void EddingtonSP1DomainBc::setBc | ( | const DomainSide | a_domainSide, |
const Bc | a_bc | ||
) |
Set the boundary condition on a domain side. You must set both the type, and the associated function.
[in] | a_domainSide | Coordinate direction and side |
[in] | a_bc | BC type and function |