 |
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"
86 void Penpair::Marshall(
char** pmarshalled_data,
int* pmarshalled_data_size,
int marshall_direction){
97 this->
hnodes->
Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
179 switch(analysis_type){
187 _error_(
"analysis " << analysis_type <<
" (" <<
EnumToStringx(analysis_type) <<
") not supported yet");
225 if(!flags[this->
nodes[i]->Lid()]){
231 while(flagsindices[counter]>=0) counter++;
232 flagsindices[counter]=this->nodes[i]->Lid();
238 if(this->nodes[i]->IsClone())
246 if(this->nodes[i]->IsClone())
254 if(this->nodes[i]->IsClone())
260 default:
_error_(
"not supported");
302 Ke->
values[0*numdof+0]=+kmax*pow(10.,penalty_factor);
303 Ke->
values[0*numdof+1]=-kmax*pow(10.,penalty_factor);
304 Ke->
values[1*numdof+0]=-kmax*pow(10.,penalty_factor);
305 Ke->
values[1*numdof+1]=+kmax*pow(10.,penalty_factor);
313 int numdof,numdof2,N;
328 for(
int i=0;i<numdof;i++){
329 Ke->
values[ i*N+i ]=+kmax*pow(10.,penalty_offset);
330 Ke->
values[ i*N+numdof+i]=-kmax*pow(10.,penalty_offset);
331 Ke->
values[(numdof+i)*N+i ]=-kmax*pow(10.,penalty_offset);
332 Ke->
values[(numdof+i)*N+numdof+i]=+kmax*pow(10.,penalty_offset);
344 switch(approximation0){
346 switch(approximation1){
352 switch(approximation1){
358 switch(approximation1){
364 switch(approximation1){
374 int numdof,numdof2,N;
390 for(
int i=0;i<numdof;i++){
391 Ke->
values[ i*N+i ]=+kmax*pow(10.,penalty_offset);
392 Ke->
values[ i*N+numdof+i]=-kmax*pow(10.,penalty_offset);
393 Ke->
values[(numdof+i)*N+i ]=-kmax*pow(10.,penalty_offset);
394 Ke->
values[(numdof+i)*N+numdof+i]=+kmax*pow(10.,penalty_offset);
Declaration of Vertices class.
void GetNodesSidList(int *sidlist)
void GetNodesLidList(int *lidlist)
@ StressbalancePenaltyFactorEnum
Declaration of Nodes class.
void Configure(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
@ MasstransportAnalysisEnum
@ StressbalanceAnalysisEnum
#define _printf_(StreamArgs)
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Declaration of Parameters class.
#define MARSHALLING_ENUM(EN)
ElementMatrix * PenaltyCreateKMatrixStressbalanceHoriz(IssmDouble kmax)
Declaration of Elements class.
void CreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
void CreatePVector(Vector< IssmDouble > *pf)
void PenaltyCreatePVector(Vector< IssmDouble > *pf, IssmDouble kmax)
void InputUpdateFromConstant(IssmDouble constant, int name)
void SetCurrentConfiguration(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
ElementMatrix * PenaltyCreateKMatrixStressbalanceSSAHO(IssmDouble kmax)
Declaration of Materials class.
const char * EnumToStringx(int enum_in)
void configure(DataSet *dataset)
#define MARSHALLING(FIELD)
void InputUpdateFromVector(IssmDouble *vector, int name, int type)
int GetNumberOfNodes(void)
Declaration of Loads class.
#define _error_(StreamArgs)
void CreateJacobianMatrix(Matrix< IssmDouble > *Jff)
ElementMatrix * PenaltyCreateKMatrixMasstransport(IssmDouble kmax)
void PenaltyCreateJacobianMatrix(Matrix< IssmDouble > *Jff, IssmDouble kmax)
void PenaltyCreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs, IssmDouble kmax)
void FindParam(bool *pinteger, int enum_type)
void SetwiseNodeConnectivity(int *d_nz, int *o_nz, Node *node, bool *flags, int *flagsindices, int set1_enum, int set2_enum)
void AddToGlobal(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
Declaration of DataSet class.
ElementMatrix * PenaltyCreateKMatrixStressbalanceFS(IssmDouble kmax)
@ MasstransportPenaltyFactorEnum
int GetNumberOfDofs(int approximation_enum, int setenum)
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)