source: issm/trunk-jpl/src/c/modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp@ 14999

Last change on this file since 14999 was 14999, checked in by Eric.Larour, 12 years ago

CHG: modules should include shared.h, and that's it.

File size: 3.1 KB
Line 
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
9void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,Vector<IssmDouble>* vector, int name, int type){
10
11 IssmDouble* serial_vector=NULL;
12
13 serial_vector=vector->ToMPISerial();
14
15 InputUpdateFromVectorx( elements,nodes, vertices, loads, materials, parameters,serial_vector,name, type);
16
17 /*Free ressources:*/
18 xDelete<IssmDouble>(serial_vector);
19}
20
21void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,IssmDouble* vector, int name, int type){
22
23 int i;
24
25 /*Update elements, nodes, loads and materials from inputs: */
26 for(i=0;i<elements->Size();i++){
27 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
28 element->InputUpdateFromVector(vector,name,type);
29 }
30 for(i=0;i<nodes->Size();i++){
31 Node* node=(Node*)nodes->GetObjectByOffset(i);
32 node->InputUpdateFromVector(vector,name,type);
33 }
34 for(i=0;i<loads->Size();i++){
35 Load* load=(Load*)loads->GetObjectByOffset(i);
36 load->InputUpdateFromVector(vector,name,type);
37 }
38 for(i=0;i<materials->Size();i++){
39 Material* material=(Material*)materials->GetObjectByOffset(i);
40 material->InputUpdateFromVector(vector,name,type);
41 }
42}
43
44void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int* vector, int name, int type){
45
46 int i;
47
48 /*Update elements, nodes, loads and materials from inputs: */
49 for(i=0;i<elements->Size();i++){
50 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
51 element->InputUpdateFromVector(vector,name,type);
52 }
53 for(i=0;i<nodes->Size();i++){
54 Node* node=(Node*)nodes->GetObjectByOffset(i);
55 node->InputUpdateFromVector(vector,name,type);
56 }
57 for(i=0;i<loads->Size();i++){
58 Load* load=(Load*)loads->GetObjectByOffset(i);
59 load->InputUpdateFromVector(vector,name,type);
60 }
61 for(i=0;i<materials->Size();i++){
62 Material* material=(Material*)materials->GetObjectByOffset(i);
63 material->InputUpdateFromVector(vector,name,type);
64 }
65}
66
67void InputUpdateFromVectorx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool* vector, int name, int type){
68
69 int i;
70
71 /*Update elements, nodes, loads and materials from inputs: */
72 for(i=0;i<elements->Size();i++){
73 Element* element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
74 element->InputUpdateFromVector(vector,name,type);
75 }
76 for(i=0;i<nodes->Size();i++){
77 Node* node=(Node*)nodes->GetObjectByOffset(i);
78 node->InputUpdateFromVector(vector,name,type);
79 }
80 for(i=0;i<loads->Size();i++){
81 Load* load=(Load*)loads->GetObjectByOffset(i);
82 load->InputUpdateFromVector(vector,name,type);
83 }
84 for(i=0;i<materials->Size();i++){
85 Material* material=(Material*)materials->GetObjectByOffset(i);
86 material->InputUpdateFromVector(vector,name,type);
87 }
88}
Note: See TracBrowser for help on using the repository browser.