MAIA bb96820c
Multiphysics at AIA
|
Boundary condition which imposes initial condition ("exact" boundary conditions) at the domain boundaries. More...
#include <dgcartesianbcexact.h>
Public Types | |
using | Base = DgBoundaryCondition< nDim, SysEqn > |
Public Types inherited from DgBoundaryCondition< nDim, SysEqn > | |
using | SysEqn = SysEqn |
using | SolverType = DgCartesianSolver< nDim, SysEqn > |
using | ElementCollector = maia::dg::collector::ElementCollector< nDim, SysEqn > |
using | HElementCollector = maia::dg::collector::HElementCollector< nDim, SysEqn > |
using | SurfaceCollector = maia::dg::collector::SurfaceCollector< nDim, SysEqn > |
Public Member Functions | |
DgBcExact (SolverType &solver_, MInt bcId) | |
MString | name () const override |
Returns name of boundary condition. More... | |
void | apply (const MFloat time) override |
Apply method to apply boundary condition. More... | |
void | applyAtSurface (const MInt surfaceId, const MFloat NotUsed(time)) |
Public Member Functions inherited from DgBoundaryCondition< nDim, SysEqn > | |
virtual | ~DgBoundaryCondition () |
Destructor must be virtual. More... | |
void | init (const MInt begin_, const MInt end_) |
Init method to initialize boundary condition for range of surfaces. More... | |
virtual void | apply (const MFloat time)=0 |
Apply method to apply boundary condition. More... | |
virtual MString | name () const=0 |
Returns name of boundary condition. More... | |
DgBoundaryCondition (SolverType &solver_, MInt bcId) | |
Constructor saves arguments to member variables. More... | |
MInt | id () const |
Return boundary condition if of this boundary condition. More... | |
MInt | begin () const |
Return index of first surface. More... | |
MInt | end () const |
Return index of one-past-last surface. More... | |
MInt | count () const |
Return number of boundary surfaces. More... | |
virtual MInt | noRestartVars () const |
virtual MInt | getLocalNoNodes () const |
Return local number of nodes. More... | |
virtual MString | restartVarName (const MInt NotUsed(id)) const |
Return name of restart variable. More... | |
virtual void | setRestartVariable (const MInt NotUsed(id), const MFloat *const NotUsed(data)) |
Copy restart variable data from pointer to boundary condition class. More... | |
virtual void | getRestartVariable (const MInt NotUsed(id), MFloat *const NotUsed(data)) const |
Copy restart variable data from boundary condition class to pointer. More... | |
virtual MInt | noBcElements () const |
virtual MBool | hasBcElement (const MInt NotUsed(elementId)) const |
virtual MInt | noCellDataDlb () const |
virtual MInt | cellDataTypeDlb (const MInt NotUsed(dataId)) const |
virtual MInt | cellDataSizeDlb (const MInt NotUsed(dataId), const MInt NotUsed(cellId)) const |
virtual void | getCellDataDlb (const MInt NotUsed(dataId), MFloat *const NotUsed(data)) const |
virtual void | getCellDataDlb (const MInt NotUsed(dataId), MInt *const NotUsed(data)) const |
virtual void | setCellDataDlb (const MInt NotUsed(dataId), const MFloat *const NotUsed(data)) |
virtual void | setCellDataDlb (const MInt NotUsed(dataId), const MInt *const NotUsed(data)) |
Additional Inherited Members | |
Protected Member Functions inherited from DgBoundaryCondition< nDim, SysEqn > | |
SolverType & | solver () |
Return reference to solver. More... | |
SysEqn & | sysEqn () |
Return reference to SysEqn object. More... | |
MFloat * | flux (const MInt i) |
Return pointer to surface flux. More... | |
ElementCollector & | elements () |
Return reference to elements. More... | |
MInt | getElementByCellId (const MInt cellId) const |
Return element id corresponding to given cell id. More... | |
HElementCollector & | helements () |
Return reference to h-elements. More... | |
SurfaceCollector & | surfaces () |
Return reference to surfaces. More... | |
MBool | isMpiSurface (const MInt id_) const |
Return true if surface is a MPI surface. More... | |
MBool | needHElementForCell (const MInt cellId) |
Return if h-element is needed for given cell. More... | |
MInt | getHElementId (const MInt elementId) |
Return h-element id for an element. More... | |
const DgInterpolation & | interpolation (const MInt polyDeg, const MInt noNodes1D) const |
Return interpolation. More... | |
MInt | integrationMethod () const |
Return integration method. More... | |
MInt | timeIntegrationScheme () const |
Return time integration scheme. More... | |
MInt | maxPolyDeg () const |
Return maximum polynomial degree. More... | |
MInt | maxNoNodes1D () const |
Return maximum number of nodes. More... | |
MFloat | dt () const |
Return current time step size. More... | |
MBool | isRestart () const |
Return if a restart is performed. More... | |
void | subTimeStepRk (const MFloat dt_, const MInt stage, const MInt totalSize, const MFloat *const rhs, MFloat *const variables, MFloat *const timeIntStorage) |
Access to time integration method. More... | |
void | calcVolumeIntegral (const MInt noElements, ElementCollector &elem, F &fluxFct) |
void | resetBuffer (const MInt totalSize, MFloat *const buffer) |
void | applyJacobian (const MInt noElements, ElementCollector &elem) |
void | calcSourceTerms (const MFloat t, const MInt noElements, ElementCollector &elem, F &sourceFct) |
void | calcSurfaceIntegral (const MInt begin_, const MInt end_, ElementCollector &elem, SurfaceCollector &surf, HElementCollector &helem, const MInt noHElements) |
void | calcRegularSurfaceFlux (const MInt begin_, const MInt end_, SurfaceCollector &surf, F &riemannFct) |
Note: The exact BC uses the internal nodeVars for both the external as well as the internal state. This is due to the fact that for direct-hybrid simulations, i.e., where the nodeVars are not initialized by analytical initial conditions but from a file, the external nodeVars are not set. If this causes problems, another solution (probably more complex) has to be found.
Definition at line 26 of file dgcartesianbcexact.h.
using DgBcExact< nDim, SysEqn >::Base = DgBoundaryCondition<nDim, SysEqn> |
Definition at line 29 of file dgcartesianbcexact.h.
|
inline |
Definition at line 39 of file dgcartesianbcexact.h.
Implements DgBoundaryCondition< nDim, SysEqn >.
Definition at line 42 of file dgcartesianbcexact.h.
Definition at line 49 of file dgcartesianbcexact.h.
Implements DgBoundaryCondition< nDim, SysEqn >.
Definition at line 40 of file dgcartesianbcexact.h.