Changeset 14763


Ignore:
Timestamp:
04/25/13 15:59:57 (12 years ago)
Author:
Mathieu Morlighem
Message:

NEW: GetVerticesCoordinates now relies on vertices rather than nodes (change required for higher order elements)

Location:
issm/trunk-jpl/src/c
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp

    r14761 r14763  
    267267
    268268        /* Get node coordinates and dof list: */
    269         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     269        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    270270        for(i=0;i<3;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    271271
     
    335335
    336336        /* Get node coordinates and dof list: */
    337         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     337        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    338338
    339339        /*Retrieve all inputs we will be needing: */
     
    970970
    971971        /*Get xyz list: */
    972         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
     972        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    973973        xmin=xyz_list[0][0]; xmax=xyz_list[0][0];
    974974        ymin=xyz_list[0][1]; ymax=xyz_list[0][1];
     
    13171317        IssmDouble z_list[NUMVERTICES];
    13181318
    1319         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     1319        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    13201320        for(i=0;i<NUMVERTICES;i++) z_list[i]=xyz_list[i][2];
    13211321        PentaRef::GetInputValue(&z,z_list,gauss);
     
    15411541
    15421542                /*Step2: Create element thickness input*/
    1543                 GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
     1543                GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
    15441544                for(i=0;i<3;i++){
    15451545                        Helem_list[i]=xyz_list[i+3][2]-xyz_list[i][2];
     
    29842984
    29852985        /* Get node coordinates and dof list: */
    2986         GetVerticesCoordinates(&xyz_list[0][0], this->nodes, NUMVERTICES);
     2986        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    29872987
    29882988        minx=xyz_list[0][0];
     
    32033203
    32043204        /*Retrieve all inputs and parameters*/
    3205         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3205        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    32063206        Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
    32073207        Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
     
    32463246        if(IsOnWater())return 0;
    32473247
    3248         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3248        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    32493249
    32503250        /*First calculate the area of the base (cross section triangle)
     
    34743474        if(IsOnWater() || !IsOnSurface()) return 0.;
    34753475
    3476         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3476        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    34773477
    34783478        /*First calculate the area of the base (cross section triangle)
     
    35533553
    35543554        /*Retrieve all inputs and parameters*/
    3555         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3555        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    35563556        rho_water=matpar->GetRhoWater();
    35573557        rho_ice=matpar->GetRhoIce();
     
    37033703        rho_ice=matpar->GetRhoIce();
    37043704        heatcapacity=matpar->GetHeatCapacity();
    3705         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3705        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    37063706        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    37073707
     
    37863786
    37873787        /*Retrieve all inputs and parameters*/
    3788         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3788        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    37893789        rho_water=matpar->GetRhoWater();
    37903790        rho_ice=matpar->GetRhoIce();
     
    39343934        rho_ice=matpar->GetRhoIce();
    39353935        heatcapacity=matpar->GetHeatCapacity();
    3936         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3936        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    39373937        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    39383938
     
    40044004
    40054005        /*Retrieve all inputs and parameters*/
    4006         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4006        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    40074007        rho_ice=matpar->GetRhoIce();
    40084008        heatcapacity=matpar->GetHeatCapacity();
     
    40964096
    40974097        /*Retrieve all inputs and parameters*/
    4098         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4098        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    40994099        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    41004100        mixed_layer_capacity=matpar->GetMixedLayerCapacity();
     
    41574157
    41584158        /*Retrieve all inputs and parameters*/
    4159         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4159        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    41604160        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    41614161        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
     
    42664266
    42674267        /*Retrieve all inputs and parameters*/
    4268         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4268        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    42694269        rho_ice=matpar->GetRhoIce();
    42704270        heatcapacity=matpar->GetHeatCapacity();
     
    43504350
    43514351        /*Retrieve all inputs and parameters*/
    4352         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4352        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    43534353        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    43544354        mixed_layer_capacity=matpar->GetMixedLayerCapacity();
     
    44094409
    44104410        /*Retrieve all inputs and parameters*/
    4411         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4411        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    44124412        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    44134413        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
     
    45434543
    45444544        /*Get all inputs and parameters*/
    4545         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4545        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    45464546        Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input);
    45474547
     
    46114611
    46124612        /*Get all inputs and parameters*/
    4613         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4613        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    46144614        GetInputListOnVertices(&pressure[0],PressureEnum);
    46154615        Input* surface_input=inputs->GetInput(SurfaceEnum); _assert_(surface_input);
     
    48114811
    48124812        /*Retrieve all inputs and parameters*/
    4813         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4813        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    48144814        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    48154815        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    48794879
    48804880        /*Retrieve all inputs and parameters*/
    4881         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4881        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    48824882        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    48834883        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    51335133        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    51345134        GradientIndexing(&vertexpidlist[0],control_index);
    5135         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5135        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    51365136        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    51375137        Input* adjointx_input=inputs->GetInput(AdjointxEnum);               _assert_(adjointx_input);
     
    52055205        /*Retrieve all inputs and parameters*/
    52065206        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    5207         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5207        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    52085208        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    52095209        GradientIndexing(&vertexpidlist[0],control_index);
     
    60096009
    60106010        /* Get node coordinates and dof list: */
    6011         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6011        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    60126012        this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
    60136013        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
     
    60996099
    61006100        /*retrieve inputs :*/
    6101         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6101        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    61026102        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    61036103        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
     
    62196219
    62206220        /* Get node coordinates and dof list: */
    6221         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6221        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    62226222        parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
    62236223        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
     
    63236323
    63246324        /*Retrieve all inputs and parameters*/
    6325         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6325        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    63266326        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    63276327        parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
     
    66116611
    66126612        /*Retrieve all inputs and parameters*/
    6613         GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES);
     6613        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    66146614        this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
    66156615        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
     
    67586758
    67596759        /*Retrieve all inputs and parameters*/
    6760         GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES);
     6760        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    67616761        Input* vx_input=inputs->GetInput(VxEnum);        _assert_(vx_input);
    67626762        Input* vy_input=inputs->GetInput(VyEnum);        _assert_(vy_input);
     
    68556855        /*Retrieve all inputs and parameters*/
    68566856        inputs->GetInputValue(&approximation,ApproximationEnum);
    6857         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6857        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    68586858        this->parameters->FindParam(&viscosity_overshoot,DiagnosticViscosityOvershootEnum);
    68596859        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
     
    69236923
    69246924        /*Retrieve all inputs and parameters*/
    6925         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6925        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    69266926        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<2;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    69276927        parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
     
    70277027
    70287028        /*Retrieve all inputs and parameters*/
    7029         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7029        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    70307030        parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
    70317031        Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
     
    70947094
    70957095        /*Retrieve all inputs and parameters*/
    7096         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7096        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    70977097        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    70987098        parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
     
    71727172
    71737173        /*Retrieve all inputs and parameters*/
    7174         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7174        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    71757175
    71767176        /* Start  looping on the number of gaussian points: */
     
    72187218
    72197219        /*Retrieve all inputs and parameters*/
    7220         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7220        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    72217221        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i+3][j];
    72227222        SurfaceNormal(&surface_normal[0],xyz_list_tria);
     
    72827282
    72837283        /*Retrieve all inputs and parameters*/
    7284         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7284        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    72857285        this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
    72867286        Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
     
    73497349
    73507350        /*Retrieve all inputs and parameters*/
    7351         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7351        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    73527352        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    73537353        this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
     
    74337433
    74347434        /*Retrieve all inputs and parameters*/
    7435         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7435        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    74367436        this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
    74377437        Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
     
    75007500
    75017501        /*Retrieve all inputs and parameters*/
    7502         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7502        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    75037503        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    75047504        this->parameters->FindParam(&stokesreconditioning,DiagnosticStokesreconditioningEnum);
     
    76437643
    76447644        /*Retrieve all inputs and parameters*/
    7645         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7645        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    76467646        rho_ice=matpar->GetRhoIce();
    76477647        gravity=matpar->GetG();
     
    77547754
    77557755        /*Retrieve all inputs and parameters*/
    7756         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7756        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    77577757        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    77587758        Input* surface_input=inputs->GetInput(SurfaceEnum);     _assert_(surface_input);
     
    78307830        rho_ice=matpar->GetRhoIce();
    78317831        gravity=matpar->GetG();
    7832         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7832        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    78337833        Input* vx_input=inputs->GetInput(VxEnum);   _assert_(vx_input);
    78347834        Input* vy_input=inputs->GetInput(VyEnum);   _assert_(vy_input);
     
    79137913        rho_water=matpar->GetRhoWater();
    79147914        gravity=matpar->GetG();
    7915         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7915        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    79167916        Input* bed_input=inputs->GetInput(BedEnum); _assert_(bed_input);
    79177917        Input* vx_input=inputs->GetInput(VxEnum);   _assert_(vx_input);
     
    79887988
    79897989        /*Retrieve all inputs and parameters*/
    7990         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     7990        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    79917991        inputs->GetInputValue(&approximation,ApproximationEnum);
    79927992        Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
     
    80478047
    80488048        /*Retrieve all inputs and parameters*/
    8049         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8049        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    80508050        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
    80518051        inputs->GetInputValue(&approximation,ApproximationEnum);
     
    81648164
    81658165        /*Retrieve all inputs and parameters*/
    8166         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8166        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    81678167        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    81688168        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    82298229
    82308230        /*Retrieve all inputs and parameters*/
    8231         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8231        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    82328232        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    82338233        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    85958595
    85968596                /*Get node data: */
    8597                 GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
     8597                GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
    85988598
    85998599                /*Now Compute vel*/
     
    86588658
    86598659        /*Get node data: */
    8660         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8660        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    86618661
    86628662        /*Use the dof list to index into the solution vector: */
     
    87458745
    87468746        /*Get node data: */
    8747         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8747        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    87488748
    87498749        /*Use the dof list to index into the solution vector: */
     
    88608860
    88618861                /*Get node data: */
    8862                 GetVerticesCoordinates(&xyz_list[0][0],penta->nodes,NUMVERTICES);
     8862                GetVerticesCoordinates(&xyz_list[0][0],penta->vertices,NUMVERTICES);
    88638863
    88648864                /*Now Compute vel*/
     
    89148914
    89158915        /*Get node data: */
    8916         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     8916        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    89178917
    89188918        /*Use the dof list to index into the solution vector: */
     
    89998999
    90009000        /*Get node data: */
    9001         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     9001        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    90029002
    90039003        /*Use the dof list to index into the solution vector: */
     
    90829082
    90839083        /*Get node data: */
    9084         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     9084        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    90859085
    90869086        /*Use the dof list to index into the solution vector: */
     
    91539153        /*Get dof list and vertices coordinates: */
    91549154        GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
    9155         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     9155        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    91569156
    91579157        /*Use the dof list to index into the solution vector vz: */
  • issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp

    r14761 r14763  
    297297
    298298        /*Retrieve all inputs and parameters*/
    299         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     299        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    300300        latentheat=matpar->GetLatentHeat();
    301301        heatcapacity=matpar->GetHeatCapacity();
     
    363363
    364364        /*Retrieve all inputs and parameters*/
    365         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     365        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    366366        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    367367        this->parameters->FindParam(&dim,MeshDimensionEnum);
     
    478478
    479479        /*Retrieve all inputs and parameters*/
    480         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     480        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    481481        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    482482        this->parameters->FindParam(&dim,MeshDimensionEnum);
     
    546546        ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,NoneApproximationEnum);
    547547
    548         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
     548        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    549549
    550550        /* Start looping on the number of gaussian points: */
     
    667667
    668668        /*Retrieve all inputs and parameters*/
    669         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     669        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    670670        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    671671        Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
     
    718718        /*Retrieve all inputs and parameters*/
    719719        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    720         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     720        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    721721        Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
    722722        Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
     
    764764        /*Retrieve all inputs and parameters*/
    765765        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    766         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     766        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    767767        Input* slope_input=NULL;
    768768        if ( (analysis_type==SurfaceSlopeXAnalysisEnum) || (analysis_type==SurfaceSlopeYAnalysisEnum)){
     
    855855
    856856        /* Get node coordinates and dof list: */
    857         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     857        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    858858
    859859        /*Retrieve all inputs we will be needing: */
     
    10821082
    10831083        /*Get xyz list: */
    1084         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     1084        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    10851085        x1=xyz_list[0][0]; y1=xyz_list[0][1];
    10861086        x2=xyz_list[1][0]; y2=xyz_list[1][1];
     
    25382538        if(IsOnWater())return 0;
    25392539
    2540         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     2540        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    25412541
    25422542        for(int i=0;i<3;i++){
     
    26022602
    26032603        /* Get node coordinates and dof list: */
    2604         GetVerticesCoordinates(&xyz_list[0][0], this->nodes, NUMVERTICES);
     2604        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    26052605
    26062606        minx=xyz_list[0][0];
     
    27552755        if(IsOnWater())return 0;
    27562756
    2757         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     2757        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    27582758
    27592759        /*First calculate the area of the base (cross section triangle)
     
    27962796
    27972797        /*Get xyz list: */
    2798         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     2798        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    27992799
    28002800        /*get area coordinates of 0 and 1 locations: */
     
    30313031   if(IsOnWater())return 0;
    30323032
    3033         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3033        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    30343034
    30353035        /*First calculate the area of the base (cross section triangle)
     
    31203120
    31213121        /*figure out gravity center of our element: */
    3122         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3122        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    31233123        x0=(xyz_list[0][0]+xyz_list[1][0]+xyz_list[2][0])/3.0;
    31243124        y0=(xyz_list[0][1]+xyz_list[1][1]+xyz_list[2][1])/3.0;
     
    32023202
    32033203        /*Retrieve all inputs and parameters*/
    3204         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3204        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    32053205        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    32063206        Input* vx_input=inputs->GetInput(VxEnum);               _assert_(vx_input);
     
    32733273
    32743274        /*Retrieve all inputs and parameters*/
    3275         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3275        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    32763276        parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
    32773277        Input* surface_input=inputs->GetInput(SurfaceEnum);       _assert_(surface_input);
     
    33713371
    33723372        /*Retrieve all inputs and parameters*/
    3373         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3373        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    33743374        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    33753375        Input* surface_input=inputs->GetInput(SurfaceEnum);     _assert_(surface_input);
     
    34783478
    34793479        /*Retrieve all inputs and parameters*/
    3480         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3480        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    34813481        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    34823482        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    37423742
    37433743        /*Retrieve all inputs we will be needing: */
    3744         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3744        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    37453745        Input* weights_input              = inputs->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
    37463746        Input* thickness_input            = inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
     
    39573957
    39583958        /*Retrieve all inputs we will be needing: */
    3959         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3959        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    39603960        GradientIndexing(&vertexpidlist[0],control_index);
    39613961        Input* rheologyb_input=material->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
     
    39973997
    39983998        /*Retrieve all inputs we will be needing: */
    3999         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     3999        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    40004000        GradientIndexing(&vertexpidlist[0],control_index);
    40014001        Input* rheologyz_input=material->inputs->GetInput(MaterialsRheologyZbarEnum); _assert_(rheologyz_input);
     
    40394039
    40404040        /* Get node coordinates and dof list: */
    4041         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4041        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    40424042        GradientIndexing(&doflist[0],control_index);
    40434043
     
    40964096
    40974097        /* Get node coordinates and dof list: */
    4098         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4098        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    40994099        GradientIndexing(&doflist[0],control_index);
    41004100
     
    41604160        /*retrive parameters: */
    41614161        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    4162         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4162        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    41634163        GradientIndexing(&vertexpidlist[0],control_index);
    41644164        this->GetConnectivityList(&connectivity[0]);
     
    42404240        /*Retrieve all inputs we will be needing: */
    42414241        if(IsFloating())return;
    4242         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4242        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    42434243        GradientIndexing(&vertexpidlist[0],control_index);
    42444244        Input* dragcoefficient_input=inputs->GetInput(FrictionCoefficientEnum); _assert_(dragcoefficient_input);
     
    43004300
    43014301        /* Get node coordinates and dof list: */
    4302         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4302        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    43034303        GradientIndexing(&vertexpidlist[0],control_index);
    43044304
     
    43434343
    43444344        /* Get node coordinates and dof list: */
    4345         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4345        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    43464346        GradientIndexing(&vertexpidlist[0],control_index);
    43474347
     
    43924392
    43934393        /* Get node coordinates and dof list: */
    4394         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4394        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    43954395        GradientIndexing(&vertexpidlist[0],control_index);
    43964396
    43974397        /*Retrieve all inputs and parameters*/
    4398         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4398        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    43994399        this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
    44004400        this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
     
    45124512
    45134513        /*Retrieve all inputs we will be needing: */
    4514         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4514        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    45154515        Input* weights_input  =inputs->GetInput(InversionCostFunctionsCoefficientsEnum);              _assert_(weights_input);
    45164516        Input* rheologyb_input=material->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input);
     
    45514551
    45524552        /* Get node coordinates and dof list: */
    4553         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4553        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    45544554
    45554555        /*Retrieve all inputs we will be needing: */
     
    46124612
    46134613        /* Get node coordinates and dof list: */
    4614         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4614        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    46154615
    46164616        /*Retrieve all inputs we will be needing: */
     
    46744674
    46754675        /* Get node coordinates and dof list: */
    4676         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4676        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    46774677
    46784678        /*Retrieve all inputs we will be needing: */
     
    47344734
    47354735        /* Get node coordinates and dof list: */
    4736         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4736        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    47374737
    47384738        /*Retrieve all inputs we will be needing: */
     
    47954795
    47964796        /* Get node coordinates and dof list: */
    4797         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4797        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    47984798
    47994799        /*Retrieve all inputs we will be needing: */
     
    48584858
    48594859        /*Retrieve all inputs we will be needing: */
    4860         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4860        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    48614861        Input* weights_input  =inputs->GetInput(InversionCostFunctionsCoefficientsEnum);   _assert_(weights_input);
    48624862        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
     
    49024902
    49034903        /*Retrieve all inputs we will be needing: */
    4904         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4904        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    49054905        Input* weights_input  = inputs->GetInput(InversionCostFunctionsCoefficientsEnum); _assert_(weights_input);
    49064906        Input* thickness_input= inputs->GetInput(ThicknessEnum);                          _assert_(thickness_input);
     
    49534953
    49544954        /*Retrieve all inputs we will be needing: */
    4955         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     4955        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    49564956        Input* weights_input  = inputs->GetInput(InversionCostFunctionsCoefficientsEnum); _assert_(weights_input);
    49574957        Input* thickness_input= inputs->GetInput(ThicknessEnum);                          _assert_(thickness_input);
     
    50015001
    50025002        /*Retrieve all inputs we will be needing: */
    5003         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5003        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    50045004        Input* thickness_input   =inputs->GetInput(ThicknessEnum);   _assert_(thickness_input);
    50055005        Input* thicknessobs_input=inputs->GetInput(InversionThicknessObsEnum);_assert_(thicknessobs_input);
     
    50535053
    50545054        /*Retrieve all inputs and parameters*/
    5055         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5055        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    50565056        this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
    50575057        this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
     
    51425142
    51435143        /*Retrieve all inputs and parameters*/
    5144         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5144        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    51455145        this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
    51465146        this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
     
    53245324
    53255325        /*Retrieve all inputs and parameters*/
    5326         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5326        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    53275327        this->parameters->FindParam(&num_responses,InversionNumCostFunctionsEnum);
    53285328        this->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum);
     
    55025502
    55035503        /*Retrieve all inputs we will be needing: */
    5504         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5504        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    55055505        Input* weights_input=inputs->GetInput(InversionCostFunctionsCoefficientsEnum);         _assert_(weights_input);
    55065506        Input* drag_input   =inputs->GetInput(FrictionCoefficientEnum); _assert_(drag_input);
     
    55755575
    55765576        /*Retrieve all inputs and parameters*/
    5577         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5577        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    55785578        Input* vx_input=inputs->GetInput(VxEnum);       _assert_(vx_input);
    55795579        Input* vy_input=inputs->GetInput(VyEnum);       _assert_(vy_input);
     
    58575857       
    58585858        /*Retrieve all inputs and parameters*/
    5859         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     5859        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    58605860        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    58615861        this->parameters->FindParam(&diffusivity,HydrologyshreveStabilizationEnum);
     
    59495949
    59505950        /*Retrieve all inputs and parameters*/
    5951         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
     5951        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    59525952        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    59535953        sediment_storing       = matpar->GetSedimentStoring();
     
    60106010
    60116011        /*Retrieve all inputs and parameters*/
    6012         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES);
     6012        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    60136013        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    60146014        epl_storing       = matpar->GetEplStoring();
     
    60956095
    60966096        /*Retrieve all inputs and parameters*/
    6097         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6097        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    60986098        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    60996099        Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum); _assert_(basal_melting_input);
     
    61426142        /*Retrieve all inputs and parameters*/
    61436143        sediment_storing = matpar->GetSedimentStoring();
    6144         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6144        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    61456145        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    61466146        Input* water_input=inputs->GetInput(BasalforcingsMeltingRateEnum);  _assert_(water_input);
     
    61996199        /*Retrieve all inputs and parameters*/
    62006200        epl_storing = matpar->GetEplStoring();
    6201         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6201        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    62026202        this->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    62036203        Input* water_input=inputs->GetInput(BasalforcingsMeltingRateEnum);  _assert_(water_input);
     
    65266526
    65276527        /*Retrieve all Inputs and parameters: */
    6528         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6528        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    65296529        this->parameters->FindParam(&stabilization,BalancethicknessStabilizationEnum);
    65306530        this->parameters->FindParam(&dim,MeshDimensionEnum);
     
    66306630
    66316631        /*Retrieve all inputs and parameters*/
    6632         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6632        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    66336633        this->parameters->FindParam(&dim,MeshDimensionEnum);
    66346634        Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input);
     
    66956695
    66966696        /*Retrieve all inputs and parameters*/
    6697         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6697        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    66986698        Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
    66996699        Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
     
    67386738
    67396739        /*Retrieve all inputs and parameters*/
    6740         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES);
     6740        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    67416741        Input* surface_mass_balance_input=inputs->GetInput(SurfaceforcingsMassBalanceEnum); _assert_(surface_mass_balance_input);
    67426742        Input* basal_melting_input=inputs->GetInput(BasalforcingsMeltingRateEnum);          _assert_(basal_melting_input);
  • issm/trunk-jpl/src/c/classes/objects/Loads/Icefront.cpp

    r14761 r14763  
    521521
    522522        /*Retrieve all inputs and parameters*/
    523         GetVerticesCoordinates(&xyz_list[0][0],nodes,numnodes);
     523        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESSEG);
    524524        Input* thickness_input=tria->inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    525525        Input* bed_input      =tria->inputs->GetInput(BedEnum);       _assert_(bed_input);
     
    641641
    642642        /*Retrieve all inputs and parameters*/
    643         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICESQUA);
     643        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESQUA);
    644644        Input* surface_input  =penta->inputs->GetInput(SurfaceEnum);   _assert_(surface_input);
    645645        inputs->GetInputValue(&fill,FillEnum);
     
    718718
    719719        /*Retrieve all inputs and parameters*/
    720         GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICESQUA);
     720        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICESQUA);
    721721        inputs->GetInputValue(&fill,FillEnum);
    722722        rho_water=matpar->GetRhoWater();
  • issm/trunk-jpl/src/c/classes/objects/Loads/Numericalflux.cpp

    r14761 r14763  
    2020
    2121/*Load macros*/
    22 #define NUMVERTICES_INTERNAL 4
    23 #define NUMVERTICES_BOUNDARY 2
     22#define NUMVERTICES 2
     23#define NUMNODES_INTERNAL 4
     24#define NUMNODES_BOUNDARY 2
    2425
    2526/*Numericalflux constructors and destructor*/
     
    132133        /*Hooks: */
    133134        this->hnodes    =new Hook(numericalflux_node_ids,num_nodes);
    134         this->hvertices =new Hook(numericalflux_vertex_ids,2);
     135        this->hvertices =new Hook(&numericalflux_vertex_ids[0],2);
    135136        this->helement  =new Hook(numericalflux_elem_ids,1); // take only the first element for now
    136137
     
    327328        switch(type){
    328329                case InternalEnum:
    329                         for(int i=0;i<NUMVERTICES_INTERNAL;i++) sidlist[i]=nodes[i]->Sid();
     330                        for(int i=0;i<NUMNODES_INTERNAL;i++) sidlist[i]=nodes[i]->Sid();
    330331                        return;
    331332                case BoundaryEnum:
    332                         for(int i=0;i<NUMVERTICES_BOUNDARY;i++) sidlist[i]=nodes[i]->Sid();
     333                        for(int i=0;i<NUMNODES_BOUNDARY;i++) sidlist[i]=nodes[i]->Sid();
    333334                        return;
    334335                default:
     
    345346        switch(type){
    346347                case InternalEnum:
    347                         return NUMVERTICES_INTERNAL;
     348                        return NUMNODES_INTERNAL;
    348349                case BoundaryEnum:
    349                         return NUMVERTICES_BOUNDARY;
     350                        return NUMNODES_BOUNDARY;
    350351                default:
    351352                        _error_("Numericalflux type " << EnumToStringx(type) << " not supported yet");
     
    454455
    455456        /* constants*/
    456         const int numdof=NDOF1*NUMVERTICES_INTERNAL;
     457        const int numdof=NDOF1*NUMNODES_INTERNAL;
    457458
    458459        /* Intermediaries*/
    459460        int        i,j,ig,index1,index2;
    460461        IssmDouble     DL1,DL2,Jdet,dt,vx,vy,UdotN;
    461         IssmDouble     xyz_list[NUMVERTICES_INTERNAL][3];
     462        IssmDouble     xyz_list[NUMVERTICES][3];
    462463        IssmDouble     normal[2];
    463464        IssmDouble     B[numdof];
     
    470471        Tria*  tria=(Tria*)element;
    471472        if(tria->IsOnWater()) return NULL;
    472         ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES_INTERNAL,this->parameters);
     473        ElementMatrix* Ke=new ElementMatrix(nodes,NUMNODES_INTERNAL,this->parameters);
    473474
    474475        /*Retrieve all inputs and parameters*/
    475         GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES_INTERNAL);
     476        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    476477        parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    477478        Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
     
    519520
    520521        /* constants*/
    521         const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
     522        const int numdof=NDOF1*NUMNODES_BOUNDARY;
    522523
    523524        /* Intermediaries*/
    524525        int        i,j,ig,index1,index2;
    525526        IssmDouble     DL,Jdet,dt,vx,vy,mean_vx,mean_vy,UdotN;
    526         IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
     527        IssmDouble     xyz_list[NUMVERTICES][3];
    527528        IssmDouble     normal[2];
    528529        IssmDouble     L[numdof];
     
    536537
    537538        /*Retrieve all inputs and parameters*/
    538         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
     539        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    539540        parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    540541        Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input);
     
    557558        }
    558559        else{
    559                 Ke=new ElementMatrix(nodes,NUMVERTICES_BOUNDARY,this->parameters);
     560                Ke=new ElementMatrix(nodes,NUMNODES_BOUNDARY,this->parameters);
    560561        }
    561562
     
    607608
    608609        /* constants*/
    609         const int numdof=NDOF1*NUMVERTICES_INTERNAL;
     610        const int numdof=NDOF1*NUMNODES_INTERNAL;
    610611
    611612        /* Intermediaries*/
    612613        int        i,j,ig,index1,index2;
    613614        IssmDouble     DL1,DL2,Jdet,vx,vy,UdotN;
    614         IssmDouble     xyz_list[NUMVERTICES_INTERNAL][3];
     615        IssmDouble     xyz_list[NUMVERTICES][3];
    615616        IssmDouble     normal[2];
    616617        IssmDouble     B[numdof];
     
    623624        Tria*  tria=(Tria*)element;
    624625        if(tria->IsOnWater()) return NULL;
    625         ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES_INTERNAL,this->parameters);
     626        ElementMatrix* Ke=new ElementMatrix(nodes,NUMNODES_INTERNAL,this->parameters);
    626627
    627628        /*Retrieve all inputs and parameters*/
    628         GetVerticesCoordinates(&xyz_list[0][0], nodes,NUMVERTICES_INTERNAL);
     629        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    629630        Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
    630631        Input* vyaverage_input=tria->inputs->GetInput(VyEnum);
     
    671672
    672673        /* constants*/
    673         const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
     674        const int numdof=NDOF1*NUMNODES_BOUNDARY;
    674675
    675676        /* Intermediaries*/
    676677        int        i,j,ig,index1,index2;
    677678        IssmDouble     DL,Jdet,vx,vy,mean_vx,mean_vy,UdotN;
    678         IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
     679        IssmDouble     xyz_list[NUMVERTICES][3];
    679680        IssmDouble     normal[2];
    680681        IssmDouble     L[numdof];
     
    688689
    689690        /*Retrieve all inputs and parameters*/
    690         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
     691        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    691692        Input* vxaverage_input=tria->inputs->GetInput(VxEnum);
    692693        Input* vyaverage_input=tria->inputs->GetInput(VyEnum);
     
    708709        }
    709710        else{
    710                 Ke=new ElementMatrix(nodes,NUMVERTICES_BOUNDARY,this->parameters);
     711                Ke=new ElementMatrix(nodes,NUMNODES_BOUNDARY,this->parameters);
    711712        }
    712713
     
    798799
    799800        /* constants*/
    800         const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
     801        const int numdof=NDOF1*NUMNODES_BOUNDARY;
    801802
    802803        /* Intermediaries*/
    803804        int        i,ig,index1,index2;
    804805        IssmDouble     DL,Jdet,dt,vx,vy,mean_vx,mean_vy,UdotN,thickness;
    805         IssmDouble     xyz_list[NUMVERTICES_BOUNDARY][3];
     806        IssmDouble     xyz_list[NUMVERTICES][3];
    806807        IssmDouble     normal[2];
    807808        IssmDouble     L[numdof];
     
    814815
    815816        /*Retrieve all inputs and parameters*/
    816         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
     817        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    817818        parameters->FindParam(&dt,TimesteppingTimeStepEnum);
    818819        Input* vxaverage_input   =tria->inputs->GetInput(VxEnum);                     _assert_(vxaverage_input);
     
    836837        }
    837838        else{
    838                 pe=new ElementVector(nodes,NUMVERTICES_BOUNDARY,this->parameters);
     839                pe=new ElementVector(nodes,NUMNODES_BOUNDARY,this->parameters);
    839840        }
    840841
     
    892893
    893894        /* constants*/
    894         const int numdof=NDOF1*NUMVERTICES_BOUNDARY;
     895        const int numdof=NDOF1*NUMNODES_BOUNDARY;
    895896
    896897        /* Intermediaries*/
    897898        int        i,ig,index1,index2;
    898899        IssmDouble DL,Jdet,vx,vy,mean_vx,mean_vy,UdotN,thickness;
    899         IssmDouble xyz_list[NUMVERTICES_BOUNDARY][3];
     900        IssmDouble xyz_list[NUMVERTICES][3];
    900901        IssmDouble normal[2];
    901902        IssmDouble L[numdof];
     
    908909
    909910        /*Retrieve all inputs and parameters*/
    910         GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY);
     911        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    911912        Input* vxaverage_input=tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input);
    912913        Input* vyaverage_input=tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);
     
    928929        }
    929930        else{
    930                 pe=new ElementVector(nodes,NUMVERTICES_BOUNDARY,this->parameters);
     931                pe=new ElementVector(nodes,NUMNODES_BOUNDARY,this->parameters);
    931932        }
    932933
  • issm/trunk-jpl/src/c/classes/objects/Node.cpp

    r13761 r14763  
    599599}
    600600/*}}}*/
    601 /*FUNCTION Node::GetSigma {{{*/
    602 IssmDouble Node::GetSigma(){
    603         Vertex* vertex=NULL;
    604 
    605         vertex=(Vertex*)hvertex->delivers();
    606         return vertex->sigma;
    607 }
    608 /*}}}*/
    609 /*FUNCTION Node::GetX {{{*/
    610 IssmDouble Node::GetX(){
    611         Vertex* vertex=NULL;
    612 
    613         vertex=(Vertex*)hvertex->delivers();
    614         return vertex->x;
    615 }
    616 /*}}}*/
    617 /*FUNCTION Node::GetY {{{*/
    618 IssmDouble Node::GetY(){
    619         Vertex* vertex=NULL;
    620 
    621         vertex=(Vertex*)hvertex->delivers();
    622         return vertex->y;
    623 }
    624 /*}}}*/
    625 /*FUNCTION Node::GetZ {{{*/
    626 IssmDouble Node::GetZ(){
    627         Vertex* vertex=NULL;
    628 
    629         vertex=(Vertex*)hvertex->delivers();
    630         return vertex->z;
    631 }
    632 /*}}}*/
    633601/*FUNCTION Node::IsClone {{{*/
    634602int   Node::IsClone(){
  • issm/trunk-jpl/src/c/classes/objects/Node.h

    r13623 r14763  
    8484                int    GetVertexPid(void);
    8585                int    GetVertexSid(void);
    86                 IssmDouble GetX();
    87                 IssmDouble GetY();
    88                 IssmDouble GetZ();
    89                 IssmDouble GetSigma();
    9086                int    IsOnBed();
    9187                int    IsOnSurface();
  • issm/trunk-jpl/src/c/classes/objects/Vertex.cpp

    r14648 r14763  
    105105int    Vertex::Connectivity(void){return connectivity;}
    106106/*}}}*/
     107/*FUNCTION Vertex::GetX {{{*/
     108IssmDouble Vertex::GetX(){
     109        return this->x;
     110}
     111/*}}}*/
     112/*FUNCTION Vertex::GetY {{{*/
     113IssmDouble Vertex::GetY(){
     114        return this->y;
     115}
     116/*}}}*/
     117/*FUNCTION Vertex::GetZ {{{*/
     118IssmDouble Vertex::GetZ(){
     119        return this->z;
     120}
     121/*}}}*/
    107122/*FUNCTION Vertex::Sid{{{*/
    108123int    Vertex::Sid(void){ return sid; }
  • issm/trunk-jpl/src/c/classes/objects/Vertex.h

    r14648 r14763  
    4646                /*}}}*/
    4747                /*Vertex management:*/
    48                 int   Sid(void);
    49                 int   Connectivity(void);
    50                 void  UpdatePosition(Vector<IssmDouble>* vz,Parameters* parameters,IssmDouble* thickness,IssmDouble* bed);
    51                 void  DistributePids(int* ppidcount);
    52                 void  OffsetPids(int pidcount);
    53                 void  ShowTruePids(int* borderpids);
    54                 void  UpdateClonePids(int* allborderpids);
    55                 void  SetClone(int* minranks);
    56                 void  ToXYZ(Matrix<IssmDouble>* matrix);
    57                 void  VertexCoordinates(Vector<IssmDouble>* vx,Vector<IssmDouble>* vy,Vector<IssmDouble>* vz);
     48                int        Sid(void);
     49                int        Connectivity(void);
     50                IssmDouble GetX(void);
     51                IssmDouble GetY(void);
     52                IssmDouble GetZ(void);
     53                void       UpdatePosition(Vector<IssmDouble>* vz,Parameters* parameters,IssmDouble* thickness,IssmDouble* bed);
     54                void       DistributePids(int* ppidcount);
     55                void       OffsetPids(int pidcount);
     56                void       ShowTruePids(int* borderpids);
     57                void       UpdateClonePids(int* allborderpids);
     58                void       SetClone(int* minranks);
     59                void       ToXYZ(Matrix<IssmDouble>* matrix);
     60                void       VertexCoordinates(Vector<IssmDouble>* vx,Vector<IssmDouble>* vy,Vector<IssmDouble>* vz);
    5861};
    5962#endif  /* _VERTEX_H */
  • issm/trunk-jpl/src/c/shared/Elements/GetVerticesCoordinates.cpp

    r12475 r14763  
    55#include "./elements.h"
    66
    7 void GetVerticesCoordinates(IssmDouble* xyz,  Node** nodes, int numvertices){
     7void GetVerticesCoordinates(IssmDouble* xyz,Vertex** vertices, int numvertices){
    88
    9         /*In debugging mode, check that nodes is not a NULL pointer*/
    10         _assert_(nodes);
     9        _assert_(vertices);
     10        _assert_(xyz);
    1111
    1212        for(int i=0;i<numvertices;i++) {
    13                 xyz[i*3+0]=nodes[i]->GetX();
    14                 xyz[i*3+1]=nodes[i]->GetY();
    15                 xyz[i*3+2]=nodes[i]->GetZ();
     13                xyz[i*3+0]=vertices[i]->GetX();
     14                xyz[i*3+1]=vertices[i]->GetY();
     15                xyz[i*3+2]=vertices[i]->GetZ();
    1616        }
    1717}
  • issm/trunk-jpl/src/c/shared/Elements/elements.h

    r14735 r14763  
    1010class ElementMatrix;
    1111class ElementVector;
     12class Vertex;
    1213
    1314IssmDouble Paterson(IssmDouble temperature);
     
    2122                                     IssmDouble* TemperaturesLgm, IssmDouble* TemperaturesPresentday,
    2223                                             IssmDouble* monthlytemperaturesout, IssmDouble* monthlyprecout);
    23 void   GetVerticesCoordinates(IssmDouble* xyz,  Node** nodes, int numvertices);
     24void   GetVerticesCoordinates(IssmDouble* xyz,Vertex** vertices,int numvertices);
    2425int    GetNumberOfDofs( Node** nodes,int numnodes,int setenum,int approximation_enum);
    2526int*   GetLocalDofList( Node** nodes,int numnodes,int setenum,int approximation_enum);
Note: See TracChangeset for help on using the changeset viewer.