Changeset 18953 for issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
- Timestamp:
- 12/05/14 16:46:55 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r18930 r18953 63 63 iomodel->FetchDataToInput(elements,CalvinglevermannCoeffEnum); 64 64 iomodel->FetchDataToInput(elements,CalvinglevermannMeltingrateEnum); 65 break; 66 case CalvingPiEnum: 67 iomodel->FetchDataToInput(elements,CalvingpiCoeffEnum); 68 iomodel->FetchDataToInput(elements,CalvingpiMeltingrateEnum); 65 69 break; 66 70 default: … … 208 212 meltingrate_input = basalelement->GetInput(CalvinglevermannMeltingrateEnum); _assert_(meltingrate_input); 209 213 break; 214 case CalvingPiEnum: 215 if(domaintype==Domain2DhorizontalEnum){ 216 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 217 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input); 218 } 219 else{ 220 if(dim==1){ 221 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 222 } 223 if(dim==2){ 224 calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input); 225 calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input); 226 } 227 } 228 meltingrate_input = basalelement->GetInput(CalvingpiMeltingrateEnum); _assert_(meltingrate_input); 229 break; 210 230 default: 211 231 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); … … 262 282 263 283 break; 284 264 285 case CalvingLevermannEnum: 265 286 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity … … 274 295 275 296 break; 297 298 case CalvingPiEnum: 299 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 300 if(dim==2) calvingratey_input->GetInputValue(&c[1],gauss); 301 meltingrate_input->GetInputValue(&meltingrate,gauss); 302 303 norm_calving=0.; 304 for(i=0;i<dim;i++) norm_calving+=pow(c[i],2); 305 norm_calving=sqrt(norm_calving)+1.e-14; 306 307 for(i=0;i<dim;i++) m[i]=meltingrate*c[i]/norm_calving; 308 309 break; 310 276 311 default: 277 312 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); … … 349 384 xDelete<IssmDouble>(w); 350 385 xDelete<IssmDouble>(c); 351 xDelete<IssmDouble>(m);352 386 xDelete<IssmDouble>(dlsf); 353 387 delete gauss;
Note:
See TracChangeset
for help on using the changeset viewer.