BISICLES AMR ice sheet model
0.9
|
Normalizes any flux so that the integrated flux has a specified value. More...
#include <ComplexSurfaceFlux.H>
Public Member Functions | |
NormalizedFlux (SurfaceFlux *a_direction, const Real &a_amplitude) | |
Construct a normalized flux from a flux and an amplitude. More... | |
virtual | ~NormalizedFlux () |
virtual SurfaceFlux * | new_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... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
static SurfaceFlux * | parse (const char *a_prefix) |
assemble a SurfaceFlux* object from ParmParse inputs More... | |
Normalizes any flux so that the integrated flux has a specified value.
A surface flux that satisfies
Run-time configuration is carried out in SurfaceFlux::parse. If the string A.B.C.type = normalizedFlux
is found, then the expected form is:
A.B.C.direction = <valid SurfaceFlux>
(spatial pattern of the flux)A.B.C.amplitude = <Real>
(amplitude, NormalizedFlux::NormalizedFlux | ( | SurfaceFlux * | a_direction, |
const Real & | a_amplitude | ||
) |
Construct a normalized flux from a flux and an amplitude.
a_direction | : defines the spatial pattern |
a_amplitude | : defines the amplitude |
References SurfaceFlux::new_surfaceFlux(), and NormalizedFlux().
Referenced by NormalizedFlux().
|
virtual |
|
virtual |
factory method
return a pointer to a new SurfaceFlux object
Implements SurfaceFlux.
Referenced by SurfaceFlux::parse().
|
virtual |
define source term for thickness evolution and place it in flux
a_flux | output flux data |
a_amrIce | reference to the ice sheet state |
a_level | mesh level of a_flux |
a_dt | current timestep |
a_dt is included in case one needs integrals or averages over a timestep. flux should be defined in meters per year in the current implementation.
Implements SurfaceFlux.
References AmrIceBase::dx(), FillFromReference(), AmrIceBase::finestLevel(), flattenCellData(), AmrIceBase::geometry(), AmrIceBase::grids(), SurfaceFlux::new_surfaceFlux(), AmrIceBase::refRatios(), SurfaceFlux::surfaceThicknessFlux(), and AmrIceBase::velocity().