BISICLES AMR ice sheet model  0.9
Public Member Functions | Public Attributes | List of all members
singularStreamFriction Class Reference

A straight or twisting ice stream of width W with a discontinous C. More...

#include <singularStreamFriction.H>

Inheritance diagram for singularStreamFriction:
Inheritance graph
[legend]
Collaboration diagram for singularStreamFriction:
Collaboration graph
[legend]

Public Member Functions

 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 More...
 
virtual ~singularStreamFriction ()
 destructor More...
 
virtual BasalFrictionnew_basalFriction () const
 factory method More...
 
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 More...
 
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) More...
 
- Public Member Functions inherited from BasalFriction
virtual ~BasalFriction ()
 virtual destructor More...
 

Public Attributes

Real m_slippyC
 
Real m_stickyC
 
Real m_width
 
Real m_twistNumber
 
Real m_twistAmplitude
 
RealVect m_domainSize
 

Additional Inherited Members

- Static Public Member Functions inherited from BasalFriction
static BasalFrictionparse (const char *a_prefix, const RealVect &a_domainSize)
 

Detailed Description

A straight or twisting ice stream of width W with a discontinous C.

Domain dimensions are 0 < x < X , 0 < y < Y

C = C_slippy if |y - a(x)| < W/2, C_sticky otherwise a(x) = Y/2 + A * sin(2 * pi * n * x / X)

Constructor & Destructor Documentation

◆ singularStreamFriction()

singularStreamFriction::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

Referenced by new_basalFriction().

◆ ~singularStreamFriction()

singularStreamFriction::~singularStreamFriction ( )
virtual

destructor

Member Function Documentation

◆ new_basalFriction()

BasalFriction * singularStreamFriction::new_basalFriction ( ) const
virtual

factory method

return a pointer to a new BasalFriction object

Implements BasalFriction.

References m_domainSize, m_slippyC, m_stickyC, m_twistAmplitude, m_twistNumber, m_width, and singularStreamFriction().

◆ setBasalFriction()

void singularStreamFriction::setBasalFriction ( LevelData< FArrayBox > &  a_C,
LevelSigmaCS a_coordSys,
Real  a_time,
Real  a_dt 
)
virtual

define basal friction coefficient beta^2 and place in a_betaSqr

define basal friction coefficient C and place in a_C

time and dt are included in case this is time-dependent. Units should be Pa*a/m (any conversion to mks units is internal to the AmrIce code)

Implements BasalFriction.

References LevelSigmaCS::dx(), m_domainSize, m_slippyC, m_stickyC, m_twistAmplitude, m_twistNumber, and m_width.

◆ setParameters()

void singularStreamFriction::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)

Member Data Documentation

◆ m_domainSize

RealVect singularStreamFriction::m_domainSize

◆ m_slippyC

Real singularStreamFriction::m_slippyC

◆ m_stickyC

Real singularStreamFriction::m_stickyC

◆ m_twistAmplitude

Real singularStreamFriction::m_twistAmplitude

◆ m_twistNumber

Real singularStreamFriction::m_twistNumber

◆ m_width

Real singularStreamFriction::m_width

The documentation for this class was generated from the following files: