BISICLES AMR ice sheet model
0.9
|
simple version which sets basal friction to a sinusoidal profile More...
#include <BasalFriction.H>
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 BasalFriction * | new_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... | |
![]() | |
virtual | ~BasalFriction () |
virtual destructor More... | |
Public Attributes | |
Real | m_betaVal |
RealVect | m_omega |
Real | m_eps |
RealVect | m_domainSize |
Additional Inherited Members | |
![]() | |
static BasalFriction * | parse (const char *a_prefix, const RealVect &a_domainSize) |
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))
sinusoidalFriction::sinusoidalFriction | ( | ) |
constructor
Referenced by new_basalFriction(), and BasalFriction::parse().
sinusoidalFriction::sinusoidalFriction | ( | const Real & | a_betaVal, |
const RealVect & | a_omega, | ||
const Real & | a_eps, | ||
const RealVect & | a_domainSize | ||
) |
|
virtual |
destructor
|
virtual |
factory method
return a pointer to a new BasalFriction object
Implements BasalFriction.
References m_betaVal, m_domainSize, m_eps, m_omega, and sinusoidalFriction().
|
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.
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.
Real sinusoidalFriction::m_betaVal |
Referenced by new_basalFriction(), setBasalFriction(), and setSinParameters().
RealVect sinusoidalFriction::m_domainSize |
Referenced by new_basalFriction(), setBasalFriction(), and setSinParameters().
Real sinusoidalFriction::m_eps |
Referenced by new_basalFriction(), setBasalFriction(), and setSinParameters().
RealVect sinusoidalFriction::m_omega |
Referenced by new_basalFriction(), setBasalFriction(), and setSinParameters().