 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
5 #ifndef _EnthalpyAnalysis_
6 #define _EnthalpyAnalysis_
10 #include "../classes/classes.h"
19 int DofsPerNode(
int** doflist,
int domaintype,
int approximation);
void CreateNodes(Nodes *nodes, IoModel *iomodel, bool isamr=false)
static void DrainageUpdateWatercolumn(FemModel *femmodel)
Declaration of Nodes class.
void CreateLoads(Loads *loads, IoModel *iomodel)
static void UpdateBasalConstraints(FemModel *femmodel)
void GetBConduct(IssmDouble *B, Element *element, IssmDouble *xyz_list, Gauss *gauss)
Declaration of Parameters class.
Declaration of Constraints class.
ElementMatrix * CreateJacobianMatrix(Element *element)
Declaration of Elements class.
static void ComputeBasalMeltingrate(FemModel *femmodel)
ElementMatrix * CreateKMatrixVolume(Element *element)
void GradientJ(Vector< IssmDouble > *gradient, Element *element, int control_type, int control_index)
static int GetThermalBasalCondition(Element *element, IssmDouble enthalpy, IssmDouble enthalpy_up, IssmDouble pressure, IssmDouble pressure_up, IssmDouble watercolumn, IssmDouble meltingrate)
static void PostProcessing(FemModel *femmodel)
void UpdateConstraints(FemModel *femmodel)
ElementVector * CreatePVectorShelf(Element *element)
ElementVector * CreatePVectorVolume(Element *element)
ElementVector * CreatePVectorSheet(Element *element)
static IssmDouble GetWetIceConductivity(Element *element, IssmDouble enthalpy, IssmDouble pressure)
abstract class for Analysis objects
static void DrainWaterfraction(FemModel *femmodel)
void InputUpdateFromSolution(IssmDouble *solution, Element *element)
static void GetBasalConstraints(Vector< IssmDouble > *vec_spc, Element *element)
void CreateConstraints(Constraints *constraints, IoModel *iomodel)
static IssmDouble TMeltingPoint(Element *element, IssmDouble pressure)
int DofsPerNode(int **doflist, int domaintype, int approximation)
ElementVector * CreatePVector(Element *element)
ElementVector * CreateDVector(Element *element)
ElementMatrix * CreateKMatrixShelf(Element *element)
static void ComputeWaterfractionDrainage(FemModel *femmodel)
static void GetBasalConstraintsSteadystate(Vector< IssmDouble > *vec_spc, Element *element)
static void DrainageUpdateEnthalpy(FemModel *femmodel)
static IssmDouble EnthalpyDiffusionParameter(Element *element, IssmDouble enthalpy, IssmDouble pressure)
ElementMatrix * CreateKMatrix(Element *element)
void Core(FemModel *femmodel)
void UpdateElements(Elements *elements, Inputs2 *inputs2, IoModel *iomodel, int analysis_counter, int analysis_type)
Declaration of Loads class.
static IssmDouble PureIceEnthalpy(Element *element, IssmDouble pressure)
static void GetBasalConstraintsTransient(Vector< IssmDouble > *vec_spc, Element *element)
static IssmDouble EnthalpyDiffusionParameterVolume(Element *element, int enthalpy_enum)
void UpdateParameters(Parameters *parameters, IoModel *iomodel, int solution_enum, int analysis_enum)
static void ApplyBasalConstraints(IssmDouble *serial_spc, Element *element)
void GetSolutionFromInputs(Vector< IssmDouble > *solution, Element *element)