BISICLES AMR ice sheet model  0.9
CopyBasalFriction.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 // coefficient of basal friction stored in a CopyIBC
12 #ifndef _COPYBASALFRICTION_H_
13 #define _COPYBASALFRICTION_H_
14 
15 #include "BasalFriction.H"
16 #include "RefCountedPtr.H"
17 #include "NamespaceHeader.H"
18 
20 
26 {
27 public:
30 
32  CopyBasalFriction(Vector<RefCountedPtr<LevelData<FArrayBox> > >& a_vectBeta,
33  Vector<ProblemDomain>& a_vectDomain);
34 
37  {;}
38 
40  void define(Vector<RefCountedPtr<LevelData<FArrayBox> > >& a_vectBeta,
41  Vector<ProblemDomain>& a_vectDomain);
42 
44 
46  virtual BasalFriction* new_basalFriction() const;
47 
49 
52  virtual void setBasalFriction(LevelData<FArrayBox>& a_C,
53  LevelSigmaCS& a_coordSys,
54  Real a_time,
55  Real a_dt);
56 
57 protected:
59  Vector<RefCountedPtr<LevelData<FArrayBox> > > m_vectBeta;
61  Vector<ProblemDomain> m_vectDomains;
62  bool m_verbose;
63 
64 private:
65  void operator=(const CopyBasalFriction& a_input)
66  {
67  MayDay::Error("invalid operator");
68  }
69 
70  CopyBasalFriction(const CopyBasalFriction& a_input)
71  {
72  MayDay::Error("invalid operator");
73  }
74 
75 
76 
77 };
78 
79 #include "NamespaceFooter.H"
80 
81 #endif
virtual BasalFriction * new_basalFriction() const
factory method
Definition: CopyBasalFriction.cpp:34
void define(Vector< RefCountedPtr< LevelData< FArrayBox > > > &a_vectBeta, Vector< ProblemDomain > &a_vectDomain)
Set reference value for friction coefficients.
Definition: CopyBasalFriction.cpp:27
Vector< ProblemDomain > m_vectDomains
Problem domains are used to index levels.
Definition: CopyBasalFriction.H:61
Allows pre-defined basal friction coefficients to be passed in and copied.
Definition: CopyBasalFriction.H:25
virtual void setBasalFriction(LevelData< FArrayBox > &a_C, LevelSigmaCS &a_coordSys, Real a_time, Real a_dt)
define basal friction coefficient C and place in a_betaSqr
Definition: CopyBasalFriction.cpp:46
bool m_verbose
Definition: CopyBasalFriction.H:62
Basic Sigma fourth-order coordinate system on an AMR level.
Definition: LevelSigmaCS.H:48
Vector< RefCountedPtr< LevelData< FArrayBox > > > m_vectBeta
frictional coefficient values
Definition: CopyBasalFriction.H:59
Definition: BasalFriction.H:28
CopyBasalFriction()
null constructor
Definition: CopyBasalFriction.cpp:13
virtual ~CopyBasalFriction()
destructor
Definition: CopyBasalFriction.H:36