Changeset 4185


Ignore:
Timestamp:
06/24/10 08:24:59 (15 years ago)
Author:
Mathieu Morlighem
Message:

fixed parallel: id must be renumbered correctly

Location:
issm/trunk/src/c
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/DataSet/DataSet.cpp

    r4183 r4185  
    877877}
    878878/*}}}*/
    879 /*FUNCTION DataSet::NumberOfRgbs{{{1*/
    880 int   DataSet::NumberOfRgbs(int analysis_type){
     879/*FUNCTION DataSet::NumberOfLocalRgbs{{{1*/
     880int   DataSet::NumberOfLocalRgbs(int analysis_type){
    881881
    882882        vector<Object*>::iterator object;
     
    898898/*}}}*/
    899899/*FUNCTION DataSet::NumberOfNodes{{{1*/
    900 void DataSet::NumberOfNodes(int* pnumberofnodes){
     900int DataSet::NumberOfNodes(void){
    901901
    902902        vector<Object*>::iterator object;
     
    924924        max_sid++;
    925925
    926         /*Assign output pointers:*/
    927         *pnumberofnodes=max_sid;
     926        /*return*/
     927        return max_sid;
    928928}
    929929/*}}}*/
    930930/*FUNCTION DataSet::NumberOfVertices{{{1*/
    931 void DataSet::NumberOfVertices(int* pnumberofvertices){
     931int DataSet::NumberOfVertices(void){
    932932
    933933        vector<Object*>::iterator object;
     
    955955        max_sid++;
    956956
    957         /*Assign output pointers:*/
    958         *pnumberofvertices=max_sid;
     957        /*return:*/
     958        return max_sid;
     959}
     960/*}}}*/
     961/*FUNCTION DataSet::NumberOfLoads{{{1*/
     962int DataSet::NumberOfLoads(void){
     963
     964        int localloads;
     965        int numberofloads;
     966
     967        /*Get number of local loads*/
     968        localloads=this->Size();
     969
     970        /*figure out total number of loads combining all the cpus (no clones here)*/
     971#ifdef _PARALLEL_
     972        MPI_Reduce(&localloads,&numberofloads,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD );
     973        MPI_Bcast(&numberofloads,1,MPI_INT,0,MPI_COMM_WORLD);
     974#else
     975        numberofloads=localloads;
     976#endif
     977
     978  return numberofloads;
     979}
     980/*}}}*/
     981/*FUNCTION DataSet::NumberOfConstraints{{{1*/
     982int DataSet::NumberOfConstraints(void){
     983
     984        int localconstraints;
     985        int numberofconstraints;
     986
     987        /*Get number of local constraints*/
     988        localconstraints=this->Size();
     989
     990        /*figure out total number of constraints combining all the cpus (no clones here)*/
     991#ifdef _PARALLEL_
     992        MPI_Reduce(&localconstraints,&numberofconstraints,1,MPI_INT,MPI_SUM,0,MPI_COMM_WORLD );
     993        MPI_Bcast(&numberofconstraints,1,MPI_INT,0,MPI_COMM_WORLD);
     994#else
     995        numberofconstraints=localconstraints;
     996#endif
     997
     998        return numberofconstraints;
    959999}
    9601000/*}}}*/
  • issm/trunk/src/c/DataSet/DataSet.h

    r4147 r4185  
    5757                void  FlagClones(int numberofnodes);
    5858                int   NumberOfDofs(int analysis_type);
    59                 int   NumberOfRgbs(int analysis_type);
    60                 void  NumberOfVertices(int* pnumberofvertices);
    61                 void  NumberOfNodes(int* pnumberofnodes);
     59                int   NumberOfLocalRgbs(int analysis_type);
     60                int   NumberOfVertices(void);
     61                int   NumberOfNodes(void);
     62                int   NumberOfLoads(void);
     63                int   NumberOfConstraints(void);
    6264                void  SetupSpcs(DataSet* nodes,Vec yg,int analysis_type);
    6365                void  SetupMpcs(Mat Rmg,DataSet* nodes,int analysis_type);
  • issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp

    r4156 r4185  
    2121
    2222        /*Recover numberofnodes: */
    23         nodes->NumberOfNodes(&numberofnodes);
     23        numberofnodes=nodes->NumberOfNodes();
    2424
    2525        /*Allocate p_g on numberofnodes (only 1 dof): */
  • issm/trunk/src/c/modules/FieldAverageOntoVerticesx/FieldAverageOntoVerticesx.cpp

    r4156 r4185  
    2424
    2525        /*Initialize intermediary*/
    26         vertices->NumberOfVertices(&numberofvertices);
     26        numberofvertices=vertices->NumberOfVertices();
    2727        connectivity=NewVec(numberofvertices);
    2828        fieldsum    =NewVec(numberofvertices);
  • issm/trunk/src/c/modules/Gradjx/Gradjx.cpp

    r4156 r4185  
    2424        /*retrieve some parameters: */
    2525        parameters->FindParam(&dim,DimEnum);
    26         vertices->NumberOfVertices(&numberofvertices);
     26        numberofvertices=vertices->NumberOfVertices();
    2727
    2828        /*Compute gradients: */
  • issm/trunk/src/c/modules/ModelProcessorx/UpdateCounters.cpp

    r4025 r4185  
    2727
    2828
    29         if(nodes)iomodel->nodecounter=nodes->Size();
     29        if(nodes)iomodel->nodecounter=nodes->NumberOfNodes();
    3030        else iomodel->nodecounter=0;
    3131
    32         if(loads)iomodel->loadcounter=loads->Size();
     32        if(loads)iomodel->loadcounter=loads->NumberOfLoads();
    3333        else iomodel->loadcounter=0;
    3434       
    35         if(constraints)iomodel->constraintcounter=constraints->Size();
     35        if(constraints)iomodel->constraintcounter=constraints->NumberOfConstraints();
    3636        else iomodel->constraintcounter=0;
    3737
  • issm/trunk/src/c/modules/MpcNodesx/MpcNodesx.cpp

    r4003 r4185  
    3131
    3232        /*Get number of equations from number of constraints: */
    33         numberofequations=constraints->NumberOfRgbs(analysis_type);
     33        numberofequations=constraints->NumberOfLocalRgbs(analysis_type);
    3434
    3535        if(numberofequations){
  • issm/trunk/src/c/modules/NodesDofx/NodesDofx.cpp

    r4156 r4185  
    2020        int  numberofdofspernode;
    2121
    22         /*First, recover number of vertices and nodes from parameters: */
    23         nodes->NumberOfNodes(&numberofnodes);
     22        /*First, recover number of vertices and nodes: */
     23        numberofnodes=nodes->NumberOfNodes();
    2424
    2525        /*Recover number of dofs per node: */
  • issm/trunk/src/c/modules/VerticesDofx/VerticesDofx.cpp

    r4168 r4185  
    2828
    2929        /*figure out how many vertices we have: */
    30         vertices->NumberOfVertices(&numberofvertices);
     30        numberofvertices=vertices->NumberOfVertices();
    3131
    3232        /*Ensure that only for each cpu, the partition border vertices only will be taken into account once
  • issm/trunk/src/c/objects/Node.cpp

    r4180 r4185  
    250250        printf("   analysis_type: %s\n",EnumAsString(analysis_type));
    251251        indexing.Echo();
    252         hvertex.Echo();
    253         hupper_node.Echo();
    254         printf("   inputs\n");
    255         inputs->Echo();
     252        printf("   hvertex:     not displayed\n");
     253        printf("   hupper_node: not displayed\n");
     254        printf("   inputs:      %p\n",inputs);
    256255
    257256
  • issm/trunk/src/c/solvers/solver_diagnostic_nonlinear.cpp

    r4156 r4185  
    4242        /*Recover parameters: */
    4343        kflag=1; pflag=1;
    44         femmodel->nodes->NumberOfNodes(&numberofnodes);
     44        numberofnodes=femmodel->nodes->NumberOfNodes();
    4545        femmodel->parameters->FindParam(&solver_string,SolverStringEnum);
    4646        femmodel->parameters->FindParam(&dim,DimEnum);
  • issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp

    r4156 r4185  
    4242        kflag=1; pflag=1;
    4343
    44         fem->nodes->NumberOfNodes(&numberofnodes);
     44        numberofnodes=fem->nodes->NumberOfNodes();
    4545        fem->parameters->FindParam(&solver_string,SolverStringEnum);
    4646        fem->parameters->FindParam(&verbose,VerboseEnum);
Note: See TracChangeset for help on using the changeset viewer.