- Timestamp:
- 06/14/10 08:25:32 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/modules/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.cpp
r4037 r4042 9 9 #include "../../EnumDefinitions/EnumDefinitions.h" 10 10 11 void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type ,int step=0){11 void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type){ 12 12 13 13 double* serial_solution=NULL; … … 17 17 18 18 /*Call overloaded form of UpdateInputsFromSolutionx: */ 19 UpdateInputsFromSolutionx( elements, nodes, vertices, loads, materials, parameters,serial_solution, analysis_type, sub_analysis_type ,step);19 UpdateInputsFromSolutionx( elements, nodes, vertices, loads, materials, parameters,serial_solution, analysis_type, sub_analysis_type); 20 20 21 21 /*Free ressources:*/ … … 44 44 45 45 } 46 47 /*Same routines, with additional timestep argument: */48 void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type,int timestep){49 50 51 double* serial_solution=NULL;52 53 /*Serialize solution, so that elements can index into it on every CPU: */54 VecToMPISerial(&serial_solution,solution);55 56 /*Call overloaded form of UpdateInputsFromSolutionx: */57 UpdateInputsFromSolutionx( elements, nodes, vertices, loads, materials, parameters,serial_solution, analysis_type, sub_analysis_type,int timestep);58 59 /*Free ressources:*/60 xfree((void**)&serial_solution);61 62 }63 64 65 66 void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,double* solution, int analysis_type, int sub_analysis_type,int timestep){67 68 /*Intermediary*/69 int i;70 Element* element=NULL;71 72 /*First, get elements and loads configured: */73 elements-> Configure(elements,loads, nodes,vertices, materials,parameters);74 loads-> Configure(elements,loads, nodes,vertices, materials,parameters);75 nodes-> Configure(elements,loads, nodes,vertices, materials,parameters);76 parameters->Configure(elements,loads, nodes,vertices, materials,parameters);77 78 /*Elements drive the update: */79 for (i=0;i<elements->Size();i++){80 element=(Element*)elements->GetObjectByOffset(i);81 element->UpdateInputsFromSolution(solution,analysis_type,sub_analysis_type,timestep);82 }83 84 }
Note:
See TracChangeset
for help on using the changeset viewer.