BISICLES AMR ice sheet model  0.9
singularStreamFriction.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 // Virtual base class encapsulating coefficient of basal friction
12 // for ice-sheet model
13 
14 #ifndef _SINGULARSTREAMFRICTION_H_
15 #define _SINGULARSTREAMFRICTION_H_
16 
17 #include "BasalFriction.H"
18 #include "LevelData.H"
19 #include "FArrayBox.H"
20 #include "LevelSigmaCS.H"
21 
22 #include "NamespaceHeader.H"
23 
25 
34 {
35 public:
37  singularStreamFriction(const Real& a_slippyC,
38  const Real& a_stickyC,
39  const Real& a_width,
40  const Real& a_twistNumber,
41  const Real& a_twistAmplitude,
42  const RealVect& a_domainSize);
43 
45  virtual ~singularStreamFriction();
46 
48 
50  virtual BasalFriction* new_basalFriction() const;
51 
53 
57  virtual void setBasalFriction(LevelData<FArrayBox>& a_C,
58  LevelSigmaCS& a_coordSys,
59  Real a_time,
60  Real a_dt);
61 
63  void setParameters(const Real& a_slippyC,
64  const Real& a_stickyC,
65  const Real& a_width,
66  const Real& a_twistNumber,
67  const Real& a_twistAmplitude,
68  const RealVect& a_domainSize);
69 
71  RealVect m_domainSize;
72 
73 private:
74  // Disallowed for all the usual reasons
75  void operator=(const singularStreamFriction& a_input)
76  {
77  MayDay::Error("invalid operator");
78  }
79 
80  // Disallowed for all the usual reasons
82  {
83  MayDay::Error("invalid operator");
84  }
85 };
86 
87 
88 
89 #include "NamespaceFooter.H"
90 #endif
void setParameters(const Real &a_slippyC, const Real &a_stickyC, const Real &a_width, const Real &a_twistNumber, const Real &a_twistAmplitude, const RealVect &a_domainSize)
set friction value in Pa*a/m)
virtual ~singularStreamFriction()
destructor
Definition: singularStreamFriction.cpp:40
Real m_slippyC
Definition: singularStreamFriction.H:70
virtual void setBasalFriction(LevelData< FArrayBox > &a_C, LevelSigmaCS &a_coordSys, Real a_time, Real a_dt)
define basal friction coefficient beta^2 and place in a_betaSqr
Definition: singularStreamFriction.cpp:62
Real m_stickyC
Definition: singularStreamFriction.H:70
Basic Sigma fourth-order coordinate system on an AMR level.
Definition: LevelSigmaCS.H:48
Real m_twistAmplitude
Definition: singularStreamFriction.H:70
Definition: BasalFriction.H:28
Real m_twistNumber
Definition: singularStreamFriction.H:70
Real m_width
Definition: singularStreamFriction.H:70
virtual BasalFriction * new_basalFriction() const
factory method
Definition: singularStreamFriction.cpp:48
A straight or twisting ice stream of width W with a discontinous C.
Definition: singularStreamFriction.H:33
singularStreamFriction(const Real &a_slippyC, const Real &a_stickyC, const Real &a_width, const Real &a_twistNumber, const Real &a_twistAmplitude, const RealVect &a_domainSize)
constructor
Definition: singularStreamFriction.cpp:26
BasalFriction where is constant in space and time.
Definition: BasalFriction.H:114
RealVect m_domainSize
Definition: singularStreamFriction.H:71