Changeset 1310


Ignore:
Timestamp:
07/14/09 14:56:05 (16 years ago)
Author:
Eric.Larour
Message:

Updated model processors to take elementonwater into account

Location:
issm/trunk/src/c/ModelProcessorx
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp

    r1104 r1310  
    103103        double penta_viscosity_overshoot;
    104104        double penta_stokesreconditioning;
     105        bool   penta_onwater;
    105106
    106107        /*matpar constructor input: */
     
    376377                ModelFetchData((void**)&model->accumulation,NULL,NULL,model_handle,"accumulation","Matrix","Mat");
    377378                ModelFetchData((void**)&model->melting,NULL,NULL,model_handle,"melting","Matrix","Mat");
     379                ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
    378380               
    379381                for (i=0;i<model->numberofelements;i++){
     
    413415                                penta_meanvel=model->meanvel;
    414416                                penta_epsvel=model->epsvel;
     417                                penta_onwater=(bool)*(model->elementonwater+i);
    415418                               
    416419                                /*viscosity_overshoot*/
     
    429432                                                penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    430433                                                penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    431                                                 penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     434                                                penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    432435
    433436                                /*Add penta element to elements dataset: */
     
    487490                xfree((void**)&model->n);
    488491                xfree((void**)&model->B);
     492                xfree((void**)&model->elementonwater);
    489493
    490494        } //if (strcmp(meshtype,"2d")==0)
  • issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp

    r1104 r1310  
    8282        double penta_viscosity_overshoot;
    8383        double penta_stokesreconditioning;
     84        bool   penta_onwater;
    8485
    8586        /*matpar constructor input: */
     
    220221                ModelFetchData((void**)&model->accumulation,NULL,NULL,model_handle,"accumulation","Matrix","Mat");
    221222                ModelFetchData((void**)&model->melting,NULL,NULL,model_handle,"melting","Matrix","Mat");
    222                
     223                ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
     224       
    223225                for (i=0;i<model->numberofelements;i++){
    224226                #ifdef _PARALLEL_
     
    256258                        penta_meanvel=model->meanvel;
    257259                        penta_epsvel=model->epsvel;
    258                        
     260                        penta_onwater=(bool)*(model->elementonwater+i);
     261       
    259262                        /*viscosity_overshoot*/
    260263                        penta_viscosity_overshoot=model->viscosity_overshoot;
     
    270273                                                penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    271274                                                penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    272                                                 penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     275                                                penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    273276
    274277                                /*Add penta element to elements dataset: */
     
    330333                xfree((void**)&model->n);
    331334                xfree((void**)&model->B);
     335                xfree((void**)&model->elementonwater);
    332336
    333337        } //if (strcmp(meshtype,"2d")==0)
  • issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp

    r1104 r1310  
    8181        double penta_viscosity_overshoot;
    8282        double penta_stokesreconditioning;
     83        bool   penta_onwater;
    8384
    8485        /*matpar constructor input: */
     
    205206        ModelFetchData((void**)&model->melting,NULL,NULL,model_handle,"melting","Matrix","Mat");
    206207        ModelFetchData((void**)&model->accumulation,NULL,NULL,model_handle,"accumulation","Matrix","Mat");
     208        ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
    207209       
    208210        for (i=0;i<model->numberofelements;i++){
     
    233235                penta_onsurface=(int)*(model->elementonsurface+i);
    234236                penta_collapse=1;
     237                penta_onwater=(bool)*(model->elementonwater+i);
    235238
    236239                /*Create Penta using its constructor:*/
     
    238241                                penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    239242                                penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    240                                 penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     243                                penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    241244
    242245                /*Add penta element to elements dataset: */
     
    283286        xfree((void**)&model->melting);
    284287        xfree((void**)&model->accumulation);
     288        xfree((void**)&model->elementonwater);
    285289
    286290
  • issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp

    r1104 r1310  
    8181        double penta_viscosity_overshoot;
    8282        double penta_stokesreconditioning;
     83        bool   penta_onwater;
    8384
    8485        /*matpar constructor input: */
     
    197198        ModelFetchData((void**)&model->accumulation,NULL,NULL,model_handle,"accumulation","Matrix","Mat");
    198199        ModelFetchData((void**)&model->melting,NULL,NULL,model_handle,"melting","Matrix","Mat");
     200        ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
    199201       
    200202        for (i=0;i<model->numberofelements;i++){
     
    233235                penta_meanvel=model->meanvel;
    234236                penta_epsvel=model->epsvel;
    235                
     237                penta_onwater=(bool)*(model->elementonwater+i);
     238       
    236239                /*viscosity_overshoot*/
    237240                penta_viscosity_overshoot=model->viscosity_overshoot;
     
    242245                                penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    243246                                penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    244                                 penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     247                                penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    245248
    246249                /*Add penta element to elements dataset: */
     
    298301        xfree((void**)&model->n);
    299302        xfree((void**)&model->B);
     303        xfree((void**)&model->elementonwater);
    300304
    301305
  • issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp

    r1104 r1310  
    104104        double penta_viscosity_overshoot;
    105105        double penta_stokesreconditioning;
     106        bool   penta_onwater;
    106107
    107108        /*matpar constructor input: */
     
    306307                ModelFetchData((void**)&model->elementonbed,NULL,NULL,model_handle,"elementonbed","Matrix","Mat");
    307308                ModelFetchData((void**)&model->elementonsurface,NULL,NULL,model_handle,"elementonsurface","Matrix","Mat");
    308                
     309                ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
     310       
    309311                for (i=0;i<model->numberofelements;i++){
    310312                #ifdef _PARALLEL_
     
    333335                        penta_collapse=1;
    334336                        penta_artdiff=model->artificial_diffusivity;
    335                        
     337                        penta_onwater=(bool)*(model->elementonwater+i);
     338       
    336339
    337340                        /*Create Penta using its constructor:*/
     
    339342                                        penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    340343                                        penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    341                                         penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     344                                        penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    342345
    343346                        /*Add penta element to elements dataset: */
     
    371374                xfree((void**)&model->elementonbed);
    372375                xfree((void**)&model->elementonsurface);
     376                xfree((void**)&model->elementonwater);
    373377
    374378        } //if (strcmp(meshtype,"2d")==0)
  • issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp

    r1104 r1310  
    9595        double penta_viscosity_overshoot;
    9696        double penta_stokesreconditioning;
     97        bool   penta_onwater;
    9798
    9899        /* node constructor input: */
     
    271272                ModelFetchData((void**)&model->bed,NULL,NULL,model_handle,"bed","Matrix","Mat");
    272273                ModelFetchData((void**)&model->elementonbed,NULL,NULL,model_handle,"elementonbed","Matrix","Mat");
    273                
     274                ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
     275       
    274276                for (i=0;i<model->numberofelements;i++){
    275277                #ifdef _PARALLEL_
     
    294296                        /*diverse: */
    295297                        penta_onbed=(int)*(model->elementonbed+i);
     298                        penta_onwater=(bool)*(model->elementonwater+i);
    296299
    297300                        /*Create Penta using its constructor:*/
     
    299302                                        penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    300303                                        penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    301                                         penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     304                                        penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    302305
    303306                        /*Add penta element to elements dataset: */
     
    329332                xfree((void**)&model->bed);
    330333                xfree((void**)&model->elementonbed);
     334                xfree((void**)&model->elementonwater);
    331335
    332336        } //if (strcmp(meshtype,"2d")==0)
  • issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp

    r1104 r1310  
    8282        double penta_viscosity_overshoot;
    8383        double penta_stokesreconditioning;
     84        bool   penta_onwater;
    8485
    8586        /*matpar constructor input: */
     
    197198        ModelFetchData((void**)&model->B,NULL,NULL,model_handle,"B","Matrix","Mat");
    198199        ModelFetchData((void**)&model->n,NULL,NULL,model_handle,"n","Matrix","Mat");
     200        ModelFetchData((void**)&model->elementonwater,NULL,NULL,model_handle,"elementonwater","Matrix","Mat");
    199201       
    200202        for (i=0;i<model->numberofelements;i++){
     
    232234                penta_meanvel=model->meanvel;
    233235                penta_epsvel=model->epsvel;
     236                penta_onwater=(bool)*(model->elementonwater+i);
    234237
    235238                /*We need the field collapse for transient, so that we can use compute B with the average temperature*/
     
    246249                                penta_p,penta_q,penta_shelf,penta_onbed,penta_onsurface,penta_meanvel,penta_epsvel,
    247250                                penta_collapse,penta_melting,penta_accumulation,penta_geothermalflux,penta_artdiff,
    248                                 penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,0);
     251                                penta_thermal_steadystate,penta_viscosity_overshoot,penta_stokesreconditioning,penta_onwater);
    249252
    250253                /*Add penta element to elements dataset: */
     
    303306        xfree((void**)&model->n);
    304307        xfree((void**)&model->B);
     308        xfree((void**)&model->elementonwater);
    305309
    306310        /*Add one constant material property to materials: */
Note: See TracChangeset for help on using the changeset viewer.