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

simple basal friction resulting in a twisting ice stream More...

#include <twistyStreamFriction.H>

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

Public Member Functions

 twistyStreamFriction ()
 constructor More...
 
 twistyStreamFriction (const Real &a_betaVal, const RealVect &a_omega, const Real &m_magOffset, const Real &a_eps, const RealVect &a_domainSize)
 
virtual ~twistyStreamFriction ()
 destructor More...
 
virtual BasalFrictionnew_basalFriction () const
 factory method More...
 
virtual void setBasalFriction (LevelData< FArrayBox > &a_betaSqr, 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_betaVal, const RealVect &a_omega, const Real &a_magOffset, const Real &a_eps, 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_betaVal
 
RealVect m_omega
 
Real m_magOffset
 
Real m_eps
 
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

simple basal friction resulting in a twisting ice stream

beta^2 = betaVal*(1 + eps + sin(2*Pi*Omega[1]*y + offset))

where offset = magOffset*sin(2*Pi*Omega[0]*x)

Constructor & Destructor Documentation

◆ twistyStreamFriction() [1/2]

twistyStreamFriction::twistyStreamFriction ( )

constructor

Referenced by new_basalFriction().

◆ twistyStreamFriction() [2/2]

twistyStreamFriction::twistyStreamFriction ( const Real &  a_betaVal,
const RealVect &  a_omega,
const Real &  m_magOffset,
const Real &  a_eps,
const RealVect &  a_domainSize 
)

◆ ~twistyStreamFriction()

twistyStreamFriction::~twistyStreamFriction ( )
virtual

destructor

Member Function Documentation

◆ new_basalFriction()

BasalFriction * twistyStreamFriction::new_basalFriction ( ) const
virtual

factory method

return a pointer to a new BasalFriction object

Implements BasalFriction.

References m_betaVal, m_domainSize, m_eps, m_magOffset, m_omega, and twistyStreamFriction().

◆ setBasalFriction()

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

define basal friction coefficient beta^2 and place in a_betaSqr

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_betaVal, m_domainSize, m_eps, m_magOffset, and m_omega.

◆ setParameters()

void twistyStreamFriction::setParameters ( const Real &  a_betaVal,
const RealVect &  a_omega,
const Real &  a_magOffset,
const Real &  a_eps,
const RealVect &  a_domainSize 
)

set friction value in Pa*a/m)

References m_betaVal, m_domainSize, m_eps, m_magOffset, and m_omega.

Member Data Documentation

◆ m_betaVal

Real twistyStreamFriction::m_betaVal

◆ m_domainSize

RealVect twistyStreamFriction::m_domainSize

◆ m_eps

Real twistyStreamFriction::m_eps

◆ m_magOffset

Real twistyStreamFriction::m_magOffset

◆ m_omega

RealVect twistyStreamFriction::m_omega

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