Changeset 4156


Ignore:
Timestamp:
06/23/10 09:36:41 (15 years ago)
Author:
Mathieu Morlighem
Message:

ProcessParams is not used anymore
numbrofvertices and numberofnodes are not anymore in parameters

Location:
issm/trunk/src/c
Files:
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Makefile.am

    r4143 r4156  
    511511                                        ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp\
    512512                                        ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h\
    513                                         ./modules/ProcessParamsx/ProcessParamsx.cpp\
    514                                         ./modules/ProcessParamsx/ProcessParamsx.h\
    515513                                        ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.cpp\
    516514                                        ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h\
     
    10311029                                        ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp\
    10321030                                        ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h\
    1033                                         ./modules/ProcessParamsx/ProcessParamsx.cpp\
    1034                                         ./modules/ProcessParamsx/ProcessParamsx.h\
    10351031                                        ./modules/Qmux/Qmux.h\
    10361032                                        ./modules/Qmux/Qmux.cpp\
  • issm/trunk/src/c/modules/ComputePressurex/ComputePressurex.cpp

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

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

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

    r4009 r4156  
    1313
    1414        int noerr=1;
     15        int found=0;
    1516        int i;
    16         int  found=0;
    1717       
    1818        /*intermediary: */
     
    2121
    2222        /*First, recover number of vertices and nodes from parameters: */
    23         found=parameters->FindParam(&numberofnodes,NumberOfNodesEnum);
    24         if(!found)ISSMERROR(" could not find numberofnodes in parameters");
     23        nodes->NumberOfNodes(&numberofnodes);
    2524
    2625        /*Recover number of dofs per node: */
  • issm/trunk/src/c/modules/UpdateGeometryx/UpdateGeometryx.cpp

    r4152 r4156  
    1212void UpdateGeometryx( DataSet* elements, DataSet* nodes, DataSet* vertices,DataSet* loads, DataSet* materials, Parameters* parameters){
    1313
     14        /*Intermediary*/
    1415        int i;
    15         int dof;
    16 
    17         ISSMERROR(" not support yet! needs to be redone at the element level!");
    18 
    19         /*vectorized inputs: */
    20         Vec     vec_newthickness=NULL;
    21         Vec     vec_bed=NULL;
    22         Vec     vec_surface=NULL;
    23         double* newthickness=NULL;
    24         double* bed=NULL;
    25         double* surface=NULL;
    26 
    27         /*objects: */
    28         Node* node=NULL;
    29         Object* object=NULL;
    30         Matpar* matpar=NULL;
    31 
    32         /*parameters: */
    33         double h,b,s;
    34         double rho_ice,rho_water;
     16        Element* element=NULL;
    3517
    3618        /*First, get elements and loads configured: */
    37         elements->Configure(elements,loads, nodes,vertices, materials,parameters);
    38         nodes->Configure(elements,loads, nodes,vertices, materials,parameters);
    39         materials->Configure(elements, loads, nodes,vertices, materials,parameters);
    40         loads->Configure(elements, loads, nodes,vertices, materials,parameters);
     19        elements->  Configure(elements,loads, nodes,vertices, materials,parameters);
     20        loads->     Configure(elements,loads, nodes,vertices, materials,parameters);
     21        nodes->     Configure(elements,loads, nodes,vertices, materials,parameters);
    4122        parameters->Configure(elements,loads, nodes,vertices, materials,parameters);
    4223
    43         /*retrieve inputs: */
    44         GetVectorFromInputsx( &vec_newthickness, elements, nodes,  vertices,  loads,  materials,  parameters, ThicknessEnum,VertexEnum);
    45         GetVectorFromInputsx( &vec_bed, elements, nodes,  vertices,  loads,  materials,  parameters, ThicknessEnum,VertexEnum);
    46         GetVectorFromInputsx( &vec_surface, elements, nodes,  vertices,  loads,  materials,  parameters, ThicknessEnum,VertexEnum);
    47 
    48         VecToMPISerial(&newthickness,vec_newthickness);
    49         VecToMPISerial(&bed,vec_bed);
    50         VecToMPISerial(&surface,vec_surface);
    51 
    52         /*First, find the matpar object in materials: */
    53         for(i=0;i<materials->Size();i++){
    54                 Object* object=materials->GetObjectByOffset(i);
    55                 if  (object->Enum()==MatparEnum){
    56                         matpar=(Matpar*)object;
    57                         break;
    58                 }
     24        /*Elements drive the update: */
     25        for (i=0;i<elements->Size();i++){
     26                element=(Element*)elements->GetObjectByOffset(i);
     27                //element->UpdateGeometry();
     28                ISSMERROR("not implemented yet");
    5929        }
    60 
    61         /*recover material parameters: */
    62         rho_ice=matpar->GetRhoIce();
    63         rho_water=matpar->GetRhoWater();
    64 
    65         /*Go through nodes and for each node, update the thickness, bed and surface, using the
    66          * new thickness computed in the prognostic_core part of the transient solution sequence: */
    67 
    68         for(i=0;i<nodes->Size();i++){
    69 
    70                 /*get i'th node: */
    71                 node=(Node*)vertices->GetObjectByOffset(i);
    72 
    73                 /*first, recover thickness, surface and bed for this node: */
    74                 h=newthickness[dof];
    75                 s=surface[dof];
    76                 b=bed[dof];
    77 
    78                 //First, check that thickness is >0
    79                 if(h<0)h=10;
    80 
    81                 //For grids on ice sheet, the new bed remains the same, the new surface becomes bed+new_thickness.
    82                 if (node->IsOnSheet()){
    83                         s=b+h;
    84                 }
    85 
    86                 //For grids on ice shelt, we have hydrostatic equilibrium (for now)
    87                 if (node->IsOnShelf()){
    88                         b=-rho_ice/rho_water*h;
    89                         s=(1-rho_ice/rho_water)*h;
    90                 }
    91 
    92                 /*Ok, plug values of thickness, surafce and bed into our outputs: */
    93                 VecSetValues(vec_newthickness,1,&dof,&h,INSERT_VALUES);
    94                 VecSetValues(vec_bed,1,&dof,&b,INSERT_VALUES);
    95                 VecSetValues(vec_surface,1,&dof,&s,INSERT_VALUES);
    96         }
    97 
    98         /*Assemble vectors: */
    99         VecAssemblyBegin(vec_newthickness);
    100         VecAssemblyEnd(vec_newthickness);
    101 
    102         VecAssemblyBegin(vec_bed);
    103         VecAssemblyEnd(vec_bed);
    104 
    105         VecAssemblyBegin(vec_surface);
    106         VecAssemblyEnd(vec_surface);
    107 
    108         /*Put back into inputs:*/
    109         InputUpdateFromVectorx( elements,nodes, vertices,loads, materials,  parameters,vec_newthickness,ThicknessEnum,VertexEnum); //clobber existing thickness input with new one
    110         InputUpdateFromVectorx( elements,nodes, vertices,loads, materials,  parameters,vec_bed,BedEnum,VertexEnum);
    111         InputUpdateFromVectorx( elements,nodes, vertices,loads, materials,  parameters,vec_surface,SurfaceEnum,VertexEnum);
    112 
    113         /*Free ressources:*/
    114         VecFree(&vec_newthickness);
    115         VecFree(&vec_bed);
    116         VecFree(&vec_surface);
    117         xfree((void**)&newthickness);
    118         xfree((void**)&bed);
    119         xfree((void**)&surface);
    12030       
    12131}
  • issm/trunk/src/c/modules/modules.h

    r4091 r4156  
    4040#include "./Mergesolutionfromftogx/Mergesolutionfromftogx.h"
    4141#include "./PenaltyConstraintsx/PenaltyConstraintsx.h"
    42 #include "./ProcessParamsx/ProcessParamsx.h"
    4342#include "./PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h"
    4443#include "./Gradjx/Gradjx.h"
  • issm/trunk/src/c/solvers/solver_diagnostic_nonlinear.cpp

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

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