Changeset 26965
- Timestamp:
- 04/22/22 08:37:19 (3 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/cores/movingfront_core.cpp ¶
r26915 r26965 16 16 17 17 /* intermediaries */ 18 bool save_results,isstressbalance,ismasstransport,isthermal,isenthalpy,islevelset,ismovingfront,killicebergs ;18 bool save_results,isstressbalance,ismasstransport,isthermal,isenthalpy,islevelset,ismovingfront,killicebergs,haskillberg; 19 19 int domaintype, num_extrapol_vars, index,reinit_frequency,step; 20 20 int* extrapol_vars=NULL; … … 122 122 if(VerboseSolution()) _printf0_(" looking for icebergs to kill\n"); 123 123 KillIcebergsx(femmodel); 124 femmodel->parameters->FindParam(&haskillberg,LevelsetHasKillIcebergsEnum); 125 if (haskillberg) { 126 if(VerboseSolution()) _printf0_(" reinitializing level set after killing icebergs\n"); 127 femmodel->ResetLevelset(); 128 ResetBoundaryConditions(femmodel,LevelsetAnalysisEnum); 129 } 124 130 } 125 131 -
TabularUnified issm/trunk-jpl/src/c/modules/KillIcebergsx/KillIcebergsx.cpp ¶
r25554 r26965 28 28 } 29 29 else{ 30 if(element->Is Grounded()){30 if(element->IsAllGrounded()){ 31 31 int numvertices = element->GetNumberOfVertices(); 32 32 for(int v=0;v<numvertices;v++) local_mask[element->vertices[v]->Lid()] = 1.; … … 99 99 xDelete<bool>(element_flag); 100 100 101 bool killbergReinit = false; 101 102 /*OK, now deactivate iceberg and count the number of deactivated vertices*/ 102 103 for(Object* & object : femmodel->elements->objects){ … … 120 121 element->AddInput(MaskIceLevelsetEnum,values,P1Enum); 121 122 xDelete<IssmDouble>(values); 123 killbergReinit = true; 122 124 } 123 125 } 124 126 } 127 /*Recompute the sign distance for the levelset function*/ 128 femmodel->parameters->SetParam(killbergReinit,LevelsetHasKillIcebergsEnum); 125 129 126 130 /*cleanup*/ -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r26947 r26965 270 270 LevelsetReinitFrequencyEnum, 271 271 LevelsetStabilizationEnum, 272 LevelsetHasKillIcebergsEnum, 272 273 LockFileNameEnum, 273 274 LoveAllowLayerDeletionEnum, -
TabularUnified issm/trunk-jpl/src/m/parameterization/killberg.m ¶
r25422 r26965 25 25 %do not go through elements that are grounded, mark flag as 1 (done) need at least 2 vertices! 26 26 %and initialize mask as 1 for all vertices of these elements 27 isgrounded=(sum(md.mask.ocean_levelset(md.mesh.elements)>0,2)> 1);27 isgrounded=(sum(md.mask.ocean_levelset(md.mesh.elements)>0,2)>2); 28 28 %isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0; 29 29 pos = find(isgrounded);
Note:
See TracChangeset
for help on using the changeset viewer.