Changeset 9636
- Timestamp:
- 09/06/11 16:53:02 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 13 added
- 15 deleted
- 74 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9632 r9636 46 46 TimesteppingTimeAdaptEnum, 47 47 TimesteppingCflCoefficientEnum, 48 MaterialsRheologyBEnum, 49 MaterialsRheologyBbarEnum, 50 MaterialsRheologyNEnum, 51 MaterialsRheologyLawEnum, 52 MaterialsRhoIceEnum, 53 MaterialsRhoWaterEnum, 54 MaterialsHeatcapacityEnum, 55 MaterialsLatentheatEnum, 56 MaterialsBetaEnum, 57 MaterialsThermalconductivityEnum, 58 MaterialsMixedLayerCapacityEnum, 59 MaterialsThermalExchangeVelocityEnum, 60 MaterialsMeltingpointEnum, 48 61 /*}}}*/ 49 62 /*Datasets {{{1*/ … … 236 249 QmuPressureEnum, 237 250 ResetPenaltiesEnum, 238 RheologyBEnum,239 RheologyBbarEnum,240 RheologyNEnum,241 251 SegmentOnIceShelfEnum, 242 252 ShelfDampeningEnum, … … 322 332 SoftMigrationEnum, 323 333 /*}}}*/ 324 /*Material{{{1*/ 325 RhoIceEnum, 326 RhoWaterEnum, 327 GravityEnum, 328 MixedLayerCapacityEnum, 329 ThermalExchangeVelocityEnum, 330 /*}}}*/ 334 331 335 /*Solver{{{1*/ 332 336 StokesSolverEnum, … … 336 340 ColinearEnum, 337 341 SeparateEnum, 338 BetaEnum,339 342 CmGradientEnum, 340 343 CmJumpEnum, … … 395 398 /*}}}*/ 396 399 /*Rheology law (move too Material) {{{1*/ 397 RheologyLawEnum,398 400 PatersonEnum, 399 401 ArrheniusEnum, … … 448 450 StokesreconditioningEnum, 449 451 LowerelementsEnum, 450 HeatcapacityEnum,451 LatentheatEnum,452 ThermalconductivityEnum,453 MeltingpointEnum,454 452 DhdtEnum, 455 453 IsprognosticEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToModelField.cpp
r9612 r9636 15 15 case ThicknessEnum : return "thickness"; 16 16 case FrictionCoefficientEnum : return "drag_coefficient"; 17 case RheologyBEnum : return "rheology_B";18 case RheologyBbarEnum : return "rheology_B";17 case MaterialsRheologyBEnum : return "rheology_B"; 18 case MaterialsRheologyBbarEnum : return "rheology_B"; 19 19 case DhdtEnum : return "dhdt"; 20 20 case VxEnum : return "vx"; -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9632 r9636 50 50 case TimesteppingTimeAdaptEnum : return "TimesteppingTimeAdapt"; 51 51 case TimesteppingCflCoefficientEnum : return "TimesteppingCflCoefficient"; 52 case MaterialsRheologyBEnum : return "MaterialsRheologyB"; 53 case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar"; 54 case MaterialsRheologyNEnum : return "MaterialsRheologyN"; 55 case MaterialsRheologyLawEnum : return "MaterialsRheologyLaw"; 56 case MaterialsRhoIceEnum : return "MaterialsRhoIce"; 57 case MaterialsRhoWaterEnum : return "MaterialsRhoWater"; 58 case MaterialsHeatcapacityEnum : return "MaterialsHeatcapacity"; 59 case MaterialsLatentheatEnum : return "MaterialsLatentheat"; 60 case MaterialsBetaEnum : return "MaterialsBeta"; 61 case MaterialsThermalconductivityEnum : return "MaterialsThermalconductivity"; 62 case MaterialsMixedLayerCapacityEnum : return "MaterialsMixedLayerCapacity"; 63 case MaterialsThermalExchangeVelocityEnum : return "MaterialsThermalExchangeVelocity"; 64 case MaterialsMeltingpointEnum : return "MaterialsMeltingpoint"; 52 65 case ConstraintsEnum : return "Constraints"; 53 66 case ElementsEnum : return "Elements"; … … 203 216 case QmuPressureEnum : return "QmuPressure"; 204 217 case ResetPenaltiesEnum : return "ResetPenalties"; 205 case RheologyBEnum : return "RheologyB";206 case RheologyBbarEnum : return "RheologyBbar";207 case RheologyNEnum : return "RheologyN";208 218 case SegmentOnIceShelfEnum : return "SegmentOnIceShelf"; 209 219 case ShelfDampeningEnum : return "ShelfDampening"; … … 278 288 case AgressiveMigrationEnum : return "AgressiveMigration"; 279 289 case SoftMigrationEnum : return "SoftMigration"; 280 case RhoIceEnum : return "RhoIce";281 case RhoWaterEnum : return "RhoWater";282 case GravityEnum : return "Gravity";283 case MixedLayerCapacityEnum : return "MixedLayerCapacity";284 case ThermalExchangeVelocityEnum : return "ThermalExchangeVelocity";285 290 case StokesSolverEnum : return "StokesSolver"; 286 291 case IntersectEnum : return "Intersect"; 287 292 case ColinearEnum : return "Colinear"; 288 293 case SeparateEnum : return "Separate"; 289 case BetaEnum : return "Beta";290 294 case CmGradientEnum : return "CmGradient"; 291 295 case CmJumpEnum : return "CmJump"; … … 340 344 case OptionDoubleEnum : return "OptionDouble"; 341 345 case OptionLogicalEnum : return "OptionLogical"; 342 case RheologyLawEnum : return "RheologyLaw";343 346 case PatersonEnum : return "Paterson"; 344 347 case ArrheniusEnum : return "Arrhenius"; … … 391 394 case StokesreconditioningEnum : return "Stokesreconditioning"; 392 395 case LowerelementsEnum : return "Lowerelements"; 393 case HeatcapacityEnum : return "Heatcapacity";394 case LatentheatEnum : return "Latentheat";395 case ThermalconductivityEnum : return "Thermalconductivity";396 case MeltingpointEnum : return "Meltingpoint";397 396 case DhdtEnum : return "Dhdt"; 398 397 case IsprognosticEnum : return "Isprognostic"; -
issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r9610 r9636 47 47 case VyEnum: iomodel->FetchData(1,VyEnum); break; 48 48 case FrictionCoefficientEnum: iomodel->FetchData(1,FrictionCoefficientEnum); break; 49 case RheologyBbarEnum: iomodel->FetchData(1,RheologyBEnum); break;49 case MaterialsRheologyBbarEnum: iomodel->FetchData(1,MaterialsRheologyBEnum); break; 50 50 default: _error_("Control %s not implemented yet",EnumToStringx((int)iomodel->Data(ControlTypeEnum)[i])); 51 51 } … … 66 66 67 67 /*Free data: */ 68 iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum, RheologyBEnum);68 iomodel->DeleteData(1+4+5,ElementsEnum,ControlTypeEnum,WeightsEnum,CmMinEnum,CmMaxEnum,DhdtEnum,VxEnum,VyEnum,FrictionCoefficientEnum,MaterialsRheologyBEnum); 69 69 } -
issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r9405 r9636 45 45 46 46 /*Fetch data needed: */ 47 iomodel->FetchData(4,ElementsEnum,ElementconnectivityEnum, RheologyBEnum,RheologyNEnum);47 iomodel->FetchData(4,ElementsEnum,ElementconnectivityEnum,MaterialsRheologyBEnum,MaterialsRheologyNEnum); 48 48 if(dim==3) iomodel->FetchData(2,UpperelementsEnum,LowerelementsEnum); 49 49 if(control_analysis)iomodel->FetchData(3,ControlTypeEnum,CmMinEnum,CmMaxEnum); … … 64 64 /*Free data: */ 65 65 iomodel->DeleteData(9,ElementsEnum,ElementconnectivityEnum,UpperelementsEnum,LowerelementsEnum, 66 RheologyBEnum,RheologyNEnum,ControlTypeEnum,CmMinEnum,CmMaxEnum);66 MaterialsRheologyBEnum,MaterialsRheologyNEnum,ControlTypeEnum,CmMinEnum,CmMaxEnum); 67 67 68 68 /*Add new constrant material property tgo materials, at the end: */ -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r9632 r9636 45 45 parameters->AddObject(iomodel->CopyConstantObject(SettingsLowmemEnum)); 46 46 parameters->AddObject(iomodel->CopyConstantObject(ConnectivityEnum)); 47 parameters->AddObject(iomodel->CopyConstantObject(BetaEnum));48 parameters->AddObject(iomodel->CopyConstantObject(MeltingpointEnum));49 47 parameters->AddObject(iomodel->CopyConstantObject(ConstantsReferencetemperatureEnum)); 50 parameters->AddObject(iomodel->CopyConstantObject(LatentheatEnum));51 parameters->AddObject(iomodel->CopyConstantObject(HeatcapacityEnum));52 48 parameters->AddObject(iomodel->CopyConstantObject(ArtificialDiffusivityEnum)); 53 49 parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMeltingRateEnum)); … … 67 63 parameters->AddObject(iomodel->CopyConstantObject(IsprognosticEnum)); 68 64 parameters->AddObject(iomodel->CopyConstantObject(IsthermalEnum)); 69 parameters->AddObject(iomodel->CopyConstantObject( RheologyLawEnum));65 parameters->AddObject(iomodel->CopyConstantObject(MaterialsRheologyLawEnum)); 70 66 71 67 /*some parameters that did not come with the iomodel: */ -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
r9597 r9636 44 44 iomodel->Constant(&numberofvertices,NumberOfVerticesEnum); 45 45 iomodel->Constant(&g,ConstantsGEnum); 46 iomodel->Constant(&rho_ice, RhoIceEnum);46 iomodel->Constant(&rho_ice,MaterialsRhoIceEnum); 47 47 iomodel->Constant(&stokesreconditioning,StokesreconditioningEnum); 48 48 iomodel->Constant(&isstokes,IsstokesEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r9612 r9636 57 57 iomodel->FetchDataToInput(elements,ElementOnIceShelfEnum); 58 58 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 59 iomodel->FetchDataToInput(elements, RheologyBEnum);60 iomodel->FetchDataToInput(elements, RheologyNEnum);59 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 60 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 61 61 iomodel->FetchDataToInput(elements,VxEnum,VxObsEnum,0); 62 62 iomodel->FetchDataToInput(elements,VyEnum,VyObsEnum,0); -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
r9632 r9636 28 28 iomodel->Constant(&dim,DimEnum); 29 29 iomodel->Constant(&numberofvertices,NumberOfVerticesEnum); 30 iomodel->Constant(&heatcapacity, HeatcapacityEnum);30 iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum); 31 31 iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum); 32 32 -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r9612 r9636 50 50 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 51 51 iomodel->FetchDataToInput(elements,ElementsTypeEnum); 52 iomodel->FetchDataToInput(elements, RheologyBEnum);53 iomodel->FetchDataToInput(elements, RheologyNEnum);52 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 53 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 54 54 iomodel->FetchDataToInput(elements,PressureEnum); 55 55 iomodel->FetchDataToInput(elements,TemperatureEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r9612 r9636 43 43 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 44 44 iomodel->FetchDataToInput(elements,ElementsTypeEnum); 45 iomodel->FetchDataToInput(elements, RheologyBEnum);46 iomodel->FetchDataToInput(elements, RheologyNEnum);45 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 46 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 47 47 iomodel->FetchDataToInput(elements,PressureEnum); 48 48 iomodel->FetchDataToInput(elements,TemperatureEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9612 r9636 51 51 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 52 52 iomodel->FetchDataToInput(elements,ElementsTypeEnum); 53 iomodel->FetchDataToInput(elements, RheologyBEnum);54 iomodel->FetchDataToInput(elements, RheologyNEnum);53 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 54 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 55 55 iomodel->FetchDataToInput(elements,SurfaceforcingsAccumulationRateEnum); 56 56 iomodel->FetchDataToInput(elements,SurfaceforcingsAblationRateEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
r9612 r9636 52 52 iomodel->FetchDataToInput(elements,ElementOnWaterEnum); 53 53 iomodel->FetchDataToInput(elements,ElementsTypeEnum); 54 iomodel->FetchDataToInput(elements, RheologyBEnum);55 iomodel->FetchDataToInput(elements, RheologyNEnum);54 iomodel->FetchDataToInput(elements,MaterialsRheologyBEnum); 55 iomodel->FetchDataToInput(elements,MaterialsRheologyNEnum); 56 56 iomodel->FetchDataToInput(elements,PressureEnum); 57 57 iomodel->FetchDataToInput(elements,TemperatureEnum); -
issm/trunk/src/c/modules/Responsex/Responsex.cpp
r9610 r9636 41 41 case RheologyBbarAbsGradientEnum:RheologyBbarAbsGradientx( responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break; 42 42 case DragCoefficientAbsGradientEnum:DragCoefficientAbsGradientx(responses, elements,nodes, vertices, loads, materials, parameters,process_units,weight_index); break; 43 case RheologyBbarEnum:RheologyBbarx(responses, elements,nodes, vertices, loads, materials, parameters,process_units); break;43 case MaterialsRheologyBbarEnum:RheologyBbarx(responses, elements,nodes, vertices, loads, materials, parameters,process_units); break; 44 44 case FrictionCoefficientEnum:NodalValuex(responses, FrictionCoefficientEnum,elements,nodes, vertices, loads, materials, parameters,process_units); break; 45 45 default: _error_(" response descriptor \"%s\" not supported yet!",response_descriptor); break; -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9632 r9636 48 48 else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum; 49 49 else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum; 50 else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum; 51 else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum; 52 else if (strcmp(name,"MaterialsRheologyN")==0) return MaterialsRheologyNEnum; 53 else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum; 54 else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum; 55 else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum; 56 else if (strcmp(name,"MaterialsHeatcapacity")==0) return MaterialsHeatcapacityEnum; 57 else if (strcmp(name,"MaterialsLatentheat")==0) return MaterialsLatentheatEnum; 58 else if (strcmp(name,"MaterialsBeta")==0) return MaterialsBetaEnum; 59 else if (strcmp(name,"MaterialsThermalconductivity")==0) return MaterialsThermalconductivityEnum; 60 else if (strcmp(name,"MaterialsMixedLayerCapacity")==0) return MaterialsMixedLayerCapacityEnum; 61 else if (strcmp(name,"MaterialsThermalExchangeVelocity")==0) return MaterialsThermalExchangeVelocityEnum; 62 else if (strcmp(name,"MaterialsMeltingpoint")==0) return MaterialsMeltingpointEnum; 50 63 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 51 64 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 201 214 else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum; 202 215 else if (strcmp(name,"ResetPenalties")==0) return ResetPenaltiesEnum; 203 else if (strcmp(name,"RheologyB")==0) return RheologyBEnum;204 else if (strcmp(name,"RheologyBbar")==0) return RheologyBbarEnum;205 else if (strcmp(name,"RheologyN")==0) return RheologyNEnum;206 216 else if (strcmp(name,"SegmentOnIceShelf")==0) return SegmentOnIceShelfEnum; 207 217 else if (strcmp(name,"ShelfDampening")==0) return ShelfDampeningEnum; … … 276 286 else if (strcmp(name,"AgressiveMigration")==0) return AgressiveMigrationEnum; 277 287 else if (strcmp(name,"SoftMigration")==0) return SoftMigrationEnum; 278 else if (strcmp(name,"RhoIce")==0) return RhoIceEnum;279 else if (strcmp(name,"RhoWater")==0) return RhoWaterEnum;280 else if (strcmp(name,"Gravity")==0) return GravityEnum;281 else if (strcmp(name,"MixedLayerCapacity")==0) return MixedLayerCapacityEnum;282 else if (strcmp(name,"ThermalExchangeVelocity")==0) return ThermalExchangeVelocityEnum;283 288 else if (strcmp(name,"StokesSolver")==0) return StokesSolverEnum; 284 289 else if (strcmp(name,"Intersect")==0) return IntersectEnum; 285 290 else if (strcmp(name,"Colinear")==0) return ColinearEnum; 286 291 else if (strcmp(name,"Separate")==0) return SeparateEnum; 287 else if (strcmp(name,"Beta")==0) return BetaEnum;288 292 else if (strcmp(name,"CmGradient")==0) return CmGradientEnum; 289 293 else if (strcmp(name,"CmJump")==0) return CmJumpEnum; … … 338 342 else if (strcmp(name,"OptionDouble")==0) return OptionDoubleEnum; 339 343 else if (strcmp(name,"OptionLogical")==0) return OptionLogicalEnum; 340 else if (strcmp(name,"RheologyLaw")==0) return RheologyLawEnum;341 344 else if (strcmp(name,"Paterson")==0) return PatersonEnum; 342 345 else if (strcmp(name,"Arrhenius")==0) return ArrheniusEnum; … … 389 392 else if (strcmp(name,"Stokesreconditioning")==0) return StokesreconditioningEnum; 390 393 else if (strcmp(name,"Lowerelements")==0) return LowerelementsEnum; 391 else if (strcmp(name,"Heatcapacity")==0) return HeatcapacityEnum;392 else if (strcmp(name,"Latentheat")==0) return LatentheatEnum;393 else if (strcmp(name,"Thermalconductivity")==0) return ThermalconductivityEnum;394 else if (strcmp(name,"Meltingpoint")==0) return MeltingpointEnum;395 394 else if (strcmp(name,"Dhdt")==0) return DhdtEnum; 396 395 else if (strcmp(name,"Isprognostic")==0) return IsprognosticEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9632 r9636 530 530 Input* input=NULL; 531 531 532 if(enum_type== RheologyBbarEnum){532 if(enum_type==MaterialsRheologyBbarEnum){ 533 533 if(!IsOnBed()) return; 534 input=(Input*)matice->inputs->GetInput( RheologyBEnum);534 input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); 535 535 } 536 536 else{ … … 549 549 Input* input=NULL; 550 550 551 if(enum_type== RheologyBbarEnum){552 input=(Input*)matice->inputs->GetInput( RheologyBEnum);551 if(enum_type==MaterialsRheologyBbarEnum){ 552 input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); 553 553 } 554 554 else{ … … 568 568 Input* input=NULL; 569 569 570 if(enum_type== RheologyBbarEnum){571 input=(Input*)matice->inputs->GetInput( RheologyBEnum);570 if(enum_type==MaterialsRheologyBbarEnum){ 571 input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); 572 572 } 573 573 else{ … … 1224 1224 1225 1225 /*Depth Averaging B*/ 1226 this->InputDepthAverageAtBase( RheologyBEnum,RheologyBbarEnum,MaterialsEnum);1226 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum); 1227 1227 1228 1228 /*Call Tria function*/ … … 1232 1232 1233 1233 /*Delete B averaged*/ 1234 this->matice->inputs->DeleteInput( RheologyBbarEnum);1234 this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum); 1235 1235 1236 1236 /*clean up and return*/ … … 4429 4429 break; 4430 4430 4431 case RheologyBbarEnum:4431 case MaterialsRheologyBbarEnum: 4432 4432 inputs->GetParameterValue(&approximation,ApproximationEnum); 4433 4433 switch(approximation){ … … 4669 4669 4670 4670 /*Depth Average B*/ 4671 this->InputDepthAverageAtBase( RheologyBEnum,RheologyBbarEnum,MaterialsEnum);4671 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum); 4672 4672 4673 4673 /*Collapse element to the base*/ … … 4677 4677 4678 4678 /*delete Average B*/ 4679 this->matice->inputs->DeleteInput( RheologyBbarEnum);4679 this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum); 4680 4680 4681 4681 } /*}}}*/ … … 4687 4687 4688 4688 /*Depth Average B*/ 4689 this->InputDepthAverageAtBase( RheologyBEnum,RheologyBbarEnum,MaterialsEnum);4689 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum); 4690 4690 4691 4691 /*Collapse element to the base*/ … … 4695 4695 4696 4696 /*delete Average B*/ 4697 this->matice->inputs->DeleteInput( RheologyBbarEnum);4697 this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum); 4698 4698 } /*}}}*/ 4699 4699 /*FUNCTION Penta::GradjBbarStokes {{{1*/ … … 4704 4704 4705 4705 /*Depth Average B*/ 4706 this->InputDepthAverageAtBase( RheologyBEnum,RheologyBbarEnum,MaterialsEnum);4706 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum); 4707 4707 4708 4708 /*Collapse element to the base*/ … … 4712 4712 4713 4713 /*delete Average B*/ 4714 this->matice->inputs->DeleteInput( RheologyBbarEnum);4714 this->matice->inputs->DeleteInput(MaterialsRheologyBbarEnum); 4715 4715 } /*}}}*/ 4716 4716 /*FUNCTION Penta::Sid {{{1*/ … … 4785 4785 for(int i=0;i<num_controls;i++){ 4786 4786 4787 if(control_type[i]== RheologyBbarEnum){4787 if(control_type[i]==MaterialsRheologyBbarEnum){ 4788 4788 if (!IsOnBed()) goto cleanup_and_return; 4789 input=(Input*)matice->inputs->GetInput( RheologyBEnum); _assert_(input);4789 input=(Input*)matice->inputs->GetInput(MaterialsRheologyBEnum); _assert_(input); 4790 4790 } 4791 4791 else{ … … 4799 4799 if (save_parameter) ((ControlInput*)input)->SaveValue(); 4800 4800 4801 if(control_type[i]== RheologyBbarEnum){4802 this->InputExtrude( RheologyBEnum,MaterialsEnum);4801 if(control_type[i]==MaterialsRheologyBbarEnum){ 4802 this->InputExtrude(MaterialsRheologyBEnum,MaterialsEnum); 4803 4803 } 4804 4804 } … … 5096 5096 5097 5097 /*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */ 5098 if (enum_type== RheologyBbarEnum) input=this->matice->inputs->GetInput(RheologyBEnum);5098 if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(MaterialsRheologyBEnum); 5099 5099 else input=this->inputs->GetInput(enum_type); 5100 5100 //if (!input) _error_("Input %s not found in penta->inputs",EnumToStringx(enum_type)); why error out? if the requested input does not exist, we should still … … 5204 5204 } 5205 5205 break; 5206 case RheologyBbarEnum:5206 case MaterialsRheologyBbarEnum: 5207 5207 /*Matice will take care of it*/ break; 5208 5208 default: … … 6249 6249 /*Update Rheology only if converged (we must make sure that the temperature is below melting point 6250 6250 * otherwise the rheology could be negative*/ 6251 this->parameters->FindParam(&rheology_law, RheologyLawEnum);6251 this->parameters->FindParam(&rheology_law,MaterialsRheologyLawEnum); 6252 6252 switch(rheology_law){ 6253 6253 case NoneEnum: … … 6257 6257 B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0); 6258 6258 for(i=0;i<numdof;i++) B[i]=B_average; 6259 this->matice->inputs->AddInput(new PentaVertexInput( RheologyBEnum,B));6259 this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B)); 6260 6260 break; 6261 6261 case ArrheniusEnum: … … 6265 6265 matice->GetN()); 6266 6266 for(i=0;i<numdof;i++) B[i]=B_average; 6267 this->matice->inputs->AddInput(new PentaVertexInput( RheologyBEnum,B));6267 this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B)); 6268 6268 break; 6269 6269 default: … … 6324 6324 /*Update Rheology only if converged (we must make sure that the temperature is below melting point 6325 6325 * otherwise the rheology could be negative*/ 6326 this->parameters->FindParam(&rheology_law, RheologyLawEnum);6326 this->parameters->FindParam(&rheology_law,MaterialsRheologyLawEnum); 6327 6327 switch(rheology_law){ 6328 6328 case NoneEnum: … … 6332 6332 B_average=Paterson((temperatures[0]+temperatures[1]+temperatures[2]+temperatures[3]+temperatures[4]+temperatures[5])/6.0); 6333 6333 for(i=0;i<numdof;i++) B[i]=B_average; 6334 this->matice->inputs->AddInput(new PentaVertexInput( RheologyBEnum,B));6334 this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B)); 6335 6335 break; 6336 6336 case ArrheniusEnum: … … 6340 6340 matice->GetN()); 6341 6341 for(i=0;i<numdof;i++) B[i]=B_average; 6342 this->matice->inputs->AddInput(new PentaVertexInput( RheologyBEnum,B));6342 this->matice->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,B)); 6343 6343 break; 6344 6344 default: … … 7081 7081 7082 7082 /*We have found the base under this. Call InputDepthAverageAtBase on it: */ 7083 base->InputDepthAverageAtBase( RheologyBEnum,RheologyBbarEnum,MaterialsEnum);7083 base->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum,MaterialsEnum); 7084 7084 7085 7085 /*Ok, base->matice now has the Bbar. Ask Bbar from this enum: */ … … 7507 7507 iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum); 7508 7508 iomodel->Constant(&isstokes,IsstokesEnum); 7509 iomodel->Constant(&beta, BetaEnum);7510 iomodel->Constant(&heatcapacity, HeatcapacityEnum);7509 iomodel->Constant(&beta,MaterialsBetaEnum); 7510 iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum); 7511 7511 iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum); 7512 iomodel->Constant(&meltingpoint,MeltingpointEnum); 7513 iomodel->Constant(&latentheat,LatentheatEnum); 7514 7512 iomodel->Constant(&meltingpoint,MaterialsMeltingpointEnum); 7513 iomodel->Constant(&latentheat,MaterialsLatentheatEnum); 7515 7514 7516 7515 /*Checks if debuging*/ -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9628 r9636 2159 2159 Input* input=NULL; 2160 2160 2161 if(enum_type== RheologyBbarEnum){2161 if(enum_type==MaterialsRheologyBbarEnum){ 2162 2162 input=(Input*)matice->inputs->GetInput(enum_type); 2163 2163 } … … 2177 2177 Input* input=NULL; 2178 2178 2179 if(enum_type== RheologyBbarEnum){2179 if(enum_type==MaterialsRheologyBbarEnum){ 2180 2180 input=(Input*)matice->inputs->GetInput(enum_type); 2181 2181 } … … 2196 2196 Input* input=NULL; 2197 2197 2198 if(enum_type== RheologyBbarEnum){2198 if(enum_type==MaterialsRheologyBbarEnum){ 2199 2199 input=(Input*)matice->inputs->GetInput(enum_type); 2200 2200 } … … 2697 2697 GradjDragMacAyeal(gradient); 2698 2698 break; 2699 case RheologyBbarEnum:2699 case MaterialsRheologyBbarEnum: 2700 2700 GradjBMacAyeal(gradient); 2701 2701 break; … … 2759 2759 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 2760 2760 GetDofList1(&doflist1[0]); 2761 Input* rheologyb_input=matice->inputs->GetInput( RheologyBbarEnum); _assert_(rheologyb_input);2761 Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input); 2762 2762 Input* weights_input=inputs->GetInput(WeightsEnum); _assert_(weights_input); 2763 2763 … … 2808 2808 Input* adjointx_input=inputs->GetInput(AdjointxEnum); _assert_(adjointx_input); 2809 2809 Input* adjointy_input=inputs->GetInput(AdjointyEnum); _assert_(adjointy_input); 2810 Input* rheologyb_input=matice->inputs->GetInput( RheologyBbarEnum); _assert_(rheologyb_input);2810 Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input); 2811 2811 2812 2812 /* Start looping on the number of gaussian points: */ … … 3115 3115 for(int i=0;i<num_controls;i++){ 3116 3116 3117 if(control_type[i]== RheologyBbarEnum){3117 if(control_type[i]==MaterialsRheologyBbarEnum){ 3118 3118 input=(Input*)matice->inputs->GetInput(control_type[i]); _assert_(input); 3119 3119 } … … 3223 3223 3224 3224 /*Go through all the input objects, and find the one corresponding to enum_type, if it exists: */ 3225 if (enum_type== RheologyBbarEnum) input=this->matice->inputs->GetInput(enum_type);3225 if (enum_type==MaterialsRheologyBbarEnum) input=this->matice->inputs->GetInput(enum_type); 3226 3226 else input=this->inputs->GetInput(enum_type); 3227 3227 if (!input) _error_("Input %s not found in tria->inputs",EnumToStringx(enum_type)); … … 3321 3321 } 3322 3322 break; 3323 case RheologyBbarEnum:3323 case MaterialsRheologyBbarEnum: 3324 3324 /*Matice will take care of it*/ break; 3325 3325 default: … … 3732 3732 3733 3733 /*update input*/ 3734 if (name== RheologyBbarEnum || name==RheologyBEnum){3734 if (name==MaterialsRheologyBbarEnum || name==MaterialsRheologyBEnum){ 3735 3735 matice->inputs->AddInput(new TriaVertexInput(name,values)); 3736 3736 } … … 4504 4504 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 4505 4505 Input* weights_input =inputs->GetInput(WeightsEnum); _assert_(weights_input); 4506 Input* rheologyb_input=matice->inputs->GetInput( RheologyBbarEnum); _assert_(rheologyb_input);4506 Input* rheologyb_input=matice->inputs->GetInput(MaterialsRheologyBbarEnum); _assert_(rheologyb_input); 4507 4507 4508 4508 /* Start looping on the number of gaussian points: */ -
issm/trunk/src/c/objects/Materials/Matice.cpp
r9405 r9636 202 202 double B; 203 203 204 inputs->GetParameterAverage(&B, RheologyBEnum);204 inputs->GetParameterAverage(&B,MaterialsRheologyBEnum); 205 205 return B; 206 206 } … … 212 212 double Bbar; 213 213 214 inputs->GetParameterAverage(&Bbar, RheologyBbarEnum);214 inputs->GetParameterAverage(&Bbar,MaterialsRheologyBbarEnum); 215 215 return Bbar; 216 216 } … … 222 222 double n; 223 223 224 inputs->GetParameterAverage(&n, RheologyNEnum);224 inputs->GetParameterAverage(&n,MaterialsRheologyNEnum); 225 225 return n; 226 226 } … … 594 594 this->inputs->AddInput(new TriaVertexInput(name,values)); 595 595 /*Special case for rheology B in 2D: Pourave land for this solution{{{2*/ 596 if(name== RheologyBEnum){596 if(name==MaterialsRheologyBEnum){ 597 597 /*Are we in 2D?:*/ 598 598 if(element->Enum()==TriaEnum){ … … 605 605 if(dim==2){ 606 606 /*Dupliacte rheology input: */ 607 this->inputs->AddInput(new TriaVertexInput( RheologyBbarEnum,values));607 this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyBbarEnum,values)); 608 608 } 609 609 } … … 674 674 675 675 /*Get B*/ 676 if (iomodel->Data( RheologyBEnum)) {677 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data( RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];678 this->inputs->AddInput(new TriaVertexInput( RheologyBbarEnum,nodeinputs));676 if (iomodel->Data(MaterialsRheologyBEnum)) { 677 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)]; 678 this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyBbarEnum,nodeinputs)); 679 679 } 680 680 681 681 /*Get n*/ 682 if (iomodel->Data( RheologyNEnum)) {683 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data( RheologyNEnum)[index];684 this->inputs->AddInput(new TriaVertexInput( RheologyNEnum,nodeinputs));682 if (iomodel->Data(MaterialsRheologyNEnum)) { 683 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index]; 684 this->inputs->AddInput(new TriaVertexInput(MaterialsRheologyNEnum,nodeinputs)); 685 685 } 686 686 … … 689 689 for(i=0;i<num_control_type;i++){ 690 690 switch((int)iomodel->Data(ControlTypeEnum)[i]){ 691 case RheologyBbarEnum:692 if (iomodel->Data( RheologyBEnum)){693 _assert_(iomodel->Data( RheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum));694 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data( RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];691 case MaterialsRheologyBbarEnum: 692 if (iomodel->Data(MaterialsRheologyBEnum)){ 693 _assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 694 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)]; 695 695 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 696 696 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 697 this->inputs->AddInput(new ControlInput( RheologyBbarEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));697 this->inputs->AddInput(new ControlInput(MaterialsRheologyBbarEnum,TriaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 698 698 } 699 699 break; … … 713 713 714 714 /*Get B*/ 715 if (iomodel->Data( RheologyBEnum)) {716 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data( RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)];717 this->inputs->AddInput(new PentaVertexInput( RheologyBEnum,nodeinputs));715 if (iomodel->Data(MaterialsRheologyBEnum)) { 716 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+i]-1)]; 717 this->inputs->AddInput(new PentaVertexInput(MaterialsRheologyBEnum,nodeinputs)); 718 718 } 719 719 720 720 /*Get n*/ 721 if (iomodel->Data( RheologyNEnum)) {722 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data( RheologyNEnum)[index];723 this->inputs->AddInput(new PentaVertexInput( RheologyNEnum,nodeinputs));721 if (iomodel->Data(MaterialsRheologyNEnum)) { 722 for(i=0;i<num_vertices;i++) nodeinputs[i]=iomodel->Data(MaterialsRheologyNEnum)[index]; 723 this->inputs->AddInput(new PentaVertexInput(MaterialsRheologyNEnum,nodeinputs)); 724 724 } 725 725 … … 728 728 for(i=0;i<num_control_type;i++){ 729 729 switch((int)iomodel->Data(ControlTypeEnum)[i]){ 730 case RheologyBbarEnum:731 if (iomodel->Data( RheologyBEnum)){732 _assert_(iomodel->Data( RheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum));733 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data( RheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)];730 case MaterialsRheologyBbarEnum: 731 if (iomodel->Data(MaterialsRheologyBEnum)){ 732 _assert_(iomodel->Data(MaterialsRheologyBEnum));_assert_(iomodel->Data(CmMinEnum)); _assert_(iomodel->Data(CmMaxEnum)); 733 for(j=0;j<num_vertices;j++)nodeinputs[j]=iomodel->Data(MaterialsRheologyBEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)]; 734 734 for(j=0;j<num_vertices;j++)cmmininputs[j]=iomodel->Data(CmMinEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 735 735 for(j=0;j<num_vertices;j++)cmmaxinputs[j]=iomodel->Data(CmMaxEnum)[int(iomodel->Data(ElementsEnum)[num_vertices*index+j]-1)*num_control_type+i]; 736 this->inputs->AddInput(new ControlInput( RheologyBEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1));736 this->inputs->AddInput(new ControlInput(MaterialsRheologyBEnum,PentaVertexInputEnum,nodeinputs,cmmininputs,cmmaxinputs,i+1)); 737 737 } 738 738 break; … … 751 751 bool Matice::IsInput(int name){ 752 752 if ( 753 name== RheologyBEnum ||754 name== RheologyBbarEnum ||755 name== RheologyNEnum753 name==MaterialsRheologyBEnum || 754 name==MaterialsRheologyBbarEnum || 755 name==MaterialsRheologyNEnum 756 756 ){ 757 757 return true; -
issm/trunk/src/c/objects/Materials/Matpar.cpp
r9617 r9636 26 26 27 27 this->mid = matpar_mid; 28 iomodel->Constant(&this->rho_ice, RhoIceEnum);29 iomodel->Constant(&this->rho_water, RhoWaterEnum);30 iomodel->Constant(&this->heatcapacity, HeatcapacityEnum);31 iomodel->Constant(&this->thermalconductivity, ThermalconductivityEnum);32 iomodel->Constant(&this->latentheat, LatentheatEnum);33 iomodel->Constant(&this->beta, BetaEnum);34 iomodel->Constant(&this->meltingpoint,M eltingpointEnum);28 iomodel->Constant(&this->rho_ice,MaterialsRhoIceEnum); 29 iomodel->Constant(&this->rho_water,MaterialsRhoWaterEnum); 30 iomodel->Constant(&this->heatcapacity,MaterialsHeatcapacityEnum); 31 iomodel->Constant(&this->thermalconductivity,MaterialsThermalconductivityEnum); 32 iomodel->Constant(&this->latentheat,MaterialsLatentheatEnum); 33 iomodel->Constant(&this->beta,MaterialsBetaEnum); 34 iomodel->Constant(&this->meltingpoint,MaterialsMeltingpointEnum); 35 35 iomodel->Constant(&this->referencetemperature,ConstantsReferencetemperatureEnum); 36 iomodel->Constant(&this->mixed_layer_capacity,M ixedLayerCapacityEnum);37 iomodel->Constant(&this->thermal_exchange_velocity, ThermalExchangeVelocityEnum);36 iomodel->Constant(&this->mixed_layer_capacity,MaterialsMixedLayerCapacityEnum); 37 iomodel->Constant(&this->thermal_exchange_velocity,MaterialsThermalExchangeVelocityEnum); 38 38 iomodel->Constant(&this->g,ConstantsGEnum); 39 39 … … 227 227 228 228 switch(name){ 229 case RhoIceEnum:229 case MaterialsRhoIceEnum: 230 230 this->rho_ice=constant; 231 231 break; 232 232 233 case 233 case MaterialsRhoWaterEnum: 234 234 this->rho_water=constant; 235 235 break; 236 236 237 case 237 case MaterialsHeatcapacityEnum: 238 238 this->heatcapacity=constant; 239 239 break; 240 240 241 case 241 case MaterialsThermalconductivityEnum: 242 242 this->thermalconductivity=constant; 243 243 break; 244 244 245 case LatentheatEnum:245 case MaterialsLatentheatEnum: 246 246 this->latentheat=constant; 247 247 break; 248 248 249 case BetaEnum:249 case MaterialsBetaEnum: 250 250 this->beta=constant; 251 251 break; 252 252 253 case M eltingpointEnum:253 case MaterialsMeltingpointEnum: 254 254 this->meltingpoint=constant; 255 255 break; … … 259 259 break; 260 260 261 case M ixedLayerCapacityEnum:261 case MaterialsMixedLayerCapacityEnum: 262 262 this->mixed_layer_capacity=constant; 263 263 break; 264 264 265 case ThermalExchangeVelocityEnum:265 case MaterialsThermalExchangeVelocityEnum: 266 266 this->thermalconductivity=constant; 267 267 break; 268 268 269 case GravityEnum:269 case ConstantsGEnum: 270 270 this->g=constant; 271 271 break; -
issm/trunk/src/c/solutions/controltao_core.cpp
r8607 r9636 51 51 52 52 /*Set up and solve TAO*/ 53 GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters, RheologyBbarEnum,VertexEnum);53 GetVectorFromInputsx(&initial_solution,femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,MaterialsRheologyBbarEnum,VertexEnum); 54 54 info = TaoCreate(PETSC_COMM_WORLD,method,&tao); if(info) _error_("STOP"); 55 55 info = TaoApplicationCreate(PETSC_COMM_WORLD,&controlapp); if(info) _error_("STOP"); … … 107 107 108 108 InputUpdateFromConstantx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,SurfaceAbsVelMisfitEnum,CmResponseEnum); 109 InputUpdateFromVectorx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,X, RheologyBbarEnum,VertexEnum);109 InputUpdateFromVectorx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,X,MaterialsRheologyBbarEnum,VertexEnum); 110 110 adjointdiagnostic_core(user->femmodel); 111 Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, RheologyBbarEnum);111 Gradjx(&gradient, femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters, MaterialsRheologyBbarEnum); 112 112 VecScale(gradient,10e7); 113 113 //VecScale(gradient,-1.); -
issm/trunk/src/m/classes/model/model.m
r9632 r9636 27 27 timestepping = modelfield('default',0,'marshall',true); 28 28 groundingline = modelfield('default',0,'marshall',true); 29 materials = modelfield('default',0,'marshall',true); 29 30 30 31 %FIXME: all other fields should belong to other classes … … 103 104 104 105 %Materials parameters 105 rho_ice = modelfield('default',0,'marshall',true,'format','Double'); 106 rho_water = modelfield('default',0,'marshall',true,'format','Double'); 107 heatcapacity = modelfield('default',0,'marshall',true,'format','Double'); 108 latentheat = modelfield('default',0,'marshall',true,'format','Double'); 109 thermalconductivity = modelfield('default',0,'marshall',true,'format','Double'); 110 meltingpoint = modelfield('default',0,'marshall',true,'format','Double'); 111 beta = modelfield('default',0,'marshall',true,'format','Double'); 112 mixed_layer_capacity = modelfield('default',0,'marshall',true,'format','Double'); 113 thermal_exchange_velocity = modelfield('default',0,'marshall',true,'format','Double'); 106 114 107 min_mechanical_constraints = modelfield('default',0,'marshall',true,'format','Integer'); 115 116 %Physical parameters117 118 rheology_B = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);119 rheology_n = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2);120 rheology_law = modelfield('default','','marshall',true,'preprocess','StringToEnum','format','Integer');121 108 122 109 %Geometrical parameters … … 362 349 if isfield(structmd,'p'), md.friction.p=structmd.p; end 363 350 if isfield(structmd,'q'), md.friction.q=structmd.p; end 364 if isfield(structmd,'B'), md.rheology_B=structmd.B; end365 if isfield(structmd,'n'), md.rheology_n=structmd.n; end366 351 if isfield(structmd,'melting'), md.basalforcings.melting_rate=structmd.melting; end 367 352 if isfield(structmd,'melting_rate'), md.basalforcings.melting_rate=structmd.melting_rate; end … … 420 405 if isfield(structmd,'time_adapt'), md.timestepping.time_adapt=structmd.time_adapt; end 421 406 if isfield(structmd,'cfl_coefficient'), md.timestepping.cfl_coefficient=structmd.cfl_coefficient; end 407 if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.B; end 408 if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.n; end 422 409 423 410 %Field changes … … 461 448 end 462 449 if isnumeric(structmd.rheology_law), 463 if (structmd.rheology_law==272), md. rheology_law='None'; end464 if (structmd.rheology_law==368), md. rheology_law='Paterson'; end465 if (structmd.rheology_law==369), md. rheology_law='Arrhenius'; end450 if (structmd.rheology_law==272), md.materials.rheology_law='None'; end 451 if (structmd.rheology_law==368), md.materials.rheology_law='Paterson'; end 452 if (structmd.rheology_law==369), md.materials.rheology_law='Arrhenius'; end 466 453 end 467 454 if isnumeric(structmd.groundingline_migration), … … 538 525 md.timestepping=timestepping; 539 526 md.groundingline=groundingline; 540 541 %Materials parameters 542 543 %ice density (kg/m^3) 544 md.rho_ice=917; 545 546 %water density (kg/m^3) 547 md.rho_water=1023; 548 549 %ice heat capacity cp (J/kg/K) 550 md.heatcapacity=2093; 551 552 %ice latent heat of fusion L (J/kg) 553 md.latentheat=3.34*10^5; 554 555 %ice thermal conductivity lamda (W/m/K) 556 md.thermalconductivity=2.4; 557 558 %the melting point of ice at 1 atmosphere of pressure in K 559 md.meltingpoint=273.15; 560 561 %rate of change of melting point with pressure (K/Pa) 562 md.beta=9.8*10^-8; 563 564 %mixed layer (ice-water interface) heat capacity (J/kg/K) 565 md.mixed_layer_capacity=3974; 566 567 %thermal exchange velocity (ice-water interface) (m/s) 568 md.thermal_exchange_velocity=1.00*10^-4; 527 md.materials=materials; 528 569 529 570 530 %Physical parameters … … 692 652 %0 to desactivate 693 653 md.waitonlock=Inf; 694 695 %Rheology law: what is the temperature dependence of B with T696 %available: none, paterson and arrhenius697 md.rheology_law='Paterson';698 654 699 655 end -
issm/trunk/src/m/enum/EnumToModelField.m
r9612 r9636 13 13 case ThicknessEnum(), string='thickness'; return 14 14 case FrictionCoefficientEnum(), string='drag_coefficient'; return 15 case RheologyBEnum(), string='rheology_B'; return16 case RheologyBbarEnum(), string='rheology_B'; return15 case MaterialsRheologyBEnum(), string='rheology_B'; return 16 case MaterialsRheologyBbarEnum(), string='rheology_B'; return 17 17 case DhdtEnum(), string='dhdt'; return 18 18 case VxEnum(), string='vx'; return -
issm/trunk/src/m/model/ThicknessCorrection.m
r8298 r9636 19 19 %initialize thickness with the observations, and get hydrostatic thickness from the dem 20 20 thickness=md.thickness; 21 thickness_hydro=md.surface/(1-md. rho_ice/md.rho_water);21 thickness_hydro=md.surface/(1-md.materials.rho_ice/md.materials.rho_water); 22 22 thickness_coeff=zeros(size(md.thickness)); 23 23 … … 67 67 68 68 %check the computed thickness 69 minth=1/(1-md. rho_ice/md.rho_water);69 minth=1/(1-md.materials.rho_ice/md.materials.rho_water); 70 70 pos=find(isnan(thickness) | (thickness<=0)); 71 71 thickness(pos)=minth; -
issm/trunk/src/m/model/basalstress.m
r9610 r9636 18 18 19 19 %compute basal drag 20 bx=(md.constants.g*(md. rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s;21 by=(md.constants.g*(md. rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s;22 b=(md.constants.g*(md. rho_ice*md.thickness+md.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s;20 bx=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ubx.^s; 21 by=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*uby.^s; 22 b=(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed)).^r.*(md.friction.coefficient).^2.*ub.^s; -
issm/trunk/src/m/model/basevert.m
r1 r9636 33 33 dbdy=(md.bed(md.elements).*beta)*summation; 34 34 35 wb=-md. rho_ice/md.rho_water*(hux+hvy)+uelem.*dbdx+velem.*dbdy;35 wb=-md.materials.rho_ice/md.materials.rho_water*(hux+hvy)+uelem.*dbdx+velem.*dbdy; -
issm/trunk/src/m/model/collapse.m
r9632 r9636 69 69 70 70 %materials 71 md. rheology_B=DepthAverage(md,md.rheology_B);72 md. rheology_n=project2d(md,md.rheology_n,1);71 md.materials.rheology_B=DepthAverage(md,md.materials.rheology_B); 72 md.materials.rheology_n=project2d(md,md.materials.rheology_n,1); 73 73 74 74 %special for thermal modeling: -
issm/trunk/src/m/model/contourmassbalance.m
r8298 r9636 34 34 ny=sin(atan2((x(segments(:,1))-x(segments(:,2))) , (y(segments(:,2))-y(segments(:,1))))); 35 35 L=sqrt((x(segments(:,1))-x(segments(:,2))).^2+(y(segments(:,2))-y(segments(:,1))).^2); 36 flux = - md. rho_ice*sum(L.*H.*(vx.*nx+vy.*ny)); %outflux is negative!36 flux = - md.materials.rho_ice*sum(L.*H.*(vx.*nx+vy.*ny)); %outflux is negative! 37 37 disp(['mass outflux on ' file ' = ' num2str(-flux/10^9) ' Gt/yr']); 38 38 areas=GetAreas(md.elements,md.x,md.y); 39 dhdt=flux/(sum(areas(find(elemin)))*md. rho_ice);39 dhdt=flux/(sum(areas(find(elemin)))*md.materials.rho_ice); 40 40 disp(['dhdt on ' file ' (Flux method) = ' num2str(dhdt) ' m/yr']); 41 41 -
issm/trunk/src/m/model/drivingstress.m
r9597 r9636 14 14 thickness_bar=(md.thickness(md.elements(:,1))+md.thickness(md.elements(:,2))+md.thickness(md.elements(:,3)))/3; 15 15 16 px=md. rho_ice*md.constants.g*thickness_bar.*sx;17 py=md. rho_ice*md.constants.g*thickness_bar.*sy;16 px=md.materials.rho_ice*md.constants.g*thickness_bar.*sx; 17 py=md.materials.rho_ice*md.constants.g*thickness_bar.*sy; 18 18 pmag=sqrt(px.^2+py.^2); -
issm/trunk/src/m/model/effectivepressure.m
r9605 r9636 8 8 % Neff=effectivepressure(md) 9 9 10 Neff=md. rho_ice*md.constants.g*md.thickness+md.rho_ice*md.constants.g*md.bed;10 Neff=md.materials.rho_ice*md.constants.g*md.thickness+md.materials.rho_ice*md.constants.g*md.bed; 11 11 pos=find(Neff<0); 12 12 Neff(pos)=0; -
issm/trunk/src/m/model/extrude.m
r9632 r9636 197 197 198 198 %materials 199 md. rheology_B=project3d(md,'vector',md.rheology_B,'type','node');200 md. rheology_n=project3d(md,'vector',md.rheology_n,'type','element');199 md.materials.rheology_B=project3d(md,'vector',md.materials.rheology_B,'type','node'); 200 md.materials.rheology_n=project3d(md,'vector',md.materials.rheology_n,'type','element'); 201 201 202 202 %parameters … … 217 217 %Put lithostatic pressure is there is an existing pressure 218 218 if ~isnan(md.pressure), 219 md.pressure=md.constants.g*md. rho_ice*(md.surface-md.z);219 md.pressure=md.constants.g*md.materials.rho_ice*(md.surface-md.z); 220 220 end 221 221 -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9635 r9636 83 83 %NO NAN {{{1 84 84 fields={'numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',... 85 ' rho_ice','rho_water','rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','settings.lowmem','nsteps','maxiter',...86 'eps_res','max_nonlinear_iterations',' rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'};85 'materials.rho_ice','materials.rho_water','materials.rheology_B','elementoniceshelf','surface','thickness','bed','constants.g','settings.lowmem','nsteps','maxiter',... 86 'eps_res','max_nonlinear_iterations','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'}; 87 87 checknan(md,fields); 88 88 %}}}} 89 89 %FIELDS >= 0 {{{1 90 90 fields={'numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',... 91 ' rho_ice','rho_water','rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',...92 'settings.lowmem',' rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'};91 'materials.rho_ice','materials.rho_water','materials.rheology_B','elementoniceshelf','thickness','constants.g','eps_res','max_nonlinear_iterations','eps_rel','eps_abs','nsteps','maxiter',... 92 'settings.lowmem','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface'}; 93 93 checkgreater(md,fields,0); 94 94 %}}} 95 95 %FIELDS > 0 {{{1 96 96 fields={'numberofelements','numberofnodes','elements','friction.p',... 97 ' rho_ice','rho_water','rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'};97 'materials.rho_ice','materials.rho_water','materials.rheology_B','thickness','constants.g','max_nonlinear_iterations','eps_res','eps_rel','eps_abs','maxiter'}; 98 98 checkgreaterstrict(md,fields,0); 99 99 %}}} 100 100 %SIZE NUMBEROFELEMENTS {{{1 101 fields={'friction.p','friction.q','elementoniceshelf',' rheology_n','elementonbed'};101 fields={'friction.p','friction.q','elementoniceshelf','materials.rheology_n','elementonbed'}; 102 102 checksize(md,fields,[md.numberofelements 1]); 103 103 %}}} 104 104 %SIZE NUMBEROFNODES {{{1 105 fields={'x','y','z',' rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'};105 fields={'x','y','z','materials.rheology_B','friction.coefficient','basalforcings.melting_rate','surface','thickness','bed','nodeonbed','nodeonsurface'}; 106 106 checksize(md,fields,[md.numberofnodes 1]); 107 107 %}}} … … 181 181 message(['model not consistent: model ' md.miscellaneous.name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']); 182 182 end 183 if ~ismember({md. rheology_law},{'None' 'Paterson' 'Arrhenius'}),183 if ~ismember({md.materials.rheology_law},{'None' 'Paterson' 'Arrhenius'}), 184 184 message(['model not consistent: model ' md.miscellaneous.name ' rheology_law field should be ''none'' ''paterson'' or ''arrhenius''']); 185 185 end -
issm/trunk/src/m/model/mechanicalproperties.m
r9597 r9636 48 48 %compute viscosity 49 49 nu=zeros(numberofelements,1); 50 B_bar=md. rheology_B(index)*summation/3;51 power=(md. rheology_n-1)./(2*md.rheology_n);50 B_bar=md.materials.rheology_B(index)*summation/3; 51 power=(md.materials.rheology_n-1)./(2*md.materials.rheology_n); 52 52 second_inv=(ux.^2+vy.^2+((uy+vx).^2)/4+ux.*vy); 53 53 %some corrections -
issm/trunk/src/m/model/plot/plot_basaldrag.m
r9610 r9636 30 30 31 31 %compute basal drag 32 drag=(max(md.constants.g*(md. rho_ice*md.thickness+md.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;32 drag=(max(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000; 33 33 34 34 %Figure out if this is a Section plot -
issm/trunk/src/m/model/sia.m
r9597 r9636 22 22 Ael=Bel.^(-3); 23 23 24 velx=-2*(md. rho_ice*md.constants.g)^3*s.^2.*sx.*Ael/4.*hel.^4;25 vely=-2*(md. rho_ice*md.constants.g)^3*s.^2.*sy.*Ael/4.*hel.^4;24 velx=-2*(md.materials.rho_ice*md.constants.g)^3*s.^2.*sx.*Ael/4.*hel.^4; 25 vely=-2*(md.materials.rho_ice*md.constants.g)^3*s.^2.*sy.*Ael/4.*hel.^4; 26 26 vel=sqrt(velx.^2+vely.^2); -
issm/trunk/template
r9633 r9636 63 63 elementonwater 64 64 65 }}}66 materials{{{67 rho_ice68 rho_water69 heatcapacity70 latentheat71 thermalconductivity72 meltingpoint73 beta74 mixed_layer_capacity75 thermal_exchange_velocity76 rheology_B77 rheology_n78 rheology_law79 65 }}} 80 66 flowequation{{{ … … 186 172 qmu_params 187 173 dakotaresults ->results 188 dakotain ->check189 dakotaout ->check190 dakotadat ->check191 174 qmu_analysis -> isqmu 192 175 part ->partition -
issm/trunk/test/Miscellaneous/Bump/Bump.par
r8824 r9636 8 8 ymax=max(md.y); 9 9 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 10 md.bed=-md. rho_ice/md.rho_water*md.thickness+10;10 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+10; 11 11 md.surface=md.bed+md.thickness; 12 md.bed=-md. rho_ice/md.rho_water*md.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10;12 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+height*exp(-((md.x-50000).^2+(md.y-50000).^2)/(4000)^2)+10; 13 13 md.thickness=md.surface-md.bed; 14 14 … … 23 23 md.observed_temperature=(273-20)*ones(md.numberofnodes,1); 24 24 25 md. rheology_B=paterson(md.observed_temperature);26 md. rheology_n=3*ones(md.numberofelements,1);25 md.materials.rheology_B=paterson(md.observed_temperature); 26 md.materials.rheology_n=3*ones(md.numberofelements,1); 27 27 28 28 %Deal with boundary conditions: -
issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
r9632 r9636 7 7 ymax=max(md.y); 8 8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 9 md.bed=-md. rho_ice/md.rho_water*md.thickness;9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 10 10 md.surface=md.bed+md.thickness; 11 11 12 12 %Materials 13 13 md.observed_temperature=(273-20)*ones(md.numberofnodes,1); 14 md. rheology_B=paterson(md.observed_temperature);15 md. rheology_n=3*ones(md.numberofelements,1);14 md.materials.rheology_B=paterson(md.observed_temperature); 15 md.materials.rheology_n=3*ones(md.numberofelements,1); 16 16 md.temperature=md.observed_temperature; 17 17 -
issm/trunk/test/Miscellaneous/Regularization/Square.par
r8824 r9636 5 5 ymax=max(md.y); 6 6 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 7 md.bed=-md. rho_ice/md.rho_water*md.thickness+10;7 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+10; 8 8 md.surface=md.bed+md.thickness; 9 9 … … 19 19 md.observed_temperature=(273-20)*ones(md.numberofnodes,1); 20 20 21 md. rheology_B=paterson(md.observed_temperature);22 md. rheology_n=3*ones(md.numberofelements,1);21 md.materials.rheology_B=paterson(md.observed_temperature); 22 md.materials.rheology_n=3*ones(md.numberofelements,1); 23 23 24 24 %Deal with boundary conditions: -
issm/trunk/test/Miscellaneous/connectivity/Square.par
r9632 r9636 12 12 ymax=max(md.y); 13 13 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 14 md.bed=-md. rho_ice/md.rho_water*md.thickness;14 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 15 15 md.surface=md.bed+md.thickness; 16 16 … … 26 26 md.observed_temperature=(273-20)*ones(md.numberofnodes,1); 27 27 28 md. rheology_B=paterson(md.observed_temperature);29 md. rheology_n=3*ones(md.numberofelements,1);28 md.materials.rheology_B=paterson(md.observed_temperature); 29 md.materials.rheology_n=3*ones(md.numberofelements,1); 30 30 31 31 %Deal with boundary conditions: -
issm/trunk/test/NightlyRun/test1301.m
r9632 r9636 17 17 pos=find(md.nodeonsurface); 18 18 md.thermal.spctemperature(pos)=md.temperature(pos); 19 md. rheology_B=paterson(md.temperature);19 md.materials.rheology_B=paterson(md.temperature); 20 20 21 21 %analytical results 22 22 %melting heat = geothermal flux 23 23 %Mb*L*rho=G => Mb=G/L*rho 24 melting=md.basalforcings.geothermalflux/(md. rho_ice*md.latentheat)*md.constants.yts;24 melting=md.basalforcings.geothermalflux/(md.materials.rho_ice*md.materials.latentheat)*md.constants.yts; 25 25 26 26 %modeled results -
issm/trunk/test/NightlyRun/test1302.m
r9632 r9636 20 20 %analytical results 21 21 %d2T/dz2-w*rho_ice*c/k*dT/dz=0 T(surface)=0 T(bed)=10 => T=A exp(alpha z)+B 22 alpha=0.1/md.constants.yts*md. rho_ice*md.heatcapacity/md.thermalconductivity; %alpha=w rho_ice c /k and w=0.1m/an22 alpha=0.1/md.constants.yts*md.materials.rho_ice*md.heatcapacity/md.thermalconductivity; %alpha=w rho_ice c /k and w=0.1m/an 23 23 A=10/(exp(alpha*(-1000))-1); %A=T(bed)/(exp(alpha*bed)-1) with bed=-1000 T(bed)=10 24 24 B=-A; -
issm/trunk/test/NightlyRun/test233.m
r9597 r9636 18 18 xmax=max(md.x); 19 19 20 di=md. rho_ice/md.rho_water;20 di=md.materials.rho_ice/md.materials.rho_water; 21 21 22 22 h=1000; 23 23 md.thickness=h*ones(md.numberofnodes,1); 24 md.bed=-md. rho_ice/md.rho_water*md.thickness;24 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 25 25 md.surface=md.bed+md.thickness; 26 26 … … 33 33 %Materials 34 34 md.temperature=(273-20)*ones(md.numberofnodes,1); 35 md. rheology_B=paterson(md.temperature);36 md. rheology_n=3*ones(md.numberofelements,1);35 md.materials.rheology_B=paterson(md.temperature); 36 md.materials.rheology_n=3*ones(md.numberofelements,1); 37 37 38 38 %Boundary conditions: … … 61 61 62 62 %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292. 63 %ey_c=(md. rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;63 %ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3; 64 64 %vy_c=ey_c.*md.y*md.constants.yts; 65 65 -
issm/trunk/test/NightlyRun/test234.m
r9597 r9636 18 18 xmax=max(md.x); 19 19 20 di=md. rho_ice/md.rho_water;20 di=md.materials.rho_ice/md.materials.rho_water; 21 21 22 22 h=1000; 23 23 md.thickness=h*ones(md.numberofnodes,1); 24 md.bed=-md. rho_ice/md.rho_water*md.thickness;24 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 25 25 md.surface=md.bed+md.thickness; 26 26 … … 33 33 %Materials 34 34 md.temperature=(273-20)*ones(md.numberofnodes,1); 35 md. rheology_B=paterson(md.temperature);36 md. rheology_n=3*ones(md.numberofelements,1);35 md.materials.rheology_B=paterson(md.temperature); 36 md.materials.rheology_n=3*ones(md.numberofelements,1); 37 37 38 38 %Boundary conditions: … … 61 61 62 62 %create analytical solution: strain rate is constant = ((rho_ice*g*h)/4B)^3 (Paterson, 4th Edition, page 292. 63 %ey_c=(md. rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.rheology_B)).^3;63 %ey_c=(md.materials.rho_ice*md.constants.g*(1-di)*md.thickness./(4*md.materials.rheology_B)).^3; 64 64 %vy_c=ey_c.*md.y*md.constants.yts; 65 65 -
issm/trunk/test/NightlyRun/test235.m
r9571 r9636 15 15 xmax=max(md.x); 16 16 17 di=md. rho_ice/md.rho_water;17 di=md.materials.rho_ice/md.materials.rho_water; 18 18 19 19 h=1000; 20 20 md.thickness=h*ones(md.numberofnodes,1); 21 md.bed=-md. rho_ice/md.rho_water*md.thickness;21 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 22 22 md.surface=md.bed+md.thickness; 23 23 … … 30 30 %Materials 31 31 md.temperature=(273-20)*ones(md.numberofnodes,1); 32 md. rheology_B=paterson(md.temperature);33 md. rheology_n=3*ones(md.numberofelements,1);32 md.materials.rheology_B=paterson(md.temperature); 33 md.materials.rheology_n=3*ones(md.numberofelements,1); 34 34 35 35 %Boundary conditions: -
issm/trunk/test/NightlyRun/test236.m
r9571 r9636 15 15 xmax=max(md.x); 16 16 17 di=md. rho_ice/md.rho_water;17 di=md.materials.rho_ice/md.materials.rho_water; 18 18 19 19 h=1000; 20 20 md.thickness=h*ones(md.numberofnodes,1); 21 md.bed=-md. rho_ice/md.rho_water*md.thickness;21 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 22 22 md.surface=md.bed+md.thickness; 23 23 … … 30 30 %Materials 31 31 md.temperature=(273-20)*ones(md.numberofnodes,1); 32 md. rheology_B=paterson(md.temperature);33 md. rheology_n=3*ones(md.numberofelements,1);32 md.materials.rheology_B=paterson(md.temperature); 33 md.materials.rheology_n=3*ones(md.numberofelements,1); 34 34 35 35 %Boundary conditions: -
issm/trunk/test/NightlyRun/test423.m
r9610 r9636 13 13 %Dakota options 14 14 %variables 15 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);15 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 16 16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01); 17 17 %md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,.01*ones(md.npart,1)); -
issm/trunk/test/NightlyRun/test424.m
r9610 r9636 14 14 %Dakota options 15 15 %variables 16 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);16 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 17 17 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 18 18 -
issm/trunk/test/NightlyRun/test425.m
r9610 r9636 13 13 14 14 %variables 15 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);15 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 16 16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 17 17 -
issm/trunk/test/NightlyRun/test426.m
r9610 r9636 13 13 14 14 %variables 15 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);15 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 16 16 md.variables.drag_coefficient=normal_uncertain('scaled_FrictionCoefficient',1,0.01); 17 17 -
issm/trunk/test/NightlyRun/test427.m
r9610 r9636 4 4 md=setelementstype(md,'macayeal','all'); 5 5 md.cluster=none; 6 md. rho_ice=10^7; %involved in the mass flux, make it easy6 md.materials.rho_ice=10^7; %involved in the mass flux, make it easy 7 7 md.thickness(:)=1; %make it easy 8 8 -
issm/trunk/test/NightlyRun/test428.m
r9610 r9636 4 4 md=setelementstype(md,'macayeal','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md. rho_ice=10^7; %involved in the mass flux, make it easy6 md.materials.rho_ice=10^7; %involved in the mass flux, make it easy 7 7 md.thickness(:)=1; %make it easy 8 8 -
issm/trunk/test/NightlyRun/test434.m
r9610 r9636 4 4 md=setelementstype(md,'macayeal','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md. rho_ice=10^7; %involved in the mass flux, make it easy6 md.materials.rho_ice=10^7; %involved in the mass flux, make it easy 7 7 md.thickness(:)=1; %make it easy 8 8 -
issm/trunk/test/NightlyRun/test439.m
r9571 r9636 13 13 %Dakota options 14 14 %variables 15 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);15 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 16 16 17 17 %responses -
issm/trunk/test/NightlyRun/test440.m
r9571 r9636 13 13 %Dakota options 14 14 %variables 15 md.variables.rho_ice=normal_uncertain('RhoIce',md. rho_ice,0.01);15 md.variables.rho_ice=normal_uncertain('RhoIce',md.materials.rho_ice,0.01); 16 16 17 17 %responses -
issm/trunk/test/NightlyRun/test446.m
r9629 r9636 23 23 md.cluster=generic('name',oshostname(),'np',3); 24 24 %plug holes into the ice sheet, to test for grounding line migration. {{{1 25 di=md. rho_ice/md.rho_water;25 di=md.materials.rho_ice/md.materials.rho_water; 26 26 rad=sqrt((md.x).*md.x+(md.y).*md.y); 27 27 pos=find(rad<200000); -
issm/trunk/test/NightlyRun/test521.m
r9541 r9636 4 4 5 5 %impose hydrostatic equilibrium (required by Stokes) 6 md.bed=-md. rho_ice/md.rho_water*md.thickness;6 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 7 7 md.surface=md.bed+md.thickness; 8 8 md=extrude(md,3,1); -
issm/trunk/test/NightlyRun/test522.m
r9541 r9636 4 4 5 5 %impose hydrostatic equilibrium (required by Stokes) 6 md.bed=-md. rho_ice/md.rho_water*md.thickness;6 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 7 7 md.surface=md.bed+md.thickness; 8 8 md=extrude(md,3,1); -
issm/trunk/test/Par/79North.par
r9632 r9636 12 12 %Materials 13 13 md.temperature=(273-20)*ones(md.numberofnodes,1); 14 md. rheology_B=paterson(md.temperature);15 md. rheology_n=3*ones(md.numberofelements,1);14 md.materials.rheology_B=paterson(md.temperature); 15 md.materials.rheology_n=3*ones(md.numberofelements,1); 16 16 17 17 %Friction -
issm/trunk/test/Par/ISMIPA.par
r9610 r9636 15 15 16 16 disp(' creating flow law paramter'); 17 md. rheology_B=6.8067*10^7*ones(md.numberofnodes,1);18 md. rheology_n=3*ones(md.numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1); 18 md.materials.rheology_n=3*ones(md.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model'); -
issm/trunk/test/Par/ISMIPB.par
r9610 r9636 15 15 16 16 disp(' creating flow law paramter'); 17 md. rheology_B=6.8067*10^7*ones(md.numberofnodes,1);18 md. rheology_n=3*ones(md.numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1); 18 md.materials.rheology_n=3*ones(md.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model'); -
issm/trunk/test/Par/ISMIPC.par
r9610 r9636 7 7 8 8 disp(' creating drag'); 9 %md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md. rho_ice*md.thickness+md.rho_water*md.bed)));9 %md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x/2)).*sin(md.y*2*pi/max(md.x/2)))./(md.constants.g*(md.materials.rho_ice*md.thickness+md.materials.rho_water*md.bed))); 10 10 md.friction.coefficient=sqrt(md.constants.yts.*(1000+1000*sin(md.x*2*pi/max(md.x)).*sin(md.y*2*pi/max(md.x)))); 11 11 %Take care of iceshelves: no basal drag … … 16 16 17 17 disp(' creating flow law paramter'); 18 md. rheology_B=6.8067*10^7*ones(md.numberofnodes,1);19 md. rheology_n=3*ones(md.numberofelements,1);18 md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1); 19 md.materials.rheology_n=3*ones(md.numberofelements,1); 20 20 21 21 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPD.par
r9610 r9636 15 15 16 16 disp(' creating flow law paramter'); 17 md. rheology_B=6.8067*10^7*ones(md.numberofnodes,1);18 md. rheology_n=3*ones(md.numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1); 18 md.materials.rheology_n=3*ones(md.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPE.par
r9610 r9636 24 24 25 25 disp(' creating flow law paramter'); 26 md. rheology_B=6.8067*10^7*ones(md.numberofnodes,1);27 md. rheology_n=3*ones(md.numberofelements,1);26 md.materials.rheology_B=6.8067*10^7*ones(md.numberofnodes,1); 27 md.materials.rheology_n=3*ones(md.numberofelements,1); 28 28 29 29 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPF.par
r9632 r9636 14 14 15 15 disp(' creating flow law paramter'); 16 md. rheology_B=1.4734*10^14*ones(md.numberofnodes,1);17 md. rheology_n=1*ones(md.numberofelements,1);18 md. rheology_law='None';16 md.materials.rheology_B=1.4734*10^14*ones(md.numberofnodes,1); 17 md.materials.rheology_n=1*ones(md.numberofelements,1); 18 md.materials.rheology_law='None'; 19 19 20 20 disp(' boundary conditions for diagnostic model'); -
issm/trunk/test/Par/Pig.par
r9628 r9636 16 16 %Materials 17 17 md.temperature=(273-20)*ones(md.numberofnodes,1); 18 md. rheology_B=paterson(md.temperature);19 md. rheology_n=3*ones(md.numberofelements,1);18 md.materials.rheology_B=paterson(md.temperature); 19 md.materials.rheology_n=3*ones(md.numberofelements,1); 20 20 md.temperature=md.temperature; 21 21 -
issm/trunk/test/Par/RoundSheetEISMINT.par
r9628 r9636 18 18 19 19 disp(' creating flow law paramter'); 20 md. rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution21 md. rheology_n=3*ones(md.numberofelements,1);20 md.materials.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 21 md.materials.rheology_n=3*ones(md.numberofelements,1); 22 22 23 23 disp(' creating surface mass balance'); … … 53 53 54 54 %Constants 55 md. rho_ice=910;56 md. thermalconductivity=2.1;57 md. latentheat=3.35*10^5;58 md. beta=8.66*10^-4/(md.rho_ice*md.constants.g); %conversion from K/m to K/Pa55 md.materials.rho_ice=910; 56 md.materials.thermalconductivity=2.1; 57 md.materials.latentheat=3.35*10^5; 58 md.materials.beta=8.66*10^-4/(md.materials.rho_ice*md.constants.g); %conversion from K/m to K/Pa 59 59 md.constants.yts=31556926; -
issm/trunk/test/Par/RoundSheetShelf.par
r9632 r9636 1 1 %Start defining model parameters here 2 2 3 di=md. rho_ice/md.rho_water;3 di=md.materials.rho_ice/md.materials.rho_water; 4 4 rad=1e6; 5 5 shelfextent=2e5; … … 11 11 ymax=max(radius); 12 12 md.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin); 13 md.bed=-md. rho_ice/md.rho_water*md.thickness;13 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 14 14 15 15 pos=find(md.nodeonicesheet); … … 41 41 %Materials 42 42 md.temperature=(273-20)*ones(md.numberofnodes,1); 43 md. rheology_B=paterson(md.temperature);44 md. rheology_n=3*ones(md.numberofelements,1);43 md.materials.rheology_B=paterson(md.temperature); 44 md.materials.rheology_n=3*ones(md.numberofelements,1); 45 45 46 46 %Surface mass balance and basal melting -
issm/trunk/test/Par/RoundSheetStaticEISMINT.par
r9611 r9636 23 23 24 24 disp(' creating flow law paramter'); 25 md. rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution26 md. rheology_n=3*ones(md.numberofelements,1);25 md.materials.rheology_B=6.81*10^(7)*ones(md.numberofnodes,1); %to have the same B as the analytical solution 26 md.materials.rheology_n=3*ones(md.numberofelements,1); 27 27 28 28 disp(' creating surface mass balance'); -
issm/trunk/test/Par/SquareEISMINT.par
r9632 r9636 5 5 ymax=max(md.y); 6 6 md.thickness=500*ones(md.numberofnodes,1); 7 md.bed=-md. rho_ice/md.rho_water*md.thickness;7 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 8 8 md.surface=md.bed+md.thickness; 9 9 … … 20 20 21 21 disp(' creating flow law paramter'); 22 md. rheology_B=1.7687*10^8*ones(md.numberofnodes,1);23 md. rheology_n=3*ones(md.numberofelements,1);22 md.materials.rheology_B=1.7687*10^8*ones(md.numberofnodes,1); 23 md.materials.rheology_n=3*ones(md.numberofelements,1); 24 24 25 25 disp(' creating surface mass balance'); -
issm/trunk/test/Par/SquareSheetConstrained.par
r9632 r9636 7 7 ymax=max(md.y); 8 8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 9 md.bed=-md. rho_ice/md.rho_water*md.thickness+20;9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness+20; 10 10 md.surface=md.bed+md.thickness; 11 11 … … 20 20 %Materials 21 21 md.temperature=(273-20)*ones(md.numberofnodes,1); 22 md. rheology_B=paterson(md.temperature);23 md. rheology_n=3*ones(md.numberofelements,1);22 md.materials.rheology_B=paterson(md.temperature); 23 md.materials.rheology_n=3*ones(md.numberofelements,1); 24 24 25 25 %Friction -
issm/trunk/test/Par/SquareSheetShelf.par
r9632 r9636 7 7 ymax=max(md.y); 8 8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 9 md.bed=-md. rho_ice/md.rho_water*md.thickness;10 bed_sheet=-md. rho_ice/md.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin));9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 10 bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin)); 11 11 pos=find(md.y<=ymax/2); 12 12 md.bed(pos)=bed_sheet; … … 23 23 %Materials 24 24 md.temperature=(273-20)*ones(md.numberofnodes,1); 25 md. rheology_B=paterson(md.temperature);26 md. rheology_n=3*ones(md.numberofelements,1);25 md.materials.rheology_B=paterson(md.temperature); 26 md.materials.rheology_n=3*ones(md.numberofelements,1); 27 27 28 28 %Accumulation and melting -
issm/trunk/test/Par/SquareShelf.par
r9632 r9636 7 7 ymax=max(md.y); 8 8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 9 md.bed=-md. rho_ice/md.rho_water*md.thickness;9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 10 10 md.surface=md.bed+md.thickness; 11 11 … … 20 20 %Materials 21 21 md.temperature=(273-20)*ones(md.numberofnodes,1); 22 md. rheology_B=paterson(md.temperature);23 md. rheology_n=3*ones(md.numberofelements,1);22 md.materials.rheology_B=paterson(md.temperature); 23 md.materials.rheology_n=3*ones(md.numberofelements,1); 24 24 25 25 %Friction -
issm/trunk/test/Par/SquareShelfConstrained.par
r9632 r9636 7 7 ymax=max(md.y); 8 8 md.thickness=hmax+(hmin-hmax)*(md.y-ymin)/(ymax-ymin); 9 md.bed=-md. rho_ice/md.rho_water*md.thickness;9 md.bed=-md.materials.rho_ice/md.materials.rho_water*md.thickness; 10 10 md.surface=md.bed+md.thickness; 11 11 … … 20 20 %Materials 21 21 md.temperature=(273-20)*ones(md.numberofnodes,1); 22 md. rheology_B=paterson(md.temperature);23 md. rheology_n=3*ones(md.numberofelements,1);22 md.materials.rheology_B=paterson(md.temperature); 23 md.materials.rheology_n=3*ones(md.numberofelements,1); 24 24 25 25 %Surface mass balance and basal melting -
issm/trunk/test/Par/SquareThermal.par
r9632 r9636 26 26 27 27 disp(' creating flow law paramter'); 28 md. rheology_B=paterson(md.temperature);29 md. rheology_n=3*ones(md.numberofelements,1);28 md.materials.rheology_B=paterson(md.temperature); 29 md.materials.rheology_n=3*ones(md.numberofelements,1); 30 30 31 31 disp(' creating surface mass balance');
Note:
See TracChangeset
for help on using the changeset viewer.