Chombo + EB + MF  3.2
AdvectTestIBC.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 _ADVECTTESTIBC_H_
12 #define _ADVECTTESTIBC_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 "PhysIBC.H"
23 #include "SolidBCF_F.H"
24 
25 #include "NamespaceHeader.H"
26 
27 /// Example IBC for advection-diffusion problem
28 class AdvectTestIBC:public PhysIBC
29 {
30 public:
31 
32  ///
33  AdvectTestIBC(const RealVect& a_center,
34  const Real& a_size)
35  {
36  m_center = a_center;
37  m_size = a_size;
38  }
39 
40  /// Destructor
42  {
43  };
44 
45  /// Factory method - this object is its own factory
47 
48  /// Set boundary fluxes
49  void primBC(FArrayBox& a_F,
50  const FArrayBox& a_W,
51  const FArrayBox& a_Wextrap,
52  const int& a_dir,
53  const Side::LoHiSide& a_side,
54  const Real& a_time);
55 
56  ///one sided is OK by me
58  const FArrayBox& a_W,
59  const int& a_dir,
60  const Real& a_time)
61  {
62  }
63 
64  /// does not apply here
65  void artViscBC(FArrayBox& a_F,
66  const FArrayBox& a_U,
67  const FArrayBox& a_divVel,
68  const int& a_dir,
69  const Real& a_time)
70  {
71  }
72 
73  /// Set up initial conditions
75 
76 protected:
77 
80 
81 private:
82  //weak construction is bad
84  {
85  MayDay::Error("invalid operator");
86  }
87 
88  // Disallowed for all the usual reasons
89  void operator=(const AdvectTestIBC&);
91 
92 };
93 
94 #include "NamespaceFooter.H"
95 
96 #endif
97 
void artViscBC(FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
does not apply here
Definition: AdvectTestIBC.H:65
void operator=(const AdvectTestIBC &)
void setBdrySlopes(FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)
one sided is OK by me
Definition: AdvectTestIBC.H:57
Real m_size
Definition: AdvectTestIBC.H:79
void initialize(LevelData< FArrayBox > &a_U)
Set up initial conditions.
RealVect m_center
Definition: AdvectTestIBC.H:78
Example IBC for advection-diffusion problem.
Definition: AdvectTestIBC.H:28
double Real
Definition: REAL.H:33
AdvectTestIBC()
Definition: AdvectTestIBC.H:83
LoHiSide
Definition: LoHiSide.H:27
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code.
~AdvectTestIBC()
Destructor.
Definition: AdvectTestIBC.H:41
AdvectTestIBC(const RealVect &a_center, const Real &a_size)
Definition: AdvectTestIBC.H:33
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
Definition: FArrayBox.H:45
Physical/domain initial and boundary conditions.
Definition: PhysIBC.H:33
void primBC(FArrayBox &a_F, const FArrayBox &a_W, const FArrayBox &a_Wextrap, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time)
Set boundary fluxes.
PhysIBC * new_physIBC()
Factory method - this object is its own factory.