source:
issm/oecreview/Archive/16554-17801/ISSM-17706-17707.diff
Last change on this file was 17802, checked in by , 11 years ago | |
---|---|
File size: 3.2 KB |
-
../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
94 94 phi[i]=-1.; 95 95 } 96 96 else{ 97 _error_("not supported (vertexfloating="<<serial_vertexfloating[i]<<" vertexgrounded="<<serial_vertexgrounded[i]<<")");97 phi[i]=9999.; 98 98 } 99 99 } 100 100 -
../trunk-jpl/src/c/cores/transient_core.cpp
166 166 if(isgroundingline){ 167 167 if(VerboseSolution()) _printf0_(" computing new grounding line position\n"); 168 168 GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 169 170 if(groundingline_migration==ContactEnum){ 171 femmodel->parameters->SetParam(MaskGroundediceLevelsetEnum,InputToExtrudeEnum); 172 extrudefrombase_core(femmodel); 173 } 169 174 if(save_results){ 170 175 int outputs[3] = {SurfaceEnum,BaseEnum,MaskGroundediceLevelsetEnum}; 171 176 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3); -
../trunk-jpl/src/c/classes/Elements/Tria.cpp
4367 4367 density = rho_ice/rho_water; 4368 4368 oldfloating = this->IsFloating(); //figure out if element is floating before we start to change everything 4369 4369 4370 if(migration_style ==ContactEnum){4371 for(i =0;i<NUMVERTICES;i++) phi[i]=phi_ungrounding[vertices[i]->Pid()];4370 if(migration_style == ContactEnum){ 4371 for(i = 0;i < NUMVERTICES;i++) phi[i] = phi_ungrounding[vertices[i]->Pid()]; 4372 4372 this->inputs->AddInput(new TriaInput(MaskGroundediceLevelsetEnum,&phi[0],P1Enum)); 4373 4374 /*go through vertices, and update inputs, considering them to be TriaVertex type: */ 4375 for(i = 0;i < NUMVERTICES;i++){ 4376 /*Ice shelf: if bed below bathymetry, impose it at the bathymetry and update surface, elso do nothing */ 4377 if(phi[i] >= 0.){ 4378 if(b[i] < r[i]){ 4379 b[i] = r[i]; 4380 } 4381 } 4382 } 4383 4384 /*Add basal melting rate if element just ungrounded*/ 4385 for(i=0;i<NUMVERTICES;i++){ 4386 if(phi[i]<0.){ 4387 floatingelement=true; 4388 break; 4389 } 4390 } 4391 if(!oldfloating && floatingelement==true){ 4392 for(i=0;i<NUMVERTICES;i++) melting[i]=gl_melting_rate/yts; 4393 this->inputs->AddInput(new TriaInput(BasalforcingsMeltingRateEnum,&melting[0],P1Enum)); 4394 } 4395 4396 /*Update inputs*/ 4397 this->inputs->AddInput(new TriaInput(BaseEnum,&b[0],P1Enum)); 4373 4398 return; 4374 4399 } 4375 4400 … … 4437 4462 } 4438 4463 } 4439 4464 4440 4465 /*Add basal melting rate if element just ungrounded*/ 4441 4466 if(!oldfloating && floatingelement==true){ 4442 4467 for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts; 4443 4468 this->inputs->AddInput(new TriaInput(BasalforcingsMeltingRateEnum,&melting[0],P1Enum));
Note:
See TracBrowser
for help on using the repository browser.