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

simple version which sets basal friction to a sinusoidal profile More...

#include <BasalFriction.H>

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

Public Member Functions

 sinusoidalFriction ()
 constructor More...
 
 sinusoidalFriction (const Real &a_betaVal, const RealVect &a_omega, const Real &a_eps, const RealVect &a_domainSize)
 
virtual ~sinusoidalFriction ()
 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 setSinParameters (const Real &a_betaVal, const RealVect &a_omega, 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_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 version which sets basal friction to a sinusoidal profile

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

Constructor & Destructor Documentation

◆ sinusoidalFriction() [1/2]

sinusoidalFriction::sinusoidalFriction ( )

constructor

Referenced by new_basalFriction(), and BasalFriction::parse().

◆ sinusoidalFriction() [2/2]

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

◆ ~sinusoidalFriction()

sinusoidalFriction::~sinusoidalFriction ( )
virtual

destructor

Member Function Documentation

◆ new_basalFriction()

BasalFriction * sinusoidalFriction::new_basalFriction ( ) const
virtual

factory method

return a pointer to a new BasalFriction object

Implements BasalFriction.

References m_betaVal, m_domainSize, m_eps, m_omega, and sinusoidalFriction().

◆ setBasalFriction()

void sinusoidalFriction::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

define source term for thickness evolution and place it in friction

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)

dt is included in case one needs integrals or averages over a timestep. friction should be defined in meters/second in the current implementation.

Implements BasalFriction.

References LevelSigmaCS::dx(), m_betaVal, m_domainSize, m_eps, and m_omega.

◆ setSinParameters()

void sinusoidalFriction::setSinParameters ( const Real &  a_betaVal,
const RealVect &  a_omega,
const Real &  a_eps,
const RealVect &  a_domainSize 
)

set friction value in Pa*a/m)

References m_betaVal, m_domainSize, m_eps, and m_omega.

Member Data Documentation

◆ m_betaVal

Real sinusoidalFriction::m_betaVal

◆ m_domainSize

RealVect sinusoidalFriction::m_domainSize

◆ m_eps

Real sinusoidalFriction::m_eps

◆ m_omega

RealVect sinusoidalFriction::m_omega

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