source:
issm/oecreview/Archive/15392-16133/ISSM-15958-15959.diff
Last change on this file was 16134, checked in by , 12 years ago | |
---|---|
File size: 2.3 KB |
-
../trunk-jpl/src/c/classes/Elements/Tria.cpp
7338 7338 /*go through vertices, and update inputs, considering them to be TriaVertex type: */ 7339 7339 for(i=0;i<NUMVERTICES;i++){ 7340 7340 /*Ice shelf: if bed below bathymetry, impose it at the bathymetry and update surface, elso do nothing */ 7341 if(phi[i]<=0 ){7341 if(phi[i]<=0.){ 7342 7342 if(b[i]<=r[i]){ 7343 7343 b[i] = r[i]; 7344 7344 s[i] = b[i]+h[i]; … … 7350 7350 } 7351 7351 /*Ice sheet: if hydrostatic bed above bathymetry, ice sheet starts to unground, elso do nothing */ 7352 7352 /*Change only if AgressiveMigration or if the ice sheet is in contact with the ocean*/ 7353 else{ 7353 else{ // phi>0 7354 7354 bed_hydro=-density*h[i]; 7355 7355 if (bed_hydro>r[i]){ 7356 7356 /*Unground only if the element is connected to the ice shelf*/ … … 7409 7409 this->inputs->AddInput(new TriaInput(BedEnum,&b[0],P1Enum)); 7410 7410 7411 7411 /*Recalculate phi*/ 7412 for(i=0;i<NUMVERTICES;i++) phi[i]=h[i]+r[i]/density; 7412 for(i=0;i<NUMVERTICES;i++){ 7413 if(migration_style==SoftMigrationEnum){ 7414 bed_hydro=-density*h[i]; 7415 if(phi[i]<0. || bed_hydro<=r[i] || reCast<bool>(sheet_ungrounding[nodes[i]->Sid()])){ 7416 phi[i]=h[i]+r[i]/density; 7417 } 7418 } 7419 else phi[i]=h[i]+r[i]/density; 7420 } 7413 7421 this->inputs->AddInput(new TriaInput(MaskGroundediceLevelsetEnum,&phi[0],P1Enum)); 7414 7422 } 7415 7423 /*}}}*/ -
../trunk-jpl/src/c/classes/Elements/Penta.cpp
11298 11298 this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,floatingelement)); 11299 11299 11300 11300 /*Recalculate phi*/ 11301 for(i=0;i<NUMVERTICES;i++) phi[i]=h[i]+r[i]/density; 11301 for(i=0;i<NUMVERTICES;i++){ 11302 if(migration_style==SoftMigrationEnum){ 11303 bed_hydro=-density*h[i]; 11304 if(phi[i]<0. || bed_hydro<=r[i] || reCast<bool>(sheet_ungrounding[nodes[i]->Sid()])){ 11305 phi[i]=h[i]+r[i]/density; 11306 } 11307 } 11308 else phi[i]=h[i]+r[i]/density; 11309 } 11302 11310 this->inputs->AddInput(new PentaInput(MaskGroundediceLevelsetEnum,&phi[0],P1Enum)); 11303 11311 this->InputExtrude(MaskGroundediceLevelsetEnum,ElementEnum); 11304 11312
Note:
See TracBrowser
for help on using the repository browser.