Ice Sheet System Model  4.18
Code documentation
Functions
SetControlInputsFromVectorx.cpp File Reference
#include "./SetControlInputsFromVectorx.h"
#include "../../shared/shared.h"
#include "../../toolkits/toolkits.h"

Go to the source code of this file.

Functions

void SetControlInputsFromVectorx (FemModel *femmodel, IssmDouble *vector)
 
void SetControlInputsFromVectorx (FemModel *femmodel, Vector< IssmDouble > *vector)
 

Function Documentation

◆ SetControlInputsFromVectorx() [1/2]

void SetControlInputsFromVectorx ( FemModel femmodel,
IssmDouble vector 
)

Definition at line 9 of file SetControlInputsFromVectorx.cpp.

9  {
10 
11  bool isautodiff;
13  if(isautodiff){
14  int num_controls;
15  int* control_type = NULL;
16  int* M = NULL;
17  int* N = NULL;
18 
19  /*Retrieve some parameters*/
24 
25  int offset = 0;
26  for(int i=0;i<num_controls;i++){
27  for(int j=0;j<femmodel->elements->Size();j++){
29  element->SetControlInputsFromVector(vector,control_type[i],i,offset,N[i],M[i]);
30  }
31  offset += M[i]*N[i];
32  }
33 
34  xDelete<int>(control_type);
35  xDelete<int>(M);
36  xDelete<int>(N);
37  }
38  else{
39 
40  int num_controls;
41  int* control_type = NULL;
44  int offset = 0;
45  for(int i=0;i<num_controls;i++){
46  for(int j=0;j<femmodel->elements->Size();j++){
48  element->SetControlInputsFromVector(vector,control_type[i],i);
49  }
50  }
51  xDelete<int>(control_type);
52  }
53 }

◆ SetControlInputsFromVectorx() [2/2]

void SetControlInputsFromVectorx ( FemModel femmodel,
Vector< IssmDouble > *  vector 
)

Definition at line 55 of file SetControlInputsFromVectorx.cpp.

55  {
56 
57  IssmDouble* serial_vector=vector->ToMPISerial();
59  xDelete<IssmDouble>(serial_vector);
60 }
DataSet::Size
int Size()
Definition: DataSet.cpp:399
IssmDouble
double IssmDouble
Definition: types.h:37
InversionNumControlParametersEnum
@ InversionNumControlParametersEnum
Definition: EnumDefinitions.h:223
Element::SetControlInputsFromVector
virtual void SetControlInputsFromVector(IssmDouble *vector, int control_enum, int control_index, int offset, int N, int M)=0
InversionControlParametersEnum
@ InversionControlParametersEnum
Definition: EnumDefinitions.h:209
FemModel::parameters
Parameters * parameters
Definition: FemModel.h:46
ControlInputSizeMEnum
@ ControlInputSizeMEnum
Definition: EnumDefinitions.h:105
Element
Definition: Element.h:41
AutodiffIsautodiffEnum
@ AutodiffIsautodiffEnum
Definition: EnumDefinitions.h:50
FemModel::elements
Elements * elements
Definition: FemModel.h:44
DataSet::GetObjectByOffset
Object * GetObjectByOffset(int offset)
Definition: DataSet.cpp:334
Parameters::FindParam
void FindParam(bool *pinteger, int enum_type)
Definition: Parameters.cpp:262
SetControlInputsFromVectorx
void SetControlInputsFromVectorx(FemModel *femmodel, IssmDouble *vector)
Definition: SetControlInputsFromVectorx.cpp:9
Vector::ToMPISerial
doubletype * ToMPISerial(void)
Definition: Vector.h:277
ControlInputSizeNEnum
@ ControlInputSizeNEnum
Definition: EnumDefinitions.h:106
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16