BISICLES AMR ice sheet model  0.9
Public Member Functions | List of all members
IceInternalEnergyIBC Class Referenceabstract

Common virtual base class for internal energy transport IBC. More...

#include <IceInternalEnergyIBC.H>

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

Public Member Functions

virtual ~IceInternalEnergyIBC ()
 
virtual void define (const ProblemDomain &a_domain, const Real &a_dx)
 
virtual PhysIBC * new_physIBC ()
 Factory method - this object is its own factory. More...
 
virtual IceInternalEnergyIBCnew_internalEnergyIBC ()=0
 same as new_physIBC, except pointer cast to an IceInternalEnergyIBC More...
 
virtual void initialize (LevelData< FArrayBox > &a_U)
 
virtual void basalHeatFlux (LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt)=0
 
virtual void initializeIceInternalEnergy (LevelData< FArrayBox > &a_E, LevelData< FArrayBox > &a_tillWaterDepth, LevelData< FArrayBox > &a_surfaceE, LevelData< FArrayBox > &a_basalE, const AmrIceBase &a_amrIce, int a_level, Real a_dt)=0
 
virtual void setIceInternalEnergyBC (LevelData< FArrayBox > &a_E, LevelData< FArrayBox > &a_tillWaterDepth, LevelData< FArrayBox > &a_surfaceE, LevelData< FArrayBox > &a_basalE, const LevelSigmaCS &a_coordSys)=0
 
virtual void primBC (FArrayBox &a_WGdnv, const FArrayBox &a_Wextrap, const FArrayBox &a_W, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time)
 Set boundary fluxes. More...
 
virtual void setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)
 Set boundary slopes. More...
 
virtual void artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
 

Detailed Description

Common virtual base class for internal energy transport IBC.

Constructor & Destructor Documentation

◆ ~IceInternalEnergyIBC()

virtual IceInternalEnergyIBC::~IceInternalEnergyIBC ( )
inlinevirtual

Member Function Documentation

◆ artViscBC()

virtual void IceInternalEnergyIBC::artViscBC ( FArrayBox &  a_F,
const FArrayBox &  a_U,
const FArrayBox &  a_divVel,
const int &  a_dir,
const Real &  a_time 
)
inlinevirtual

◆ basalHeatFlux()

virtual void IceInternalEnergyIBC::basalHeatFlux ( LevelData< FArrayBox > &  a_flux,
const AmrIceBase a_amrIce,
int  a_level,
Real  a_dt 
)
pure virtual

set a basal heat flux : by default set to zero. units are Joules / Year default implementation sets zero flux.

Implemented in PythonInterface::PythonIceTemperatureIBC, ConstantIceTemperatureIBC, LevelDataTemperatureIBC, and VerticalConductionInternalEnergyIBC.

Referenced by ConstantIceTemperatureIBC::ConstantIceTemperatureIBC(), and new_physIBC().

◆ define()

virtual void IceInternalEnergyIBC::define ( const ProblemDomain &  a_domain,
const Real &  a_dx 
)
inlinevirtual

Set the problem domain index space and the grid spacing for this initial and boundary condition object. Default is to just call PhysIBC::define

Reimplemented in LevelDataTemperatureIBC, and VerticalConductionInternalEnergyIBC.

◆ initialize()

void IceInternalEnergyIBC::initialize ( LevelData< FArrayBox > &  a_U)
virtual

References primBC().

Referenced by new_physIBC().

◆ initializeIceInternalEnergy()

virtual void IceInternalEnergyIBC::initializeIceInternalEnergy ( LevelData< FArrayBox > &  a_E,
LevelData< FArrayBox > &  a_tillWaterDepth,
LevelData< FArrayBox > &  a_surfaceE,
LevelData< FArrayBox > &  a_basalE,
const AmrIceBase a_amrIce,
int  a_level,
Real  a_dt 
)
pure virtual

◆ new_internalEnergyIBC()

virtual IceInternalEnergyIBC* IceInternalEnergyIBC::new_internalEnergyIBC ( )
pure virtual

◆ new_physIBC()

virtual PhysIBC* IceInternalEnergyIBC::new_physIBC ( )
inlinevirtual

Factory method - this object is its own factory.

Return a pointer to a new PhysIBC object with m_isDefined = false (i.e., its define() must be called before it is used).

References basalHeatFlux(), initialize(), initializeIceInternalEnergy(), new_internalEnergyIBC(), primBC(), and setIceInternalEnergyBC().

◆ primBC()

void IceInternalEnergyIBC::primBC ( FArrayBox &  a_WGdnv,
const FArrayBox &  a_Wextrap,
const FArrayBox &  a_W,
const int &  a_dir,
const Side::LoHiSide &  a_side,
const Real &  a_time 
)
virtual

Set boundary fluxes.

References ReflectionIceInternalEnergyIBC::setIceInternalEnergyBC().

Referenced by initialize(), and new_physIBC().

◆ setBdrySlopes()

virtual void IceInternalEnergyIBC::setBdrySlopes ( FArrayBox &  a_dW,
const FArrayBox &  a_W,
const int &  a_dir,
const Real &  a_time 
)
inlinevirtual

Set boundary slopes.

◆ setIceInternalEnergyBC()

virtual void IceInternalEnergyIBC::setIceInternalEnergyBC ( LevelData< FArrayBox > &  a_E,
LevelData< FArrayBox > &  a_tillWaterDepth,
LevelData< FArrayBox > &  a_surfaceE,
LevelData< FArrayBox > &  a_basalE,
const LevelSigmaCS a_coordSys 
)
pure virtual

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