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

BasalFriction that computes $ \beta^2 $ from data on a uniform grid. More...

#include <LevelDataBasalFriction.H>

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

Public Member Functions

 LevelDataBasalFriction (RefCountedPtr< LevelData< FArrayBox > > a_C, const RealVect &a_dx)
 construct from uniform grid data More...
 
 LevelDataBasalFriction (RefCountedPtr< std::map< Real, std::string > > &a_timeFileMap, const std::string &a_name)
 construct from a sequence of files More...
 
virtual ~LevelDataBasalFriction ()
 
virtual BasalFrictionnew_basalFriction () const
 factory method More...
 
virtual void setBasalFriction (LevelData< FArrayBox > &a_C, LevelSigmaCS &a_coordSys, Real a_time, Real a_dt)
 compute basal friction coefficient beta^2 and place in a_betaSqr More...
 
- Public Member Functions inherited from BasalFriction
virtual ~BasalFriction ()
 virtual destructor More...
 

Protected Attributes

RefCountedPtr< std::map< Real, std::string > > m_timeFileMap
 
Real m_startTime
 
Real m_endTime
 
RefCountedPtr< LevelData< FArrayBox > > m_C
 
RefCountedPtr< LevelData< FArrayBox > > m_endC
 
RealVect m_dx
 
bool m_verbose
 
std::string m_name
 

Additional Inherited Members

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

Detailed Description

BasalFriction that computes $ \beta^2 $ from data on a uniform grid.

Run time configuration is carried out in BasalFriction::parse(A, ... ) If the option A.beta_type = LevelData is found, then the expected form is:

for a single file or

for a sequence of files

Constructor & Destructor Documentation

◆ LevelDataBasalFriction() [1/2]

LevelDataBasalFriction::LevelDataBasalFriction ( RefCountedPtr< LevelData< FArrayBox > >  a_C,
const RealVect &  a_dx 
)
inline

construct from uniform grid data

Parameters
a_Cdata on a uniform grid.
a_dxuniform grid mesh spacing.

Referenced by new_basalFriction().

◆ LevelDataBasalFriction() [2/2]

LevelDataBasalFriction::LevelDataBasalFriction ( RefCountedPtr< std::map< Real, std::string > > &  a_timeFileMap,
const std::string &  a_name 
)
inline

construct from a sequence of files

Parameters
a_timeFileMapmaps model times to filenames
a_namename of the field in all hdf5 files

◆ ~LevelDataBasalFriction()

virtual LevelDataBasalFriction::~LevelDataBasalFriction ( )
inlinevirtual

Member Function Documentation

◆ new_basalFriction()

virtual BasalFriction* LevelDataBasalFriction::new_basalFriction ( ) const
inlinevirtual

factory method

Returns
a pointer to a new BasalFriction object

Implements BasalFriction.

References LevelDataBasalFriction(), m_C, m_dx, m_name, m_timeFileMap, and setBasalFriction().

◆ setBasalFriction()

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

compute basal friction coefficient beta^2 and place in a_betaSqr

time and dt are included in case this is time-dependent. Units should usually be chosen so that the basal traction $\tau_b(\beta^2, u) $ is measured in Pascals when $u $ is measured in meters per year.

Parameters
a_betaSqrbasal friction coefficient beta^2 data
a_coordSysice sheet geometry
a_timecurrent time
a_dtcurrent time step

Implements BasalFriction.

References LevelSigmaCS::dx(), FillFromReference(), m_C, m_dx, m_endC, m_endTime, m_name, m_startTime, m_timeFileMap, m_verbose, and readLevelData().

Referenced by new_basalFriction(), MultiLevelDataBasalFriction::new_basalFriction(), and MultiLevelDataBasalFriction::setBasalFriction().

Member Data Documentation

◆ m_C

RefCountedPtr< LevelData<FArrayBox> > LevelDataBasalFriction::m_C
protected

◆ m_dx

RealVect LevelDataBasalFriction::m_dx
protected

◆ m_endC

RefCountedPtr< LevelData<FArrayBox> > LevelDataBasalFriction::m_endC
protected

Referenced by setBasalFriction().

◆ m_endTime

Real LevelDataBasalFriction::m_endTime
protected

Referenced by setBasalFriction().

◆ m_name

std::string LevelDataBasalFriction::m_name
protected

◆ m_startTime

Real LevelDataBasalFriction::m_startTime
protected

Referenced by setBasalFriction().

◆ m_timeFileMap

RefCountedPtr<std::map<Real,std::string> > LevelDataBasalFriction::m_timeFileMap
protected

◆ m_verbose

bool LevelDataBasalFriction::m_verbose
protected

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