Chombo + EB + MF
3.2
src
EBAMRTimeDependent
ExtrapAdvectBC.H
Go to the documentation of this file.
1
#ifdef CH_LANG_CC
2
/*
3
* _______ __
4
* / ___/ / ___ __ _ / / ___
5
* / /__/ _ \/ _ \/ V \/ _ \/ _ \
6
* \___/_//_/\___/_/_/_/_.__/\___/
7
* Please refer to Copyright.txt, in Chombo's root directory.
8
*/
9
#endif
10
11
#ifndef _EXTRAPADVECTBC_H_
12
#define _EXTRAPADVECTBC_H_
13
14
#include <iostream>
15
16
#include "
LevelData.H
"
17
#include "
FArrayBox.H
"
18
#include "
Vector.H
"
19
#include "
RealVect.H
"
20
#include "
AMRIO.H
"
21
22
#include "
EBPhysIBC.H
"
23
#include "
EBPhysIBCFactory.H
"
24
#include "NamespaceHeader.H"
25
26
///uses extrapolated value in all cases
27
class
ExtrapAdvectBC
:
public
EBPhysIBC
28
{
29
public
:
30
virtual
~ExtrapAdvectBC
();
31
32
///
33
ExtrapAdvectBC
();
34
35
36
///
37
void
define
(
const
ProblemDomain
& a_domain,
38
const
RealVect
& a_dx);
39
40
void
setCurDataIndex
(
const
DataIndex
& a_dit)
41
{
42
}
43
44
/// For every box in this level, this function is called.
45
void
fluxBC
(
EBFluxFAB
& a_flux,
46
const
EBCellFAB
& a_Wcenter,
47
const
EBCellFAB
& a_Wextrap,
48
const
Side::LoHiSide
& a_sd,
49
const
Real
& a_time,
50
const
EBISBox
& a_ebisBox,
51
const
DataIndex
& a_dit,
52
const
Box
& a_box,
53
const
Box
& a_faceBox,
54
const
int
& a_dir);
55
56
/// Initialize---no op here
57
void
initialize
(
LevelData<EBCellFAB>
& a_conState,
58
const
EBISLayout
& a_ebisl)
const
;
59
60
/// Set boundary slopes --no op here
61
void
setBndrySlopes
(
EBCellFAB
& a_deltaPrim,
62
const
EBCellFAB
& a_primState,
63
const
EBISBox
& a_ebisBox,
64
const
Box
& a_box,
65
const
int
& a_dir)
66
{;}
67
68
69
protected
:
70
bool
m_isDefined
;
71
RealVect
m_dx
;
72
ProblemDomain
m_domain
;
73
74
};
75
76
77
///
78
/**
79
*/
80
class
ExtrapAdvectBCFactory
:
public
EBPhysIBCFactory
81
{
82
public
:
83
84
///
85
~
ExtrapAdvectBCFactory
();
86
87
///
88
ExtrapAdvectBCFactory
();
89
90
91
///
92
EBPhysIBC
* create()
const
;
93
94
95
};
96
97
#include "NamespaceFooter.H"
98
#endif
ProblemDomain
A class to facilitate interaction with physical boundary conditions.
Definition:
ProblemDomain.H:141
ExtrapAdvectBC::setCurDataIndex
void setCurDataIndex(const DataIndex &a_dit)
Definition:
ExtrapAdvectBC.H:40
EBISBox
Definition:
EBISBox.H:46
FArrayBox.H
ExtrapAdvectBC
uses extrapolated value in all cases
Definition:
ExtrapAdvectBC.H:27
RealVect.H
ExtrapAdvectBC::setBndrySlopes
void setBndrySlopes(EBCellFAB &a_deltaPrim, const EBCellFAB &a_primState, const EBISBox &a_ebisBox, const Box &a_box, const int &a_dir)
Set boundary slopes –no op here.
Definition:
ExtrapAdvectBC.H:61
ExtrapAdvectBC::initialize
void initialize(LevelData< EBCellFAB > &a_conState, const EBISLayout &a_ebisl) const
Initialize—no op here.
ExtrapAdvectBC::m_isDefined
bool m_isDefined
Definition:
ExtrapAdvectBC.H:70
EBFluxFAB
A EBFaceFAB-like container for edge-centered fluxes.
Definition:
EBFluxFAB.H:25
ExtrapAdvectBC::m_dx
RealVect m_dx
Definition:
ExtrapAdvectBC.H:71
ExtrapAdvectBC::fluxBC
void fluxBC(EBFluxFAB &a_flux, const EBCellFAB &a_Wcenter, const EBCellFAB &a_Wextrap, const Side::LoHiSide &a_sd, const Real &a_time, const EBISBox &a_ebisBox, const DataIndex &a_dit, const Box &a_box, const Box &a_faceBox, const int &a_dir)
For every box in this level, this function is called.
LevelData< EBCellFAB >
EBPhysIBC.H
EBCellFAB
Definition:
EBCellFAB.H:29
AMRIO.H
Real
double Real
Definition:
REAL.H:33
ExtrapAdvectBC::~ExtrapAdvectBC
virtual ~ExtrapAdvectBC()
ExtrapAdvectBC::m_domain
ProblemDomain m_domain
Definition:
ExtrapAdvectBC.H:72
Side::LoHiSide
LoHiSide
Definition:
LoHiSide.H:27
EBPhysIBCFactory
Definition:
EBPhysIBCFactory.H:25
Box
A Rectangular Domain on an Integer Lattice.
Definition:
Box.H:469
RealVect
A Real vector in SpaceDim-dimensional space.
Definition:
RealVect.H:41
EBPhysIBC
Definition:
EBPhysIBC.H:27
DataIndex
Definition:
DataIndex.H:114
Vector.H
ExtrapAdvectBCFactory
Definition:
ExtrapAdvectBC.H:80
ExtrapAdvectBC::ExtrapAdvectBC
ExtrapAdvectBC()
EBISLayout
Definition:
EBISLayout.H:39
EBPhysIBCFactory.H
LevelData.H
ExtrapAdvectBC::define
void define(const ProblemDomain &a_domain, const RealVect &a_dx)
Generated by
1.8.13