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

Allows pre-defined basal friction coefficients to be passed in and copied. More...

#include <CopyBasalFriction.H>

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

Public Member Functions

 CopyBasalFriction ()
 null constructor More...
 
 CopyBasalFriction (Vector< RefCountedPtr< LevelData< FArrayBox > > > &a_vectBeta, Vector< ProblemDomain > &a_vectDomain)
 Set reference value for friction coefficients – calls associated define. More...
 
virtual ~CopyBasalFriction ()
 destructor More...
 
void define (Vector< RefCountedPtr< LevelData< FArrayBox > > > &a_vectBeta, Vector< ProblemDomain > &a_vectDomain)
 Set reference value for friction coefficients. 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 C and place in a_betaSqr More...
 
- Public Member Functions inherited from BasalFriction
virtual ~BasalFriction ()
 virtual destructor More...
 

Protected Attributes

Vector< RefCountedPtr< LevelData< FArrayBox > > > m_vectBeta
 frictional coefficient values More...
 
Vector< ProblemDomain > m_vectDomains
 Problem domains are used to index levels. More...
 
bool m_verbose
 

Additional Inherited Members

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

Detailed Description

Allows pre-defined basal friction coefficients to be passed in and copied.

use of the refCountedPtr means that we can reference a single location which can be set and modified elsewhere. This is primarily intended for use with the solverBenchmark code, but may find uses within the main BISICLES code as well. Will obviously need to be redefined at regridding time

Constructor & Destructor Documentation

◆ CopyBasalFriction() [1/2]

CopyBasalFriction::CopyBasalFriction ( )

null constructor

References m_verbose.

Referenced by new_basalFriction().

◆ CopyBasalFriction() [2/2]

CopyBasalFriction::CopyBasalFriction ( Vector< RefCountedPtr< LevelData< FArrayBox > > > &  a_vectBeta,
Vector< ProblemDomain > &  a_vectDomain 
)

Set reference value for friction coefficients – calls associated define.

References define().

◆ ~CopyBasalFriction()

virtual CopyBasalFriction::~CopyBasalFriction ( )
inlinevirtual

destructor

References define(), new_basalFriction(), and setBasalFriction().

Member Function Documentation

◆ define()

void CopyBasalFriction::define ( Vector< RefCountedPtr< LevelData< FArrayBox > > > &  a_vectBeta,
Vector< ProblemDomain > &  a_vectDomain 
)

Set reference value for friction coefficients.

References m_vectBeta, and m_vectDomains.

Referenced by CopyBasalFriction(), and ~CopyBasalFriction().

◆ new_basalFriction()

BasalFriction * CopyBasalFriction::new_basalFriction ( ) const
virtual

factory method

return a pointer to a new BasalFriction object

Implements BasalFriction.

References CopyBasalFriction(), m_vectBeta, m_vectDomains, and m_verbose.

Referenced by ~CopyBasalFriction().

◆ setBasalFriction()

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

define basal friction coefficient C and place in a_betaSqr

time and dt are included in case this is time-dependent. Units should be Pa*a/m

Implements BasalFriction.

References m_vectBeta, and m_vectDomains.

Referenced by ~CopyBasalFriction().

Member Data Documentation

◆ m_vectBeta

Vector<RefCountedPtr<LevelData<FArrayBox> > > CopyBasalFriction::m_vectBeta
protected

frictional coefficient values

Referenced by define(), new_basalFriction(), and setBasalFriction().

◆ m_vectDomains

Vector<ProblemDomain> CopyBasalFriction::m_vectDomains
protected

Problem domains are used to index levels.

Referenced by define(), new_basalFriction(), and setBasalFriction().

◆ m_verbose

bool CopyBasalFriction::m_verbose
protected

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