Chombo + EB + MF  3.2
MOLMappedPhysics.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 _MOLMAPPEDPHYSICS_H_
12 #define _MOLMAPPEDPHYSICS_H_
13 
14 #include <string>
15 using std::string;
16 
17 #include "MOLPhysics.H"
18 #include "NewFourthOrderCoordSys.H"
19 
20 #include "NamespaceHeader.H"
21 
22 class HDF5HeaderData;
23 
24 ///
25 /**
26  Extends the base class MOLPhysics to include awareness of mapped grids
27 */
29 {
30 public:
31  /// Constructor
32  /**
33  */
34  explicit MOLMappedPhysics();
35 
36  /// Destructor
37  /**
38  */
39  virtual ~MOLMappedPhysics();
40 
41  /// Copy the data from us into a ptr of the same (base) type
42  virtual void copyTo(MOLMappedPhysics* a_newMOLMP) const;
43 
44  /// Set the current coordinate system (default implementation - do nothing)
45  /**
46  */
47  virtual void setCurrentCoordSys(const NewCoordSys* a_coordSys);
48 
49  /// Set the current time (default implementation - do nothing)
50  /**
51  */
52  virtual void setCurrentTime(const Real& a_currentTime);
53 
54 
55  /// Set face-averaged primitive state on boundary faces
56  /**
57  Default implementation calls m_bc->primBC.
58  Need to call setUnitNormalBasisPtr() before this.
59  */
60  virtual void primBC(FArrayBox& a_WGdnv,
61  const FArrayBox& a_WLeft,
62  const FArrayBox& a_WRight,
63  const FArrayBox& a_W,
64  const Real& a_time,
65  const int& a_dir);
66 
67 
68  virtual void setUnitNormalBasisPtr(const FluxBox *const a_unitNormalBasisPtr);
69 
70  virtual void mappedArtVisc(FluxBox& a_NtF,
71  const FArrayBox& a_U,
72  const FluxBox& a_N,
73  const FArrayBox& a_J,
74  const Real& a_alpha,
75  const Real& a_currentTime,
76  const Box& a_box);
77 
78  virtual void getAux(FArrayBox& a_auxFab,
79  const FArrayBox& a_UFab);
80 
81  virtual Vector<string> auxNames();
82 
83 protected:
84 
87 
90 
91 private:
92 
93  // Disallowed for all the usual reasons
95  MOLMappedPhysics(const MOLMappedPhysics& a_input);
96 };
97 
98 #include "NamespaceFooter.H"
99 #endif
data to be added to HDF5 files.
Definition: CH_HDF5.H:519
Definition: MOLMappedPhysics.H:28
virtual void setCurrentCoordSys(const NewCoordSys *a_coordSys)
Set the current coordinate system (default implementation - do nothing)
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewFourthOrderCoordSys.H:77
Definition: MOLPhysics.H:37
virtual void copyTo(MOLMappedPhysics *a_newMOLMP) const
Copy the data from us into a ptr of the same (base) type.
virtual void primBC(FArrayBox &a_WGdnv, const FArrayBox &a_WLeft, const FArrayBox &a_WRight, const FArrayBox &a_W, const Real &a_time, const int &a_dir)
Set face-averaged primitive state on boundary faces.
virtual Vector< string > auxNames()
virtual void setUnitNormalBasisPtr(const FluxBox *const a_unitNormalBasisPtr)
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
double Real
Definition: REAL.H:33
NewFourthOrderCoordSys * m_coordSys
Definition: MOLMappedPhysics.H:86
virtual void mappedArtVisc(FluxBox &a_NtF, const FArrayBox &a_U, const FluxBox &a_N, const FArrayBox &a_J, const Real &a_alpha, const Real &a_currentTime, const Box &a_box)
virtual void getAux(FArrayBox &a_auxFab, const FArrayBox &a_UFab)
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
MOLMappedPhysics & operator=(const MOLMappedPhysics &a_input)
MOLMappedPhysics()
Constructor.
Definition: FArrayBox.H:45
virtual void setCurrentTime(const Real &a_currentTime)
Set the current time (default implementation - do nothing)
FluxBox * m_unitNormalBasisPtr
Definition: MOLMappedPhysics.H:89
Real m_time
Definition: MOLMappedPhysics.H:85
virtual ~MOLMappedPhysics()
Destructor.
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewCoordSys.H:30
bool m_haveUnitNormalBasis
Definition: MOLMappedPhysics.H:88