 |
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!"
14 #include "../classes.h"
19 #define NUMNODES_BOUNDARY 2
37 int neumannflux_elem_id;
38 int neumannflux_vertex_ids[2];
39 int neumannflux_node_ids[2];
42 neumannflux_vertex_ids[0]=segments[3*i+0];
43 neumannflux_vertex_ids[1]=segments[3*i+1];
46 neumannflux_node_ids[0]=neumannflux_vertex_ids[0];
47 neumannflux_node_ids[1]=neumannflux_vertex_ids[1];
50 neumannflux_elem_id = segments[3*i+2];
53 this->
id=neumannflux_id;
56 this->
hnodes =
new Hook(&neumannflux_node_ids[0],2);
82 neumannflux->
id=this->
id;
141 this->
hnodes->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
142 this->
helement->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
143 this->
hvertices->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
185 switch(analysis_type){
193 _error_(
"analysis " << analysis_type <<
" (" <<
EnumToStringx(analysis_type) <<
") not supported yet");
211 switch(analysis_type){
219 _error_(
"analysis " << analysis_type <<
" (" <<
EnumToStringx(analysis_type) <<
") not supported yet");
296 if(!flags[this->
nodes[i]->Lid()]){
302 while(flagsindices[counter]>=0) counter++;
303 flagsindices[counter]=this->nodes[i]->Lid();
309 if(this->nodes[i]->IsClone())
317 if(this->nodes[i]->IsClone())
325 if(this->nodes[i]->IsClone())
331 default:
_error_(
"not supported");
371 for(
int ig=gauss->
begin();ig<gauss->end();ig++){
379 for(
int i=0;i<numdof;i++) pe->
values[i] += gauss->
weight*Jdet*flux*basis[i];
415 for(
int ig=gauss->
begin();ig<gauss->end();ig++){
423 for(
int i=0;i<numdof;i++) pe->
values[i] += gauss->
weight*Jdet*flux*basis[i];
Declaration of Vertices class.
Declaration of Nodes class.
void GetSegmentJacobianDeterminant(IssmDouble *Jdet, IssmDouble *xyz_list, Gauss *gauss)
#define _printf_(StreamArgs)
Declaration of Parameters class.
#define MARSHALLING_ENUM(EN)
Declaration of Elements class.
void PenaltyCreatePVector(Vector< IssmDouble > *pf, IssmDouble kmax)
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
@ HydrologyShaktiAnalysisEnum
void GetNodesLidList(int *lidlist)
void SetwiseNodeConnectivity(int *d_nz, int *o_nz, Node *node, bool *flags, int *flagsindices, int set1_enum, int set2_enum)
void CreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
void GetSegmentNodalFunctions(IssmDouble *basis, Gauss *gauss, int index1, int index2, int finiteelement)
@ HydrologyNeumannfluxEnum
int GetNumberOfNodes(void)
void PenaltyCreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *kfs, IssmDouble kmax)
@ HydrologyGlaDSAnalysisEnum
Declaration of Materials class.
ElementVector * CreatePVectorHydrologyGlaDS(void)
const char * EnumToStringx(int enum_in)
void configure(DataSet *dataset)
#define MARSHALLING(FIELD)
void GetNodesSidList(int *sidlist)
void GetVerticesCoordinates(IssmDouble *xyz, Vertex **vertices, int numvertices, bool spherical)
ElementVector * CreatePVectorHydrologyShakti(void)
void Configure(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
Declaration of Loads class.
#define _error_(StreamArgs)
#define NUMNODES_BOUNDARY
void FindParam(bool *pinteger, int enum_type)
void AddToGlobal(Vector< IssmDouble > *pf)
void AddToGlobal(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
Declaration of DataSet class.
void CreatePVector(Vector< IssmDouble > *pf)
Input2 * GetInput2(int enumtype)
int GetVertexIndex(Vertex *vertex)
void SetCurrentConfiguration(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)