Ignore:
Timestamp:
06/14/10 08:25:32 (15 years ago)
Author:
Eric.Larour
Message:

Revamping the Qmu module

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/UpdateInputsFromSolutionx/UpdateInputsFromSolutionx.cpp

    r4037 r4042  
    99#include "../../EnumDefinitions/EnumDefinitions.h"
    1010
    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){
     11void UpdateInputsFromSolutionx( DataSet* elements,DataSet* nodes, DataSet* vertices, DataSet* loads, DataSet* materials, Parameters* parameters,Vec solution, int analysis_type, int sub_analysis_type){
    1212
    1313        double* serial_solution=NULL;
     
    1717
    1818        /*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);
    2020
    2121        /*Free ressources:*/
     
    4444
    4545}
    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.