Ice Sheet System Model  4.18
Code documentation
UpdateDynamicConstraintsx.cpp
Go to the documentation of this file.
1 
6 
7 #include "../../shared/shared.h"
8 #include "../../toolkits/toolkits.h"
9 
10 void UpdateDynamicConstraintsx(Constraints* constraints,Nodes* nodes,Parameters* parameters,Vector<IssmDouble>* yg){
11 
12  int configuration_type;
13  IssmDouble* yg_serial=NULL;
14 
15  /*Get current configuration*/
16  parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
17 
18  /*serialize yg, so nodes can index into it: */
19  yg_serial=yg->ToMPISerial();
20 
21  for(int i=0;i<constraints->Size();i++){
22  Constraint* constraint=(Constraint*)constraints->GetObjectByOffset(i);
23  if(constraint->ObjectEnum()==SpcDynamicEnum){
24  ((SpcDynamic*)constraint)->SetDynamicConstraint(nodes,yg_serial);
25  }
26 
27  }
28 
29  /*Free ressources:*/
30  xDelete<IssmDouble>(yg_serial);
31 }
DataSet::Size
int Size()
Definition: DataSet.cpp:399
IssmDouble
double IssmDouble
Definition: types.h:37
Nodes
Declaration of Nodes class.
Definition: Nodes.h:19
UpdateDynamicConstraintsx.h
header file for updating single point constraints for next time step
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
Constraints
Declaration of Constraints class.
Definition: Constraints.h:13
SpcDynamicEnum
@ SpcDynamicEnum
Definition: EnumDefinitions.h:1279
ConfigurationTypeEnum
@ ConfigurationTypeEnum
Definition: EnumDefinitions.h:101
Object::ObjectEnum
virtual int ObjectEnum()=0
SpcDynamic
Definition: SpcDynamic.h:13
DataSet::GetObjectByOffset
Object * GetObjectByOffset(int offset)
Definition: DataSet.cpp:334
Parameters::FindParam
void FindParam(bool *pinteger, int enum_type)
Definition: Parameters.cpp:262
Constraint
Definition: Constraint.h:17
Vector::ToMPISerial
doubletype * ToMPISerial(void)
Definition: Vector.h:277
UpdateDynamicConstraintsx
void UpdateDynamicConstraintsx(Constraints *constraints, Nodes *nodes, Parameters *parameters, Vector< IssmDouble > *yg)
Definition: UpdateDynamicConstraintsx.cpp:10
Vector< IssmDouble >