 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
10 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
13 #include "../classes.h"
15 #include "../../analyses/analyses.h"
34 int pengrid_element_id;
38 _assert_(index>=0 && index<iomodel->numberofvertices);
45 pengrid_node_id=index+1;
111 void Moulin::Marshall(
char** pmarshalled_data,
int* pmarshalled_data_size,
int marshall_direction){
125 this->
hnode->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
126 this->
hvertex->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
127 this->
helement->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
166 switch(analysis_type){
180 _error_(
"Don't know why we should be here");
197 switch(analysis_type){
211 _error_(
"Don't know why we should be here");
281 if(!flags[this->node->
Lid()]){
284 flags[this->node->
Lid()]=
true;
287 while(flagsindices[counter]>=0) counter++;
288 flagsindices[counter]=this->node->
Lid();
316 default:
_error_(
"not supported");
369 Ke->
values[0] = - Am/(rho_water*g)/dt;
395 pe->
values[0] = moulin_load -Am/(rho_water*g) * phi_old/dt;
413 pe->
values[0]=moulin_load;
424 bool isefficientlayer;
435 if(isefficientlayer){
437 if(reCast<bool>(epl_active)){
438 pe->
values[0]=moulin_load*0.0;
441 pe->
values[0]=moulin_load*dt;
445 pe->
values[0]=moulin_load*dt;
463 pe->
values[0]=moulin_load*dt;
void CreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
Declaration of Vertices class.
ElementMatrix * CreateKMatrixHydrologyGlaDS(void)
Declaration of Nodes class.
ElementVector * CreatePVectorHydrologyDCInefficient(void)
void FindParam(bool *pvalue, int paramenum)
int GetNumberOfNodes(void)
#define _printf_(StreamArgs)
@ HydrologydcMaskEplactiveNodeEnum
Declaration of Parameters class.
@ MaterialsRhoFreshwaterEnum
#define MARSHALLING_ENUM(EN)
@ TimesteppingTimeStepEnum
void InputUpdateFromVectorDakota(IssmDouble *vector, int name, int type)
@ HydrologydcIsefficientlayerEnum
Declaration of Elements class.
void PenaltyCreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *kfs, IssmDouble kmax)
void SetCurrentConfiguration(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
@ HydrologyShaktiAnalysisEnum
void CreatePVector(Vector< IssmDouble > *pf)
void GetNodesLidList(int *lidlist)
ElementVector * CreatePVectorHydrologyShakti(void)
@ HydrologyDCInefficientAnalysisEnum
@ HydrologyGlaDSAnalysisEnum
ElementVector * CreatePVectorHydrologyGlaDS(void)
@ HydrologyMoulinInputEnum
void InputUpdateFromConstant(IssmDouble constant, int name)
Declaration of Materials class.
void SetwiseNodeConnectivity(int *d_nz, int *o_nz, Node *node, bool *flags, int *flagsindices, int set1_enum, int set2_enum)
void configure(DataSet *dataset)
#define MARSHALLING(FIELD)
@ HydrologyDCEfficientAnalysisEnum
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
int * singlenodetoelementconnectivity
void GetNodesSidList(int *sidlist)
Declaration of Loads class.
#define _error_(StreamArgs)
@ HydrologydcBasalMoulinInputEnum
void GetInputValue(bool *pvalue, int enum_type)
void PenaltyCreatePVector(Vector< IssmDouble > *pf, IssmDouble kmax)
void FindParam(bool *pinteger, int enum_type)
void InputUpdateFromVector(IssmDouble *vector, int name, int type)
void AddToGlobal(Vector< IssmDouble > *pf)
void AddToGlobal(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
ElementVector * CreatePVectorHydrologyDCEfficient(void)
@ HydraulicPotentialOldEnum
void InputUpdateFromMatrixDakota(IssmDouble *matrix, int nrows, int ncols, int name, int type)
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
void Configure(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)