1 | /*!\file InputUpdateFromVectorx
|
---|
2 | * \brief: update datasets using parameter inputs
|
---|
3 | */
|
---|
4 |
|
---|
5 | #include "./InputUpdateFromVectorx.h"
|
---|
6 | #include "../../shared/shared.h"
|
---|
7 | #include "../../toolkits/toolkits.h"
|
---|
8 |
|
---|
9 | void InputUpdateFromVectorx(FemModel* femmodel,Vector<IssmDouble>* vector, int name, int type){
|
---|
10 |
|
---|
11 | IssmDouble* serial_vector=vector->ToMPISerial();
|
---|
12 | InputUpdateFromVectorx(femmodel,serial_vector,name,type);
|
---|
13 | xDelete<IssmDouble>(serial_vector);
|
---|
14 | }
|
---|
15 |
|
---|
16 | void InputUpdateFromVectorx(FemModel* femmodel,IssmDouble* vector, int name, int type){
|
---|
17 |
|
---|
18 | int i;
|
---|
19 |
|
---|
20 | /*Update elements, nodes, loads and materials from inputs: */
|
---|
21 | for(i=0;i<femmodel->elements->Size();i++){
|
---|
22 | Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
|
---|
23 | element->InputUpdateFromVector(vector,name,type);
|
---|
24 | }
|
---|
25 | for(i=0;i<femmodel->loads->Size();i++){
|
---|
26 | Load* load=(Load*)femmodel->loads->GetObjectByOffset(i);
|
---|
27 | load->InputUpdateFromVector(vector,name,type);
|
---|
28 | }
|
---|
29 | for(i=0;i<femmodel->materials->Size();i++){
|
---|
30 | Material* material=(Material*)femmodel->materials->GetObjectByOffset(i);
|
---|
31 | material->InputUpdateFromVector(vector,name,type);
|
---|
32 | }
|
---|
33 | }
|
---|