Ice Sheet System Model  4.18
Code documentation
GeothermalFluxx.cpp
Go to the documentation of this file.
1 
5 #include "./GeothermalFluxx.h"
6 #include "../../shared/shared.h"
7 #include "../../toolkits/toolkits.h"
8 
10 
11  /*Intermediaties*/
12  int basalforcing_model;
13 
14  /*First, get SMB model from parameters*/
15  femmodel->parameters->FindParam(&basalforcing_model,BasalforcingsEnum);
16 
17  /*branch to correct module*/
18  switch(basalforcing_model){
24  /*Nothing to be done*/
25  break;
27  if(VerboseSolution())_printf0_(" call Mantle Plume Geothermal Flux module\n");
29  break;
31  /*Nothing to be done*/
32  break;
33  default:
34  _error_("Basal forcing model "<<EnumToStringx(basalforcing_model)<<" not supported yet");
35  }
36 
37 }/*}}}*/
38 
40 
41  for(int i=0;i<femmodel->elements->Size();i++){
42  Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
43  element->MantlePlumeGeothermalFlux();
44  }
45 
46 }/*}}}*/
DataSet::Size
int Size()
Definition: DataSet.cpp:399
_printf0_
#define _printf0_(StreamArgs)
Definition: Print.h:29
BasalforcingsEnum
@ BasalforcingsEnum
Definition: EnumDefinitions.h:64
FemModel::parameters
Parameters * parameters
Definition: FemModel.h:46
Element::MantlePlumeGeothermalFlux
void MantlePlumeGeothermalFlux()
Definition: Element.cpp:2175
GeothermalFluxx
void GeothermalFluxx(FemModel *femmodel)
Definition: GeothermalFluxx.cpp:9
MismipFloatingMeltRateEnum
@ MismipFloatingMeltRateEnum
Definition: EnumDefinitions.h:1190
BasalforcingsPicoEnum
@ BasalforcingsPicoEnum
Definition: EnumDefinitions.h:990
MantlePlumeGeothermalFluxx
void MantlePlumeGeothermalFluxx(FemModel *femmodel)
Definition: GeothermalFluxx.cpp:39
Element
Definition: Element.h:41
FloatingMeltRateEnum
@ FloatingMeltRateEnum
Definition: EnumDefinitions.h:1069
EnumToStringx
const char * EnumToStringx(int enum_in)
Definition: EnumToStringx.cpp:15
LinearFloatingMeltRateEnum
@ LinearFloatingMeltRateEnum
Definition: EnumDefinitions.h:1143
BeckmannGoosseFloatingMeltRateEnum
@ BeckmannGoosseFloatingMeltRateEnum
Definition: EnumDefinitions.h:991
MantlePlumeGeothermalFluxEnum
@ MantlePlumeGeothermalFluxEnum
Definition: EnumDefinitions.h:1158
GeothermalFluxx.h
header file for Geothermal flux
BasalforcingsIsmip6Enum
@ BasalforcingsIsmip6Enum
Definition: EnumDefinitions.h:989
FemModel::elements
Elements * elements
Definition: FemModel.h:44
FemModel
Definition: FemModel.h:31
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
VerboseSolution
bool VerboseSolution(void)
Definition: Verbosity.cpp:24
DataSet::GetObjectByOffset
Object * GetObjectByOffset(int offset)
Definition: DataSet.cpp:334
Parameters::FindParam
void FindParam(bool *pinteger, int enum_type)
Definition: Parameters.cpp:262
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16