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

class which takes an input fortran array More...

#include <ComplexSurfaceFlux.H>

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

Public Member Functions

 fortranInterfaceFlux ()
 class which takes an input fortran array More...
 
virtual ~fortranInterfaceFlux ()
 
virtual SurfaceFluxnew_surfaceFlux ()
 factory method More...
 
virtual void surfaceThicknessFlux (LevelData< FArrayBox > &a_flux, const AmrIceBase &a_amrIce, int a_level, Real a_dt)
 define source term for thickness evolution and place it in flux More...
 
void setFluxVal (Real *a_data_ptr, const int *a_dimInfo, const int *a_boxlo, const int *a_boxhi, const Real *a_dew, const Real *a_dns, const IntVect &a_offset, const IntVect &a_nGhost, const ProblemDomain &a_domain, const bool a_nodal)
 set fortran array-valued surface flux More...
 
bool gridsSet () const
 has setGrids been called? More...
 
- Public Member Functions inherited from SurfaceFlux
virtual ~SurfaceFlux ()
 virtual destructor More...
 
virtual void evaluate (LevelData< FArrayBox > &a_data, const AmrIceBase &a_amrIce, int a_level, Real a_dt)
 Sub-classes of this class turned out to be useful for various data apart from thickness fluxes... More...
 

Protected Attributes

IntVect m_fluxGhost
 
bool m_verbose
 
ProblemDomain m_domain
 
DisjointBoxLayout m_grids
 
bool m_gridsSet
 
FArrayBox m_inputFlux
 
bool m_nodalFlux
 true if inputFlux is nodeal More...
 
FArrayBox m_ccInputFlux
 cell-centered input flux More...
 
RealVect m_inputFluxDx
 
RefCountedPtr< LevelData< FArrayBox > > m_inputFluxLDF
 distributed version of flux More...
 
bool m_isValSet
 

Additional Inherited Members

- Static Public Member Functions inherited from SurfaceFlux
static SurfaceFluxparse (const char *a_prefix)
 assemble a SurfaceFlux* object from ParmParse inputs More...
 

Detailed Description

class which takes an input fortran array

averages or interpolates as necessary to fill the flux

Constructor & Destructor Documentation

◆ fortranInterfaceFlux()

fortranInterfaceFlux::fortranInterfaceFlux ( )

class which takes an input fortran array

averages or interpolates as necessary to fill the fluxconstructor

Referenced by BoxBoundedFlux::surfaceThicknessFlux().

◆ ~fortranInterfaceFlux()

virtual fortranInterfaceFlux::~fortranInterfaceFlux ( )
inlinevirtual

Member Function Documentation

◆ gridsSet()

bool fortranInterfaceFlux::gridsSet ( ) const
inline

has setGrids been called?

References m_gridsSet.

◆ new_surfaceFlux()

SurfaceFlux * fortranInterfaceFlux::new_surfaceFlux ( )
virtual

◆ setFluxVal()

void fortranInterfaceFlux::setFluxVal ( Real *  a_data_ptr,
const int *  a_dimInfo,
const int *  a_boxlo,
const int *  a_boxhi,
const Real *  a_dew,
const Real *  a_dns,
const IntVect &  a_offset,
const IntVect &  a_nGhost,
const ProblemDomain &  a_domain,
const bool  a_nodal 
)

set fortran array-valued surface flux

References FortranInterfaceIBC::setFAB(), and FortranInterfaceIBC::setGrids().

Referenced by ~fortranInterfaceFlux().

◆ surfaceThicknessFlux()

void fortranInterfaceFlux::surfaceThicknessFlux ( LevelData< FArrayBox > &  a_flux,
const AmrIceBase a_amrIce,
int  a_level,
Real  a_dt 
)
virtual

define source term for thickness evolution and place it in flux

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

Implements SurfaceFlux.

References AmrIceBase::dx(), and FillFromReference().

Referenced by BoxBoundedFlux::~BoxBoundedFlux(), ~fortranInterfaceFlux(), MaskedFlux::~MaskedFlux(), and PiecewiseLinearFlux::~PiecewiseLinearFlux().

Member Data Documentation

◆ m_ccInputFlux

FArrayBox fortranInterfaceFlux::m_ccInputFlux
protected

cell-centered input flux

if nodalFlux is false, this is identical to m_inputFlux. if nodalFlux is true, this contains the cell-averaged version of the inputFlux

Referenced by new_surfaceFlux().

◆ m_domain

ProblemDomain fortranInterfaceFlux::m_domain
protected

◆ m_fluxGhost

IntVect fortranInterfaceFlux::m_fluxGhost
protected

Referenced by new_surfaceFlux().

◆ m_grids

DisjointBoxLayout fortranInterfaceFlux::m_grids
protected

Referenced by new_surfaceFlux().

◆ m_gridsSet

bool fortranInterfaceFlux::m_gridsSet
protected

Referenced by gridsSet(), and new_surfaceFlux().

◆ m_inputFlux

FArrayBox fortranInterfaceFlux::m_inputFlux
protected

Referenced by new_surfaceFlux().

◆ m_inputFluxDx

RealVect fortranInterfaceFlux::m_inputFluxDx
protected

Referenced by new_surfaceFlux().

◆ m_inputFluxLDF

RefCountedPtr<LevelData<FArrayBox> > fortranInterfaceFlux::m_inputFluxLDF
protected

distributed version of flux

Referenced by new_surfaceFlux().

◆ m_isValSet

bool fortranInterfaceFlux::m_isValSet
protected

Referenced by new_surfaceFlux().

◆ m_nodalFlux

bool fortranInterfaceFlux::m_nodalFlux
protected

true if inputFlux is nodeal

◆ m_verbose

bool fortranInterfaceFlux::m_verbose
protected

Referenced by new_surfaceFlux().


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