Changeset 26090
- Timestamp:
- 03/12/21 17:35:58 (4 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 37 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp ¶
r26047 r26090 151 151 xDelete<IssmDouble>(basis); 152 152 xDelete<IssmDouble>(dbasis); 153 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};153 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 154 154 delete gauss; 155 155 return pe; -
TabularUnified issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp ¶
r26047 r26090 271 271 delete analysis; 272 272 if(incomplete_adjoint){ 273 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};273 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 274 274 return Ke; 275 275 } … … 319 319 xDelete<IssmDouble>(dbasis); 320 320 xDelete<IssmDouble>(xyz_list); 321 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};321 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 322 322 return Ke; 323 323 }/*}}}*/ … … 1068 1068 xDelete<IssmDouble>(xyz_list); 1069 1069 xDelete<IssmDouble>(basis); 1070 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1070 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1071 1071 delete gauss; 1072 1072 return pe; … … 1253 1253 xDelete<int>(vertexpidlist); 1254 1254 delete gauss; 1255 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1255 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1256 1256 }/*}}}*/ 1257 1257 void AdjointHorizAnalysis::GradientJBbarL1L2(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/ … … 1365 1365 xDelete<int>(vertexpidlist); 1366 1366 delete gauss; 1367 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1367 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1368 1368 }/*}}}*/ 1369 1369 void AdjointHorizAnalysis::GradientJBFS(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/ … … 1655 1655 xDelete<int>(vertexpidlist); 1656 1656 delete gauss; 1657 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1657 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1658 1658 }/*}}}*/ 1659 1659 void AdjointHorizAnalysis::GradientJDragGradient(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/ … … 1747 1747 xDelete<int>(vertexpidlist); 1748 1748 delete gauss; 1749 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1749 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1750 1750 1751 1751 }/*}}}*/ … … 2066 2066 delete gauss; 2067 2067 delete friction; 2068 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2068 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2069 2069 }/*}}}*/ 2070 2070 void AdjointHorizAnalysis::GradientJDragHydroFS(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/ … … 2359 2359 delete gauss; 2360 2360 delete friction; 2361 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2361 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2362 2362 }/*}}}*/ 2363 2363 void AdjointHorizAnalysis::GradientJDSSA(Element* element,Vector<IssmDouble>* gradient,int control_interp,int control_index){/*{{{*/ … … 2441 2441 xDelete<int>(vertexpidlist); 2442 2442 delete gauss; 2443 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2443 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2444 2444 }/*}}}*/ 2445 2445 void AdjointHorizAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp ¶
r26047 r26090 149 149 int domaintype; 150 150 element->FindParam(&domaintype,DomainTypeEnum); 151 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};151 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 152 152 return Ke; 153 153 }/*}}}*/ … … 337 337 int domaintype; 338 338 element->FindParam(&domaintype,DomainTypeEnum); 339 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};339 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 340 340 return pe; 341 341 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp ¶
r26047 r26090 234 234 xDelete<IssmDouble>(Ny); 235 235 delete gauss; 236 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};236 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 237 237 return pe; 238 238 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp ¶
r26047 r26090 270 270 xDelete<IssmDouble>(D); 271 271 delete gauss; 272 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};272 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 273 273 return Ke; 274 274 }/*}}}*/ … … 344 344 xDelete<IssmDouble>(basis); 345 345 delete gauss; 346 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};346 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 347 347 return pe; 348 348 -
TabularUnified issm/trunk-jpl/src/c/analyses/FreeSurfaceTopAnalysis.cpp ¶
r26047 r26090 247 247 xDelete<IssmDouble>(D); 248 248 delete gauss; 249 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};249 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 250 250 return Ke; 251 251 }/*}}}*/ … … 316 316 xDelete<IssmDouble>(basis); 317 317 delete gauss; 318 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};318 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 319 319 return pe; 320 320 -
TabularUnified issm/trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp ¶
r26047 r26090 178 178 xDelete<IssmDouble>(dbasis); 179 179 delete gauss; 180 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};180 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 181 181 return Ke; 182 182 -
TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp ¶
r26047 r26090 189 189 /*Check that all nodes are active, else return empty matrix*/ 190 190 if(!active_element) { 191 if(domaintype!=Domain2DhorizontalEnum){ 192 basalelement->DeleteMaterials(); 193 delete basalelement; 194 } 191 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 195 192 return NULL; 196 193 } … … 250 247 xDelete<IssmDouble>(dbasis); 251 248 delete gauss; 252 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};249 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 253 250 return Ke; 254 251 }/*}}}*/ … … 277 274 /*Check that all nodes are active, else return empty matrix*/ 278 275 if(!active_element) { 279 if(domaintype!=Domain2DhorizontalEnum){ 280 basalelement->DeleteMaterials(); 281 delete basalelement; 282 } 276 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 283 277 return NULL; 284 278 } … … 379 373 xDelete<IssmDouble>(basis); 380 374 delete gauss; 381 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};375 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 382 376 return pe; 383 377 }/*}}}*/ … … 428 422 xDelete<IssmDouble>(eplHeads); 429 423 xDelete<int>(doflist); 430 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};424 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 431 425 } /*}}}*/ 432 426 void HydrologyDCEfficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ … … 736 730 element->AddBasalInput(HydrologydcEplThicknessSubstepEnum,epl_thickness,basalelement->GetElementType()); 737 731 738 if(domaintype!=Domain2DhorizontalEnum){ 739 basalelement->DeleteMaterials(); 740 delete basalelement; 741 } 732 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 742 733 xDelete<IssmDouble>(epl_thickness); 743 734 xDelete<IssmDouble>(old_active); … … 791 782 /*Do not do anything: at least one node is active for this element but this element is not solved for*/ 792 783 } 793 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};784 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 794 785 xDelete<IssmDouble>(active); 795 786 } -
TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp ¶
r26047 r26090 212 212 /*Check that all nodes are active, else return empty matrix*/ 213 213 if(!thawed_element) { 214 if(domaintype!=Domain2DhorizontalEnum){ 215 basalelement->DeleteMaterials(); 216 delete basalelement; 217 } 214 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 218 215 return NULL; 219 216 } … … 283 280 xDelete<IssmDouble>(dbasis); 284 281 delete gauss; 285 if(domaintype!=Domain2DhorizontalEnum){ 286 basalelement->DeleteMaterials(); 287 delete basalelement; 288 } 282 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 289 283 return Ke; 290 284 }/*}}}*/ … … 313 307 /*Check that all nodes are active, else return empty matrix*/ 314 308 if(!thawed_element) { 315 if(domaintype!=Domain2DhorizontalEnum){ 316 basalelement->DeleteMaterials(); 317 delete basalelement; 318 } 309 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 319 310 return NULL; 320 311 } … … 440 431 xDelete<IssmDouble>(basis); 441 432 delete gauss; 442 if(domaintype!=Domain2DhorizontalEnum){ 443 basalelement->DeleteMaterials(); 444 delete basalelement; 445 } 433 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 446 434 return pe; 447 435 }/*}}}*/ … … 535 523 xDelete<IssmDouble>(pressure); 536 524 xDelete<int>(doflist); 537 if(domaintype!=Domain2DhorizontalEnum){ 538 basalelement->DeleteMaterials(); 539 delete basalelement; 540 } 525 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 541 526 }/*}}}*/ 542 527 void HydrologyDCInefficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ … … 738 723 } 739 724 740 if(domaintype!=Domain2DhorizontalEnum){ 741 basalelement->DeleteMaterials(); 742 delete basalelement; 743 } 725 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 744 726 xDelete<IssmDouble>(meltingrate); 745 727 xDelete<IssmDouble>(groundedice); … … 807 789 /*Do not do anything: at least one node is active for this element but this element is not solved for*/ 808 790 } 809 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};791 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 810 792 xDelete<IssmDouble>(active); 811 793 } -
TabularUnified issm/trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp ¶
r26047 r26090 117 117 xDelete<IssmDouble>(basis); 118 118 delete gauss; 119 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};119 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 120 120 return Ke; 121 121 }/*}}}*/ … … 193 193 xDelete<IssmDouble>(basis); 194 194 delete gauss; 195 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};195 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 196 196 return pe; 197 197 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp ¶
r26047 r26090 112 112 /* Check that all nodes are active, else return empty matrix */ 113 113 if(!active_element){ 114 if(domaintype!=Domain2DhorizontalEnum){ 115 basalelement->DeleteMaterials(); 116 delete basalelement; 117 } 114 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 118 115 return NULL; 119 116 } … … 147 144 xDelete<IssmDouble>(basis); 148 145 delete gauss; 149 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};146 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 150 147 return Ke; 151 148 }/*}}}*/ … … 174 171 /*Check that all nodes are active, else return empty matrix*/ 175 172 if(!active_element) { 176 if(domaintype!=Domain2DhorizontalEnum){ 177 basalelement->DeleteMaterials(); 178 delete basalelement; 179 } 173 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 180 174 return NULL; 181 175 } … … 218 212 xDelete<IssmDouble>(basis); 219 213 delete gauss; 220 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};214 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 221 215 return pe; 222 216 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp ¶
r26047 r26090 331 331 xDelete<IssmDouble>(Bprime); 332 332 delete gauss; 333 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};333 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 334 334 return Ke; 335 335 }/*}}}*/ … … 375 375 xDelete<IssmDouble>(basis); 376 376 basalelement->FindParam(&domaintype,DomainTypeEnum); 377 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};377 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 378 378 delete gauss; 379 379 } -
TabularUnified issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp ¶
r26089 r26090 292 292 int domaintype; 293 293 element->FindParam(&domaintype,DomainTypeEnum); 294 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};294 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 295 295 return Ke; 296 296 }/*}}}*/ … … 584 584 } 585 585 586 int domaintype; 587 element->FindParam(&domaintype,DomainTypeEnum); 588 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 586 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 589 587 return pe; 590 588 }/*}}}*/ … … 927 925 xDelete<IssmDouble>(bed); 928 926 xDelete<int>(doflist); 929 if( domaintype!=Domain2DhorizontalEnum && domaintype!=Domain3DsurfaceEnum){basalelement->DeleteMaterials(); delete basalelement;};927 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 930 928 }/*}}}*/ 931 929 void MasstransportAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/MeltingAnalysis.cpp ¶
r26047 r26090 118 118 xDelete<IssmDouble>(basis); 119 119 delete gauss; 120 basalelement->DeleteMaterials(); delete basalelement;120 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 121 121 return Ke; 122 122 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp ¶
r26047 r26090 1392 1392 1393 1393 /*clean-up and return*/ 1394 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1394 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1395 1395 return Ke; 1396 1396 … … 1430 1430 1431 1431 /*clean-up and return*/ 1432 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1432 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1433 1433 delete Ke1; 1434 1434 delete Ke2; … … 1707 1707 1708 1708 /*clean-up and return*/ 1709 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1709 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1710 1710 delete pe1; 1711 1711 delete pe2; … … 2102 2102 xDelete<IssmDouble>(xyz_list); 2103 2103 xDelete<int>(doflist); 2104 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2104 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2105 2105 }/*}}}*/ 2106 2106 #ifdef DISCSLOPE … … 2408 2408 2409 2409 /*clean-up and return*/ 2410 basalelement->DeleteMaterials(); delete basalelement;2410 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2411 2411 return Ke; 2412 2412 }/*}}}*/ … … 2468 2468 delete gauss; 2469 2469 delete gauss_base; 2470 basalelement->DeleteMaterials(); delete basalelement;2470 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2471 2471 xDelete<IssmDouble>(xyz_list); 2472 2472 xDelete<IssmDouble>(dbasis); … … 2501 2501 2502 2502 /*clean-up and return*/ 2503 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2503 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2504 2504 delete pe1; 2505 2505 delete pe2; … … 2702 2702 xDelete<IssmDouble>(xyz_list); 2703 2703 xDelete<int>(doflist); 2704 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2704 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2705 2705 }/*}}}*/ 2706 2706 … … 2730 2730 2731 2731 /*clean-up and return*/ 2732 basalelement->DeleteMaterials(); delete basalelement;2732 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2733 2733 return Ke; 2734 2734 }/*}}}*/ … … 2791 2791 delete gauss; 2792 2792 delete gauss_base; 2793 basalelement->DeleteMaterials(); delete basalelement;2793 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2794 2794 xDelete<IssmDouble>(xyz_list); 2795 2795 xDelete<IssmDouble>(dbasis); … … 2825 2825 2826 2826 /*clean-up and return*/ 2827 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};2827 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 2828 2828 delete pe1; 2829 2829 delete pe2; … … 3030 3030 xDelete<IssmDouble>(xyz_list); 3031 3031 xDelete<int>(doflist); 3032 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};3032 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 3033 3033 }/*}}}*/ 3034 3034 … … 7275 7275 Element* basalelement = element->SpawnBasalElement(); 7276 7276 ElementMatrix* Ke=CreateKMatrixSSAFriction(basalelement); 7277 basalelement->DeleteMaterials(); delete basalelement;7277 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 7278 7278 7279 7279 /*clean-up and return*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Cfdragcoeffabsgrad.cpp ¶
r25539 r26090 161 161 162 162 /*clean up and Return: */ 163 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};163 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 164 164 xDelete<IssmDouble>(xyz_list); 165 165 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/classes/Cfsurfacelogvel.cpp ¶
r25539 r26090 198 198 199 199 /*clean up and Return: */ 200 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};200 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 201 201 xDelete<IssmDouble>(xyz_list); 202 202 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/classes/Cfsurfacesquare.cpp ¶
r25539 r26090 187 187 188 188 /*clean up and Return: */ 189 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};189 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 190 190 xDelete<IssmDouble>(xyz_list); 191 191 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.h ¶
r26073 r26090 342 342 virtual Element* SpawnBasalElement(bool depthaverage_materials=false)=0; 343 343 virtual Element* SpawnTopElement(void)=0; 344 virtual bool IsSpawnedElement(void)=0; 344 345 virtual IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa)=0; 345 346 virtual void StabilizationParameterAnisotropic(IssmDouble* tau_parameter_anisotropic, IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble hx, IssmDouble hy, IssmDouble hz, IssmDouble kappa)=0; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.cpp ¶
r26057 r26090 3623 3623 } 3624 3624 /*}}}*/ 3625 bool Penta::IsSpawnedElement(void){/*{{{*/ 3626 3627 /*Penta cannot be collapsed elements*/ 3628 return false; 3629 3630 }/*}}}*/ 3625 3631 IssmDouble Penta::StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){/*{{{*/ 3626 3632 /*Compute stabilization parameter*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Penta.h ¶
r26073 r26090 175 175 Element* SpawnBasalElement(bool depthaverage_materials); 176 176 Element* SpawnTopElement(void); 177 bool IsSpawnedElement(void); 177 178 Tria* SpawnTria(int index1,int index2,int index3); 178 179 IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa); -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.cpp ¶
r25508 r26090 362 362 return isicefront; 363 363 }/*}}}*/ 364 bool Seg::IsSpawnedElement(void){/*{{{*/ 365 366 if(this->iscollapsed!=0){ 367 return true; 368 } 369 370 return false; 371 372 }/*}}}*/ 364 373 void Seg::JacobianDeterminant(IssmDouble* pJdet,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/ 365 374 -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Seg.h ¶
r26073 r26090 139 139 Element* SpawnBasalElement(bool depthaverage_materials){_error_("not implemented yet");}; 140 140 Element* SpawnTopElement(void){_error_("not implemented yet");}; 141 bool IsSpawnedElement(void); 141 142 void SetElementInput(int enum_in,IssmDouble value, int type){_error_("not implemented yet");}; 142 143 IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");}; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tetra.cpp ¶
r25508 r26090 786 786 this->FaceOnSurfaceIndices(&index1,&index2,&index3); 787 787 return SpawnTria(index1,index2,index3); 788 }/*}}}*/ 789 bool Tetra::IsSpawnedElement(void){/*{{{*/ 790 791 /*Tetras cannot be collapsed elements*/ 792 return false; 793 788 794 }/*}}}*/ 789 795 Tria* Tetra::SpawnTria(int index1,int index2,int index3){/*{{{*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tetra.h ¶
r26073 r26090 147 147 Element* SpawnBasalElement(bool depthaverage_materials); 148 148 Element* SpawnTopElement(void); 149 bool IsSpawnedElement(void); 149 150 Tria* SpawnTria(int index1,int index2,int index3); 150 151 IssmDouble StabilizationParameter(IssmDouble u, IssmDouble v, IssmDouble w, IssmDouble diameter, IssmDouble kappa){_error_("not implemented yet");}; -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.cpp ¶
r26088 r26090 4270 4270 } 4271 4271 /*}}}*/ 4272 bool Tria::IsSpawnedElement(void){/*{{{*/ 4273 4274 if(this->iscollapsed!=0){ 4275 return true; 4276 } 4277 4278 return false; 4279 4280 }/*}}}*/ 4272 4281 void Tria::StrainRateparallel(){/*{{{*/ 4273 4282 -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Tria.h ¶
r26073 r26090 134 134 Element* SpawnBasalElement(bool depthaverage_materials); 135 135 Element* SpawnTopElement(void); 136 bool IsSpawnedElement(void); 136 137 void StrainRateparallel(); 137 138 void StrainRateperpendicular(); -
TabularUnified issm/trunk-jpl/src/c/classes/FemModel.cpp ¶
r26052 r26090 1171 1171 Element* basalelement = element->SpawnBasalElement(); 1172 1172 basalelement->WriteFieldIsovalueSegment(segments,fieldenum,fieldvalue); 1173 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};1173 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 1174 1174 } 1175 1175 … … 5211 5211 } 5212 5212 xDelete<IssmDouble>(base); 5213 if(domaintype!=Domain2DhorizontalEnum){ 5214 basalelement->DeleteMaterials(); 5215 delete basalelement; 5216 } 5213 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 5217 5214 } 5218 5215 xDelete<IssmDouble>(serial_active); -
TabularUnified issm/trunk-jpl/src/c/modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp ¶
r25539 r26090 93 93 94 94 /*clean up and Return: */ 95 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};95 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 96 96 xDelete<IssmDouble>(xyz_list); 97 97 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp ¶
r25539 r26090 116 116 if(!element->IsOnBase()) continue; 117 117 Element* basalelement = element->SpawnBasalElement(); 118 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()) continue; 118 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){ 119 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 120 continue; 121 } 119 122 basalelement->GetInputValue(&boxid,BasalforcingsPicoBoxIdEnum); 120 123 basalelement->GetInputValue(&basinid,BasalforcingsPicoBasinIdEnum); 121 124 boxareas[basinid*maxbox+boxid]+=basalelement->GetHorizontalSurfaceArea(); 122 basalelement->FindParam(&domaintype,DomainTypeEnum); 123 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 125 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 124 126 } 125 127 … … 164 166 if(!element->IsOnBase()) continue; 165 167 Element* basalelement = element->SpawnBasalElement(); 166 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()) continue; 168 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){ 169 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 170 continue; 171 } 167 172 int el_boxid; 168 173 basalelement->GetInputValue(&el_boxid,BasalforcingsPicoBoxIdEnum); … … 180 185 toc_weighted_avg[basinid]+=toc*area; 181 186 soc_weighted_avg[basinid]+=soc*area; 182 basalelement->FindParam(&domaintype,DomainTypeEnum); 183 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 187 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 184 188 } 185 189 … … 219 223 overturning_weighted_avg[basinid]+=overturning*area; 220 224 basalelement->FindParam(&domaintype,DomainTypeEnum); 221 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};225 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 222 226 } 223 227 -
TabularUnified issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp ¶
r25539 r26090 172 172 /*Delete spawned element if we are in 3D*/ 173 173 basalelement->FindParam(&domaintype,DomainTypeEnum); 174 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};174 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 175 175 } 176 176 -
TabularUnified issm/trunk-jpl/src/c/modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp ¶
r25571 r26090 79 79 80 80 /*clean up and Return: */ 81 if( domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};81 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 82 82 xDelete<IssmDouble>(xyz_list); 83 83 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp ¶
r25539 r26090 101 101 102 102 /*clean up and Return: */ 103 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};103 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 104 104 xDelete<IssmDouble>(xyz_list); 105 105 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp ¶
r25539 r26090 113 113 114 114 /*clean up and Return: */ 115 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};115 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 116 116 xDelete<IssmDouble>(xyz_list); 117 117 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp ¶
r25539 r26090 110 110 111 111 /*clean up and Return: */ 112 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};112 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 113 113 xDelete<IssmDouble>(xyz_list); 114 114 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp ¶
r25539 r26090 110 110 111 111 /*clean up and Return: */ 112 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};112 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 113 113 xDelete<IssmDouble>(xyz_list); 114 114 delete gauss; -
TabularUnified issm/trunk-jpl/src/c/modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp ¶
r25539 r26090 111 111 112 112 /*clean up and Return: */ 113 if( domaintype!=Domain2DhorizontalEnum){topelement->DeleteMaterials(); delete topelement;};113 if(topelement->IsSpawnedElement()){topelement->DeleteMaterials(); delete topelement;}; 114 114 xDelete<IssmDouble>(xyz_list); 115 115 delete gauss;
Note:
See TracChangeset
for help on using the changeset viewer.