Ice Sheet System Model  4.18
Code documentation
InputUpdateFromMatrixDakotax.cpp
Go to the documentation of this file.
1 
6 #include "../../shared/shared.h"
7 #include "../../toolkits/toolkits.h"
8 #include "../InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h"
9 
10 void InputUpdateFromMatrixDakotax(FemModel* femmodel,double* matrix,int nrows,int ncols, int name, int type){
11 
12  int i;
13  int numberofvertices,numberofelements;
14 
15  numberofvertices=femmodel->vertices->NumberOfVertices();
16  numberofelements=femmodel->elements->NumberOfElements();
17 
18  if((ncols==1) && (nrows==numberofvertices || nrows==numberofelements)) InputUpdateFromVectorDakotax(femmodel,matrix,name,type);
19  else{
20 
21  /*Update elements, nodes, loads and materials from inputs: */
22  for(i=0;i<femmodel->elements->Size();i++){
23  Element* element=xDynamicCast<Element*>(femmodel->elements->GetObjectByOffset(i));
24  element->InputUpdateFromMatrixDakota(matrix,nrows,ncols,name,type);
25  }
26  }
27 }
DataSet::Size
int Size()
Definition: DataSet.cpp:399
FemModel::vertices
Vertices * vertices
Definition: FemModel.h:49
Vertices::NumberOfVertices
int NumberOfVertices(void)
Definition: Vertices.cpp:255
InputUpdateFromVectorDakotax
void InputUpdateFromVectorDakotax(FemModel *femmodel, Vector< IssmDouble > *vector, int name, int type)
Definition: InputUpdateFromVectorDakotax.cpp:9
InputUpdateFromMatrixDakotax.h
header file for updating datasets from inputs
InputUpdateFromMatrixDakotax
void InputUpdateFromMatrixDakotax(FemModel *femmodel, double *matrix, int nrows, int ncols, int name, int type)
Definition: InputUpdateFromMatrixDakotax.cpp:10
Element
Definition: Element.h:41
FemModel::elements
Elements * elements
Definition: FemModel.h:44
FemModel
Definition: FemModel.h:31
DataSet::GetObjectByOffset
Object * GetObjectByOffset(int offset)
Definition: DataSet.cpp:334
Elements::NumberOfElements
int NumberOfElements(void)
Definition: Elements.cpp:67
femmodel
FemModel * femmodel
Definition: esmfbinders.cpp:16