Changeset 9725
- Timestamp:
- 09/09/11 08:35:15 (14 years ago)
- Location:
- issm/trunk
- Files:
-
- 8 added
- 9 deleted
- 238 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9719 r9725 149 149 MeshAverageVertexConnectivityEnum, 150 150 MeshDimensionEnum, 151 MeshNumberofelementsEnum, 152 MeshNumberofverticesEnum, 153 MeshNumberofelements2dEnum, 154 MeshNumberofedgesEnum, 155 MeshNumberoflayersEnum, 156 MeshNumberofvertices2dEnum, 151 157 /*}}}*/ 152 158 /*Datasets {{{1*/ … … 184 190 //transient 185 191 TransientSolutionEnum, 186 GroundinglineMigration2 DSolutionEnum,192 GroundinglineMigration2dSolutionEnum, 187 193 //slope 188 194 BedSlopeSolutionEnum, … … 412 418 OldGradientEnum, 413 419 ControlSteadyEnum, 414 NumberOfElementsEnum, 415 NumberOfVerticesEnum, 420 416 421 OutputFilePointerEnum, 417 422 QmuErrNameEnum, … … 463 468 TransientInputEnum, 464 469 /*Temporary*/ 465 NumberOfElements2DEnum,466 470 YEnum, 467 NumberOfNodes2DEnum,468 471 ZEnum, 469 472 UpperelementsEnum, 470 473 EdgesEnum, 471 Elements2 DEnum,474 Elements2dEnum, 472 475 XEnum, 473 476 ElementconnectivityEnum, 474 NumlayersEnum,475 477 LowerelementsEnum, 476 478 OutputfilenameEnum, 477 479 WaterfractionEnum, 478 480 WatercolumnEnum, 479 NumberOfResponsesEnum,480 481 BasalFrictionEnum, 481 482 ViscousHeatingEnum, … … 484 485 HydrologyWaterVyEnum, 485 486 SpcDynamicEnum, 486 NumberOfEdgesEnum,487 487 MaximumNumberOfEnums 488 488 }; -
issm/trunk/src/c/modules/ComputeBasalStressx/ComputeBasalStressx.cpp
r8263 r9725 22 22 23 23 /*Recover numberofelements: */ 24 parameters->FindParam(&numberofelements, NumberOfElementsEnum);24 parameters->FindParam(&numberofelements,MeshNumberofelementsEnum); 25 25 26 26 /*Allocate sigma on numberofelements: */ -
issm/trunk/src/c/modules/ComputeStrainRatex/ComputeStrainRatex.cpp
r4637 r9725 22 22 23 23 /*Recover numberofelements: */ 24 parameters->FindParam(&numberofelements, NumberOfElementsEnum);24 parameters->FindParam(&numberofelements,MeshNumberofelementsEnum); 25 25 26 26 /*Allocate eps on numberofelements (only 1 dof): */ -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9719 r9725 153 153 case MeshAverageVertexConnectivityEnum : return "MeshAverageVertexConnectivity"; 154 154 case MeshDimensionEnum : return "MeshDimension"; 155 case MeshNumberofelementsEnum : return "MeshNumberofelements"; 156 case MeshNumberofverticesEnum : return "MeshNumberofvertices"; 157 case MeshNumberofelements2dEnum : return "MeshNumberofelements2d"; 158 case MeshNumberofedgesEnum : return "MeshNumberofedges"; 159 case MeshNumberoflayersEnum : return "MeshNumberoflayers"; 160 case MeshNumberofvertices2dEnum : return "MeshNumberofvertices2d"; 155 161 case ConstraintsEnum : return "Constraints"; 156 162 case ElementsEnum : return "Elements"; … … 177 183 case HydrologyAnalysisEnum : return "HydrologyAnalysis"; 178 184 case TransientSolutionEnum : return "TransientSolution"; 179 case GroundinglineMigration2 DSolutionEnum : return "GroundinglineMigration2DSolution";185 case GroundinglineMigration2dSolutionEnum : return "GroundinglineMigration2dSolution"; 180 186 case BedSlopeSolutionEnum : return "BedSlopeSolution"; 181 187 case BedSlopeAnalysisEnum : return "BedSlopeAnalysis"; … … 364 370 case OldGradientEnum : return "OldGradient"; 365 371 case ControlSteadyEnum : return "ControlSteady"; 366 case NumberOfElementsEnum : return "NumberOfElements";367 case NumberOfVerticesEnum : return "NumberOfVertices";368 372 case OutputFilePointerEnum : return "OutputFilePointer"; 369 373 case QmuErrNameEnum : return "QmuErrName"; … … 407 411 case DragCoefficientAbsGradientEnum : return "DragCoefficientAbsGradient"; 408 412 case TransientInputEnum : return "TransientInput"; 409 case NumberOfElements2DEnum : return "NumberOfElements2D";410 413 case YEnum : return "Y"; 411 case NumberOfNodes2DEnum : return "NumberOfNodes2D";412 414 case ZEnum : return "Z"; 413 415 case UpperelementsEnum : return "Upperelements"; 414 416 case EdgesEnum : return "Edges"; 415 case Elements2 DEnum : return "Elements2D";417 case Elements2dEnum : return "Elements2d"; 416 418 case XEnum : return "X"; 417 419 case ElementconnectivityEnum : return "Elementconnectivity"; 418 case NumlayersEnum : return "Numlayers";419 420 case LowerelementsEnum : return "Lowerelements"; 420 421 case OutputfilenameEnum : return "Outputfilename"; 421 422 case WaterfractionEnum : return "Waterfraction"; 422 423 case WatercolumnEnum : return "Watercolumn"; 423 case NumberOfResponsesEnum : return "NumberOfResponses";424 424 case BasalFrictionEnum : return "BasalFriction"; 425 425 case ViscousHeatingEnum : return "ViscousHeating"; … … 428 428 case HydrologyWaterVyEnum : return "HydrologyWaterVy"; 429 429 case SpcDynamicEnum : return "SpcDynamic"; 430 case NumberOfEdgesEnum : return "NumberOfEdges";431 430 default : return "unknown"; 432 431 -
issm/trunk/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r9405 r9725 33 33 34 34 /*Fetch parameters: */ 35 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);35 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 36 36 37 37 /*First of, find the record for the enum, and get code of data type: */ -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
r9646 r9725 21 21 /*Fetch parameters: */ 22 22 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 23 iomodel->Constant(&numberofedges, NumberOfEdgesEnum);23 iomodel->Constant(&numberofedges,MeshNumberofedgesEnum); 24 24 25 25 /*Output*/ -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
r9719 r9725 31 31 /*Fetch parameters: */ 32 32 iomodel->Constant(&dim,MeshDimensionEnum); 33 iomodel->Constant(&numberofelements, NumberOfElementsEnum);34 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);33 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 34 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 35 35 iomodel->Constant(&stabilization,BalancethicknessStabilizationEnum); 36 36 -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r9719 r9725 21 21 /*Fetch data needed: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 iomodel->FetchData(1,ElementsEnum); 25 25 -
issm/trunk/src/c/modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp
r9719 r9725 21 21 /*Fetch data needed: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 iomodel->FetchData(1,ElementsEnum); 25 25 -
issm/trunk/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
r9681 r9725 27 27 28 28 /*Fetch parameters: */ 29 iomodel->Constant(&numberofelements, NumberOfElementsEnum);29 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 30 30 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 31 31 iomodel->Constant(&num_control_type,InversionNumControlParametersEnum); -
issm/trunk/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r9719 r9725 29 29 /*Fetch parameters: */ 30 30 iomodel->Constant(&dim,MeshDimensionEnum); 31 iomodel->Constant(&numberofelements, NumberOfElementsEnum);32 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);31 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 32 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 33 33 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 34 34 -
issm/trunk/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
r9719 r9725 30 30 /*Fetch parameters: */ 31 31 iomodel->Constant(&dim,MeshDimensionEnum); 32 iomodel->Constant(&numberofelements, NumberOfElementsEnum);33 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);32 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 33 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 34 34 elements=iomodel->Data(ElementsEnum); 35 35 -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r9721 r9725 60 60 parameters->AddObject(iomodel->CopyConstantObject(DiagnosticViscosityOvershootEnum)); 61 61 parameters->AddObject(iomodel->CopyConstantObject(SettingsWaitonlockEnum)); 62 parameters->AddObject(iomodel->CopyConstantObject( NumberOfElementsEnum));62 parameters->AddObject(iomodel->CopyConstantObject(MeshNumberofelementsEnum)); 63 63 parameters->AddObject(iomodel->CopyConstantObject(SettingsIoGatherEnum)); 64 64 parameters->AddObject(iomodel->CopyConstantObject(GroundinglineMigrationEnum)); -
issm/trunk/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
r9719 r9725 33 33 /*Fetch parameters: */ 34 34 iomodel->Constant(&dim,MeshDimensionEnum); 35 iomodel->Constant(&numberofelements, NumberOfElementsEnum);36 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);35 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 36 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 37 37 elements=iomodel->Data(ElementsEnum); 38 38 -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
r9719 r9725 41 41 iomodel->Constant(&dim,MeshDimensionEnum); 42 42 iomodel->Constant(&yts,ConstantsYtsEnum); 43 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);43 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 44 44 iomodel->Constant(&g,ConstantsGEnum); 45 45 iomodel->Constant(&rho_ice,MaterialsRhoIceEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
r9719 r9725 41 41 /*Fetch parameters: */ 42 42 iomodel->Constant(&dim,MeshDimensionEnum); 43 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);43 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 44 44 iomodel->Constant(&isstokes,FlowequationIsstokesEnum); 45 45 iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp
r9679 r9725 25 25 26 26 /*Fetch parameters: */ 27 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);27 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 28 28 iomodel->Constant(&isstokes,FlowequationIsstokesEnum); 29 29 iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r9719 r9725 27 27 iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum); 28 28 iomodel->Constant(&dim,MeshDimensionEnum); 29 iomodel->Constant(&numberofelements, NumberOfElementsEnum);29 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 30 30 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 31 31 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp
r9679 r9725 29 29 /*Fetch parameters: */ 30 30 iomodel->Constant(&yts,ConstantsYtsEnum); 31 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);31 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 32 32 iomodel->Constant(&ishutter,FlowequationIshutterEnum); 33 33 -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp
r9661 r9725 25 25 26 26 /*Fetch parameters: */ 27 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);27 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 28 28 iomodel->Constant(&ishutter,FlowequationIshutterEnum); 29 29 -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
r9691 r9725 21 21 22 22 /*Fetch data needed: */ 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 iomodel->Constant(&ishutter,FlowequationIshutterEnum); 25 25 -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
r9719 r9725 26 26 iomodel->Constant(&dim,MeshDimensionEnum); 27 27 iomodel->Constant(&yts,ConstantsYtsEnum); 28 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);28 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 29 29 30 30 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
r9719 r9725 26 26 /*Fetch parameters: */ 27 27 iomodel->Constant(&dim,MeshDimensionEnum); 28 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);28 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 29 29 30 30 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
r9719 r9725 21 21 /*Fetch parameters: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 25 25 /*Now, is the model 3d? otherwise, do nothing: */ -
issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
r9719 r9725 49 49 /*Fetch parameters: */ 50 50 iomodel->Constant(&dim,MeshDimensionEnum); 51 iomodel->Constant(&numberofelements, NumberOfElementsEnum);52 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);53 iomodel->Constant(&numberofelements2d, NumberOfElements2DEnum);54 iomodel->Constant(&numberofvertices2d, NumberOfNodes2DEnum);55 iomodel->Constant(&numlayers, NumlayersEnum);51 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 52 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 53 iomodel->Constant(&numberofelements2d,MeshNumberofelements2dEnum); 54 iomodel->Constant(&numberofvertices2d,MeshNumberofvertices2dEnum); 55 iomodel->Constant(&numlayers,MeshNumberoflayersEnum); 56 56 iomodel->Constant(&numrifts,RiftsNumriftsEnum); 57 57 … … 71 71 else{ 72 72 /*load elements2d: */ 73 iomodel->FetchData(&elements2d,NULL,NULL,Elements2 DEnum);73 iomodel->FetchData(&elements2d,NULL,NULL,Elements2dEnum); 74 74 } 75 75 -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
r9719 r9725 27 27 /*Fetch parameters: */ 28 28 iomodel->Constant(&dim,MeshDimensionEnum); 29 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);29 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 30 30 iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum); 31 31 iomodel->Constant(&referencetemperature,ConstantsReferencetemperatureEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r9719 r9725 21 21 /*Fetch parameters: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 25 25 /*Now, is the model 3d? otherwise, do nothing: */ -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r9661 r9725 19 19 20 20 /*Fetch data needed: */ 21 iomodel->Constant(&numberofelements, NumberOfElementsEnum);21 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 22 22 iomodel->FetchData(1,ElementsEnum); 23 23 -
issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
r9719 r9725 23 23 /*Fetch parameters: */ 24 24 iomodel->Constant(&dim,MeshDimensionEnum); 25 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);25 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 26 26 27 27 /*if 2d: Error*/ -
issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9719 r9725 21 21 /*Fetch parameters: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 25 25 /*Now, is the model 3d? otherwise, do nothing: */ -
issm/trunk/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
r9719 r9725 42 42 43 43 /*Fetch parameters: */ 44 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);44 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 45 45 46 46 my_nodes=(bool*)xmalloc(numberofvertices*sizeof(bool)); … … 57 57 58 58 /*Fetch parameters: */ 59 iomodel->Constant(&numberofelements, NumberOfElementsEnum);59 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 60 60 61 61 /*each element has it own nodes (as many as vertices) + additional nodes from neighbouring elements for each edge. This yields to a very different partition for -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
r9642 r9725 28 28 /*Fetch parameters: */ 29 29 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 30 iomodel->Constant(&numberofelements, NumberOfElementsEnum);31 iomodel->Constant(&numberofedges, NumberOfEdgesEnum);30 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 31 iomodel->Constant(&numberofedges,MeshNumberofedgesEnum); 32 32 33 33 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
r9719 r9725 31 31 /*Fetch parameters: */ 32 32 iomodel->Constant(&dim,MeshDimensionEnum); 33 iomodel->Constant(&numberofelements, NumberOfElementsEnum);34 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);33 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 34 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 35 35 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 36 36 -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r9719 r9725 22 22 /*Fetch data needed: */ 23 23 iomodel->Constant(&dim,MeshDimensionEnum); 24 iomodel->Constant(&numberofelements, NumberOfElementsEnum);24 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 25 25 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 26 26 iomodel->FetchData(1,ElementsEnum); -
issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
r9666 r9725 70 70 iomodel->Constant(&name,MiscellaneousNameEnum); 71 71 iomodel->Constant(&numberofresponses,QmuNumberofresponsesEnum); 72 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);72 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 73 73 74 74 /*name of qmu input, error and output files:{{{1*/ -
issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp
r9719 r9725 21 21 /*Fetch data needed: */ 22 22 iomodel->Constant(&dim,MeshDimensionEnum); 23 iomodel->Constant(&numberofelements, NumberOfElementsEnum);23 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 24 iomodel->FetchData(1,ElementsEnum); 25 25 -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
r9719 r9725 27 27 /*Fetch parameters: */ 28 28 iomodel->Constant(&dim,MeshDimensionEnum); 29 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);29 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 30 30 31 31 /*Create loads if they do not exist yet*/ -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
r9661 r9725 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);26 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 27 27 28 28 /*Recover pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
r9719 r9725 22 22 /*Fetch parameters: */ 23 23 iomodel->Constant(&dim,MeshDimensionEnum); 24 iomodel->Constant(&numberofelements, NumberOfElementsEnum);24 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 25 25 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 26 26 -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9719 r9725 151 151 else if (strcmp(name,"MeshAverageVertexConnectivity")==0) return MeshAverageVertexConnectivityEnum; 152 152 else if (strcmp(name,"MeshDimension")==0) return MeshDimensionEnum; 153 else if (strcmp(name,"MeshNumberofelements")==0) return MeshNumberofelementsEnum; 154 else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum; 155 else if (strcmp(name,"MeshNumberofelements2d")==0) return MeshNumberofelements2dEnum; 156 else if (strcmp(name,"MeshNumberofedges")==0) return MeshNumberofedgesEnum; 157 else if (strcmp(name,"MeshNumberoflayers")==0) return MeshNumberoflayersEnum; 158 else if (strcmp(name,"MeshNumberofvertices2d")==0) return MeshNumberofvertices2dEnum; 153 159 else if (strcmp(name,"Constraints")==0) return ConstraintsEnum; 154 160 else if (strcmp(name,"Elements")==0) return ElementsEnum; … … 175 181 else if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum; 176 182 else if (strcmp(name,"TransientSolution")==0) return TransientSolutionEnum; 177 else if (strcmp(name,"GroundinglineMigration2 DSolution")==0) return GroundinglineMigration2DSolutionEnum;183 else if (strcmp(name,"GroundinglineMigration2dSolution")==0) return GroundinglineMigration2dSolutionEnum; 178 184 else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum; 179 185 else if (strcmp(name,"BedSlopeAnalysis")==0) return BedSlopeAnalysisEnum; … … 362 368 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum; 363 369 else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum; 364 else if (strcmp(name,"NumberOfElements")==0) return NumberOfElementsEnum;365 else if (strcmp(name,"NumberOfVertices")==0) return NumberOfVerticesEnum;366 370 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 367 371 else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum; … … 405 409 else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum; 406 410 else if (strcmp(name,"TransientInput")==0) return TransientInputEnum; 407 else if (strcmp(name,"NumberOfElements2D")==0) return NumberOfElements2DEnum;408 411 else if (strcmp(name,"Y")==0) return YEnum; 409 else if (strcmp(name,"NumberOfNodes2D")==0) return NumberOfNodes2DEnum;410 412 else if (strcmp(name,"Z")==0) return ZEnum; 411 413 else if (strcmp(name,"Upperelements")==0) return UpperelementsEnum; 412 414 else if (strcmp(name,"Edges")==0) return EdgesEnum; 413 else if (strcmp(name,"Elements2 D")==0) return Elements2DEnum;415 else if (strcmp(name,"Elements2d")==0) return Elements2dEnum; 414 416 else if (strcmp(name,"X")==0) return XEnum; 415 417 else if (strcmp(name,"Elementconnectivity")==0) return ElementconnectivityEnum; 416 else if (strcmp(name,"Numlayers")==0) return NumlayersEnum;417 418 else if (strcmp(name,"Lowerelements")==0) return LowerelementsEnum; 418 419 else if (strcmp(name,"Outputfilename")==0) return OutputfilenameEnum; 419 420 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 420 421 else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; 421 else if (strcmp(name,"NumberOfResponses")==0) return NumberOfResponsesEnum;422 422 else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum; 423 423 else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum; … … 426 426 else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum; 427 427 else if (strcmp(name,"SpcDynamic")==0) return SpcDynamicEnum; 428 else if (strcmp(name,"NumberOfEdges")==0) return NumberOfEdgesEnum;429 428 else _error_("Enum %s not found",name); 430 429 -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9691 r9725 4844 4844 4845 4845 /*Fetch parameters: */ 4846 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);4847 iomodel->Constant(&numberofelements, NumberOfElementsEnum);4846 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 4847 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 4848 4848 iomodel->Constant(&yts,ConstantsYtsEnum); 4849 4849 -
issm/trunk/src/c/objects/Elements/PentaHook.cpp
r9405 r9725 51 51 52 52 /*retrieve parameters: */ 53 iomodel->Constant(&matpar_id, NumberOfElementsEnum); matpar_id++;53 iomodel->Constant(&matpar_id,MeshNumberofelementsEnum); matpar_id++; 54 54 55 55 this->numanalyses=in_numanalyses; -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9722 r9725 3898 3898 3899 3899 /*Fetch parameters: */ 3900 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);3901 iomodel->Constant(&numberofelements, NumberOfElementsEnum);3900 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 3901 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 3902 3902 iomodel->Constant(&yts,ConstantsYtsEnum); 3903 3903 -
issm/trunk/src/c/objects/Elements/TriaHook.cpp
r9405 r9725 49 49 50 50 /*retrieve parameters: */ 51 iomodel->Constant(&matpar_id, NumberOfElementsEnum); matpar_id++;51 iomodel->Constant(&matpar_id,MeshNumberofelementsEnum); matpar_id++; 52 52 53 53 this->numanalyses=in_numanalyses; -
issm/trunk/src/c/objects/IoModel.cpp
r9476 r9725 828 828 829 829 /*Fetch parameters: */ 830 this->constants->FindParam(&numberofelements, NumberOfElementsEnum);830 this->constants->FindParam(&numberofelements,MeshNumberofelementsEnum); 831 831 832 832 /*First of, find the record for the enum, and get code of data type: */ -
issm/trunk/src/c/objects/Loads/Icefront.cpp
r9719 r9725 55 55 /*find parameters: */ 56 56 iomodel->Constant(&dim,MeshDimensionEnum); 57 iomodel->Constant(&numberofelements, NumberOfElementsEnum);57 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 58 58 59 59 /*First, retrieve element index and element type: */ -
issm/trunk/src/c/objects/Loads/Numericalflux.cpp
r9642 r9725 54 54 55 55 /*Fetch parameters: */ 56 iomodel->Constant(&numberofelements, NumberOfElementsEnum);56 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 57 57 58 58 /* Get MatPar id */ -
issm/trunk/src/c/objects/Loads/Pengrid.cpp
r9679 r9725 53 53 54 54 /*Fetch parameters: */ 55 iomodel->Constant(&numberofvertices, NumberOfVerticesEnum);56 iomodel->Constant(&numberofelements, NumberOfElementsEnum);55 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 56 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 57 57 58 58 /*Some checks if debugging activated*/ -
issm/trunk/src/c/objects/Loads/Riftfront.cpp
r9679 r9725 56 56 57 57 /*Fetch parameters: */ 58 iomodel->Constant(&numberofelements, NumberOfElementsEnum);58 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 59 59 iomodel->Constant(&penalty_lock,DiagnosticRiftPenaltyLockEnum); 60 60 -
issm/trunk/src/c/solutions/AnalysisConfiguration.cpp
r9571 r9725 107 107 break; 108 108 109 case GroundinglineMigration2 DSolutionEnum:109 case GroundinglineMigration2dSolutionEnum: 110 110 numanalyses=2; 111 111 analyses=(int*)xmalloc(numanalyses*sizeof(int)); -
issm/trunk/src/c/solutions/CorePointerFromSolutionEnum.cpp
r9681 r9725 60 60 solutioncore=&transient_core; 61 61 break; 62 case GroundinglineMigration2 DSolutionEnum:62 case GroundinglineMigration2dSolutionEnum: 63 63 solutioncore=&groundinglinemigration2d_core; 64 64 break; -
issm/trunk/src/c/solutions/groundinglinemigration2d_core.cpp
r9641 r9725 27 27 GroundingLineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 28 28 29 if(solution_type==GroundinglineMigration2 DSolutionEnum){29 if(solution_type==GroundinglineMigration2dSolutionEnum){ 30 30 _printf_(VerboseSolution(),"%s\n"," saving results\n"); 31 31 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,MaskElementonfloatingiceEnum); -
issm/trunk/src/m/classes/mesh.m
r9719 r9725 13 13 long = modelfield('default',NaN,'marshall',false); 14 14 hemisphere = modelfield('default',NaN,'marshall',false); 15 segments = modelfield('default',NaN,'marshall',false); 16 segmentmarkers = modelfield('default',NaN,'marshall',false); 17 dimension = modelfield('default',0,'marshall',true,'format','Integer'); 15 segments = modelfield('default',NaN,'marshall',false); 16 segmentmarkers = modelfield('default',NaN,'marshall',false); 17 dimension = modelfield('default',0,'marshall',true,'format','Integer'); 18 numberofelements = modelfield('default',0,'marshall',true,'format','Integer'); 19 numberofvertices = modelfield('default',0,'marshall',true,'format','Integer'); 20 numberofedges = modelfield('default',0,'marshall',true,'format','Integer'); 21 numberoflayers = modelfield('default',0,'marshall',true,'format','Integer'); 22 numberofvertices2d = modelfield('default',0,'marshall',true,'format','Integer'); 23 numberofelements2d = modelfield('default',0,'marshall',true,'format','Integer'); 18 24 end 19 25 methods -
issm/trunk/src/m/classes/model/model.m
r9719 r9725 39 39 initialization = modelfield('default',0,'marshall',true); 40 40 geometry = modelfield('default',0,'marshall',true); 41 autodiff = modelfield('default',0,'marshall',true); 41 42 mesh = modelfield('default',0,'marshall',true); 42 43 43 44 %FIXME: all other fields should belong to other classes 44 numberofelements = modelfield('default',0,'marshall',true,'format','Integer');45 numberofnodes = modelfield('default',0,'marshall',true,'format','Integer');46 45 elements = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',2); 47 46 x = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); … … 51 50 elementconnectivity = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3); 52 51 edges = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3); 53 54 numberofelements2d = modelfield('default',0,'marshall',true,'format','Integer');55 numberofnodes2d = modelfield('default',0,'marshall',true,'format','Integer');56 52 elements2d = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',3); 57 53 x2d = modelfield('default',NaN,'marshall',false); … … 63 59 lowernodes = modelfield('default',NaN,'marshall',false); 64 60 65 numlayers = modelfield('default',0,'marshall',true,'format','Integer');66 61 elementonbed = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',2); 67 62 elementonsurface = modelfield('default',NaN,'marshall',true,'format','BooleanMat','mattype',2); … … 206 201 if isfield(structmd,'accumulation'), md.surfaceforcings.mass_balance=structmd.accumulation; end 207 202 if isfield(structmd,'accumulation_rate'), md.surfaceforcings.mass_balance=structmd.accumulation_rate; end 208 if isfield(structmd,'numberofgrids'), md. numberofnodes=structmd.numberofgrids; end209 if isfield(structmd,'numberofgrids2d'), md. numberofnodes2d=structmd.numberofgrids2d; end203 if isfield(structmd,'numberofgrids'), md.mesh.numberofverticess=structmd.numberofgrids; end 204 if isfield(structmd,'numberofgrids2d'), md.mesh.numberofverticess2d=structmd.numberofgrids2d; end 210 205 if isfield(structmd,'uppergrids'), md.uppernodes=structmd.uppergrids; end 211 206 if isfield(structmd,'lowergrids'), md.lowernodes=structmd.lowergrids; end … … 313 308 if isfield(structmd,'hemisphere'), md.mesh.hemisphere=structmd.hemisphere; end 314 309 if isfield(structmd,'lat'), md.mesh.lat=structmd.lat; end 315 if isfield(structmd,'lon '), md.mesh.lon=structmd.lon; end310 if isfield(structmd,'long'), md.mesh.long=structmd.long; end 316 311 if isfield(structmd,'segments'), md.mesh.segments=structmd.segments; end 317 312 if isfield(structmd,'segmentmarkers'), md.mesh.segmentmarkers=structmd.segmentmarkers; end 318 if isfield(structmd,'dimension'), md.mesh.dimension=structmd.dimension; end 313 if isfield(structmd,'dim'), md.mesh.dimension=structmd.dim; end 314 if isfield(structmd,'numlayers'), md.mesh.numberoflayers=structmd.numlayers; end 315 if isfield(structmd,'numberofelements'), md.mesh.numberofelements=structmd.numberofelements; end 316 if isfield(structmd,'numberofvertices'), md.mesh.numberofvertices=structmd.numberofvertices; end 317 if isfield(structmd,'numberofedges'), md.mesh.numberofedges=structmd.numberofedges; end 318 if isfield(structmd,'numberofelements2d'), md.mesh.numberofelements2d=structmd.numberofelements2d; end 319 if isfield(structmd,'numberofnodes2d'), md.mesh.numberofvertices2d=structmd.numberofnodes2d; end 319 320 320 321 %Field changes … … 327 328 end 328 329 if isfield(structmd,'spcvelocity'), 329 md.spcvx=NaN*ones(md. numberofnodes,1);330 md.spcvy=NaN*ones(md. numberofnodes,1);331 md.spcvz=NaN*ones(md. numberofnodes,1);330 md.spcvx=NaN*ones(md.mesh.numberofvertices,1); 331 md.spcvy=NaN*ones(md.mesh.numberofvertices,1); 332 md.spcvz=NaN*ones(md.mesh.numberofvertices,1); 332 333 pos=find(structmd.spcvelocity(:,1)); md.spcvx(pos)=structmd.spcvelocity(pos,4); 333 334 pos=find(structmd.spcvelocity(:,2)); md.spcvy(pos)=structmd.spcvelocity(pos,5); … … 386 387 %New fields 387 388 if ~isfield(structmd,'upperelements'); 388 md.upperelements=transpose(1:md. numberofelements)+md.numberofelements2d;389 md.upperelements(end-md. numberofelements2d+1:end)=NaN;389 md.upperelements=transpose(1:md.mesh.numberofelements)+md.mesh.numberofelements2d; 390 md.upperelements(end-md.mesh.numberofelements2d+1:end)=NaN; 390 391 end 391 392 if ~isfield(structmd,'lowerelements'); 392 md.lowerelements=transpose(1:md. numberofelements)-md.numberofelements2d;393 md.lowerelements(1:md. numberofelements2d)=NaN;393 md.lowerelements=transpose(1:md.mesh.numberofelements)-md.mesh.numberofelements2d; 394 md.lowerelements(1:md.mesh.numberofelements2d)=NaN; 394 395 end 395 396 if ~isfield(structmd,'diagnostic_ref'); 396 md.diagnostic_ref=NaN*ones(md. numberofnodes2d,6);397 md.diagnostic_ref=NaN*ones(md.mesh.numberofvertices2d,6); 397 398 end 398 399 end% }}} … … 439 440 md.geometry = geometry; 440 441 md.verbose = verbose('solution',true,'qmu',true,'control',true); 442 md.autodiff = autodiff; 441 443 md.mesh = mesh; 442 444 end -
issm/trunk/src/m/kml/kml_mesh_elem.m
r9714 r9725 74 74 75 75 if exist('data','var') && ~isempty(data) 76 if (numel(data)==md. numberofelements)76 if (numel(data)==md.mesh.numberofelements) 77 77 edata=data; 78 elseif (numel(data)==md. numberofnodes)78 elseif (numel(data)==md.mesh.numberofvertices) 79 79 ndata=data; 80 80 display('Averaging nodal data to element data.'); 81 edata=zeros(1,md. numberofelements);81 edata=zeros(1,md.mesh.numberofelements); 82 82 for i=1:size(md.elements,1) 83 83 for j=1:size(md.elements,2) … … 124 124 kfold.visibility=1; 125 125 kfold.descript =sprintf('Elements=%d, Nodes=%d',... 126 md. numberofelements,md.numberofnodes);126 md.mesh.numberofelements,md.mesh.numberofvertices); 127 127 % see matlab_oop, "initializing a handle object array" 128 128 %kfold.feature ={repmat(kml_placemark(),1,size(md.elements,1))}; -
issm/trunk/src/m/kml/kml_mesh_write.m
r9714 r9725 80 80 81 81 if exist('data','var') && ~isempty(data) 82 if (numel(data)==md. numberofelements)82 if (numel(data)==md.mesh.numberofelements) 83 83 edata=data; 84 elseif (numel(data)==md. numberofnodes)84 elseif (numel(data)==md.mesh.numberofvertices) 85 85 ndata=data; 86 86 display('Averaging nodal data to element data.'); 87 edata=zeros(1,md. numberofelements);87 edata=zeros(1,md.mesh.numberofelements); 88 88 for i=1:size(md.elements,1) 89 89 for j=1:size(md.elements,2) -
issm/trunk/src/m/kml/kml_part_edges.m
r9714 r9725 75 75 76 76 if exist('data','var') && ~isempty(data) 77 if (numel(data)==md. numberofelements)77 if (numel(data)==md.mesh.numberofelements) 78 78 edata=data; 79 elseif (numel(data)==md. numberofnodes)79 elseif (numel(data)==md.mesh.numberofvertices) 80 80 ndata=data; 81 81 display('Averaging nodal data to element data.'); 82 edata=zeros(1,md. numberofelements);82 edata=zeros(1,md.mesh.numberofelements); 83 83 for i=1:size(md.elements,1) 84 84 for j=1:size(md.elements,2) … … 123 123 kfold.visibility=1; 124 124 kfold.descript =sprintf('Partitions=%d, Nodes=%d',... 125 md.qmu.numberofpartitions,md. numberofnodes);125 md.qmu.numberofpartitions,md.mesh.numberofvertices); 126 126 kfold.feature ={repmat(kml_placemark(),1,md.qmu.numberofpartitions)}; 127 127 … … 150 150 elemp=md.elements(irow,:); 151 151 epartp=epart(irow,:); 152 nodeconp=nodeconnectivity(elemp,md. numberofnodes);152 nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices); 153 153 [edgeadjp]=edgeadjacency(elemp,nodeconp); 154 154 [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp); -
issm/trunk/src/m/kml/kml_part_elems.m
r9714 r9725 75 75 76 76 if exist('data','var') && ~isempty(data) 77 if (numel(data)==md. numberofelements)77 if (numel(data)==md.mesh.numberofelements) 78 78 edata=data; 79 elseif (numel(data)==md. numberofnodes)79 elseif (numel(data)==md.mesh.numberofvertices) 80 80 ndata=data; 81 81 display('Averaging nodal data to element data.'); 82 edata=zeros(1,md. numberofelements);82 edata=zeros(1,md.mesh.numberofelements); 83 83 for i=1:size(md.elements,1) 84 84 for j=1:size(md.elements,2) … … 123 123 kfold.visibility=1; 124 124 kfold.descript =sprintf('Partitions=%d, Nodes=%d\n',... 125 md.qmu.numberofpartitions,md. numberofnodes);125 md.qmu.numberofpartitions,md.mesh.numberofvertices); 126 126 kfold.feature ={repmat(kml_placemark(),1,md.qmu.numberofpartitions)}; 127 127 -
issm/trunk/src/m/kml/kml_partitions.m
r9714 r9725 76 76 77 77 if exist('data','var') && ~isempty(data) 78 if (numel(data)==md. numberofelements)78 if (numel(data)==md.mesh.numberofelements) 79 79 edata=data; 80 elseif (numel(data)==md. numberofnodes)80 elseif (numel(data)==md.mesh.numberofvertices) 81 81 ndata=data; 82 82 display('Averaging nodal data to element data.'); 83 edata=zeros(1,md. numberofelements);83 edata=zeros(1,md.mesh.numberofelements); 84 84 for i=1:size(md.elements,1) 85 85 for j=1:size(md.elements,2) … … 124 124 kfold.visibility=1; 125 125 kfold.descript =sprintf('Partitions=%d, Nodes=%d',... 126 md.qmu.numberofpartitions,md. numberofnodes);126 md.qmu.numberofpartitions,md.mesh.numberofvertices); 127 127 kfold.feature ={repmat(kml_placemark(),1,md.qmu.numberofpartitions)}; 128 128 … … 151 151 elemp=md.elements(irow,:); 152 152 epartp=epart(irow,:); 153 nodeconp=nodeconnectivity(elemp,md. numberofnodes);153 nodeconp=nodeconnectivity(elemp,md.mesh.numberofvertices); 154 154 [edgeadjp]=edgeadjacency(elemp,nodeconp); 155 155 [edgeper,elemper,iloop]=edgeperimeter(elemp,nodeconp,edgeadjp); -
issm/trunk/src/m/model/BasinConstrain.m
r9681 r9725 17 17 if ischar(domain), 18 18 if isempty(domain), 19 elementondomain=zeros(md. numberofelements,1);20 vertexondomain=zeros(md. numberofnodes,1);19 elementondomain=zeros(md.mesh.numberofelements,1); 20 vertexondomain=zeros(md.mesh.numberofvertices,1); 21 21 invert=0; 22 22 elseif strcmpi(domain,'all') 23 elementondomain=ones(md. numberofelements,1);24 vertexondomain=ones(md. numberofnodes,1);23 elementondomain=ones(md.mesh.numberofelements,1); 24 vertexondomain=ones(md.mesh.numberofvertices,1); 25 25 invert=0; 26 26 else … … 55 55 pos=find(~md.mask.elementonwater); 56 56 numpos=unique(md.elements(pos,:)); 57 nodes=setdiff(1:1:md. numberofnodes,numpos);57 nodes=setdiff(1:1:md.mesh.numberofvertices,numpos); 58 58 md.diagnostic.spcvx(nodes)=md.inversion.vx_obs(nodes); 59 59 md.diagnostic.spcvy(nodes)=md.inversion.vy_obs(nodes); -
issm/trunk/src/m/model/BasinConstrainShelf.m
r9681 r9725 17 17 if ischar(domain), 18 18 if isempty(domain), 19 elementondomain=zeros(md. numberofelements,1);20 vertexondomain=zeros(md. numberofnodes,1);19 elementondomain=zeros(md.mesh.numberofelements,1); 20 vertexondomain=zeros(md.mesh.numberofvertices,1); 21 21 invert=0; 22 22 elseif strcmpi(domain,'all') 23 elementondomain=ones(md. numberofelements,1);24 vertexondomain=ones(md. numberofnodes,1);23 elementondomain=ones(md.mesh.numberofelements,1); 24 vertexondomain=ones(md.mesh.numberofvertices,1); 25 25 invert=0; 26 26 else … … 55 55 pos=find(~md.mask.elementonwater); 56 56 numpos=unique(md.elements(pos,:)); 57 nodes=setdiff(1:1:md. numberofnodes,numpos);57 nodes=setdiff(1:1:md.mesh.numberofvertices,numpos); 58 58 md.diagnostic.spcvx(nodes)=md.inversion.vx_obs(nodes); 59 59 md.diagnostic.spcvy(nodes)=md.inversion.vy_obs(nodes); -
issm/trunk/src/m/model/DepthAverage.m
r9719 r9725 14 14 15 15 %nods data 16 if (length(vector)==md. numberofnodes),17 vector_average=zeros(md. numberofnodes2d,1);18 for i=1:md. numlayers-1,16 if (length(vector)==md.mesh.numberofvertices), 17 vector_average=zeros(md.mesh.numberofvertices2d,1); 18 for i=1:md.mesh.numberoflayers-1, 19 19 vector_average=vector_average+(project2d(md,vector,i)+project2d(md,vector,i+1))/2.*(project2d(md,md.z,i+1)-project2d(md,md.z,i)); 20 20 end … … 22 22 23 23 %element data 24 elseif (length(vector)==md. numberofelements),25 vector_average=zeros(md. numberofelements2d,1);26 for i=1:md. numlayers-1,24 elseif (length(vector)==md.mesh.numberofelements), 25 vector_average=zeros(md.mesh.numberofelements2d,1); 26 for i=1:md.mesh.numberoflayers-1, 27 27 vector_average=vector_average+project2d(md,vector,i).*(project2d(md,md.z,i+1)-project2d(md,md.z,i)); 28 28 end -
issm/trunk/src/m/model/averageconnectivity.m
r8298 r9725 6 6 7 7 nnz=0; 8 for i=1:md. numberofnodes,8 for i=1:md.mesh.numberofvertices, 9 9 nnz=nnz+length(find(md.elements==i)); 10 10 end 11 conn=nnz/md. numberofnodes;11 conn=nnz/md.mesh.numberofvertices; -
issm/trunk/src/m/model/averaging.m
r9719 r9725 16 16 % pressure=averaging(md,md.initialization.pressure,0); 17 17 18 if length(data)~=md. numberofelements & length(data)~=md.numberofnodes18 if length(data)~=md.mesh.numberofelements & length(data)~=md.mesh.numberofvertices 19 19 error('averaging error message: data not supported yet'); 20 20 end 21 21 22 22 %initialization 23 weights=zeros(md. numberofnodes,1);23 weights=zeros(md.mesh.numberofvertices,1); 24 24 data=data(:); 25 25 26 26 %load some variables (it is much faster if the variab;es are loaded from md once for all) 27 27 index=md.elements; 28 numberofnodes=md. numberofnodes;29 numberofelements=md. numberofelements;28 numberofnodes=md.mesh.numberofvertices; 29 numberofelements=md.mesh.numberofelements; 30 30 31 31 %build some variables -
issm/trunk/src/m/model/bamg.m
r9719 r9725 265 265 266 266 % Bamg Mesh parameters {{{1 267 if (~exist(options,'domain') & md. numberofnodes~=0 & md.mesh.dimension==2),267 if (~exist(options,'domain') & md.mesh.numberofvertices~=0 & md.mesh.dimension==2), 268 268 269 269 if isstruct(md.private.bamg), 270 270 bamg_mesh=bamgmesh(md.private.bamg.mesh); 271 271 else 272 bamg_mesh.Vertices=[md.x md.y ones(md. numberofnodes,1)];273 bamg_mesh.Triangles=[md.elements ones(md. numberofelements,1)];272 bamg_mesh.Vertices=[md.x md.y ones(md.mesh.numberofvertices,1)]; 273 bamg_mesh.Triangles=[md.elements ones(md.mesh.numberofelements,1)]; 274 274 end 275 275 … … 326 326 %Fill in rest of fields: 327 327 md.mesh.dimension=2; 328 md. numberofelements=size(md.elements,1);329 md. numberofnodes=length(md.x);330 md.z=zeros(md. numberofnodes,1);331 md.nodeonbed=ones(md. numberofnodes,1);332 md.mask.vertexonwater=zeros(md. numberofnodes,1);333 md.nodeonsurface=ones(md. numberofnodes,1);334 md.elementonbed=ones(md. numberofelements,1);335 md.elementonsurface=ones(md. numberofelements,1);336 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;328 md.mesh.numberofelements=size(md.elements,1); 329 md.mesh.numberofvertices=length(md.x); 330 md.z=zeros(md.mesh.numberofvertices,1); 331 md.nodeonbed=ones(md.mesh.numberofvertices,1); 332 md.mask.vertexonwater=zeros(md.mesh.numberofvertices,1); 333 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 334 md.elementonbed=ones(md.mesh.numberofelements,1); 335 md.elementonsurface=ones(md.mesh.numberofelements,1); 336 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 337 337 md.elementconnectivity=md.private.bamg.mesh.ElementConnectivity; 338 338 md.elementconnectivity(find(isnan(md.elementconnectivity)))=0; 339 339 340 340 %Check for orphan 341 if any(~ismember(1:md. numberofnodes,sort(unique(md.elements(:)))))341 if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.elements(:))))) 342 342 error('Output mesh has orphans. Decrease MaxCornerAngle to prevent outside points (ex: 0.01)'); 343 343 end -
issm/trunk/src/m/model/basevert.m
r9691 r9725 9 9 % wb=basevert(md); 10 10 11 alpha=zeros(md. numberofelements,3);12 beta=zeros(md. numberofelements,3);13 gamma=zeros(md. numberofelements,3);11 alpha=zeros(md.mesh.numberofelements,3); 12 beta=zeros(md.mesh.numberofelements,3); 13 gamma=zeros(md.mesh.numberofelements,3); 14 14 15 for n=1:md. numberofelements15 for n=1:md.mesh.numberofelements 16 16 X=inv([md.x(md.elements(n,:)) md.y(md.elements(n,:)) ones(3,1)]); 17 17 alpha(n,:)=X(1,:); -
issm/trunk/src/m/model/bedslope.m
r9719 r9725 7 7 %load some variables (it is much faster if the variab;es are loaded from md once for all) 8 8 if (md.mesh.dimension==2), 9 numberofelements=md. numberofelements;10 numberofnodes=md. numberofnodes;9 numberofelements=md.mesh.numberofelements; 10 numberofnodes=md.mesh.numberofvertices; 11 11 index=md.elements; 12 12 x=md.x; y=md.y; 13 13 else 14 numberofelements=md. numberofelements2d;15 numberofnodes=md. numberofnodes2d;14 numberofelements=md.mesh.numberofelements2d; 15 numberofnodes=md.mesh.numberofvertices2d; 16 16 index=md.elements2d; 17 17 x=md.x2d; y=md.y2d; -
issm/trunk/src/m/model/collapse.m
r9719 r9725 26 26 27 27 %observations 28 if ~isnan(md.inversion.vx_obs), md.inversion.vx_obs=project2d(md,md.inversion.vx_obs,md. numlayers); end;29 if ~isnan(md.inversion.vy_obs), md.inversion.vy_obs=project2d(md,md.inversion.vy_obs,md. numlayers); end;30 if ~isnan(md.inversion.vel_obs), md.inversion.vel_obs=project2d(md,md.inversion.vel_obs,md. numlayers); end;28 if ~isnan(md.inversion.vx_obs), md.inversion.vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers); end; 29 if ~isnan(md.inversion.vy_obs), md.inversion.vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers); end; 30 if ~isnan(md.inversion.vel_obs), md.inversion.vel_obs=project2d(md,md.inversion.vel_obs,md.mesh.numberoflayers); end; 31 31 if ~isnan(md.surfaceforcings.mass_balance), 32 md.surfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md. numlayers);32 md.surfaceforcings.mass_balance=project2d(md,md.surfaceforcings.mass_balance,md.mesh.numberoflayers); 33 33 end; 34 if ~isnan(md.balancethickness.thickening_rate), md.balancethickness.thickening_rate=project2d(md,md.balancethickness.thickening_rate,md. numlayers); end;34 if ~isnan(md.balancethickness.thickening_rate), md.balancethickness.thickening_rate=project2d(md,md.balancethickness.thickening_rate,md.mesh.numberoflayers); end; 35 35 36 36 %results … … 41 41 42 42 %bedinfo and surface info 43 md.elementonbed=ones(md. numberofelements2d,1);44 md.elementonsurface=ones(md. numberofelements2d,1);45 md.nodeonbed=ones(md. numberofnodes2d,1);46 md.nodeonsurface=ones(md. numberofnodes2d,1);43 md.elementonbed=ones(md.mesh.numberofelements2d,1); 44 md.elementonsurface=ones(md.mesh.numberofelements2d,1); 45 md.nodeonbed=ones(md.mesh.numberofvertices2d,1); 46 md.nodeonsurface=ones(md.mesh.numberofvertices2d,1); 47 47 48 48 %elementstype … … 52 52 53 53 %boundary conditions 54 md.diagnostic.spcvx=project2d(md,md.diagnostic.spcvx,md. numlayers);55 md.diagnostic.spcvy=project2d(md,md.diagnostic.spcvy,md. numlayers);56 md.diagnostic.spcvz=project2d(md,md.diagnostic.spcvz,md. numlayers);57 md.prognostic.spcthickness=project2d(md,md.prognostic.spcthickness,md. numlayers);58 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md. numlayers);54 md.diagnostic.spcvx=project2d(md,md.diagnostic.spcvx,md.mesh.numberoflayers); 55 md.diagnostic.spcvy=project2d(md,md.diagnostic.spcvy,md.mesh.numberoflayers); 56 md.diagnostic.spcvz=project2d(md,md.diagnostic.spcvz,md.mesh.numberoflayers); 57 md.prognostic.spcthickness=project2d(md,md.prognostic.spcthickness,md.mesh.numberoflayers); 58 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.mesh.numberoflayers); 59 59 60 60 %Extrusion of Neumann BC 61 61 if ~isnan(md.diagnostic.icefront), 62 numberofneumann2d=size(md.diagnostic.icefront,1)/md. numlayers;62 numberofneumann2d=size(md.diagnostic.icefront,1)/md.mesh.numberoflayers; 63 63 md.diagnostic.icefront=[md.diagnostic.icefront(1:numberofneumann2d,1:2) md.diagnostic.icefront(1:numberofneumann2d,5:6)]; %Add two columns on the first layer 64 64 end … … 76 76 77 77 %Collapse the mesh 78 nodes2d=md. numberofnodes2d;79 elements2d=md. numberofelements2d;78 nodes2d=md.mesh.numberofvertices2d; 79 elements2d=md.mesh.numberofelements2d; 80 80 81 81 %parameters … … 93 93 md.y=md.y2d; 94 94 md.z=zeros(size(md.x2d)); 95 md. numberofnodes=md.numberofnodes2d;96 md. numberofelements=md.numberofelements2d;95 md.mesh.numberofvertices=md.mesh.numberofvertices2d; 96 md.mesh.numberofelements=md.mesh.numberofelements2d; 97 97 md.elements=md.elements2d; 98 98 … … 105 105 md.y2d=NaN; 106 106 md.elements2d=NaN; 107 md. numberofelements2d=md.numberofelements;108 md. numberofnodes2d=md.numberofnodes;109 md. numlayers=0;107 md.mesh.numberofelements2d=md.mesh.numberofelements; 108 md.mesh.numberofvertices2d=md.mesh.numberofvertices; 109 md.mesh.numberoflayers=0; 110 110 111 111 %Update mesh type -
issm/trunk/src/m/model/contourenvelope.m
r9641 r9725 35 35 %Now, build the connectivity tables for this mesh. 36 36 %Computing connectivity 37 if size(md.nodeconnectivity,1)~=md. numberofnodes,38 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);37 if size(md.nodeconnectivity,1)~=md.mesh.numberofvertices, 38 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 39 39 end 40 if size(md.elementconnectivity,1)~=md. numberofelements,40 if size(md.elementconnectivity,1)~=md.mesh.numberofelements, 41 41 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 42 42 end … … 55 55 else 56 56 %get flag list of elements and nodes inside the contour 57 nodein=zeros(md. numberofnodes,1);58 elemin=zeros(md. numberofelements,1);57 nodein=zeros(md.mesh.numberofvertices,1); 58 elemin=zeros(md.mesh.numberofelements,1); 59 59 60 60 pos=find(flags); -
issm/trunk/src/m/model/contourmassbalance.m
r9691 r9725 10 10 error('contourmassbalance error message: bad usage'); 11 11 end 12 if ((length(md.initialization.vx)~=md. numberofnodes)|(length(md.initialization.vy)~=md.numberofnodes))13 error(['thicknessevolution error message: vx and vy should have a length of ' num2str(md. numberofnodes)])12 if ((length(md.initialization.vx)~=md.mesh.numberofvertices)|(length(md.initialization.vy)~=md.mesh.numberofvertices)) 13 error(['thicknessevolution error message: vx and vy should have a length of ' num2str(md.mesh.numberofvertices)]) 14 14 end 15 15 if ~exist(file), -
issm/trunk/src/m/model/divergence.m
r9719 r9725 6 6 7 7 if (md.mesh.dimension==2), 8 numberofelements=md. numberofelements;9 numberofnodes=md. numberofnodes;8 numberofelements=md.mesh.numberofelements; 9 numberofnodes=md.mesh.numberofvertices; 10 10 index=md.elements; 11 11 x=md.x; y=md.y; z=md.z; 12 12 else 13 numberofelements=md. numberofelements2d;14 numberofnodes=md. numberofnodes2d;13 numberofelements=md.mesh.numberofelements2d; 14 numberofnodes=md.mesh.numberofvertices2d; 15 15 index=md.elements2d; 16 16 x=md.x2d; y=md.y2d; -
issm/trunk/src/m/model/extrude.m
r9719 r9725 82 82 elements3d=[]; 83 83 for i=1:numlayers-1, 84 elements3d=[elements3d;[md.elements+(i-1)*md. numberofnodes md.elements+i*md.numberofnodes]]; %Create the elements of the 3d mesh for the non extruded part84 elements3d=[elements3d;[md.elements+(i-1)*md.mesh.numberofvertices md.elements+i*md.mesh.numberofvertices]]; %Create the elements of the 3d mesh for the non extruded part 85 85 end 86 86 number_el3d=size(elements3d,1); %number of 3d nodes for the non extruded part of the mesh … … 89 89 lowernodes=NaN*ones(number_nodes3d,1); 90 90 uppernodes=NaN*ones(number_nodes3d,1); 91 lowernodes(md. numberofnodes+1:end)=1:(numlayers-1)*md.numberofnodes;92 uppernodes(1:(numlayers-1)*md. numberofnodes)=md.numberofnodes+1:number_nodes3d;91 lowernodes(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices; 92 uppernodes(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d; 93 93 md.lowernodes=lowernodes; 94 94 md.uppernodes=uppernodes; … … 97 97 lowerelements=NaN*ones(number_el3d,1); 98 98 upperelements=NaN*ones(number_el3d,1); 99 lowerelements(md. numberofelements+1:end)=1:(numlayers-2)*md.numberofelements;100 upperelements(1:(numlayers-2)*md. numberofelements)=md.numberofelements+1:(numlayers-1)*md.numberofelements;99 lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements; 100 upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements; 101 101 md.lowerelements=lowerelements; 102 102 md.upperelements=upperelements; … … 106 106 md.y2d=md.y; 107 107 md.elements2d=md.elements; 108 md. numberofelements2d=md.numberofelements;109 md. numberofnodes2d=md.numberofnodes;108 md.mesh.numberofelements2d=md.mesh.numberofelements; 109 md.mesh.numberofvertices2d=md.mesh.numberofvertices; 110 110 111 111 %Update mesh type … … 117 117 md.y=y3d; 118 118 md.z=z3d; 119 md. numberofelements=number_el3d;120 md. numberofnodes=number_nodes3d;121 md. numlayers=numlayers;119 md.mesh.numberofelements=number_el3d; 120 md.mesh.numberofvertices=number_nodes3d; 121 md.mesh.numberoflayers=numlayers; 122 122 123 123 %Ok, now deal with the other fields from the 2d mesh: … … 148 148 149 149 %bedinfo and surface info 150 md.elementonbed=project3d(md,'vector',ones(md. numberofelements2d,1),'type','element','layer',1);151 md.elementonsurface=project3d(md,'vector',ones(md. numberofelements2d,1),'type','element','layer',md.numlayers-1);152 md.nodeonbed=project3d(md,'vector',ones(md. numberofnodes2d,1),'type','node','layer',1);153 md.nodeonsurface=project3d(md,'vector',ones(md. numberofnodes2d,1),'type','node','layer',md.numlayers);150 md.elementonbed=project3d(md,'vector',ones(md.mesh.numberofelements2d,1),'type','element','layer',1); 151 md.elementonsurface=project3d(md,'vector',ones(md.mesh.numberofelements2d,1),'type','element','layer',md.mesh.numberoflayers-1); 152 md.nodeonbed=project3d(md,'vector',ones(md.mesh.numberofvertices2d,1),'type','node','layer',1); 153 md.nodeonsurface=project3d(md,'vector',ones(md.mesh.numberofvertices2d,1),'type','node','layer',md.mesh.numberoflayers); 154 154 155 155 %elementstype … … 171 171 md.diagnostic.spcvy=project3d(md,'vector',md.diagnostic.spcvy,'type','node'); 172 172 md.diagnostic.spcvz=project3d(md,'vector',md.diagnostic.spcvz,'type','node'); 173 md.thermal.spctemperature=project3d(md,'vector',md.thermal.spctemperature,'type','node','layer',md. numlayers,'padding',NaN);173 md.thermal.spctemperature=project3d(md,'vector',md.thermal.spctemperature,'type','node','layer',md.mesh.numberoflayers,'padding',NaN); 174 174 md.prognostic.spcthickness=project3d(md,'vector',md.prognostic.spcthickness,'type','node'); 175 175 md.diagnostic.referential=project3d(md,'vector',md.diagnostic.referential,'type','node'); 176 176 177 177 %in 3d, pressureload: [node1 node2 node3 node4 element] 178 pressureload_layer1=[md.diagnostic.icefront(:,1:2) md.diagnostic.icefront(:,2)+md. numberofnodes2d md.diagnostic.icefront(:,1)+md.numberofnodes2d md.diagnostic.icefront(:,3:4)]; %Add two columns on the first layer178 pressureload_layer1=[md.diagnostic.icefront(:,1:2) md.diagnostic.icefront(:,2)+md.mesh.numberofvertices2d md.diagnostic.icefront(:,1)+md.mesh.numberofvertices2d md.diagnostic.icefront(:,3:4)]; %Add two columns on the first layer 179 179 pressureload=[]; 180 180 for i=1:numlayers-1, 181 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md. numberofnodes2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d pressureload_layer1(:,6)];181 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.mesh.numberofvertices2d pressureload_layer1(:,5)+(i-1)*md.mesh.numberofelements2d pressureload_layer1(:,6)]; 182 182 end 183 183 md.diagnostic.icefront=pressureload; … … 187 187 md.elementconnectivity(find(md.elementconnectivity==0))=NaN; 188 188 for i=2:numlayers-1, 189 md.elementconnectivity((i-1)*md. numberofelements2d+1:(i)*md.numberofelements2d,:)...190 =md.elementconnectivity((i-1)*md. numberofelements2d+1:(i)*md.numberofelements2d,:)+md.numberofelements2d;189 md.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)... 190 =md.elementconnectivity((i-1)*md.mesh.numberofelements2d+1:(i)*md.mesh.numberofelements2d,:)+md.mesh.numberofelements2d; 191 191 end 192 192 md.elementconnectivity(find(isnan(md.elementconnectivity)))=0; -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9719 r9725 24 24 end 25 25 % probably going to need some checks on flaim.flightreqs here 26 if (numel(md.flaim.criterion) ~= md. numberofnodes) && (numel(md.flaim.criterion) ~= md.numberofelements)27 message(['model not consistent: flaim.criterion vector must have number of nodes (' int2str(md. numberofnodes) ') or elements (' int2str(md.numberofelements) ') values, not ' int2str(numel(md.flaim.criterion)) ' values.']);26 if (numel(md.flaim.criterion) ~= md.mesh.numberofvertices) && (numel(md.flaim.criterion) ~= md.mesh.numberofelements) 27 message(['model not consistent: flaim.criterion vector must have number of nodes (' int2str(md.mesh.numberofvertices) ') or elements (' int2str(md.mesh.numberofelements) ') values, not ' int2str(numel(md.flaim.criterion)) ' values.']); 28 28 end 29 29 return; … … 50 50 fields={'elements'}; 51 51 if (md.mesh.dimension==2), 52 checksize(md,fields,[md. numberofelements 3]);52 checksize(md,fields,[md.mesh.numberofelements 3]); 53 53 else 54 checksize(md,fields,[md. numberofelements 6]);55 end 56 if any(~ismember(1:md. numberofnodes,sort(unique(md.elements(:)))));54 checksize(md,fields,[md.mesh.numberofelements 6]); 55 end 56 if any(~ismember(1:md.mesh.numberofvertices,sort(unique(md.elements(:))))); 57 57 message('orphan nodes have been found. Check the mesh'); 58 58 end … … 82 82 %}}} 83 83 %NO NAN {{{1 84 fields={' numberofelements','numberofnodes','x','y','z','friction.coefficient','friction.p','friction.q',...84 fields={'mesh.numberofelements','mesh.numberofvertices','x','y','z','friction.coefficient','friction.p','friction.q',... 85 85 'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','geometry.surface','geometry.thickness','geometry.bed','constants.g','settings.lowmem','inversion.nsteps','inversion.maxiter_per_step',... 86 86 'diagnostic.restol','diagnostic.maxiter','materials.rheology_n','nodeonbed','nodeonsurface','elementonbed','elementonsurface','elementconnectivity'}; … … 88 88 %}}}} 89 89 %FIELDS >= 0 {{{1 90 fields={' numberofelements','numberofnodes','elements','friction.coefficient','friction.p','friction.q',...90 fields={'mesh.numberofelements','mesh.numberofvertices','elements','friction.coefficient','friction.p','friction.q',... 91 91 'materials.rho_ice','materials.rho_water','materials.rheology_B','mask.elementonfloatingice','geometry.thickness','constants.g','diagnostic.restol','diagnostic.maxiter','diagnostic.reltol',... 92 92 'diagnostic.abstol','inversion.nsteps','inversion.maxiter_per_step',... … … 95 95 %}}} 96 96 %FIELDS > 0 {{{1 97 fields={' numberofelements','numberofnodes','elements','friction.p',...97 fields={'mesh.numberofelements','mesh.numberofvertices','elements','friction.p',... 98 98 'materials.rho_ice','materials.rho_water','materials.rheology_B','geometry.thickness','constants.g','diagnostic.maxiter','diagnostic.restol','diagnostic.reltol','diagnostic.abstol','inversion.maxiter_per_step'}; 99 99 checkgreaterstrict(md,fields,0); … … 101 101 %SIZE NUMBEROFELEMENTS {{{1 102 102 fields={'friction.p','friction.q','mask.elementonfloatingice','materials.rheology_n','elementonbed'}; 103 checksize(md,fields,[md. numberofelements 1]);103 checksize(md,fields,[md.mesh.numberofelements 1]); 104 104 %}}} 105 105 %SIZE NUMBEROFNODES {{{1 106 106 fields={'x','y','z','materials.rheology_B','friction.coefficient','basalforcings.melting_rate','geometry.surface','geometry.thickness','geometry.bed','nodeonbed','nodeonsurface'}; 107 checksize(md,fields,[md. numberofnodes 1]);107 checksize(md,fields,[md.mesh.numberofvertices 1]); 108 108 %}}} 109 109 %OTHER SIZES {{{1 110 110 fields={'diagnostic.referential'}; 111 checksize(md,fields,[md. numberofnodes 6]);111 checksize(md,fields,[md.mesh.numberofvertices 6]); 112 112 if ~isempty(md.diagnostic.requested_outputs), 113 113 if(size(md.diagnostic.requested_outputs,2)~=1), … … 222 222 checksize(md,fields,[md.inversion.nsteps num_controls]); 223 223 fields={'inversion.min_parameters','inversion.max_parameters'}; 224 checksize(md,fields,[md. numberofnodes num_controls]);224 checksize(md,fields,[md.mesh.numberofvertices num_controls]); 225 225 226 226 %RESPONSES … … 229 229 %WEIGHTS 230 230 fields={'inversion.cost_functions_coefficients'}; 231 checksize(md,fields,[md. numberofnodes num_costfunc]);231 checksize(md,fields,[md.mesh.numberofvertices num_costfunc]); 232 232 checkgreater(md,fields,0); 233 233 … … 235 235 if md.private.solution==BalancethicknessSolutionEnum 236 236 fields={'inversion.thickness_obs'}; 237 checksize(md,fields,[md. numberofnodes 1]);237 checksize(md,fields,[md.mesh.numberofvertices 1]); 238 238 checknan(md,fields); 239 239 else 240 240 fields={'inversion.vx_obs','inversion.vy_obs'}; 241 checksize(md,fields,[md. numberofnodes 1]);241 checksize(md,fields,[md.mesh.numberofvertices 1]); 242 242 checknan(md,fields); 243 243 end … … 258 258 end 259 259 if ~isempty(md.qmu.partition), 260 if numel(md.qmu.partition)~=md. numberofnodes,261 message(['model not consistent: user supplied partition for qmu analysis should have size md. numberofnodes x 1 ']);262 end 263 if find(md.qmu.partition)>=md. numberofnodes,260 if numel(md.qmu.partition)~=md.mesh.numberofvertices, 261 message(['model not consistent: user supplied partition for qmu analysis should have size md.mesh.numberofvertices x 1 ']); 262 end 263 if find(md.qmu.partition)>=md.mesh.numberofvertices, 264 264 message(['model not consistent: user supplied partition should be indexed from 0 (c-convention)']); 265 265 end … … 267 267 message(['model not consistent: partition vector not indexed from 0 on']); 268 268 end 269 if max(md.qmu.partition)>=md. numberofnodes,269 if max(md.qmu.partition)>=md.mesh.numberofvertices, 270 270 message(['model not consistent: partition vector cannot have maximum index larger than number of nodes']); 271 271 end … … 333 333 %}}} 334 334 %GROUNDINGLINEMIGRATION2D{{{1 335 if md.private.solution==GroundinglineMigration2 DSolutionEnum,335 if md.private.solution==GroundinglineMigration2dSolutionEnum, 336 336 if strcmpi(md.cluster.name,'none'), 337 337 message(['model not consistent: ' md.private.solution ' is only implemented in parallel mode !']) … … 401 401 fields={'initialization.vx','initialization.vy'}; 402 402 checknan(md,fields); 403 checksize(md,fields,[md. numberofnodes 1]);403 checksize(md,fields,[md.mesh.numberofvertices 1]); 404 404 end 405 405 … … 407 407 %Check the size of flowequation.element_equation 408 408 fields={'flowequation.element_equation'}; 409 checksize(md,fields,[md. numberofelements 1]);409 checksize(md,fields,[md.mesh.numberofelements 1]); 410 410 %Check the values of flowequation.element_equation 411 411 checkvalues(md,{'flowequation.element_equation'},[0:7]); … … 420 420 %Check the size of verticess_type 421 421 fields={'flowequation.vertex_equation'}; 422 checksize(md,fields,[md. numberofnodes 1]);422 checksize(md,fields,[md.mesh.numberofvertices 1]); 423 423 %Check the values of flowequation.vertex_equation 424 424 checkvalues(md,{'flowequation.vertex_equation'},[0:7]); … … 455 455 %INITIAL VELOCITIES 456 456 fields={'initialization.vx','initialization.vy'}; 457 checksize(md,fields,[md. numberofnodes 1]);457 checksize(md,fields,[md.mesh.numberofvertices 1]); 458 458 checknan(md,fields); 459 459 … … 481 481 checkforcing(md,fields); 482 482 fields={'initialization.watercolumn'}; 483 checksize(md,fields,[md. numberofnodes 1]);483 checksize(md,fields,[md.mesh.numberofvertices 1]); 484 484 %}}} 485 485 case ThermalAnalysisEnum, … … 505 505 %VELOCITIES AND PRESSURE 506 506 fields={'initialization.vx','initialization.vy','initialization.vz','initialization.pressure','basalforcings.geothermalflux'}; 507 checksize(md,fields,[md. numberofnodes 1]);507 checksize(md,fields,[md.mesh.numberofvertices 1]); 508 508 checknan(md,fields); 509 509 … … 517 517 %INITIAL TEMPERATURE, MELTING AND ACCUMULATION 518 518 fields={'initialization.temperature','basalforcings.melting_rate'}; 519 checksize(md,fields,[md. numberofnodes 1]);519 checksize(md,fields,[md.mesh.numberofvertices 1]); 520 520 checknan(md,fields); 521 521 … … 525 525 526 526 %CHECK SPCTEMPERATURE that are not NaN are >0. 527 if find(any(md.thermal.spctemperature(find(~isnan(md.thermal.spctemperature(1:md. numberofnodes,:))))<=0)),527 if find(any(md.thermal.spctemperature(find(~isnan(md.thermal.spctemperature(1:md.mesh.numberofvertices,:))))<=0)), 528 528 message(['model not consistent: model ' md.miscellaneous.name ' is constrained with negative or nil temperatures!']); 529 529 end … … 544 544 %VELOCITIES AND PRESSURE 545 545 fields={'initialization.vx','initialization.vy','initialization.vz','initialization.pressure','basalforcings.geothermalflux'}; 546 checksize(md,fields,[md. numberofnodes 1]);546 checksize(md,fields,[md.mesh.numberofvertices 1]); 547 547 checknan(md,fields); 548 548 … … 556 556 %INITIAL TEMPERATURE, MELTING, ACCUMULATION AND WATERFRACTION 557 557 fields={'initialization.temperature','basalforcings.melting_rate','initialization.waterfraction'}; 558 checksize(md,fields,[md. numberofnodes 1]);558 checksize(md,fields,[md.mesh.numberofvertices 1]); 559 559 checknan(md,fields); 560 560 … … 572 572 %VELOCITIES MELTING AND ACCUMULATION 573 573 fields={'initialization.vx','initialization.vy','basalforcings.melting_rate','balancethickness.thickening_rate'}; 574 checksize(md,fields,[md. numberofnodes 1]);574 checksize(md,fields,[md.mesh.numberofvertices 1]); 575 575 checknan(md,fields); 576 576 … … 622 622 if strcmp(fields{i},'cm_min'), 623 623 disp('!!! '); 624 disp('!!! WARNING: cm_min must now be of size [md. numberofnodes x 1]. Update your parameter file as follows:');624 disp('!!! WARNING: cm_min must now be of size [md.mesh.numberofvertices x 1]. Update your parameter file as follows:'); 625 625 disp('!!! '); 626 disp('!!! md.inversion.min_parameters=md.inversion.min_parameters*ones(md. numberofnodes,1);');626 disp('!!! md.inversion.min_parameters=md.inversion.min_parameters*ones(md.mesh.numberofvertices,1);'); 627 627 disp('!!! '); 628 628 end … … 630 630 if strcmp(fields{i},'cm_max'), 631 631 disp('!!! '); 632 disp('!!! WARNING: cm_max must now be of size [md. numberofnodes x 1]. Update your parameter file as follows:');632 disp('!!! WARNING: cm_max must now be of size [md.mesh.numberofvertices x 1]. Update your parameter file as follows:'); 633 633 disp('!!! '); 634 disp('!!! md.inversion.max_parameters=md.inversion.max_parameters*ones(md. numberofnodes,1);');634 disp('!!! md.inversion.max_parameters=md.inversion.max_parameters*ones(md.mesh.numberofvertices,1);'); 635 635 disp('!!! '); 636 636 end … … 723 723 for i=1:length(fields), 724 724 eval(['field=md.' fields{i} ';']); 725 if size(field,1)==md. numberofnodes,725 if size(field,1)==md.mesh.numberofvertices, 726 726 if ~size(field,2)==1, 727 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have only one column as there are md. numberofnodes lines']);728 end 729 elseif size(field,1)==md. numberofnodes+1727 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have only one column as there are md.mesh.numberofvertices lines']); 728 end 729 elseif size(field,1)==md.mesh.numberofvertices+1 730 730 if any(field(end,:)~=sort(field(end,:))), 731 731 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' columns should be chronological']); … … 735 735 end 736 736 else 737 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have md. numberofnodes or md.numberofnodes+1 lines']);737 message(['model not consistent: model ' md.miscellaneous.name ': ' fields{i} ' should have md.mesh.numberofvertices or md.mesh.numberofvertices+1 lines']); 738 738 end 739 739 end -
issm/trunk/src/m/model/marshall.m
r9683 r9725 19 19 template=model.template(); 20 20 MarshallObject(fid,template,md,''); 21 22 %FIXME add some fields needed by parameters23 WriteData(fid,'numberofedges',size(md.edges,1),modelfield('format','Integer'));24 21 25 22 %close file … … 272 269 % enum=BuildEnum(string) 273 270 274 %FIXME: delete this one275 if strcmp(string,'Numberofnodes'),276 string='Numberofvertices';277 end278 279 if strncmpi(string,'numberof',8),280 string(1:8)='NumberOf';281 string(9)=upper(string(9));282 end283 284 271 if findstr(string,'_'), 285 272 indices=findstr(string,'_'); … … 288 275 end 289 276 string(indices)=[]; 290 end291 292 if findstr(string,'2d'),293 indices=findstr(string,'2d');294 for i=1:length(indices),295 string(indices(i)+1)=upper(string(indices(i)+1));296 end297 end298 299 if findstr(string,'3d'),300 indices=findstr(string,'3d');301 for i=1:length(indices),302 string(indices(i)+1)=upper(string(indices(i)+1));303 end304 277 end 305 278 -
issm/trunk/src/m/model/mechanicalproperties.m
r9719 r9725 14 14 15 15 %some checks 16 if length(vx)~=md. numberofnodes | length(vy)~=md.numberofnodes,17 error(['the input velocity should be of size ' num2str(md. numberofnodes) '!'])16 if length(vx)~=md.mesh.numberofvertices | length(vy)~=md.mesh.numberofvertices, 17 error(['the input velocity should be of size ' num2str(md.mesh.numberofvertices) '!']) 18 18 end 19 19 if ~(md.mesh.dimension==2) … … 25 25 26 26 %initialization 27 numberofelements=md. numberofelements;27 numberofelements=md.mesh.numberofelements; 28 28 index=md.elements; 29 29 summation=[1;1;1]; -
issm/trunk/src/m/model/mesh/findsegments.m
r8298 r9725 15 15 16 16 %Now, build the connectivity tables for this mesh if not correclty done 17 if size(md.elementconnectivity,1)~=md. numberofelements,17 if size(md.elementconnectivity,1)~=md.mesh.numberofelements, 18 18 if exist(options,'elementconnectivity'), 19 19 error(' ''elementconnectivity'' option does not have thge right size.'); -
issm/trunk/src/m/model/mesh/meshadaptation.m
r9719 r9725 17 17 error('meshadaptation error message: adaptation for 3d meshes not implemented yet') 18 18 end 19 if length(field)~=md. numberofnodes19 if length(field)~=md.mesh.numberofvertices 20 20 error('meshadaptation error message: input field length shoud be numberofnodes') 21 21 end … … 25 25 %initialization 26 26 index=md.elements; 27 numberofnodes=md. numberofnodes;28 numberofelements=md. numberofelements;27 numberofnodes=md.mesh.numberofvertices; 28 numberofelements=md.mesh.numberofelements; 29 29 gradx=zeros(numberofnodes,1); 30 30 grady=zeros(numberofnodes,1); … … 90 90 91 91 %Remesh with this new metric 92 disp(sprintf(' initial number of element: %i', md. numberofelements))92 disp(sprintf(' initial number of element: %i', md.mesh.numberofelements)) 93 93 md2=meshrefine(md,full(metric)); 94 94 disp(sprintf(' new number of elements: %i', md2.numberofelements)) -
issm/trunk/src/m/model/mesh/meshbamg.m
r9703 r9725 53 53 disp('Initial mesh generation...'); 54 54 md=setmesh(md,domainoutline,resolution); 55 disp(['Initial mesh, number of elements: ' num2str(md. numberofelements)]);55 disp(['Initial mesh, number of elements: ' num2str(md.mesh.numberofelements)]); 56 56 57 57 %load velocities … … 98 98 if ~strcmp(groundeddomain,'N/A'), 99 99 nodeground=ContourToMesh(md.elements,md.x,md.y,groundeddomain,'node',2); 100 md.nodeonwater=ones(md. numberofnodes,1);100 md.nodeonwater=ones(md.mesh.numberofvertices,1); 101 101 md.nodeonwater(find(nodeground))=0; 102 102 else 103 md.nodeonwater=zeros(md. numberofnodes,1);103 md.nodeonwater=zeros(md.mesh.numberofvertices,1); 104 104 end 105 105 … … 110 110 end 111 111 112 disp(['Final mesh, number of elements: ' num2str(md. numberofelements)]);112 disp(['Final mesh, number of elements: ' num2str(md.mesh.numberofelements)]); -
issm/trunk/src/m/model/mesh/meshconvert.m
r9719 r9725 37 37 %Fill in rest of fields: 38 38 md.mesh.dimension=2; 39 md. numberofelements=size(md.elements,1);40 md. numberofnodes=length(md.x);41 md.z=zeros(md. numberofnodes,1);42 md.nodeonbed=ones(md. numberofnodes,1);43 md.mask.vertexonwater=zeros(md. numberofnodes,1);44 md.nodeonsurface=ones(md. numberofnodes,1);45 md.elementonbed=ones(md. numberofelements,1);46 md.elementonsurface=ones(md. numberofelements,1);47 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;39 md.mesh.numberofelements=size(md.elements,1); 40 md.mesh.numberofvertices=length(md.x); 41 md.z=zeros(md.mesh.numberofvertices,1); 42 md.nodeonbed=ones(md.mesh.numberofvertices,1); 43 md.mask.vertexonwater=zeros(md.mesh.numberofvertices,1); 44 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 45 md.elementonbed=ones(md.mesh.numberofelements,1); 46 md.elementonsurface=ones(md.mesh.numberofelements,1); 47 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; -
issm/trunk/src/m/model/mesh/meshnodensity.m
r9719 r9725 55 55 56 56 %Fill in rest of fields: 57 md. numberofelements=length(md.elements);58 md. numberofnodes=length(md.x);59 md.z=zeros(md. numberofnodes,1);60 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;61 md.nodeonbed=ones(md. numberofnodes,1);62 md.nodeonsurface=ones(md. numberofnodes,1);63 md.elementonbed=ones(md. numberofelements,1);64 md.elementonsurface=ones(md. numberofelements,1);57 md.mesh.numberofelements=length(md.elements); 58 md.mesh.numberofvertices=length(md.x); 59 md.z=zeros(md.mesh.numberofvertices,1); 60 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 61 md.nodeonbed=ones(md.mesh.numberofvertices,1); 62 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 63 md.elementonbed=ones(md.mesh.numberofelements,1); 64 md.elementonsurface=ones(md.mesh.numberofelements,1); 65 65 66 66 %Now, build the connectivity tables for this mesh. 67 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);67 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 68 68 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 69 69 -
issm/trunk/src/m/model/mesh/meshrefine.m
r9719 r9725 10 10 error('meshrefine error message'); 11 11 end 12 if ( (isempty(areas)) | (length(areas)~=md. numberofelements) | (length(find(isnan(areas))))),12 if ( (isempty(areas)) | (length(areas)~=md.mesh.numberofelements) | (length(find(isnan(areas))))), 13 13 meshrefineusage(); 14 14 error('meshrefine error message'); … … 19 19 20 20 %Fill in rest of fields: 21 md. numberofelements=length(md.elements);22 md. numberofnodes=length(md.x);23 md.z=zeros(md. numberofnodes,1);24 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;25 md.nodeonbed=ones(md. numberofnodes,1);26 md.nodeonsurface=ones(md. numberofnodes,1);27 md.elementonbed=ones(md. numberofelements,1);28 md.elementonsurface=ones(md. numberofelements,1);21 md.mesh.numberofelements=length(md.elements); 22 md.mesh.numberofvertices=length(md.x); 23 md.z=zeros(md.mesh.numberofvertices,1); 24 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 25 md.nodeonbed=ones(md.mesh.numberofvertices,1); 26 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 27 md.elementonbed=ones(md.mesh.numberofelements,1); 28 md.elementonsurface=ones(md.mesh.numberofelements,1); 29 29 30 30 %Now, build the connectivity tables for this mesh. 31 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);31 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 32 32 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 33 33 -
issm/trunk/src/m/model/mesh/meshyams.m
r9714 r9725 57 57 md=meshprocessrifts(md,domainoutline); 58 58 end 59 disp(['Initial mesh, number of elements: ' num2str(md. numberofelements)]);59 disp(['Initial mesh, number of elements: ' num2str(md.mesh.numberofelements)]); 60 60 61 61 %load velocities … … 82 82 if ~strcmp(groundeddomain,'N/A'), 83 83 nodeground=ContourToMesh(md.elements,md.x,md.y,groundeddomain,'node',2); 84 md.nodeonwater=ones(md. numberofnodes,1);84 md.nodeonwater=ones(md.mesh.numberofvertices,1); 85 85 md.nodeonwater(find(nodeground))=0; 86 86 else 87 md.nodeonwater=zeros(md. numberofnodes,1);87 md.nodeonwater=zeros(md.mesh.numberofvertices,1); 88 88 end 89 89 … … 95 95 %rifts, because the segments are used in YamsCall to freeze the rifts elements during refinement. 96 96 if md.rifts.numrifts, 97 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);97 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 98 98 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 99 99 md.mesh.segments=findsegments(md); … … 103 103 end 104 104 105 disp(['Final mesh, number of elements: ' num2str(md. numberofelements)]);105 disp(['Final mesh, number of elements: ' num2str(md.mesh.numberofelements)]); 106 106 107 107 %Now, build the connectivity tables for this mesh. 108 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);108 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 109 109 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 110 110 111 111 %recreate segments 112 112 md.mesh.segments=findsegments(md); 113 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;113 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 114 114 115 115 %Fill in rest of fields: 116 md.z=zeros(md. numberofnodes,1);117 md.nodeonbed=ones(md. numberofnodes,1);118 md.nodeonsurface=ones(md. numberofnodes,1);119 md.elementonbed=ones(md. numberofelements,1);120 md.elementonsurface=ones(md. numberofelements,1);116 md.z=zeros(md.mesh.numberofvertices,1); 117 md.nodeonbed=ones(md.mesh.numberofvertices,1); 118 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 119 md.elementonbed=ones(md.mesh.numberofelements,1); 120 md.elementonsurface=ones(md.mesh.numberofelements,1); 121 121 if ~strcmp(groundeddomain,'N/A'), 122 122 nodeground=ContourToMesh(md.elements,md.x,md.y,groundeddomain,'node',2); 123 md.nodeonwater=ones(md. numberofnodes,1);123 md.nodeonwater=ones(md.mesh.numberofvertices,1); 124 124 md.nodeonwater(find(nodeground))=0; 125 125 else 126 md.nodeonwater=zeros(md. numberofnodes,1);126 md.nodeonwater=zeros(md.mesh.numberofvertices,1); 127 127 end 128 128 if strcmpi(Names.interp,'node'), -
issm/trunk/src/m/model/mesh/reorder.m
r9719 r9725 12 12 13 13 %reorder elements 14 newelements=randperm(md. numberofelements)';15 tnewelements=zeros(md. numberofelements,1);tnewelements(newelements)=[1:md.numberofelements]';14 newelements=randperm(md.mesh.numberofelements)'; 15 tnewelements=zeros(md.mesh.numberofelements,1);tnewelements(newelements)=[1:md.mesh.numberofelements]'; 16 16 17 17 %reorder nodes 18 newnodes=randperm(md. numberofnodes)';19 tnewnodes=zeros(md. numberofnodes,1);tnewnodes(newnodes)=[1:md.numberofnodes]';18 newnodes=randperm(md.mesh.numberofvertices)'; 19 tnewnodes=zeros(md.mesh.numberofvertices,1);tnewnodes(newnodes)=[1:md.mesh.numberofvertices]'; 20 20 21 21 %update all fields … … 25 25 md.y=md.y(newnodes); 26 26 md.z=md.z(newnodes); 27 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;27 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; -
issm/trunk/src/m/model/mesh/rifts/meshaddrifts.m
r9719 r9725 56 56 57 57 %plug md2 mesh into md mesh: 58 [md.elements,md.x,md.y,md.z,md. numberofelements,md.numberofnodes,elconv,nodeconv,elconv2,nodeconv2]=meshplug(md.elements,md.x,md.y,md.z,...58 [md.elements,md.x,md.y,md.z,md.mesh.numberofelements,md.mesh.numberofvertices,elconv,nodeconv,elconv2,nodeconv2]=meshplug(md.elements,md.x,md.y,md.z,... 59 59 md2.elements,md2.x,md2.y,md2.z,md2.extractednodes,md2.extractedelements,domain_index); 60 60 … … 80 80 81 81 %finish up "a la" mesh.h 82 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;83 md.nodeonbed=ones(md. numberofnodes,1);84 md.nodeonsurface=ones(md. numberofnodes,1);85 md.elementonbed=ones(md. numberofelements,1);86 md.elementonsurface=ones(md. numberofelements,1);82 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 83 md.nodeonbed=ones(md.mesh.numberofvertices,1); 84 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 85 md.elementonbed=ones(md.mesh.numberofelements,1); 86 md.elementonsurface=ones(md.mesh.numberofelements,1); 87 87 88 88 %Now, build the connectivity tables for this mesh. 89 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);89 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 90 90 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 91 91 -
issm/trunk/src/m/model/mesh/rifts/meshprocessoutsiderifts.m
r9714 r9725 58 58 md.x=[md.x;md.x(tip)]; 59 59 md.y=[md.y;md.y(tip)]; 60 md. numberofnodes=num;60 md.mesh.numberofvertices=num; 61 61 62 62 %replace tip in elements … … 83 83 84 84 %Fill in rest of fields: 85 md. numberofelements=length(md.elements);86 md. numberofnodes=length(md.x);87 md.z=zeros(md. numberofnodes,1);85 md.mesh.numberofelements=length(md.elements); 86 md.mesh.numberofvertices=length(md.x); 87 md.z=zeros(md.mesh.numberofvertices,1); 88 88 md.mesh.vertexonboundary=zeros(length(md.x),1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 89 89 md.rifts.numrifts=length(md.rifts.riftstruct); 90 md.flowequation.element_equation=3*ones(md. numberofelements,1);91 md.nodeonbed=ones(md. numberofnodes,1);92 md.nodeonsurface=ones(md. numberofnodes,1);93 md.elementonbed=ones(md. numberofelements,1);94 md.elementonsurface=ones(md. numberofelements,1);90 md.flowequation.element_equation=3*ones(md.mesh.numberofelements,1); 91 md.nodeonbed=ones(md.mesh.numberofvertices,1); 92 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 93 md.elementonbed=ones(md.mesh.numberofelements,1); 94 md.elementonsurface=ones(md.mesh.numberofelements,1); -
issm/trunk/src/m/model/mesh/rifts/meshprocessrifts.m
r9714 r9725 31 31 32 32 %Fill in rest of fields: 33 md. numberofelements=length(md.elements);34 md. numberofnodes=length(md.x);35 md.z=zeros(md. numberofnodes,1);33 md.mesh.numberofelements=length(md.elements); 34 md.mesh.numberofvertices=length(md.x); 35 md.z=zeros(md.mesh.numberofvertices,1); 36 36 md.mesh.vertexonboundary=zeros(length(md.x),1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 37 37 md.rifts.numrifts=length(md.rifts.riftstruct); 38 md.flowequation.element_equation=3*ones(md. numberofelements,1);39 md.nodeonbed=ones(md. numberofnodes,1);40 md.nodeonsurface=ones(md. numberofnodes,1);41 md.elementonbed=ones(md. numberofelements,1);42 md.elementonsurface=ones(md. numberofelements,1);38 md.flowequation.element_equation=3*ones(md.mesh.numberofelements,1); 39 md.nodeonbed=ones(md.mesh.numberofvertices,1); 40 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 41 md.elementonbed=ones(md.mesh.numberofelements,1); 42 md.elementonsurface=ones(md.mesh.numberofelements,1); 43 43 44 44 %get coordinates of rift tips -
issm/trunk/src/m/model/mesh/setmesh.m
r9719 r9725 27 27 28 28 %Check that mesh was not already run, and warn user: 29 if md. numberofelements~=0,29 if md.mesh.numberofelements~=0, 30 30 choice=input('This model already has a mesh. Are you sure you want to go ahead? (y/n)','s'); 31 31 if ~strcmp(choice,'y') … … 69 69 70 70 %Fill in rest of fields: 71 md. numberofelements=length(md.elements);72 md. numberofnodes=length(md.x);73 md.z=zeros(md. numberofnodes,1);74 md.mesh.vertexonboundary=zeros(md. numberofnodes,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1;75 md.nodeonbed=ones(md. numberofnodes,1);76 md.nodeonsurface=ones(md. numberofnodes,1);77 md.elementonbed=ones(md. numberofelements,1);78 md.elementonsurface=ones(md. numberofelements,1);71 md.mesh.numberofelements=length(md.elements); 72 md.mesh.numberofvertices=length(md.x); 73 md.z=zeros(md.mesh.numberofvertices,1); 74 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); md.mesh.vertexonboundary(md.mesh.segments(:,1:2))=1; 75 md.nodeonbed=ones(md.mesh.numberofvertices,1); 76 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 77 md.elementonbed=ones(md.mesh.numberofelements,1); 78 md.elementonsurface=ones(md.mesh.numberofelements,1); 79 79 80 80 %Now, build the connectivity tables for this mesh. 81 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);81 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 82 82 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 83 83 -
issm/trunk/src/m/model/misfit.m
r9719 r9725 21 21 x=md.x2d; 22 22 y=md.y2d; 23 vx=project2d(md,md.initialization.vx,md. numlayers);24 vy=project2d(md,md.initialization.vy,md. numlayers);25 vx_obs=project2d(md,md.inversion.vx_obs,md. numlayers);26 vy_obs=project2d(md,md.inversion.vy_obs,md. numlayers);23 vx=project2d(md,md.initialization.vx,md.mesh.numberoflayers); 24 vy=project2d(md,md.initialization.vy,md.mesh.numberoflayers); 25 vx_obs=project2d(md,md.inversion.vx_obs,md.mesh.numberoflayers); 26 vy_obs=project2d(md,md.inversion.vy_obs,md.mesh.numberoflayers); 27 27 end 28 28 -
issm/trunk/src/m/model/modelsextract.m
r9719 r9725 22 22 %2D or 3D? 23 23 if md.mesh.dimension==3, 24 numberofelements=md. numberofelements2d; %this will be forgotten when we get out.24 numberofelements=md.mesh.numberofelements2d; %this will be forgotten when we get out. 25 25 flags=project2d(md,flags,1); 26 26 else 27 numberofelements=md. numberofelements;27 numberofelements=md.mesh.numberofelements; 28 28 end 29 29 -
issm/trunk/src/m/model/outflow.m
r9714 r9725 15 15 VdotN=Vx.*Nx+Vy.*Ny; 16 16 17 flag=zeros(md. numberofnodes,1);17 flag=zeros(md.mesh.numberofvertices,1); 18 18 flag(A(find(VdotN>0)))=1; -
issm/trunk/src/m/model/parameterization/parametercontrolB.m
r9681 r9725 24 24 25 25 %weights 26 weights=getfieldvalue(options,'weights',ones(md. numberofnodes,1));27 if (length(weights)~=md. numberofnodes)28 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);26 weights=getfieldvalue(options,'weights',ones(md.mesh.numberofvertices,1)); 27 if (length(weights)~=md.mesh.numberofvertices) 28 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 29 29 else 30 30 md.inversion.cost_functions_coefficients=weights; … … 41 41 42 42 %cm_min 43 cm_min=getfieldvalue(options,'cm_min',paterson(273.15+5)*ones(md. numberofnodes,1));43 cm_min=getfieldvalue(options,'cm_min',paterson(273.15+5)*ones(md.mesh.numberofvertices,1)); 44 44 if (length(cm_min)==1) 45 md.inversion.min_parameters=cm_min*ones(md. numberofnodes,1);46 elseif (length(cm_min)==md. numberofnodes)45 md.inversion.min_parameters=cm_min*ones(md.mesh.numberofvertices,1); 46 elseif (length(cm_min)==md.mesh.numberofvertices) 47 47 md.inversion.min_parameters=cm_min; 48 48 else … … 51 51 52 52 %cm_max 53 cm_max=getfieldvalue(options,'cm_max',paterson(273.15-70)*ones(md. numberofnodes,1));53 cm_max=getfieldvalue(options,'cm_max',paterson(273.15-70)*ones(md.mesh.numberofvertices,1)); 54 54 if (length(cm_max)==1) 55 md.inversion.max_parameters=cm_max*ones(md. numberofnodes,1);56 elseif (length(cm_max)==md. numberofnodes)55 md.inversion.max_parameters=cm_max*ones(md.mesh.numberofvertices,1); 56 elseif (length(cm_max)==md.mesh.numberofvertices) 57 57 md.inversion.max_parameters=cm_max; 58 58 else -
issm/trunk/src/m/model/parameterization/parametercontroldrag.m
r9681 r9725 24 24 25 25 %weights 26 weights=getfieldvalue(options,'weights',ones(md. numberofnodes,1));27 if (length(weights)~=md. numberofnodes)28 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);26 weights=getfieldvalue(options,'weights',ones(md.mesh.numberofvertices,1)); 27 if (length(weights)~=md.mesh.numberofvertices) 28 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 29 29 else 30 30 md.inversion.cost_functions_coefficients=weights; … … 40 40 41 41 %cm_min 42 cm_min=getfieldvalue(options,'cm_min',1*ones(md. numberofnodes,1));42 cm_min=getfieldvalue(options,'cm_min',1*ones(md.mesh.numberofvertices,1)); 43 43 if (length(cm_min)==1) 44 md.inversion.min_parameters=cm_min*ones(md. numberofnodes,1);45 elseif (length(cm_min)==md. numberofnodes)44 md.inversion.min_parameters=cm_min*ones(md.mesh.numberofvertices,1); 45 elseif (length(cm_min)==md.mesh.numberofvertices) 46 46 md.inversion.min_parameters=cm_min; 47 47 else … … 50 50 51 51 %cm_max 52 cm_max=getfieldvalue(options,'cm_max',250*ones(md. numberofnodes,1));52 cm_max=getfieldvalue(options,'cm_max',250*ones(md.mesh.numberofvertices,1)); 53 53 if (length(cm_max)==1) 54 md.inversion.max_parameters=cm_max*ones(md. numberofnodes,1);55 elseif (length(cm_max)==md. numberofnodes)54 md.inversion.max_parameters=cm_max*ones(md.mesh.numberofvertices,1); 55 elseif (length(cm_max)==md.mesh.numberofvertices) 56 56 md.inversion.max_parameters=cm_max; 57 57 else -
issm/trunk/src/m/model/partition/AreaAverageOntoPartition.m
r9719 r9725 19 19 md.x=md.x2d; 20 20 md.y=md.y2d; 21 md. numberofnodes=md.numberofnodes2d;22 md. numberofelements=md.numberofelements2d;21 md.mesh.numberofvertices=md.mesh.numberofvertices2d; 22 md.mesh.numberofelements=md.mesh.numberofelements2d; 23 23 md.vertex_weight=[]; 24 24 md.nodeconnectivity=[]; -
issm/trunk/src/m/model/partition/adjacency.m
r9668 r9725 12 12 values=1; 13 13 14 md.qmu.adjacency=sparse(indi,indj,values,md. numberofnodes,md.numberofnodes);14 md.qmu.adjacency=sparse(indi,indj,values,md.mesh.numberofvertices,md.mesh.numberofvertices); 15 15 md.qmu.adjacency=double([md.qmu.adjacency | md.qmu.adjacency']); 16 16 … … 19 19 20 20 %get node connectivity 21 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);21 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 22 22 23 23 connectivity=md.nodeconnectivity(:,1:end-1); -
issm/trunk/src/m/model/partition/partitioner.m
r9719 r9725 37 37 md.x=md.x2d; 38 38 md.y=md.y2d; 39 md. numberofnodes=md.numberofnodes2d;40 md. numberofelements=md.numberofelements2d;39 md.mesh.numberofvertices=md.mesh.numberofvertices2d; 40 md.mesh.numberofelements=md.mesh.numberofelements2d; 41 41 md.qmu.vertex_weight=[]; 42 42 md.nodeconnectivity=[]; … … 85 85 elseif strcmpi(package,'linear'), 86 86 87 part=1:1:md. numberofnodes;87 part=1:1:md.mesh.numberofvertices; 88 88 89 89 elseif strcmpi(package,'metis'), -
issm/trunk/src/m/model/plot/plot_elementnumbering.m
r8472 r9725 11 11 %process data and model 12 12 [x y z elements is2d isplanet]=processmesh(md,[],options); 13 [elementnumbers datatype]=processdata(md,[1:md. numberofelements]',options);13 [elementnumbers datatype]=processdata(md,[1:md.mesh.numberofelements]',options); 14 14 15 15 %plot -
issm/trunk/src/m/model/plot/plot_highlightelements.m
r8472 r9725 12 12 %process data and model 13 13 [x y z elements is2d isplanet]=processmesh(md,[],options); 14 [elementnumbers datatype]=processdata(md,[1:md. numberofelements]',options);14 [elementnumbers datatype]=processdata(md,[1:md.mesh.numberofelements]',options); 15 15 16 16 %plot -
issm/trunk/src/m/model/plot/plot_highlightnodes.m
r8472 r9725 9 9 %process data and model 10 10 [x y z elements is2d isplanet]=processmesh(md,[],options); 11 [nodenumbers datatype]=processdata(md,[1:md. numberofnodes]',options);11 [nodenumbers datatype]=processdata(md,[1:md.mesh.numberofvertices]',options); 12 12 13 13 %plot -
issm/trunk/src/m/model/plot/plot_nodenumbering.m
r8472 r9725 9 9 %process data and model 10 10 [x y z elements is2d isplanet]=processmesh(md,[],options); 11 [nodenumbers datatype]=processdata(md,[1:md. numberofnodes]',options);11 [nodenumbers datatype]=processdata(md,[1:md.mesh.numberofvertices]',options); 12 12 13 13 %plot -
issm/trunk/src/m/model/plot/plot_overlay.m
r9620 r9725 11 11 if strcmpi(data,'none'), 12 12 radaronly=1; 13 data=NaN*ones(md. numberofnodes,1);13 data=NaN*ones(md.mesh.numberofvertices,1); 14 14 datatype=1; 15 15 else -
issm/trunk/src/m/model/plot/plot_riftfraction.m
r9714 r9725 24 24 25 25 %first, build a vector of fractions, over all nodes. 26 fractions=zeros(md. numberofnodes,1);26 fractions=zeros(md.mesh.numberofvertices,1); 27 27 28 28 %complete the tips. -
issm/trunk/src/m/model/plot/plot_riftrelvel.m
r9714 r9725 8 8 9 9 %some checks 10 if (length(md.initialization.vx)~=md. numberofnodes | length(md.initialization.vy)~=md.numberofnodes),10 if (length(md.initialization.vx)~=md.mesh.numberofvertices | length(md.initialization.vy)~=md.mesh.numberofvertices), 11 11 error('plot_riftvel error message: vx and vy do not have the right size'), 12 12 end … … 21 21 22 22 %set as NaN all velocities not on rifts 23 u=NaN*ones(md. numberofnodes,1);24 v=NaN*ones(md. numberofnodes,1);23 u=NaN*ones(md.mesh.numberofvertices,1); 24 v=NaN*ones(md.mesh.numberofvertices,1); 25 25 for i=1:md.rifts.numrifts, 26 26 penaltypairs=md.rifts.riftstruct(i).penaltypairs(:,[1 2]); -
issm/trunk/src/m/model/plot/plot_riftvel.m
r9714 r9725 8 8 9 9 %some checks 10 if (length(md.initialization.vx)~=md. numberofnodes | length(md.initialization.vy)~=md.numberofnodes),10 if (length(md.initialization.vx)~=md.mesh.numberofvertices | length(md.initialization.vy)~=md.mesh.numberofvertices), 11 11 error('plot_riftvel error message: vx and vy do not have the right size'), 12 12 end … … 17 17 18 18 %set as NaN all velocities not on rifts 19 u=NaN*ones(md. numberofnodes,1);20 v=NaN*ones(md. numberofnodes,1);19 u=NaN*ones(md.mesh.numberofvertices,1); 20 v=NaN*ones(md.mesh.numberofvertices,1); 21 21 for i=1:md.rifts.numrifts, 22 22 penaltypairs=md.rifts.riftstruct(i).penaltypairs(:,[1 2]); -
issm/trunk/src/m/model/plot/plot_section.m
r9719 r9725 52 52 resolution=getfieldvalue(options,'resolution'); 53 53 else %Default resolution 54 resolution=[1000 10*md. numlayers];54 resolution=[1000 10*md.mesh.numberoflayers]; 55 55 disp(['plot_section warning: no resolution specified, use default resolution: [horizontal_resolution vertical_resolution]=[' num2str(resolution) ']']); 56 56 end -
issm/trunk/src/m/model/plot/processdata.m
r9719 r9725 58 58 59 59 %check length 60 if datasize(1)~=md. numberofnodes & datasize(1)~=md.numberofelements & datasize(1)~=md.numberofnodes*6 & (md.mesh.dimension==3 & ~(datasize(1)==md.numberofelements2d | datasize(1)==md.numberofnodes2d))60 if datasize(1)~=md.mesh.numberofvertices & datasize(1)~=md.mesh.numberofelements & datasize(1)~=md.mesh.numberofvertices*6 & (md.mesh.dimension==3 & ~(datasize(1)==md.mesh.numberofelements2d | datasize(1)==md.mesh.numberofvertices2d)) 61 61 error('plotmodel error message: data not supported yet'); 62 62 end … … 79 79 80 80 %treat the case datasize(1)=6*nodes 81 if datasize(1)==6*md. numberofnodes81 if datasize(1)==6*md.mesh.numberofvertices 82 82 %keep the only norm of data 83 data1=data(1:6:md. numberofnodes*6,:);84 data2=data(2:6:md. numberofnodes*6,:);83 data1=data(1:6:md.mesh.numberofvertices*6,:); 84 data2=data(2:6:md.mesh.numberofvertices*6,:); 85 85 data=sqrt(data1.^2+data2.^2); 86 datasize(1)=md. numberofnodes;86 datasize(1)=md.mesh.numberofvertices; 87 87 %---> go to node data 88 88 end 89 89 90 90 %treat the case datasize(1)=nodes2d 91 if (md.mesh.dimension==3 & datasize(1)==md. numberofnodes2d),91 if (md.mesh.dimension==3 & datasize(1)==md.mesh.numberofvertices2d), 92 92 data=project3d(md,data,'node'); 93 datasize(1)=md. numberofnodes;93 datasize(1)=md.mesh.numberofvertices; 94 94 %---> go to node data 95 95 end 96 96 97 97 %treat the case datasize(1)=nodes2d 98 if (md.mesh.dimension==3 & datasize(1)==md. numberofelements2d),98 if (md.mesh.dimension==3 & datasize(1)==md.mesh.numberofelements2d), 99 99 data=project3d(md,data,'element'); 100 datasize(1)=md. numberofelements;100 datasize(1)=md.mesh.numberofelements; 101 101 %---> go to node data 102 102 end … … 105 105 if exist(options,'smooth') 106 106 data=averaging(md,data,getfieldvalue(options,'smooth')); 107 datasize(1)=md. numberofnodes;107 datasize(1)=md.mesh.numberofvertices; 108 108 %---> go to node data 109 109 end … … 111 111 112 112 %element data 113 if (datasize(1)==md. numberofelements & datasize(2)==1),113 if (datasize(1)==md.mesh.numberofelements & datasize(2)==1), 114 114 115 115 %Initialize datatype if non patch … … 122 122 flags=getfieldvalue(options,'mask'); 123 123 pos=find(~flags); 124 if length(flags)==md. numberofnodes,124 if length(flags)==md.mesh.numberofvertices, 125 125 [pos2 dummy]=find(ismember(md.elements,pos)); 126 126 data(pos2,:)=NaN; 127 elseif length(flags)==md. numberofelements127 elseif length(flags)==md.mesh.numberofelements 128 128 data(pos,:)=NaN; 129 129 else 130 disp('plotmodel warning: mask length not supported yet (supported length are md. numberofnodes and md.numberofelements');130 disp('plotmodel warning: mask length not supported yet (supported length are md.mesh.numberofvertices and md.mesh.numberofelements'); 131 131 end 132 132 end … … 145 145 146 146 %node data 147 if (datasize(1)==md. numberofnodes & datasize(2)==1),147 if (datasize(1)==md.mesh.numberofvertices & datasize(2)==1), 148 148 datatype=2; 149 149 … … 152 152 flags=getfieldvalue(options,'mask'); 153 153 pos=find(~flags); 154 if length(flags)==md. numberofnodes,154 if length(flags)==md.mesh.numberofvertices, 155 155 data(pos,:)=NaN; 156 elseif length(flags)==md. numberofelements156 elseif length(flags)==md.mesh.numberofelements 157 157 data(md.elements(pos,:),:)=NaN; 158 158 else 159 disp('plotmodel warning: mask length not supported yet (supported length are md. numberofnodes and md.numberofelements');159 disp('plotmodel warning: mask length not supported yet (supported length are md.mesh.numberofvertices and md.mesh.numberofelements'); 160 160 end 161 161 end -
issm/trunk/src/m/model/plot/processmesh.m
r9719 r9725 8 8 9 9 %some checks 10 if md. numberofnodes==md.numberofelements10 if md.mesh.numberofvertices==md.mesh.numberofelements 11 11 error('plot error message: the number of elements is the same as the number of nodes! cannot plot anything with model/plot, use matlab/plot instead') 12 12 end … … 67 67 %Process Patch 68 68 if (md.mesh.dimension==2), 69 elements=transpose(reshape(1:3*md. numberofelements,3,md.numberofelements));70 x=transpose(reshape(md.x(data.index)',1,3*md. numberofelements));71 y=transpose(reshape(md.y(data.index)',1,3*md. numberofelements));72 z=zeros(3*md. numberofelements,1);69 elements=transpose(reshape(1:3*md.mesh.numberofelements,3,md.mesh.numberofelements)); 70 x=transpose(reshape(md.x(data.index)',1,3*md.mesh.numberofelements)); 71 y=transpose(reshape(md.y(data.index)',1,3*md.mesh.numberofelements)); 72 z=zeros(3*md.mesh.numberofelements,1); 73 73 is2d=1; 74 74 else 75 elements=transpose(reshape(1:6*md. numberofelements,6,md.numberofelements));76 x=transpose(reshape(md.x(data.index)',1,6*md. numberofelements));77 y=transpose(reshape(md.y(data.index)',1,6*md. numberofelements));78 z=transpose(reshape(md.z(data.index)',1,6*md. numberofelements));75 elements=transpose(reshape(1:6*md.mesh.numberofelements,6,md.mesh.numberofelements)); 76 x=transpose(reshape(md.x(data.index)',1,6*md.mesh.numberofelements)); 77 y=transpose(reshape(md.y(data.index)',1,6*md.mesh.numberofelements)); 78 z=transpose(reshape(md.z(data.index)',1,6*md.mesh.numberofelements)); 79 79 is2d=0; 80 80 end -
issm/trunk/src/m/model/process_solve_options.m
r9556 r9725 11 11 if ~ismember(solution_type,[DiagnosticSolutionEnum,PrognosticSolutionEnum,ThermalSolutionEnum,... 12 12 SteadystateSolutionEnum,TransientSolutionEnum,EnthalpySolutionEnum,... 13 BalancethicknessSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundinglineMigration2 DSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]),13 BalancethicknessSolutionEnum,BedSlopeSolutionEnum,SurfaceSlopeSolutionEnum,GroundinglineMigration2dSolutionEnum,HydrologySolutionEnum,FlaimSolutionEnum]), 14 14 error(['process_solve_options error message: solution_type ' EnumToString(solution_type) ' not supported yet!']); 15 15 end -
issm/trunk/src/m/model/project2d.m
r9603 r9725 20 20 end 21 21 22 if (md3d. dim~=3),22 if (md3d.mesh.dimension~=3), 23 23 error('wrong model type ... should be ''3d'''); 24 24 end 25 25 26 if ((layer<1) | (layer>md3d. numlayers)),26 if ((layer<1) | (layer>md3d.mesh.numberoflayers)), 27 27 error(['layer must be between 1 and ' num2str(md3d.numlayers)]); 28 28 end 29 29 30 if size(value,1)==md3d. numberofnodes,31 projection_value=value((layer-1)*md3d. numberofnodes2d+1:layer*md3d.numberofnodes2d,:);32 elseif size(value,1)==md3d. numberofnodes+1,33 projection_value=[value((layer-1)*md3d. numberofnodes2d+1:layer*md3d.numberofnodes2d,:); value(end,:)];30 if size(value,1)==md3d.mesh.numberofnodes, 31 projection_value=value((layer-1)*md3d.mesh.numberofvertices2d+1:layer*md3d.mesh.numberofvertices2d,:); 32 elseif size(value,1)==md3d.mesh.numberofnodes+1, 33 projection_value=[value((layer-1)*md3d.mesh.numberofvertices2d+1:layer*md3d.mesh.numberofvertices2d,:); value(end,:)]; 34 34 else 35 projection_value=value((layer-1)*md3d. numberofelements2d+1:layer*md3d.numberofelements2d,:);35 projection_value=value((layer-1)*md3d.mesh.numberofelements2d+1:layer*md3d.mesh.numberofelements2d,:); 36 36 end -
issm/trunk/src/m/model/project3d.m
r9719 r9725 3 3 % 4 4 % vertically project a vector from 2d mesh (split in noncoll and coll areas) into a 3d mesh. 5 % This vector can be a node vector of size (md. numberofnodes2d,N/A) or an6 % element vector of size (md. numberofelements2d,N/A).5 % This vector can be a node vector of size (md.mesh.numberofvertices2d,N/A) or an 6 % element vector of size (md.mesh.numberofelements2d,N/A). 7 7 % arguments: 8 8 % 'vector': 2d vector … … 39 39 40 40 %Initialize 3d vector 41 if size(vector2d,1)==md. numberofnodes2d42 projected_vector=paddingvalue*ones(md. numberofnodes, size(vector2d,2));43 elseif size(vector2d,1)==md. numberofnodes2d+144 projected_vector=paddingvalue*ones(md. numberofnodes+1,size(vector2d,2));41 if size(vector2d,1)==md.mesh.numberofvertices2d 42 projected_vector=paddingvalue*ones(md.mesh.numberofvertices, size(vector2d,2)); 43 elseif size(vector2d,1)==md.mesh.numberofvertices2d+1 44 projected_vector=paddingvalue*ones(md.mesh.numberofvertices+1,size(vector2d,2)); 45 45 projected_vector(end,:)=vector2d(end,:); 46 46 vector2d=vector2d(1:end-1,:); … … 51 51 %Fill in 52 52 if layer==0, 53 for i=1:md. numlayers,54 projected_vector(((i-1)*md. numberofnodes2d+1):(i*md.numberofnodes2d),:)=vector2d;53 for i=1:md.mesh.numberoflayers, 54 projected_vector(((i-1)*md.mesh.numberofvertices2d+1):(i*md.mesh.numberofvertices2d),:)=vector2d; 55 55 end 56 56 else 57 projected_vector(((layer-1)*md. numberofnodes2d+1):(layer*md.numberofnodes2d),:)=vector2d;57 projected_vector(((layer-1)*md.mesh.numberofvertices2d+1):(layer*md.mesh.numberofvertices2d),:)=vector2d; 58 58 end 59 59 elseif strcmpi(type,'element'), 60 60 61 61 %Initialize 3d vector 62 if size(vector2d,1)==md. numberofelements2d63 projected_vector=paddingvalue*ones(md. numberofelements, size(vector2d,2));64 elseif size(vector2d,1)==md. numberofelements2d+165 projected_vector=paddingvalue*ones(md. numberofelements+1,size(vector2d,2));62 if size(vector2d,1)==md.mesh.numberofelements2d 63 projected_vector=paddingvalue*ones(md.mesh.numberofelements, size(vector2d,2)); 64 elseif size(vector2d,1)==md.mesh.numberofelements2d+1 65 projected_vector=paddingvalue*ones(md.mesh.numberofelements+1,size(vector2d,2)); 66 66 projected_vector(end,:)=vector2d(end,:); 67 67 vector2d=vector2d(1:end-1,:); … … 71 71 72 72 if layer==0, 73 for i=1:(md. numlayers-1),74 projected_vector( ((i-1)*md. numberofelements2d+1):(i*md.numberofelements2d),:)=vector2d;73 for i=1:(md.mesh.numberoflayers-1), 74 projected_vector( ((i-1)*md.mesh.numberofelements2d+1):(i*md.mesh.numberofelements2d),:)=vector2d; 75 75 end 76 76 77 77 else 78 projected_vector( ((layer-1)*md. numberofelements2d+1):(layer*md.numberofelements2d),:)=vector2d;78 projected_vector( ((layer-1)*md.mesh.numberofelements2d+1):(layer*md.mesh.numberofelements2d),:)=vector2d; 79 79 end 80 80 else -
issm/trunk/src/m/model/setflowequation.m
r9719 r9725 68 68 69 69 %add in model who is who 70 md.flowequation.element_equation=zeros(md. numberofelements,1);70 md.flowequation.element_equation=zeros(md.mesh.numberofelements,1); 71 71 72 72 %1: Hutter elements 73 nodeonhutter=zeros(md. numberofnodes,1);73 nodeonhutter=zeros(md.mesh.numberofvertices,1); 74 74 nodeonhutter(md.elements(find(hutterflag),:))=1; 75 75 md.flowequation.element_equation(find(hutterflag))=1; 76 76 77 77 %2: MacAyeal elements 78 nodeonmacayeal=zeros(md. numberofnodes,1);78 nodeonmacayeal=zeros(md.mesh.numberofvertices,1); 79 79 nodeonmacayeal(md.elements(find(macayealflag),:))=1; 80 80 md.flowequation.bordermacayeal=nodeonmacayeal; … … 82 82 83 83 %3: Pattyn elements 84 nodeonpattyn=zeros(md. numberofnodes,1);84 nodeonpattyn=zeros(md.mesh.numberofvertices,1); 85 85 nodeonpattyn(md.elements(find(pattynflag),:))=1; 86 86 md.flowequation.borderpattyn=nodeonpattyn; … … 90 90 %First modify stokesflag to get rid of elements contrained everywhere (spc + border with pattyn or macayeal) 91 91 if any(stokesflag), 92 nodeonstokes=zeros(md. numberofnodes,1);92 nodeonstokes=zeros(md.mesh.numberofvertices,1); 93 93 nodeonstokes(md.elements(find(stokesflag),:))=1; 94 94 fullspcnodes=double((~isnan(md.diagnostic.spcvx)+~isnan(md.diagnostic.spcvy)+~isnan(md.diagnostic.spcvz))==3 | (nodeonpattyn & nodeonstokes)); %find all the nodes on the boundary of the domain without icefront … … 96 96 stokesflag(find(fullspcelems))=0; 97 97 end 98 nodeonstokes=zeros(md. numberofnodes,1);98 nodeonstokes=zeros(md.mesh.numberofvertices,1); 99 99 nodeonstokes(md.elements(find(stokesflag),:))=1; 100 100 md.flowequation.borderstokes=nodeonstokes; … … 121 121 %Now take care of the coupling between MacAyeal and Pattyn 122 122 md.diagnostic.vertex_pairing=[]; 123 nodeonmacayealpattyn=zeros(md. numberofnodes,1);124 nodeonpattynstokes=zeros(md. numberofnodes,1);125 nodeonmacayealstokes=zeros(md. numberofnodes,1);123 nodeonmacayealpattyn=zeros(md.mesh.numberofvertices,1); 124 nodeonpattynstokes=zeros(md.mesh.numberofvertices,1); 125 nodeonmacayealstokes=zeros(md.mesh.numberofvertices,1); 126 126 if strcmpi(coupling_method,'penalties'), 127 127 %Create the border nodes between Pattyn and MacAyeal and extrude them 128 numnodes2d=md. numberofnodes2d;129 numlayers=md. numlayers;128 numnodes2d=md.mesh.numberofvertices2d; 129 numlayers=md.mesh.numberoflayers; 130 130 bordernodes2d=find(nodeonpattyn(1:numnodes2d) & nodeonmacayeal(1:numnodes2d)); %Nodes connected to two different types of elements 131 131 … … 134 134 penalties=[]; 135 135 for i=1:numlayers-1, 136 penalties=[penalties; [bordernodes2d bordernodes2d+md. numberofnodes2d*(i)]];136 penalties=[penalties; [bordernodes2d bordernodes2d+md.mesh.numberofvertices2d*(i)]]; 137 137 end 138 138 md.diagnostic.vertex_pairing=penalties; … … 147 147 commonelements(find(pattynflag))=0; %only one layer: the elements previously in macayeal 148 148 macayealflag(find(commonelements))=0; %these elements are now macayealpattynelements 149 macayealpattynflag=zeros(md. numberofelements,1);149 macayealpattynflag=zeros(md.mesh.numberofelements,1); 150 150 macayealpattynflag(find(commonelements))=1; 151 nodeonmacayeal=zeros(md. numberofnodes,1);151 nodeonmacayeal=zeros(md.mesh.numberofvertices,1); 152 152 nodeonmacayeal(md.elements(find(macayealflag),:))=1; 153 153 md.flowequation.bordermacayeal=nodeonmacayeal; … … 166 166 commonelements(find(pattynflag))=0; %only one layer: the elements previously in macayeal 167 167 stokesflag(find(commonelements))=0; %these elements are now macayealpattynelements 168 pattynstokesflag=zeros(md. numberofelements,1);168 pattynstokesflag=zeros(md.mesh.numberofelements,1); 169 169 pattynstokesflag(find(commonelements))=1; 170 nodeonstokes=zeros(md. numberofnodes,1);170 nodeonstokes=zeros(md.mesh.numberofvertices,1); 171 171 nodeonstokes(md.elements(find(stokesflag),:))=1; 172 172 md.flowequation.borderstokes=nodeonstokes; … … 176 176 177 177 %Now recreate nodeonpattynstokes 178 nodeonpattynstokes=zeros(md. numberofnodes,1);178 nodeonpattynstokes=zeros(md.mesh.numberofvertices,1); 179 179 nodeonpattynstokes(md.elements(find(pattynstokesflag),:))=1; 180 180 elseif any(stokesflag) & any(macayealflag), … … 186 186 commonelements(find(macayealflag))=0; %only one layer: the elements previously in macayeal 187 187 stokesflag(find(commonelements))=0; %these elements are now macayealmacayealelements 188 macayealstokesflag=zeros(md. numberofelements,1);188 macayealstokesflag=zeros(md.mesh.numberofelements,1); 189 189 macayealstokesflag(find(commonelements))=1; 190 nodeonstokes=zeros(md. numberofnodes,1);190 nodeonstokes=zeros(md.mesh.numberofvertices,1); 191 191 nodeonstokes(md.elements(find(stokesflag),:))=1; 192 192 md.flowequation.borderstokes=nodeonstokes; … … 196 196 197 197 %Now recreate nodeonmacayealstokes 198 nodeonmacayealstokes=zeros(md. numberofnodes,1);198 nodeonmacayealstokes=zeros(md.mesh.numberofvertices,1); 199 199 nodeonmacayealstokes(md.elements(find(macayealstokesflag),:))=1; 200 200 elseif any(stokesflag) & any(hutterflag), … … 204 204 205 205 %Create vertices_type 206 md.flowequation.vertex_equation=zeros(md. numberofnodes,1);206 md.flowequation.vertex_equation=zeros(md.mesh.numberofvertices,1); 207 207 pos=find(nodeonhutter); 208 208 md.flowequation.vertex_equation(pos)=1; -
issm/trunk/src/m/model/setmask.m
r9641 r9725 35 35 36 36 %the order here is important. we choose vertexongroundedice as default on the grounding line. 37 vertexonfloatingice=zeros(md. numberofnodes,1);38 vertexongroundedice=zeros(md. numberofnodes,1);37 vertexonfloatingice=zeros(md.mesh.numberofvertices,1); 38 vertexongroundedice=zeros(md.mesh.numberofvertices,1); 39 39 vertexongroundedice(md.elements(find(elementongroundedice),:))=1; 40 40 vertexonfloatingice(find(~vertexongroundedice))=1; … … 46 46 md.mask.elementongroundedice=elementongroundedice; 47 47 md.mask.vertexongroundedice=vertexongroundedice; 48 md.mask.vertexonwater=zeros(md. numberofnodes,1);49 md.mask.elementonwater=zeros(md. numberofelements,1);48 md.mask.vertexonwater=zeros(md.mesh.numberofvertices,1); 49 md.mask.elementonwater=zeros(md.mesh.numberofelements,1); -
issm/trunk/src/m/model/setmask2.m
r9714 r9725 17 17 [vertexonland,elementonland]=ContourToMesh(elements,x,y,landname,'element and node',2); 18 18 elseif isfloat(landname), 19 if size(landname,1)~=md. numberofelements,19 if size(landname,1)~=md.mesh.numberofelements, 20 20 error('Landname for area must be of same size as number of elements in model'); 21 21 end 22 22 elementonland=landname; 23 vertexonland=zeros(md. numberofnodes,1);23 vertexonland=zeros(md.mesh.numberofvertices,1); 24 24 vertexonland(md.elements(find(elementonland),:))=1; 25 25 else … … 28 28 29 29 %Now, build the connectivity tables for this mesh. 30 if size(md.nodeconnectivity,1)~=md. numberofnodes,31 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);30 if size(md.nodeconnectivity,1)~=md.mesh.numberofvertices, 31 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 32 32 end 33 if size(md.elementconnectivity,1)~=md. numberofelements,33 if size(md.elementconnectivity,1)~=md.mesh.numberofelements, 34 34 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 35 35 end … … 75 75 %Because groundedice nodes and elements can be included into an floatingice, we need to update. Remember, all the previous 76 76 %arrays come from domain outlines that can intersect one another: 77 vertexonfloatingice=zeros(md. numberofnodes,1);78 vertexongroundedice=zeros(md. numberofnodes,1);77 vertexonfloatingice=zeros(md.mesh.numberofvertices,1); 78 vertexongroundedice=zeros(md.mesh.numberofvertices,1); 79 79 elementonfloatingice=double((elementonfloatingice & ~elementongroundedice)); 80 80 elementongroundedice=double(~elementonfloatingice); -
issm/trunk/src/m/model/slope.m
r9719 r9725 7 7 %load some variables (it is much faster if the variab;es are loaded from md once for all) 8 8 if (md.mesh.dimension==2), 9 numberofelements=md. numberofelements;10 numberofnodes=md. numberofnodes;9 numberofelements=md.mesh.numberofelements; 10 numberofnodes=md.mesh.numberofvertices; 11 11 index=md.elements; 12 12 x=md.x; y=md.y; 13 13 else 14 numberofelements=md. numberofelements2d;15 numberofnodes=md. numberofnodes2d;14 numberofelements=md.mesh.numberofelements2d; 15 numberofnodes=md.mesh.numberofvertices2d; 16 16 index=md.elements2d; 17 17 x=md.x2d; y=md.y2d; -
issm/trunk/src/m/model/solve.m
r9650 r9725 15 15 % - BedSlopeSolutionEnum 16 16 % - SurfaceSlopeSolutionEnum 17 % - GroundinglineMigration2 DSolutionEnum17 % - GroundinglineMigration2dSolutionEnum 18 18 % - HydrologySolutionEnum 19 19 % - FlaimSolutionEnum -
issm/trunk/src/m/model/thicknessevolution.m
r9691 r9725 9 9 % dhdt=thicknessevolution(md) 10 10 11 if (length(md.initialization.vx)~=md. numberofnodes)|(length(md.initialization.vy)~=md.numberofnodes)12 error(['thicknessevolution error message: vx and vy should have a length of ' num2str(md. numberofnodes)])11 if (length(md.initialization.vx)~=md.mesh.numberofvertices)|(length(md.initialization.vy)~=md.mesh.numberofvertices) 12 error(['thicknessevolution error message: vx and vy should have a length of ' num2str(md.mesh.numberofvertices)]) 13 13 end 14 14 -
issm/trunk/src/m/model/tres.m
r9719 r9725 26 26 md.initialization.vz=PatchToVec(md.results.DiagnosticSolution.Vz); 27 27 else 28 md.initialization.vz=zeros(md. numberofnodes,1);28 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 29 29 end 30 30 end -
issm/trunk/src/m/planet/planetmixedmesh.m
r9719 r9725 94 94 md.phi=atan2(y,x); 95 95 96 md. numberofnodes=length(md.x);97 md. numberofelements=size(md.elements,1);96 md.mesh.numberofvertices=length(md.x); 97 md.mesh.numberofelements=size(md.elements,1); 98 98 99 99 md.mesh.dimension=3; -
issm/trunk/src/m/planet/planettrimesh.m
r9719 r9725 15 15 md.phi=atan2(md.y,md.x); 16 16 17 md. numberofnodes=length(md.x);18 md. numberofelements=size(md.elements,1);17 md.mesh.numberofvertices=length(md.x); 18 md.mesh.numberofelements=size(md.elements,1); 19 19 20 20 md.mesh.dimension=3; -
issm/trunk/src/m/qmu/importancefactors.m
r9650 r9725 51 51 52 52 %weight importancefactors by area 53 %if numel(factors)==md. numberofnodes,53 %if numel(factors)==md.mesh.numberofvertices, 54 54 % %get areas for each vertex. 55 55 % aire=GetAreas(md.elements,md.x,md.y); 56 56 % num_elements_by_node=md.nodeconnectivity(:,end); 57 % grid_aire=zeros(md. numberofnodes,1);58 % for i=1:md. numberofnodes,57 % grid_aire=zeros(md.mesh.numberofvertices,1); 58 % for i=1:md.mesh.numberofvertices, 59 59 % for j=1:num_elements_by_node(i), 60 60 % grid_aire(i)=grid_aire(i)+aire(md.nodeconnectivity(i,j)); -
issm/trunk/src/m/solutions/AnalysisConfiguration.m
r9571 r9725 49 49 analyses=[FlaimAnalysisEnum]; 50 50 51 case GroundinglineMigration2 DSolutionEnum,51 case GroundinglineMigration2dSolutionEnum, 52 52 numanalyses=0; 53 53 analyses=[]; -
issm/trunk/src/m/solutions/CorePointerFromSolutionEnum.m
r9594 r9725 17 17 case TransientSolutionEnum, solutioncore='transient_core'; 18 18 case FlaimSolutionEnum, solutioncore='flaim_core'; 19 case GroundinglineMigration2 DSolutionEnum, solutioncore='DUMMYDUMMY'; %not working in serial mode19 case GroundinglineMigration2dSolutionEnum, solutioncore='DUMMYDUMMY'; %not working in serial mode 20 20 case HydrologySolutionEnum, solutioncore='DUMMYDUMMY'; %not working in serial mode 21 21 otherwise error('%s%s%s',' solution type: ',EnumToString(solutiontype),' not supported yet!'); -
issm/trunk/src/m/solutions/adjointdiagnostic_core.m
r9681 r9725 7 7 %recover parameters common to all solutions 8 8 isstokes=femmodel.parameters.FlowequationIsstokes; 9 dim=femmodel.parameters. Dim;9 dim=femmodel.parameters.MeshDimension; 10 10 control_analysis=femmodel.parameters.InversionIscontrol; 11 11 solution_type=femmodel.parameters.SolutionType; -
issm/trunk/src/m/solutions/balancethickness_core.m
r9681 r9725 6 6 7 7 %recover parameters common to all solutions 8 dim=femmodel.parameters. Dim;8 dim=femmodel.parameters.MeshDimension; 9 9 control_analysis=femmodel.parameters.InversionIscontrol; 10 10 solution_type=femmodel.parameters.SolutionType; -
issm/trunk/src/m/solutions/bedslope_core.m
r9681 r9725 7 7 8 8 %Recover some parameters: 9 dim=femmodel.parameters. Dim;9 dim=femmodel.parameters.MeshDimension; 10 10 control_analysis=femmodel.parameters.InversionIscontrol; 11 11 solution_type=femmodel.parameters.SolutionType; -
issm/trunk/src/m/solutions/control_core.m
r9681 r9725 17 17 eps_cm=femmodel.parameters.InversionCostFunctionThreshold; 18 18 gradient_only=femmodel.parameters.InversionGradientOnly; 19 dim=femmodel.parameters. Dim;19 dim=femmodel.parameters.MeshDimension; 20 20 isstokes=femmodel.parameters.FlowequationIsstokes; 21 21 -
issm/trunk/src/m/solutions/diagnostic_core.m
r9681 r9725 11 11 12 12 %recover parameters common to all solutions 13 dim=femmodel.parameters. Dim;13 dim=femmodel.parameters.MeshDimension; 14 14 ishutter=femmodel.parameters.FlowequationIshutter; 15 15 ismacayealpattyn=femmodel.parameters.FlowequationIsmacayealpattyn; -
issm/trunk/src/m/solutions/steadystate_core.m
r9681 r9725 7 7 8 8 %recover parameters common to all solutions 9 dim=femmodel.parameters. Dim;9 dim=femmodel.parameters.MeshDimension; 10 10 control_analysis=femmodel.parameters.InversionIscontrol; 11 11 solution_type=femmodel.parameters.SolutionType; -
issm/trunk/src/m/solutions/surfaceslope_core.m
r9681 r9725 7 7 8 8 %Recover some parameters: 9 dim=femmodel.parameters. Dim;9 dim=femmodel.parameters.MeshDimension; 10 10 control_analysis=femmodel.parameters.InversionIscontrol; 11 11 solution_type=femmodel.parameters.SolutionType; -
issm/trunk/src/m/solutions/transient_core.m
r9702 r9725 6 6 7 7 %recover parameters common to all solutions 8 dim=femmodel.parameters. Dim;8 dim=femmodel.parameters.MeshDimension; 9 9 ndt=femmodel.parameters.TimesteppingFinalTime; 10 10 dt=femmodel.parameters.TimesteppingTimeStep; -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r9719 r9725 9 9 %node on Dirichlet 10 10 pos=find(md.mesh.vertexonboundary); 11 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);12 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);13 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);11 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 12 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 13 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 14 14 md.diagnostic.spcvx(pos)=0; 15 15 md.diagnostic.spcvy(pos)=0; 16 16 md.diagnostic.spcvz(pos)=0; 17 md.diagnostic.referential=NaN*ones(md. numberofnodes,6);17 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 18 18 19 19 %Dirichlet Values 20 if (length(md.inversion.vx_obs)==md. numberofnodes & length(md.inversion.vy_obs)==md.numberofnodes)20 if (length(md.inversion.vx_obs)==md.mesh.numberofvertices & length(md.inversion.vy_obs)==md.mesh.numberofvertices) 21 21 disp(' boundary conditions for diagnostic model: spc set as observed velocities'); 22 22 md.diagnostic.spcvx(pos)=md.inversion.vx_obs(pos); … … 35 35 %Create zeros basal melting rate and surface mass balance if not specified 36 36 if isnan(md.surfaceforcings.accumulation_rate), 37 md.surfaceforcings.accumulation_rate=zeros(md. numberofnodes,1);37 md.surfaceforcings.accumulation_rate=zeros(md.mesh.numberofvertices,1); 38 38 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 39 39 end 40 40 if isnan(md.surfaceforcings.ablation_rate), 41 md.surfaceforcings.ablation_rate=zeros(md. numberofnodes,1);41 md.surfaceforcings.ablation_rate=zeros(md.mesh.numberofvertices,1); 42 42 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 43 43 end 44 44 if isnan(md.surfaceforcings.mass_balance), 45 md.surfaceforcings.mass_balance=zeros(md. numberofnodes,1);45 md.surfaceforcings.mass_balance=zeros(md.mesh.numberofvertices,1); 46 46 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 47 47 end 48 48 if isnan(md.basalforcings.melting_rate), 49 md.basalforcings.melting_rate=zeros(md. numberofnodes,1);49 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 50 50 disp(' no basalforcings.melting_rate specified: values set as zero'); 51 51 end 52 52 if isnan(md.balancethickness.thickening_rate), 53 md.balancethickness.thickening_rate=zeros(md. numberofnodes,1);53 md.balancethickness.thickening_rate=zeros(md.mesh.numberofvertices,1); 54 54 disp(' no balancethickness.thickening_rate specified: values set as zero'); 55 55 end 56 56 57 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);58 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);57 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 58 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 59 59 60 if (length(md.initialization.temperature)==md. numberofnodes),61 md.thermal.spctemperature=NaN*ones(md. numberofnodes,1);60 if (length(md.initialization.temperature)==md.mesh.numberofvertices), 61 md.thermal.spctemperature=NaN*ones(md.mesh.numberofvertices,1); 62 62 pos=find(md.nodeonsurface); md.thermal.spctemperature(pos)=md.initialization.temperature(pos); %impose observed temperature on surface 63 if (length(md.basalforcings.geothermalflux)~=md. numberofnodes),64 md.basalforcings.geothermalflux=50*10^-3*ones(md. numberofnodes,1); %50 mW/m^263 if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices), 64 md.basalforcings.geothermalflux=50*10^-3*ones(md.mesh.numberofvertices,1); %50 mW/m^2 65 65 end 66 66 else -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r9719 r9725 22 22 nodeonicefront=double(md.mesh.vertexonboundary & nodeinsideicefront); 23 23 elseif nargin==1, 24 nodeonicefront=zeros(md. numberofnodes,1);24 nodeonicefront=zeros(md.mesh.numberofvertices,1); 25 25 else 26 26 help SetIceShelfBC … … 28 28 end 29 29 pos=find(md.mesh.vertexonboundary & ~nodeonicefront); 30 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);31 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);32 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);30 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 31 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 32 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 33 33 md.diagnostic.spcvx(pos)=0; 34 34 md.diagnostic.spcvy(pos)=0; 35 35 md.diagnostic.spcvz(pos)=0; 36 md.diagnostic.referential=NaN*ones(md. numberofnodes,6);36 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 37 37 38 38 %Dirichlet Values 39 if (length(md.inversion.vx_obs)==md. numberofnodes & length(md.inversion.vy_obs)==md.numberofnodes)39 if (length(md.inversion.vx_obs)==md.mesh.numberofvertices & length(md.inversion.vy_obs)==md.mesh.numberofvertices) 40 40 disp(' boundary conditions for diagnostic model: spc set as observed velocities'); 41 41 md.diagnostic.spcvx(pos)=md.inversion.vx_obs(pos); … … 51 51 pressureload=md.mesh.segments(pos,:); 52 52 elseif md.mesh.dimension==3 53 pressureload_layer1=[md.mesh.segments(pos,1:2) md.mesh.segments(pos,2)+md. numberofnodes2d md.mesh.segments(pos,1)+md.numberofnodes2d md.mesh.segments(pos,3)];53 pressureload_layer1=[md.mesh.segments(pos,1:2) md.mesh.segments(pos,2)+md.mesh.numberofvertices2d md.mesh.segments(pos,1)+md.mesh.numberofvertices2d md.mesh.segments(pos,3)]; 54 54 pressureload=[]; 55 for i=1:md. numlayers-1,56 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md. numberofnodes2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];55 for i=1:md.mesh.numberoflayers-1, 56 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.mesh.numberofvertices2d pressureload_layer1(:,5)+(i-1)*md.mesh.numberofelements2d ]; 57 57 end 58 58 end … … 67 67 % and surfaceforcings.mass_balance if not specified 68 68 if isnan(md.surfaceforcings.accumulation_rate), 69 md.surfaceforcings.accumulation_rate=zeros(md. numberofnodes,1);69 md.surfaceforcings.accumulation_rate=zeros(md.mesh.numberofvertices,1); 70 70 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 71 71 end 72 72 if isnan(md.surfaceforcings.ablation_rate), 73 md.surfaceforcings.ablation_rate=zeros(md. numberofnodes,1);73 md.surfaceforcings.ablation_rate=zeros(md.mesh.numberofvertices,1); 74 74 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 75 75 end 76 76 if isnan(md.surfaceforcings.mass_balance), 77 md.surfaceforcings.mass_balance=zeros(md. numberofnodes,1);77 md.surfaceforcings.mass_balance=zeros(md.mesh.numberofvertices,1); 78 78 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 79 79 end 80 80 if isnan(md.basalforcings.melting_rate), 81 md.basalforcings.melting_rate=zeros(md. numberofnodes,1);81 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 82 82 disp(' no basalforcings.melting_rate specified: values set as zero'); 83 83 end 84 84 if isnan(md.balancethickness.thickening_rate), 85 md.balancethickness.thickening_rate=zeros(md. numberofnodes,1);85 md.balancethickness.thickening_rate=zeros(md.mesh.numberofvertices,1); 86 86 disp(' no balancethickness.thickening_rate specified: values set as zero'); 87 87 end 88 88 89 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);90 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);89 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 90 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 91 91 92 if (length(md.initialization.temperature)==md. numberofnodes),93 md.thermal.spctemperature=NaN*ones(md. numberofnodes,1);92 if (length(md.initialization.temperature)==md.mesh.numberofvertices), 93 md.thermal.spctemperature=NaN*ones(md.mesh.numberofvertices,1); 94 94 pos=find(md.nodeonsurface); md.thermal.spctemperature(pos)=md.initialization.temperature(pos); %impose observed temperature on surface 95 if (length(md.basalforcings.geothermalflux)~=md. numberofnodes),96 md.basalforcings.geothermalflux=zeros(md. numberofnodes,1);95 if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices), 96 md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1); 97 97 end 98 98 else -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r9719 r9725 27 27 else 28 28 %Guess where the ice front is 29 vertexonfloatingice=zeros(md. numberofnodes,1);29 vertexonfloatingice=zeros(md.mesh.numberofvertices,1); 30 30 vertexonfloatingice(md.elements(find(md.mask.elementonfloatingice),:))=1; 31 31 vertexonicefront=double(md.mesh.vertexonboundary & vertexonfloatingice); … … 35 35 warning('SetMarineIceSheetBC warning: ice front all around the glacier, no dirichlet found. Dirichlet must be added manually') 36 36 end 37 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);38 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);39 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);37 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 38 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 39 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 40 40 md.diagnostic.spcvx(pos)=0; 41 41 md.diagnostic.spcvy(pos)=0; 42 42 md.diagnostic.spcvz(pos)=0; 43 md.diagnostic.referential=NaN*ones(md. numberofnodes,6);43 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 44 44 45 45 %Dirichlet Values 46 if (length(md.inversion.vx_obs)==md. numberofnodes & length(md.inversion.vy_obs)==md.numberofnodes)46 if (length(md.inversion.vx_obs)==md.mesh.numberofvertices & length(md.inversion.vy_obs)==md.mesh.numberofvertices) 47 47 disp(' boundary conditions for diagnostic model: spc set as observed velocities'); 48 48 md.diagnostic.spcvx(pos)=md.inversion.vx_obs(pos); … … 52 52 end 53 53 54 md.hydrology.spcwatercolumn=zeros(md. numberofnodes,2);54 md.hydrology.spcwatercolumn=zeros(md.mesh.numberofvertices,2); 55 55 pos=find(md.mesh.vertexonboundary); 56 56 md.hydrology.spcwatercolumn(pos,1)=1; … … 61 61 pressureload=md.mesh.segments(pos,:); 62 62 elseif md.mesh.dimension==3 63 pressureload_layer1=[md.mesh.segments(pos,1:2) md.mesh.segments(pos,2)+md. numberofnodes2d md.mesh.segments(pos,1)+md.numberofnodes2d md.mesh.segments(pos,3)];63 pressureload_layer1=[md.mesh.segments(pos,1:2) md.mesh.segments(pos,2)+md.mesh.numberofvertices2d md.mesh.segments(pos,1)+md.mesh.numberofvertices2d md.mesh.segments(pos,3)]; 64 64 pressureload=[]; 65 for i=1:md. numlayers-1,66 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md. numberofnodes2d pressureload_layer1(:,5)+(i-1)*md.numberofelements2d ];65 for i=1:md.mesh.numberoflayers-1, 66 pressureload=[pressureload ;pressureload_layer1(:,1:4)+(i-1)*md.mesh.numberofvertices2d pressureload_layer1(:,5)+(i-1)*md.mesh.numberofelements2d ]; 67 67 end 68 68 end … … 78 78 % and surfaceforcings.mass_balance if not specified 79 79 if isnan(md.surfaceforcings.accumulation_rate), 80 md.surfaceforcings.accumulation_rate=zeros(md. numberofnodes,1);80 md.surfaceforcings.accumulation_rate=zeros(md.mesh.numberofvertices,1); 81 81 disp(' no surfaceforcings.accumulation_rate specified: values set as zero'); 82 82 end 83 83 if isnan(md.surfaceforcings.ablation_rate), 84 md.surfaceforcings.ablation_rate=zeros(md. numberofnodes,1);84 md.surfaceforcings.ablation_rate=zeros(md.mesh.numberofvertices,1); 85 85 disp(' no surfaceforcings.ablation_rate specified: values set as zero'); 86 86 end 87 87 if isnan(md.surfaceforcings.mass_balance), 88 md.surfaceforcings.mass_balance=zeros(md. numberofnodes,1);88 md.surfaceforcings.mass_balance=zeros(md.mesh.numberofvertices,1); 89 89 disp(' no surfaceforcings.mass_balance specified: values set as zero'); 90 90 end 91 91 if isnan(md.basalforcings.melting_rate), 92 md.basalforcings.melting_rate=zeros(md. numberofnodes,1);92 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 93 93 disp(' no basalforcings.melting_rate specified: values set as zero'); 94 94 end 95 95 if isnan(md.balancethickness.thickening_rate), 96 md.balancethickness.thickening_rate=zeros(md. numberofnodes,1);96 md.balancethickness.thickening_rate=zeros(md.mesh.numberofvertices,1); 97 97 disp(' no balancethickness.thickening_rate specified: values set as zero'); 98 98 end 99 99 100 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);101 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);100 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 101 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 102 102 103 if (length(md.initialization.temperature)==md. numberofnodes),104 md.thermal.spctemperature=NaN*ones(md. numberofnodes,1);103 if (length(md.initialization.temperature)==md.mesh.numberofvertices), 104 md.thermal.spctemperature=NaN*ones(md.mesh.numberofvertices,1); 105 105 pos=find(md.nodeonsurface); md.thermal.spctemperature(pos)=md.initialization.temperature(pos); %impose observed temperature on surface 106 if (length(md.basalforcings.geothermalflux)~=md. numberofnodes),107 md.basalforcings.geothermalflux=zeros(md. numberofnodes,1);106 if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices), 107 md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1); 108 108 md.basalforcings.geothermalflux(find(md.mask.vertexongroundedice))=50*10^-3; %50mW/m2 109 109 end -
issm/trunk/src/m/utils/Geometry/FlagElements.m
r9641 r9725 16 16 if ischar(region), 17 17 if isempty(region), 18 flag=zeros(md. numberofelements,1);18 flag=zeros(md.mesh.numberofelements,1); 19 19 invert=0; 20 20 elseif strcmpi(region,'all') 21 flag=ones(md. numberofelements,1);21 flag=ones(md.mesh.numberofelements,1); 22 22 invert=0; 23 23 else … … 44 44 end 45 45 elseif isfloat(region) | islogical(region), 46 if size(region,1)~=md. numberofelements,46 if size(region,1)~=md.mesh.numberofelements, 47 47 help FlagElements 48 48 error('Flaglist for region must be of same size as number of elements in model'); -
issm/trunk/src/m/utils/Mesh/BamgCall.m
r9681 r9725 25 25 %Compute metric 26 26 t1=clock; fprintf('%s',' computing metric...'); 27 if length(md.nodeonwater)==md. numberofnodes,27 if length(md.nodeonwater)==md.mesh.numberofvertices, 28 28 pos=find(md.nodeonwater); 29 29 else … … 36 36 t1=clock; fprintf('%s',' writing initial mesh files...'); 37 37 fid=fopen('carre0.met','w'); 38 fprintf(fid,'%i %i\n',md. numberofnodes,3);38 fprintf(fid,'%i %i\n',md.mesh.numberofvertices,3); 39 39 fprintf(fid,'%i %i %i\n',metric'); 40 40 fclose(fid); … … 49 49 50 50 %Vertices 51 fprintf(fid,'\n%s\n%i\n\n','Vertices',md. numberofnodes);52 fprintf(fid,'%8g %8g %i\n',[md.x md.y ones(md. numberofnodes,1)]');51 fprintf(fid,'\n%s\n%i\n\n','Vertices',md.mesh.numberofvertices); 52 fprintf(fid,'%8g %8g %i\n',[md.x md.y ones(md.mesh.numberofvertices,1)]'); 53 53 54 54 %Triangles 55 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md. numberofelements);56 fprintf(fid,'%i %i %i %i\n',[md.elements ones(md. numberofelements,1)]');57 numberofelements1=md. numberofelements;55 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md.mesh.numberofelements); 56 fprintf(fid,'%i %i %i %i\n',[md.elements ones(md.mesh.numberofelements,1)]'); 57 numberofelements1=md.mesh.numberofelements; 58 58 59 59 %close … … 72 72 md.z=zeros(A.nods,1); 73 73 md.elements=A.index; 74 md. numberofnodes=A.nods;75 md. numberofelements=A.nels;76 numberofelements2=md. numberofelements;74 md.mesh.numberofvertices=A.nods; 75 md.mesh.numberofelements=A.nels; 76 numberofelements2=md.mesh.numberofelements; 77 77 t2=clock;fprintf('%s\n\n',[' done (' num2str(etime(t2,t1)) ' seconds)']); 78 78 -
issm/trunk/src/m/utils/Mesh/BamgCallFromMetric.m
r8298 r9725 17 17 t1=clock; fprintf('%s',' writing initial mesh files...'); 18 18 fid=fopen('carre0.met','w'); 19 fprintf(fid,'%i %i\n',md. numberofnodes,3);19 fprintf(fid,'%i %i\n',md.mesh.numberofvertices,3); 20 20 fprintf(fid,'%i %i %i\n',metric'); 21 21 fclose(fid); … … 30 30 31 31 %Vertices 32 fprintf(fid,'\n%s\n%i\n\n','Vertices',md. numberofnodes);33 fprintf(fid,'%8g %8g %i\n',[md.x md.y ones(md. numberofnodes,1)]');32 fprintf(fid,'\n%s\n%i\n\n','Vertices',md.mesh.numberofvertices); 33 fprintf(fid,'%8g %8g %i\n',[md.x md.y ones(md.mesh.numberofvertices,1)]'); 34 34 35 35 %Triangles 36 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md. numberofelements);37 fprintf(fid,'%i %i %i %i\n',[md.elements ones(md. numberofelements,1)]');38 numberofelements1=md. numberofelements;36 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md.mesh.numberofelements); 37 fprintf(fid,'%i %i %i %i\n',[md.elements ones(md.mesh.numberofelements,1)]'); 38 numberofelements1=md.mesh.numberofelements; 39 39 40 40 %close … … 53 53 md.z=zeros(A.nods,1); 54 54 md.elements=A.index; 55 md. numberofnodes=A.nods;56 md. numberofelements=A.nels;57 numberofelements2=md. numberofelements;55 md.mesh.numberofvertices=A.nods; 56 md.mesh.numberofelements=A.nels; 57 numberofelements2=md.mesh.numberofelements; 58 58 t2=clock;fprintf('%s\n\n',[' done (' num2str(etime(t2,t1)) ' seconds)']); 59 59 -
issm/trunk/src/m/utils/Mesh/MeshQuality.m
r9681 r9725 17 17 18 18 %Compute metric 19 if length(md.nodeonwater)==md. numberofnodes,19 if length(md.nodeonwater)==md.mesh.numberofvertices, 20 20 pos=find(md.nodeonwater); 21 21 else … … 60 60 lambda1=min(max(abs(lambda1)*scale/epsilon,1/hmax^2),1/hmin^2); 61 61 lambda2=min(max(abs(lambda2)*scale/epsilon,1/hmax^2),1/hmin^2); 62 if length(md.nodeonwater)==md. numberofnodes;62 if length(md.nodeonwater)==md.mesh.numberofvertices; 63 63 pos=find(md.nodeonwater); 64 64 lambda1(pos)=0; -
issm/trunk/src/m/utils/Mesh/YamsCall.m
r9681 r9725 25 25 %Compute metric 26 26 t1=clock; fprintf('%s',' computing metric...'); 27 if length(md.nodeonwater)==md. numberofnodes,27 if length(md.nodeonwater)==md.mesh.numberofvertices, 28 28 pos=find(md.nodeonwater); 29 29 else … … 46 46 47 47 %Vertices 48 fprintf(fid,'\n%s\n%i\n\n','Vertices',md. numberofnodes);49 fprintf(fid,'%8g %8g %i\n',[md.x md.y zeros(md. numberofnodes,1)]');48 fprintf(fid,'\n%s\n%i\n\n','Vertices',md.mesh.numberofvertices); 49 fprintf(fid,'%8g %8g %i\n',[md.x md.y zeros(md.mesh.numberofvertices,1)]'); 50 50 51 51 %Triangles 52 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md. numberofelements);53 fprintf(fid,'%i %i %i %i\n',[md.elements zeros(md. numberofelements,1)]');54 numberofelements1=md. numberofelements;52 fprintf(fid,'\n\n%s\n%i\n\n','Triangles',md.mesh.numberofelements); 53 fprintf(fid,'%i %i %i %i\n',[md.elements zeros(md.mesh.numberofelements,1)]'); 54 numberofelements1=md.mesh.numberofelements; 55 55 56 56 %Deal with rifts … … 92 92 md.z=zeros(size(Coor,1),1); 93 93 md.elements=Tria; 94 md. numberofnodes=size(Coor,1);95 md. numberofelements=size(Tria,1);96 numberofelements2=md. numberofelements;94 md.mesh.numberofvertices=size(Coor,1); 95 md.mesh.numberofelements=size(Tria,1); 96 numberofelements2=md.mesh.numberofelements; 97 97 t2=clock;fprintf('%s\n\n',[' done (' num2str(etime(t2,t1)) ' seconds)']); 98 98 -
issm/trunk/src/m/utils/Mesh/argusmesh.m
r9719 r9725 81 81 md.y=y; 82 82 md.z=z; 83 md. numberofnodes=size(md.x,1);84 md. numberofelements=size(md.elements,1);85 md.nodeonbed=ones(md. numberofnodes,1);86 md.nodeonsurface=ones(md. numberofnodes,1);87 md.elementonbed=ones(md. numberofelements,1);88 md.elementonsurface=ones(md. numberofelements,1);83 md.mesh.numberofvertices=size(md.x,1); 84 md.mesh.numberofelements=size(md.elements,1); 85 md.nodeonbed=ones(md.mesh.numberofvertices,1); 86 md.nodeonsurface=ones(md.mesh.numberofvertices,1); 87 md.elementonbed=ones(md.mesh.numberofelements,1); 88 md.elementonsurface=ones(md.mesh.numberofelements,1); 89 89 md.mesh.dimension=2; 90 90 md=addnote(md,notes); … … 92 92 %Add segments and nodes on boundary 93 93 md.mesh.segments=findsegments(md); 94 md.mesh.vertexonboundary=zeros(md. numberofnodes,1);94 md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices,1); 95 95 md.mesh.vertexonboundary(md.mesh.segments(:,1))=1; 96 96 md.mesh.vertexonboundary(md.mesh.segments(:,2))=1; -
issm/trunk/src/m/utils/Mesh/squaremesh.m
r9719 r9725 59 59 md.y=y; 60 60 md.z=zeros(nods,1); 61 md. numberofnodes=nods;61 md.mesh.numberofvertices=nods; 62 62 md.mesh.vertexonboundary=zeros(nods,1);md.mesh.vertexonboundary(segments(:,1:2))=1; 63 63 md.nodeonbed=ones(nods,1); … … 67 67 md.elements=index; 68 68 md.mesh.segments=segments; 69 md. numberofelements=nel;69 md.mesh.numberofelements=nel; 70 70 md.elementonbed=ones(nel,1); 71 71 md.elementonsurface=ones(nel,1); 72 72 73 73 %Now, build the connectivity tables for this mesh. 74 md.nodeconnectivity=NodeConnectivity(md.elements,md. numberofnodes);74 md.nodeconnectivity=NodeConnectivity(md.elements,md.mesh.numberofvertices); 75 75 md.elementconnectivity=ElementConnectivity(md.elements,md.nodeconnectivity); 76 76 -
issm/trunk/src/m/utils/Numerics/cfl_step.m
r8298 r9725 11 11 12 12 %Check length of velocities 13 if size(vx,1)~=md. numberofnodes & size(vy,1)~=md.numberofnodes,14 error('timestpes error message: size of velocity components must be the same as md. numberofnodes');13 if size(vx,1)~=md.mesh.numberofvertices & size(vy,1)~=md.mesh.numberofvertices, 14 error('timestpes error message: size of velocity components must be the same as md.mesh.numberofvertices'); 15 15 end 16 16 -
issm/trunk/template
r9714 r9725 6 6 z 7 7 elements 8 dim -> rename dimension9 numlayers -> rename numberoflayers10 numberofelements11 numberofnodes -> rename numberofvertices as well as nodeon...12 8 edges 13 9 … … 17 13 lowernodes 18 14 19 numberofelements2d20 numberofnodes2d21 15 elements2d 22 16 x2d -
issm/trunk/test/Miscellaneous/Bump/Bump.par
r9705 r9725 14 14 15 15 md.drag_type=2; %0 none 1 plastic 2 viscous 16 md.drag_coefficient=30*ones(md. numberofnodes,1); %q=1.16 md.drag_coefficient=30*ones(md.mesh.numberofvertices,1); %q=1. 17 17 %Take care of iceshelves: no basal drag 18 18 pos=find(md.mask.elementonfloatingice); 19 19 md.drag_coefficient(md.elements(pos,:))=0; 20 md.drag_p=ones(md. numberofelements,1);21 md.drag_q=ones(md. numberofelements,1);20 md.drag_p=ones(md.mesh.numberofelements,1); 21 md.drag_q=ones(md.mesh.numberofelements,1); 22 22 23 md.observed_temperature=(273-20)*ones(md. numberofnodes,1);23 md.observed_temperature=(273-20)*ones(md.mesh.numberofvertices,1); 24 24 25 25 md.materials.rheology_B=paterson(md.observed_temperature); 26 md.materials.rheology_n=3*ones(md. numberofelements,1);26 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 27 27 28 28 %Deal with boundary conditions: 29 29 md=SetIceSheetBC(md); 30 md.diagnostic.spcvx=zeros(md. numberofnodes,1);31 md.diagnostic.spcvy=200*ones(md. numberofnodes,1);30 md.diagnostic.spcvx=zeros(md.mesh.numberofvertices,1); 31 md.diagnostic.spcvy=200*ones(md.mesh.numberofvertices,1); 32 32 33 33 %Parallel options -
issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
r9702 r9725 11 11 12 12 %Materials 13 md.observed_temperature=(273-20)*ones(md. numberofnodes,1);13 md.observed_temperature=(273-20)*ones(md.mesh.numberofvertices,1); 14 14 md.materials.rheology_B=paterson(md.observed_temperature); 15 md.materials.rheology_n=3*ones(md. numberofelements,1);15 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 16 16 md.initialization.temperature=md.observed_temperature; 17 17 … … 19 19 pos=find(md.mask.elementonfloatingice); 20 20 md.drag_type=2; 21 md.drag_coefficient=20*ones(md. numberofnodes,1);21 md.drag_coefficient=20*ones(md.mesh.numberofvertices,1); 22 22 md.drag_coefficient(md.elements(pos,:))=0; 23 md.drag_p=ones(md. numberofelements,1);24 md.drag_q=ones(md. numberofelements,1);23 md.drag_p=ones(md.mesh.numberofelements,1); 24 md.drag_q=ones(md.mesh.numberofelements,1); 25 25 26 26 %Numerical parameters -
issm/trunk/test/Miscellaneous/connectivity/Square.par
r9702 r9725 16 16 17 17 md.drag_type=2; %0 none 1 plastic 2 viscous 18 md.drag_coefficient=200*ones(md. numberofnodes,1); %q=1.18 md.drag_coefficient=200*ones(md.mesh.numberofvertices,1); %q=1. 19 19 %Take care of iceshelves: no basal drag 20 20 pos=find(md.mask.elementonfloatingice); 21 21 md.drag_coefficient(md.elements(pos,:))=0; 22 md.drag_p=ones(md. numberofelements,1);23 md.drag_q=ones(md. numberofelements,1);22 md.drag_p=ones(md.mesh.numberofelements,1); 23 md.drag_q=ones(md.mesh.numberofelements,1); 24 24 md.viscosity_overshoot=0.3; 25 25 26 md.observed_temperature=(273-20)*ones(md. numberofnodes,1);26 md.observed_temperature=(273-20)*ones(md.mesh.numberofvertices,1); 27 27 28 28 md.materials.rheology_B=paterson(md.observed_temperature); 29 md.materials.rheology_n=3*ones(md. numberofelements,1);29 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 30 30 31 31 %Deal with boundary conditions: -
issm/trunk/test/Miscellaneous/connectivity/runme.m
r9705 r9725 60 60 61 61 end 62 numelements(i)=md. numberofelements;62 numelements(i)=md.mesh.numberofelements; 63 63 end 64 64 -
issm/trunk/test/NightlyRun/test1101.m
r9679 r9725 21 21 22 22 %Create dirichlet on the bed only 23 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);24 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);25 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);23 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 24 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 25 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 26 26 27 27 pos=find(md.nodeonbed); … … 47 47 vz=PatchToVec(md.results.DiagnosticSolution.Vz); 48 48 results{i}=md.results.DiagnosticSolution; 49 minvx(i)=min(vx(end-md. numberofnodes2d+1:end));50 maxvx(i)=max(vx(end-md. numberofnodes2d+1:end));49 minvx(i)=min(vx(end-md.mesh.numberofvertices2d+1:end)); 50 maxvx(i)=max(vx(end-md.mesh.numberofvertices2d+1:end)); 51 51 52 52 %Now plot vx, vy, vz and vx on a cross section 53 plotmodel(md,'data',vx,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')53 plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km') 54 54 if printingflag, 55 55 set(gcf,'Color','w') … … 57 57 system(['mv ismipapattynvx' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestA ']); 58 58 end 59 plotmodel(md,'data',vy,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')59 plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km') 60 60 if printingflag, 61 61 set(gcf,'Color','w') … … 63 63 system(['mv ismipapattynvy' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestA ']); 64 64 end 65 plotmodel(md,'data',vz,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')65 plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km') 66 66 if printingflag, 67 67 set(gcf,'Color','w') … … 71 71 72 72 if(L==5000), 73 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md. numlayers,...73 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md.mesh.numberoflayers,... 74 74 'resolution',[10 10],'ylim',[10 18],'xlim',[0 5000],'title','','xlabel','') 75 75 elseif(L==10000), 76 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md. numlayers,...76 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md.mesh.numberoflayers,... 77 77 'resolution',[10 10],'ylim',[10 30],'xlim',[0 10000],'title','','xlabel','') 78 78 elseif(L==20000), 79 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md. numlayers,...79 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md.mesh.numberoflayers,... 80 80 'resolution',[10 10],'ylim',[0 50],'xlim',[0 20000],'title','','xlabel','') 81 81 elseif(L==40000), 82 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md. numlayers,...82 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md.mesh.numberoflayers,... 83 83 'resolution',[10 10],'ylim',[0 80],'xlim',[0 40000],'title','','xlabel','') 84 84 elseif(L==80000), 85 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md. numlayers,...85 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md.mesh.numberoflayers,... 86 86 'resolution',[10 10],'ylim',[0 100],'xlim',[0 80000],'title','','xlabel','') 87 87 elseif(L==160000), 88 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md. numlayers,...88 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md.mesh.numberoflayers,... 89 89 'resolution',[10 10],'ylim',[0 120],'xlim',[0 160000],'title','','xlabel','') 90 90 end -
issm/trunk/test/NightlyRun/test1102.m
r9679 r9725 19 19 % posnodes=find((md.x==0 | md.x==max(md.x)) & (md.y==0 | md.y==max(md.y))); 20 20 % [a,b]=find(ismember(md.elements,posnodes)); 21 % elements=ones(md. numberofelements,1);21 % elements=ones(md.mesh.numberofelements,1); 22 22 % elements(a)=0; 23 23 % md=modelextract(md,elements); … … 57 57 pressure=PatchToVec(md.results.DiagnosticSolution.Pressure); 58 58 results{i}=md.results.DiagnosticSolution; 59 minvx(i)=min(vx(end-md. numberofnodes2d+1:end));60 maxvx(i)=max(vx(end-md. numberofnodes2d+1:end));59 minvx(i)=min(vx(end-md.mesh.numberofvertices2d+1:end)); 60 maxvx(i)=max(vx(end-md.mesh.numberofvertices2d+1:end)); 61 61 62 62 %Now plot vx, vy, vz and vx on a cross section 63 plotmodel(md,'data',vx,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)63 plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2) 64 64 if printingflag, 65 65 set(gcf,'Color','w') … … 67 67 system(['mv ismipastokesvx' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestA ']); 68 68 end 69 plotmodel(md,'data',vy,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)69 plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3) 70 70 if printingflag, 71 71 set(gcf,'Color','w') … … 73 73 system(['mv ismipastokesvy' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestA ']); 74 74 end 75 plotmodel(md,'data',vz,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4)75 plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4) 76 76 if printingflag, 77 77 set(gcf,'Color','w') … … 81 81 82 82 if(L==5000), 83 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md. numlayers,...83 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md.mesh.numberoflayers,... 84 84 'resolution',[10 10],'ylim',[10 18],'xlim',[0 5000],'title','','xlabel','') 85 85 elseif(L==10000), 86 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md. numlayers,...86 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md.mesh.numberoflayers,... 87 87 'resolution',[10 10],'ylim',[10 30],'xlim',[0 10000],'title','','xlabel','') 88 88 elseif(L==20000), 89 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md. numlayers,...89 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md.mesh.numberoflayers,... 90 90 'resolution',[10 10],'ylim',[0 50],'xlim',[0 20000],'title','','xlabel','') 91 91 elseif(L==40000), 92 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md. numlayers,...92 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md.mesh.numberoflayers,... 93 93 'resolution',[10 10],'ylim',[0 80],'xlim',[0 40000],'title','','xlabel','') 94 94 elseif(L==80000), 95 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md. numlayers,...95 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md.mesh.numberoflayers,... 96 96 'resolution',[10 10],'ylim',[0 100],'xlim',[0 80000],'title','','xlabel','') 97 97 elseif(L==160000), 98 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md. numlayers,...98 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md.mesh.numberoflayers,... 99 99 'resolution',[10 10],'ylim',[0 120],'xlim',[0 160000],'title','','xlabel','') 100 100 end -
issm/trunk/test/NightlyRun/test1103.m
r9679 r9725 19 19 20 20 %Create dirichlet on the bed only 21 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);22 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);23 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);21 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 22 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 23 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 24 24 pos=find(md.nodeonbed); 25 25 md.diagnostic.spcvx(pos)=0; … … 44 44 vz=PatchToVec(md.results.DiagnosticSolution.Vz); 45 45 results{i}=md.results.DiagnosticSolution; 46 minvx(i)=min(vx(end-md. numberofnodes2d+1:end));47 maxvx(i)=max(vx(end-md. numberofnodes2d+1:end));46 minvx(i)=min(vx(end-md.mesh.numberofvertices2d+1:end)); 47 maxvx(i)=max(vx(end-md.mesh.numberofvertices2d+1:end)); 48 48 49 49 %Now plot vx, vy, vz and vx on a cross section 50 plotmodel(md,'data',vx,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')50 plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km') 51 51 if printingflag, 52 52 set(gcf,'Color','w') … … 54 54 system(['mv ismipbpattynvx' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestB ']); 55 55 end 56 plotmodel(md,'data',vz,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km')56 plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km') 57 57 if printingflag, 58 58 set(gcf,'Color','w') … … 62 62 63 63 if(L==5000), 64 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md. numlayers,...64 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md.mesh.numberoflayers,... 65 65 'resolution',[10 10],'ylim',[6 16],'xlim',[0 5000],'title','','xlabel','') 66 66 elseif(L==10000), 67 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md. numlayers,...67 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md.mesh.numberoflayers,... 68 68 'resolution',[10 10],'ylim',[0 40],'xlim',[0 10000],'title','','xlabel','') 69 69 elseif(L==20000), 70 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md. numlayers,...70 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md.mesh.numberoflayers,... 71 71 'resolution',[10 10],'ylim',[0 60],'xlim',[0 20000],'title','','xlabel','') 72 72 elseif(L==40000), 73 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md. numlayers,...73 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md.mesh.numberoflayers,... 74 74 'resolution',[10 10],'ylim',[0 100],'xlim',[0 40000],'title','','xlabel','') 75 75 elseif(L==80000), 76 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md. numlayers,...76 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md.mesh.numberoflayers,... 77 77 'resolution',[10 10],'ylim',[0 120],'xlim',[0 80000],'title','','xlabel','') 78 78 elseif(L==160000), 79 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md. numlayers,...79 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md.mesh.numberoflayers,... 80 80 'resolution',[10 10],'ylim',[0 120],'xlim',[0 160000],'title','','xlabel','') 81 81 end -
issm/trunk/test/NightlyRun/test1104.m
r9679 r9725 18 18 19 19 %Create dirichlet on the bed only 20 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);21 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);22 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);20 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 21 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 22 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 23 23 24 24 pos=find(md.nodeonbed); … … 45 45 results{i}=md.results.DiagnosticSolution; 46 46 47 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md. numlayers)47 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers) 48 48 end 49 49 -
issm/trunk/test/NightlyRun/test1105.m
r9679 r9725 21 21 22 22 %Create MPCs to have periodic boundary conditions 23 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);24 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);25 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);23 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 24 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 25 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 26 26 27 27 posx=find(md.x==0 & md.y~=0 & md.y~=L); … … 70 70 vz=PatchToVec(md.results.DiagnosticSolution.Vz); 71 71 results{i}=md.results.DiagnosticSolution; 72 minvx(i)=min(vx(end-md. numberofnodes2d+1:end));73 maxvx(i)=max(vx(end-md. numberofnodes2d+1:end));72 minvx(i)=min(vx(end-md.mesh.numberofvertices2d+1:end)); 73 maxvx(i)=max(vx(end-md.mesh.numberofvertices2d+1:end)); 74 74 75 75 %Now plot vx, vy, vz and vx on a cross section 76 plotmodel(md,'data',vx,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)76 plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2) 77 77 if printingflag, 78 78 set(gcf,'Color','w') … … 80 80 system(['mv ismipcpattynvx' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestC ']); 81 81 end 82 plotmodel(md,'data',vy,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)82 plotmodel(md,'data',vy,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3) 83 83 if printingflag, 84 84 set(gcf,'Color','w') … … 86 86 system(['mv ismipcpattynvy' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestC ']); 87 87 end 88 plotmodel(md,'data',vz,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4)88 plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',4) 89 89 if printingflag, 90 90 set(gcf,'Color','w') … … 94 94 95 95 if(L==5000), 96 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md. numlayers,...96 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md.mesh.numberoflayers,... 97 97 'resolution',[10 10],'ylim',[0 20],'xlim',[0 5000],'title','','xlabel','','figure',5) 98 98 elseif(L==10000), 99 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md. numlayers,...99 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md.mesh.numberoflayers,... 100 100 'resolution',[10 10],'ylim',[13 18],'xlim',[0 10000],'title','','xlabel','') 101 101 elseif(L==20000), 102 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md. numlayers,...102 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md.mesh.numberoflayers,... 103 103 'resolution',[10 10],'ylim',[14 22],'xlim',[0 20000],'title','','xlabel','') 104 104 elseif(L==40000), 105 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md. numlayers,...105 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md.mesh.numberoflayers,... 106 106 'resolution',[10 10],'ylim',[10 40],'xlim',[0 40000],'title','','xlabel','') 107 107 elseif(L==80000), 108 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md. numlayers,...108 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md.mesh.numberoflayers,... 109 109 'resolution',[10 10],'ylim',[0 80],'xlim',[0 80000],'title','','xlabel','') 110 110 elseif(L==160000), 111 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md. numlayers,...111 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md.mesh.numberoflayers,... 112 112 'resolution',[10 10],'ylim',[0 200],'xlim',[0 160000],'title','','xlabel','') 113 113 end -
issm/trunk/test/NightlyRun/test1106.m
r9679 r9725 38 38 results{i}=md.results.DiagnosticSolution; 39 39 40 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md. numlayers)40 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers) 41 41 end 42 42 -
issm/trunk/test/NightlyRun/test1107.m
r9679 r9725 21 21 22 22 %We need one grd on dirichlet: the 4 corners are set to zero 23 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);24 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);25 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);23 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 24 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 25 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 26 26 27 27 %Create MPCs to have periodic boundary conditions … … 65 65 vz=PatchToVec(md.results.DiagnosticSolution.Vz); 66 66 results{i}=md.results.DiagnosticSolution; 67 minvx(i)=min(vx(end-md. numberofnodes2d+1:end));68 maxvx(i)=max(vx(end-md. numberofnodes2d+1:end));67 minvx(i)=min(vx(end-md.mesh.numberofvertices2d+1:end)); 68 maxvx(i)=max(vx(end-md.mesh.numberofvertices2d+1:end)); 69 69 70 70 %Now plot vx, vy, vz and vx on a cross section 71 plotmodel(md,'data',vx,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2)71 plotmodel(md,'data',vx,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',2) 72 72 if printingflag, 73 73 set(gcf,'Color','w') … … 75 75 system(['mv ismipdpattynvx' num2str(L) '.png ' ISSM_DIR '/website/doc_pdf/validation/Images/ISMIP/TestD ']); 76 76 end 77 plotmodel(md,'data',vz,'layer#all',md. numlayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3)77 plotmodel(md,'data',vz,'layer#all',md.mesh.numberoflayers,'xlim',[0 L/10^3],'ylim',[0 L/10^3],'unit','km','figure',3) 78 78 if printingflag, 79 79 set(gcf,'Color','w') … … 83 83 84 84 if(L==5000), 85 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md. numlayers,...85 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP5000.exp','layer',md.mesh.numberoflayers,... 86 86 'resolution',[10 10],'ylim',[0 20],'xlim',[0 5000],'title','','xlabel','','figure',4) 87 87 elseif(L==10000), 88 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md. numlayers,...88 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP10000.exp','layer',md.mesh.numberoflayers,... 89 89 'resolution',[10 10],'ylim',[0 20],'xlim',[0 10000],'title','','xlabel','','figure',4) 90 90 elseif(L==20000), 91 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md. numlayers,...91 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP20000.exp','layer',md.mesh.numberoflayers,... 92 92 'resolution',[10 10],'ylim',[0 30],'xlim',[0 20000],'title','','xlabel','','figure',4) 93 93 elseif(L==40000), 94 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md. numlayers,...94 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP40000.exp','layer',md.mesh.numberoflayers,... 95 95 'resolution',[10 10],'ylim',[10 60],'xlim',[0 40000],'title','','xlabel','','figure',4) 96 96 elseif(L==80000), 97 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md. numlayers,...97 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP80000.exp','layer',md.mesh.numberoflayers,... 98 98 'resolution',[10 10],'ylim',[0 200],'xlim',[0 80000],'title','','xlabel','','figure',4) 99 99 elseif(L==160000), 100 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md. numlayers,...100 plotmodel(md,'data',vx,'sectionvalue','../Exp/ISMIP160000.exp','layer',md.mesh.numberoflayers,... 101 101 'resolution',[10 10],'ylim',[0 400],'xlim',[0 160000],'title','','xlabel','','figure',4) 102 102 end -
issm/trunk/test/NightlyRun/test1108.m
r9679 r9725 18 18 19 19 %We need one grd on dirichlet: the 4 corners are set to zero 20 %md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);21 %md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);22 %md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);20 %md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 21 %md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 22 %md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 23 23 24 24 %pos=find((md.x==0 | md.x==max(md.x)) & (md.y==0 | md.y==max(md.y))); … … 46 46 results{i}=md.results.DiagnosticSolution; 47 47 48 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md. numlayers)48 plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.mesh.numberoflayers) 49 49 end 50 50 -
issm/trunk/test/NightlyRun/test1109.m
r9679 r9725 32 32 %Create spcs on the bed 33 33 pos=find(md.nodeonbed); 34 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);35 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);36 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);34 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 35 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 36 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 37 37 md.diagnostic.spcvx(pos)=0; 38 38 md.diagnostic.spcvy(pos)=0; … … 57 57 58 58 if i==1, 59 plotmodel(md,'data',vy,'ylim',[-10 80],'layer',md. numlayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','')59 plotmodel(md,'data',vy,'ylim',[-10 80],'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','') 60 60 if printingflag, 61 61 set(gcf,'Color','w') … … 64 64 end 65 65 elseif i==2, 66 plotmodel(md,'data',vy,'ylim',[-10 80],'layer',md. numlayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','')66 plotmodel(md,'data',vy,'ylim',[-10 80],'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','') 67 67 if printingflag, 68 68 set(gcf,'Color','w') … … 71 71 end 72 72 elseif i==3, 73 plotmodel(md,'data',vy,'ylim',[-50 200],'layer',md. numlayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','')73 plotmodel(md,'data',vy,'ylim',[-50 200],'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','') 74 74 if printingflag, 75 75 set(gcf,'Color','w') … … 78 78 end 79 79 elseif i==4, 80 plotmodel(md,'data',vy,'ylim',[-50 200],'layer',md. numlayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','')80 plotmodel(md,'data',vy,'ylim',[-50 200],'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIPE.exp','resolution',[10 10],'title','','xlabel','') 81 81 if printingflag, 82 82 set(gcf,'Color','w') -
issm/trunk/test/NightlyRun/test1110.m
r9703 r9725 20 20 end 21 21 22 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);23 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);24 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);22 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 23 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 24 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 25 25 if (i==1 | i==3), 26 26 %Create dirichlet on the bed if no slip … … 64 64 %Now plot vx and delta surface 65 65 if (i==1 | i==3), 66 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Vx),'layer',md. numlayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Velocity (m/yr)','linewidth',3,'grid','on','unit','km','ylim',[91 100])66 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Vx),'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Velocity (m/yr)','linewidth',3,'grid','on','unit','km','ylim',[91 100]) 67 67 elseif (i==2 | i==4), 68 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Vx),'layer',md. numlayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Velocity (m/yr)','linewidth',3,'grid','on','unit','km','ylim',[185 200])68 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Vx),'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Velocity (m/yr)','linewidth',3,'grid','on','unit','km','ylim',[185 200]) 69 69 end 70 70 if printingflag, … … 85 85 end 86 86 87 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Surface)-md.geometry.surface,'layer',md. numlayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Surface (m)','linewidth',3,'grid','on','unit','km','ylim',[-30 50])87 plotmodel(md,'data',PatchToVec(md.results.TransientSolution(end).Surface)-md.geometry.surface,'layer',md.mesh.numberoflayers,'sectionvalue','../Exp/ISMIP100000.exp','title','','xlabel','','ylabel','Surface (m)','linewidth',3,'grid','on','unit','km','ylim',[-30 50]) 88 88 if printingflag, 89 89 set(gcf,'Color','w') -
issm/trunk/test/NightlyRun/test1201.m
r9684 r9725 14 14 15 15 disp(' initial velocity'); 16 md.initialization.vx=zeros(md. numberofnodes,1);17 md.initialization.vy=-400*ones(md. numberofnodes,1);16 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 17 md.initialization.vy=-400*ones(md.mesh.numberofvertices,1); 18 18 19 19 %Stabilization … … 29 29 pos=find(md.y>199999.9); 30 30 times=0:1:500; 31 md.prognostic.spcthickness=NaN*ones(md. numberofnodes+1,length(times));31 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices+1,length(times)); 32 32 md.prognostic.spcthickness(end,:)=times; 33 33 md.prognostic.spcthickness(pos,:)=repmat(500+100*sin(2*pi*times/200),length(pos),1); -
issm/trunk/test/NightlyRun/test1205.m
r9691 r9725 34 34 vx=PatchToVec(md.results.DiagnosticSolution.Vx); 35 35 vy=PatchToVec(md.results.DiagnosticSolution.Vy); 36 vel=zeros(md. numberofnodes2d,1);36 vel=zeros(md.mesh.numberofvertices2d,1); 37 37 38 38 node_vel=0; 39 for i=1:md. numberofnodes2d40 for j=1:(md. numlayers-1)41 node_vel=node_vel+1/(2*(md. numlayers-1))*(sqrt(vx(i+j*md.numberofnodes2d,1).^2+...42 vy(i+j*md. numberofnodes2d,1).^2)+...43 sqrt(vx(i+(j-1)*md. numberofnodes2d,1).^2+vy(i+(j-1)*md.numberofnodes2d,1).^2));39 for i=1:md.mesh.numberofvertices2d 40 for j=1:(md.mesh.numberoflayers-1) 41 node_vel=node_vel+1/(2*(md.mesh.numberoflayers-1))*(sqrt(vx(i+j*md.mesh.numberofvertices2d,1).^2+... 42 vy(i+j*md.mesh.numberofvertices2d,1).^2)+... 43 sqrt(vx(i+(j-1)*md.mesh.numberofvertices2d,1).^2+vy(i+(j-1)*md.mesh.numberofvertices2d,1).^2)); 44 44 end 45 45 vel(i,1)=node_vel; … … 66 66 subplot(2,2,3) 67 67 hold on; 68 plot(sqrt((md.x(1:md. numberofnodes2d)).^2+(md.y(1:md.numberofnodes2d)).^2),vel,'r.');68 plot(sqrt((md.x(1:md.mesh.numberofvertices2d)).^2+(md.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.'); 69 69 plot(sqrt((md.x2d).^2+(md.y2d).^2),vel_obs,'b.'); 70 70 title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold'); -
issm/trunk/test/NightlyRun/test1206.m
r9691 r9725 34 34 vx=PatchToVec(md.results.DiagnosticSolution.Vx); 35 35 vy=PatchToVec(md.results.DiagnosticSolution.Vy); 36 vel=zeros(md. numberofnodes2d,1);36 vel=zeros(md.mesh.numberofvertices2d,1); 37 37 38 38 node_vel=0; 39 for i=1:md. numberofnodes2d40 for j=1:(md. numlayers-1)41 node_vel=node_vel+1/(2*(md. numlayers-1))*(sqrt(vx(i+j*md.numberofnodes2d,1).^2+...42 vy(i+j*md. numberofnodes2d,1).^2)+...43 sqrt(vx(i+(j-1)*md. numberofnodes2d,1).^2+vy(i+(j-1)*md.numberofnodes2d,1).^2));39 for i=1:md.mesh.numberofvertices2d 40 for j=1:(md.mesh.numberoflayers-1) 41 node_vel=node_vel+1/(2*(md.mesh.numberoflayers-1))*(sqrt(vx(i+j*md.mesh.numberofvertices2d,1).^2+... 42 vy(i+j*md.mesh.numberofvertices2d,1).^2)+... 43 sqrt(vx(i+(j-1)*md.mesh.numberofvertices2d,1).^2+vy(i+(j-1)*md.mesh.numberofvertices2d,1).^2)); 44 44 end 45 45 vel(i,1)=node_vel; … … 65 65 subplot(2,2,3) 66 66 hold on; 67 plot(sqrt((md.x(1:md. numberofnodes2d)).^2+(md.y(1:md.numberofnodes2d)).^2),vel,'r.');67 plot(sqrt((md.x(1:md.mesh.numberofvertices2d)).^2+(md.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.'); 68 68 plot(sqrt((md.x2d).^2+(md.y2d).^2),vel_obs,'b.'); 69 69 title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold'); -
issm/trunk/test/NightlyRun/test1207.m
r9691 r9725 34 34 vx=PatchToVec(md.results.DiagnosticSolution.Vx); 35 35 vy=PatchToVec(md.results.DiagnosticSolution.Vy); 36 vel=zeros(md. numberofnodes2d,1);36 vel=zeros(md.mesh.numberofvertices2d,1); 37 37 38 38 node_vel=0; 39 for i=1:md. numberofnodes2d40 for j=1:(md. numlayers-1)41 node_vel=node_vel+1/(2*(md. numlayers-1))*(sqrt(vx(i+j*md.numberofnodes2d,1).^2+...42 vy(i+j*md. numberofnodes2d,1).^2)+...43 sqrt(vx(i+(j-1)*md. numberofnodes2d,1).^2+vy(i+(j-1)*md.numberofnodes2d,1).^2));39 for i=1:md.mesh.numberofvertices2d 40 for j=1:(md.mesh.numberoflayers-1) 41 node_vel=node_vel+1/(2*(md.mesh.numberoflayers-1))*(sqrt(vx(i+j*md.mesh.numberofvertices2d,1).^2+... 42 vy(i+j*md.mesh.numberofvertices2d,1).^2)+... 43 sqrt(vx(i+(j-1)*md.mesh.numberofvertices2d,1).^2+vy(i+(j-1)*md.mesh.numberofvertices2d,1).^2)); 44 44 end 45 45 vel(i,1)=node_vel; … … 65 65 subplot(2,2,3) 66 66 hold on; 67 plot(sqrt((md.x(1:md. numberofnodes2d)).^2+(md.y(1:md.numberofnodes2d)).^2),vel,'r.');67 plot(sqrt((md.x(1:md.mesh.numberofvertices2d)).^2+(md.y(1:md.mesh.numberofvertices2d)).^2),vel,'r.'); 68 68 plot(sqrt((md.x2d).^2+(md.y2d).^2),vel_obs,'b.'); 69 69 title('Analytical vs calculated velocity','FontSize',14,'FontWeight','bold'); -
issm/trunk/test/NightlyRun/test1301.m
r9703 r9725 13 13 14 14 %Some conditions specific to melting test 15 md.initialization.pressure=zeros(md. numberofnodes,1);16 md.initialization.temperature=273.15*ones(md. numberofnodes,1);15 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 16 md.initialization.temperature=273.15*ones(md.mesh.numberofvertices,1); 17 17 pos=find(md.nodeonsurface); 18 18 md.thermal.spctemperature(pos)=md.initialization.temperature(pos); … … 29 29 30 30 %plot results 31 comp_melting=zeros(md. numberofnodes,1);31 comp_melting=zeros(md.mesh.numberofvertices,1); 32 32 comp_melting(md.results.ThermalSolution.BasalforcingsMeltingRate.index)=md.results.ThermalSolution.BasalforcingsMeltingRate.value; 33 33 relative=abs((comp_melting-melting)./melting)*100; -
issm/trunk/test/NightlyRun/test1302.m
r9703 r9725 14 14 pos1=find(md.elementonbed); md.thermal.spctemperature(md.elements(pos1,1:3))=10; 15 15 pos2=find(md.elementonsurface); md.thermal.spctemperature(md.elements(pos2,4:6))=0; 16 md.initialization.vz=0.1*ones(md. numberofnodes,1);16 md.initialization.vz=0.1*ones(md.mesh.numberofvertices,1); 17 17 md.initialization.vel=sqrt( md.initialization.vx.^2+ md.initialization.vy.^2+ md.initialization.vz.^2); 18 md.initialization.pressure=zeros(md. numberofnodes,1);18 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 19 19 20 20 %analytical results … … 30 30 31 31 %plot results 32 comp_temp=zeros(md. numberofnodes,1);32 comp_temp=zeros(md.mesh.numberofvertices,1); 33 33 comp_temp(md.results.ThermalSolution.Temperature.index)=md.results.ThermalSolution.Temperature.value; 34 34 relative=abs((comp_temp-md.initialization.temperature)./md.initialization.temperature)*100; -
issm/trunk/test/NightlyRun/test1303.m
r9703 r9725 13 13 pos1=find(md.elementonbed); md.thermal.spctemperature(md.elements(pos1,1:3))=10; 14 14 pos2=find(md.elementonsurface); md.thermal.spctemperature(md.elements(pos2,4:6))=0; 15 md.initialization.pressure=zeros(md. numberofnodes,1);15 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 16 16 17 17 %analytical results … … 25 25 26 26 %plot results 27 comp_temp=zeros(md. numberofnodes,1);27 comp_temp=zeros(md.mesh.numberofvertices,1); 28 28 comp_temp(md.results.ThermalSolution.Temperature.index)=md.results.ThermalSolution.Temperature.value; 29 29 relative=abs((comp_temp-md.initialization.temperature)./md.initialization.temperature)*100; -
issm/trunk/test/NightlyRun/test1304.m
r9703 r9725 13 13 14 14 pos2=find(md.elementonsurface); md.thermal.spctemperature(md.elements(pos2,4:6))=0; 15 md.initialization.pressure=zeros(md. numberofnodes,1);15 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 16 16 md.basalforcings.geothermalflux(:)=0.1; %100mW/m^2 17 17 … … 26 26 27 27 %plot results 28 comp_temp=zeros(md. numberofnodes,1);28 comp_temp=zeros(md.mesh.numberofvertices,1); 29 29 comp_temp(md.results.ThermalSolution.Temperature.index)=md.results.ThermalSolution.Temperature.value; 30 30 relative=abs((comp_temp-md.initialization.temperature)./md.initialization.temperature)*100; -
issm/trunk/test/NightlyRun/test137.m
r5098 r9725 13 13 t0=clock; 14 14 md=bamg(model,'domain','../Exp/Square.exp','hmax',3000); 15 nbelements=md. numberofelements;15 nbelements=md.mesh.numberofelements; 16 16 elapsedtime=etime(clock,t0); 17 17 -
issm/trunk/test/NightlyRun/test1501.m
r9703 r9725 13 13 14 14 %Solve for thinning rate -> -1 * surface mass balance 15 smb= 2*ones(md. numberofnodes,1);15 smb= 2*ones(md.mesh.numberofvertices,1); 16 16 md.surfaceforcings.mass_balance= smb; 17 17 md.basalforcings.melting_rate= smb; -
issm/trunk/test/NightlyRun/test1502.m
r9703 r9725 14 14 15 15 %Solve for thinning rate -> -1 * surface mass balance 16 smb= 2*ones(md. numberofnodes,1);16 smb= 2*ones(md.mesh.numberofvertices,1); 17 17 md.surfaceforcings.mass_balance= smb; 18 18 md.basalforcings.melting_rate= smb; -
issm/trunk/test/NightlyRun/test223.m
r9703 r9725 7 7 md.inversion.iscontrol=1; 8 8 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 9 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);10 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);9 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 10 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.nsteps=2; 12 12 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 13 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);13 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 14 14 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 15 15 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test224.m
r9703 r9725 7 7 md.inversion.iscontrol=1; 8 8 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 9 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);10 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);9 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 10 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.nsteps=2; 12 12 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 13 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);13 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 14 14 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 15 15 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test225.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test226.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test227.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test228.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test229.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test230.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 10 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);11 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);10 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 15 15 md.inversion.gradient_scaling=10^7*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test233.m
r9714 r9725 21 21 22 22 h=1000; 23 md.geometry.thickness=h*ones(md. numberofnodes,1);23 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 24 24 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 25 25 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 26 26 27 27 %Initial velocity and pressure 28 md.initialization.vx=zeros(md. numberofnodes,1);29 md.initialization.vy=zeros(md. numberofnodes,1);30 md.initialization.vz=zeros(md. numberofnodes,1);31 md.initialization.pressure=zeros(md. numberofnodes,1);28 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 29 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 30 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 31 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 32 32 33 33 %Materials 34 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);34 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 35 35 md.materials.rheology_B=paterson(md.initialization.temperature); 36 md.materials.rheology_n=3*ones(md. numberofelements,1);36 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 37 37 38 38 %Boundary conditions: 39 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);40 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);41 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);39 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 40 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 41 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 42 42 43 43 %constrain flanks to 0 normal velocity … … 52 52 53 53 %icefront 54 nodeonicefront=zeros(md. numberofnodes,1);54 nodeonicefront=zeros(md.mesh.numberofvertices,1); 55 55 pos=find(md.y==ymax); nodeonicefront(pos)=1; 56 56 pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2))); diagnostic.icefront=md.mesh.segments(pos,:); -
issm/trunk/test/NightlyRun/test234.m
r9714 r9725 21 21 22 22 h=1000; 23 md.geometry.thickness=h*ones(md. numberofnodes,1);23 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 24 24 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 25 25 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 26 26 27 27 %Initial velocity and pressure 28 md.initialization.vx=zeros(md. numberofnodes,1);29 md.initialization.vy=zeros(md. numberofnodes,1);30 md.initialization.vz=zeros(md. numberofnodes,1);31 md.initialization.pressure=zeros(md. numberofnodes,1);28 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 29 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 30 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 31 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 32 32 33 33 %Materials 34 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);34 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 35 35 md.materials.rheology_B=paterson(md.initialization.temperature); 36 md.materials.rheology_n=3*ones(md. numberofelements,1);36 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 37 37 38 38 %Boundary conditions: 39 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);40 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);41 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);39 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 40 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 41 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 42 42 43 43 %constrain flanks to 0 normal velocity … … 52 52 53 53 %icefront 54 nodeonicefront=zeros(md. numberofnodes,1);54 nodeonicefront=zeros(md.mesh.numberofvertices,1); 55 55 pos=find(md.y==ymax); nodeonicefront(pos)=1; 56 56 pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2))); diagnostic.icefront=md.mesh.segments(pos,:); -
issm/trunk/test/NightlyRun/test235.m
r9720 r9725 18 18 19 19 h=1000; 20 md.geometry.thickness=h*ones(md. numberofnodes,1);20 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 21 21 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 22 22 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 23 23 24 24 %Initial velocity and pressure 25 md.initialization.vx=zeros(md. numberofnodes,1);26 md.initialization.vy=zeros(md. numberofnodes,1);27 md.initialization.vz=zeros(md. numberofnodes,1);28 md.initialization.pressure=zeros(md. numberofnodes,1);25 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 26 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 27 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 28 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 29 29 30 30 %Materials 31 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);31 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 32 32 md.materials.rheology_B=paterson(md.initialization.temperature); 33 md.materials.rheology_n=3*ones(md. numberofelements,1);33 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 34 34 35 35 %Boundary conditions: 36 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);37 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);38 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);36 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 37 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 38 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 39 39 40 40 %constrain flanks to 0 normal velocity … … 49 49 50 50 %icefront 51 nodeonicefront=zeros(md. numberofnodes,1);51 nodeonicefront=zeros(md.mesh.numberofvertices,1); 52 52 pos=find(md.y==ymax); nodeonicefront(pos)=1; 53 53 pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2))); diagnostic.icefront=md.mesh.segments(pos,:); … … 56 56 57 57 %partitioning 58 md.qmu.numberofpartitions=md. numberofnodes;58 md.qmu.numberofpartitions=md.mesh.numberofvertices; 59 59 md=partitioner(md,'package','linear','npart',md.qmu.numberofpartitions); 60 60 md.qmu.partition=md.qmu.partition-1; -
issm/trunk/test/NightlyRun/test236.m
r9720 r9725 18 18 19 19 h=1000; 20 md.geometry.thickness=h*ones(md. numberofnodes,1);20 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 21 21 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 22 22 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 23 23 24 24 %Initial velocity and pressure 25 md.initialization.vx=zeros(md. numberofnodes,1);26 md.initialization.vy=zeros(md. numberofnodes,1);27 md.initialization.vz=zeros(md. numberofnodes,1);28 md.initialization.pressure=zeros(md. numberofnodes,1);25 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 26 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 27 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 28 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 29 29 30 30 %Materials 31 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);31 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 32 32 md.materials.rheology_B=paterson(md.initialization.temperature); 33 md.materials.rheology_n=3*ones(md. numberofelements,1);33 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 34 34 35 35 %Boundary conditions: 36 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);37 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);38 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);36 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 37 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 38 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 39 39 40 40 %constrain flanks to 0 normal velocity … … 49 49 50 50 %icefront 51 nodeonicefront=zeros(md. numberofnodes,1);51 nodeonicefront=zeros(md.mesh.numberofvertices,1); 52 52 pos=find(md.y==ymax); nodeonicefront(pos)=1; 53 53 pos=find(nodeonicefront(md.mesh.segments(:,1)) | nodeonicefront(md.mesh.segments(:,2))); diagnostic.icefront=md.mesh.segments(pos,:); … … 56 56 57 57 %partitioning 58 md.qmu.numberofpartitions=md. numberofnodes;58 md.qmu.numberofpartitions=md.mesh.numberofvertices; 59 59 md=partitioner(md,'package','linear','npart',md.qmu.numberofpartitions); 60 60 md.qmu.partition=md.qmu.partition-1; -
issm/trunk/test/NightlyRun/test255.m
r9720 r9725 10 10 11 11 %Set up transient 12 smb = ones(md. numberofnodes,1)*3.6;12 smb = ones(md.mesh.numberofvertices,1)*3.6; 13 13 smb=[ smb smb*-1 ]; 14 14 -
issm/trunk/test/NightlyRun/test256.m
r9720 r9725 10 10 11 11 %Set up transient 12 smb = ones(md. numberofnodes,1)*3.6;12 smb = ones(md.mesh.numberofvertices,1)*3.6; 13 13 smb=[ smb smb*-1 ]; 14 14 -
issm/trunk/test/NightlyRun/test257.m
r9720 r9725 10 10 11 11 %Set up transient 12 smb = ones(md. numberofnodes,1)*3.6;12 smb = ones(md.mesh.numberofvertices,1)*3.6; 13 13 smb=[ smb smb*2 ]; 14 14 -
issm/trunk/test/NightlyRun/test258.m
r9720 r9725 10 10 11 11 %Set up transient 12 smb = ones(md. numberofnodes,1)*3.6;12 smb = ones(md.mesh.numberofvertices,1)*3.6; 13 13 smb=[ smb smb*2 ]; 14 14 -
issm/trunk/test/NightlyRun/test259.m
r9720 r9725 11 11 12 12 %Set up transient 13 smb = ones(md. numberofnodes,1)*3.6;13 smb = ones(md.mesh.numberofvertices,1)*3.6; 14 14 smb=[ smb smb*-1 ]; 15 15 -
issm/trunk/test/NightlyRun/test260.m
r9720 r9725 11 11 12 12 %Set up transient 13 smb = ones(md. numberofnodes,1)*3.6;13 smb = ones(md.mesh.numberofvertices,1)*3.6; 14 14 smb=[ smb smb*-1 ]; 15 15 -
issm/trunk/test/NightlyRun/test261.m
r9720 r9725 11 11 12 12 %Set up transient 13 smb = ones(md. numberofnodes,1)*3.6;13 smb = ones(md.mesh.numberofvertices,1)*3.6; 14 14 smb=[ smb smb*2 ]; 15 15 -
issm/trunk/test/NightlyRun/test262.m
r9720 r9725 11 11 12 12 %Set up transient 13 smb = ones(md. numberofnodes,1)*3.6;13 smb = ones(md.mesh.numberofvertices,1)*3.6; 14 14 smb=[ smb smb*2 ]; 15 15 -
issm/trunk/test/NightlyRun/test337.m
r9703 r9725 7 7 md.inversion.iscontrol=1; 8 8 md.inversion.control_parameters={'FrictionCoefficient'}; 9 md.inversion.min_parameters=1*ones(md. numberofnodes,1);10 md.inversion.max_parameters=200*ones(md. numberofnodes,1);9 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 10 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.nsteps=2; 12 12 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 13 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=0*2*10^-7;13 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=0*2*10^-7; 14 14 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 15 15 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test338.m
r9703 r9725 7 7 md.inversion.iscontrol=1; 8 8 md.inversion.control_parameters={'FrictionCoefficient'}; 9 md.inversion.min_parameters=1*ones(md. numberofnodes,1);10 md.inversion.max_parameters=200*ones(md. numberofnodes,1);9 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 10 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 11 11 md.inversion.nsteps=2; 12 12 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 13 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;13 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 14 14 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 15 15 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test339.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test340.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test341.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test342.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test343.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[104*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test344.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[104*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test423.m
r9703 r9725 6 6 7 7 %partitioning 8 md.qmu.numberofpartitions=md. numberofnodes;8 md.qmu.numberofpartitions=md.mesh.numberofvertices; 9 9 md=partitioner(md,'package','linear','npart',md.qmu.numberofpartitions); 10 10 md.qmu.partition=md.qmu.partition-1; -
issm/trunk/test/NightlyRun/test424.m
r9703 r9725 6 6 7 7 %partitioning 8 md.qmu.numberofpartitions=md. numberofnodes;8 md.qmu.numberofpartitions=md.mesh.numberofvertices; 9 9 md=partitioner(md,'package','linear','npart',md.qmu.numberofpartitions); 10 10 md.qmu.partition=md.qmu.partition-1; -
issm/trunk/test/NightlyRun/test428.m
r9703 r9725 8 8 9 9 %constrain all velocities to 1 m/yr, in the y-direction 10 md.diagnostic.spcvx=zeros(md. numberofnodes,1);11 md.diagnostic.spcvy=ones(md. numberofnodes,1);12 md.diagnostic.spcvz=zeros(md. numberofnodes,1);10 md.diagnostic.spcvx=zeros(md.mesh.numberofvertices,1); 11 md.diagnostic.spcvy=ones(md.mesh.numberofvertices,1); 12 md.diagnostic.spcvz=zeros(md.mesh.numberofvertices,1); 13 13 14 14 %Dakota options -
issm/trunk/test/NightlyRun/test429.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test430.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test431.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test432.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[102*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test435.m
r9703 r9725 11 11 md.qmu.partition=md.qmu.partition-1; 12 12 13 vector=(1:1:md. numberofnodes)';13 vector=(1:1:md.mesh.numberofvertices)'; 14 14 vector_on_partition=AreaAverageOntoPartition(md,vector); 15 15 vector_on_nodes=vector_on_partition(md.qmu.partition+1); -
issm/trunk/test/NightlyRun/test446.m
r9691 r9725 13 13 yelem=md.y(md.elements)*[1;1;1]/3; 14 14 rad=sqrt((xelem).*xelem+(yelem).*yelem); 15 flags=zeros(md. numberofelements,1);15 flags=zeros(md.mesh.numberofelements,1); 16 16 pos=find(rad>=(radius-shelfextent)); 17 17 flags(pos)=1; 18 flags2=zeros(md. numberofelements,1);18 flags2=zeros(md.mesh.numberofelements,1); 19 19 md=setmask(md,flags,flags2); 20 20 %}}} … … 44 44 %grounding line: 45 45 md.groundingline.migration='AgressiveMigration'; 46 md=solve(md,GroundinglineMigration2 DSolutionEnum);47 element_on_iceshelf_agressive=PatchToVec(md.results.GroundinglineMigration2 DSolution.MaskElementonfloatingice);46 md=solve(md,GroundinglineMigration2dSolutionEnum); 47 element_on_iceshelf_agressive=PatchToVec(md.results.GroundinglineMigration2dSolution.MaskElementonfloatingice); 48 48 49 49 md.groundingline.migration='SoftMigration'; 50 md=solve(md,GroundinglineMigration2 DSolutionEnum);51 element_on_iceshelf_soft=PatchToVec(md.results.GroundinglineMigration2 DSolution.MaskElementonfloatingice);50 md=solve(md,GroundinglineMigration2dSolutionEnum); 51 element_on_iceshelf_soft=PatchToVec(md.results.GroundinglineMigration2dSolution.MaskElementonfloatingice); 52 52 53 53 %Fields and tolerances to track changes -
issm/trunk/test/NightlyRun/test521.m
r9703 r9725 13 13 md.inversion.iscontrol=1; 14 14 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 15 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);16 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);15 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 16 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 17 17 md.inversion.nsteps=2; 18 18 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 19 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);19 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 20 20 md.inversion.gradient_scaling=10^8*ones(md.inversion.nsteps,1); 21 21 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test522.m
r9703 r9725 13 13 md.inversion.iscontrol=1; 14 14 md.inversion.control_parameters={'MaterialsRheologyBbar'}; 15 md.inversion.min_parameters=10^6*ones(md. numberofnodes,1);16 md.inversion.max_parameters=2*10^9*ones(md. numberofnodes,1);15 md.inversion.min_parameters=10^6*ones(md.mesh.numberofvertices,1); 16 md.inversion.max_parameters=2*10^9*ones(md.mesh.numberofvertices,1); 17 17 md.inversion.nsteps=2; 18 18 md.inversion.cost_functions=101*ones(md.inversion.nsteps,1); 19 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);19 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 20 20 md.inversion.gradient_scaling=10^8*ones(md.inversion.nsteps,1); 21 21 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test523.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test524.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test525.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test526.m
r9703 r9725 8 8 md.inversion.iscontrol=1; 9 9 md.inversion.control_parameters={'FrictionCoefficient'}; 10 md.inversion.min_parameters=1*ones(md. numberofnodes,1);11 md.inversion.max_parameters=200*ones(md. numberofnodes,1);10 md.inversion.min_parameters=1*ones(md.mesh.numberofvertices,1); 11 md.inversion.max_parameters=200*ones(md.mesh.numberofvertices,1); 12 12 md.inversion.nsteps=2; 13 13 md.inversion.cost_functions=[103*ones(md.inversion.nsteps,1) 501*ones(md.inversion.nsteps,1)]; 14 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7;14 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2); md.inversion.cost_functions_coefficients(:,2)=2*10^-7; 15 15 md.inversion.gradient_scaling=3*ones(md.inversion.nsteps,1); 16 16 md.inversion.maxiter_per_step=2*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test527.m
r9714 r9725 27 27 28 28 %refine existing mesh 3 29 hVertices=NaN*ones(md. numberofnodes,1);29 hVertices=NaN*ones(md.mesh.numberofvertices,1); 30 30 hVertices(find(md.mesh.vertexonboundary))=500; 31 31 md2=bamg(md,'metric',md.miscellaneous.dummy,'hmin',1000,'hmax',20000,'gradation',3,'geometricalmetric',1,'anisomax',1,'hVertices',hVertices); -
issm/trunk/test/NightlyRun/test621.m
r9703 r9725 10 10 md.inversion.control_parameters={'BalancethicknessThickeningRate'}; 11 11 md.inversion.thickness_obs=md.geometry.thickness; 12 md.inversion.min_parameters=-50*ones(md. numberofnodes,1);13 md.inversion.max_parameters=50*ones(md. numberofnodes,1);12 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 13 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 14 14 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 15 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);15 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 16 16 md.inversion.gradient_scaling=10/md.constants.yts*ones(md.inversion.nsteps,1); 17 17 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test622.m
r9703 r9725 10 10 md.inversion.control_parameters={'BalancethicknessThickeningRate'}; 11 11 md.inversion.thickness_obs=md.geometry.thickness; 12 md.inversion.min_parameters=-50*ones(md. numberofnodes,1);13 md.inversion.max_parameters=50*ones(md. numberofnodes,1);12 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 13 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 14 14 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 15 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);15 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 16 16 md.inversion.gradient_scaling=10/md.constants.yts*ones(md.inversion.nsteps,1); 17 17 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test623.m
r9703 r9725 11 11 md.inversion.control_parameters={'BalancethicknessThickeningRate'}; 12 12 md.inversion.thickness_obs=md.geometry.thickness; 13 md.inversion.min_parameters=-50*ones(md. numberofnodes,1);14 md.inversion.max_parameters=50*ones(md. numberofnodes,1);13 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 14 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 15 15 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 16 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);16 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 17 17 md.inversion.gradient_scaling=10/md.constants.yts*ones(md.inversion.nsteps,1); 18 18 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test624.m
r9703 r9725 11 11 md.inversion.control_parameters={'BalancethicknessThickeningRate'}; 12 12 md.inversion.thickness_obs=md.geometry.thickness; 13 md.inversion.min_parameters=-50*ones(md. numberofnodes,1);14 md.inversion.max_parameters=50*ones(md. numberofnodes,1);13 md.inversion.min_parameters=-50*ones(md.mesh.numberofvertices,1); 14 md.inversion.max_parameters=50*ones(md.mesh.numberofvertices,1); 15 15 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 16 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);16 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 17 17 md.inversion.gradient_scaling=10/md.constants.yts*ones(md.inversion.nsteps,1); 18 18 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test625.m
r9714 r9725 18 18 md.balancethickness.stabilization=1; 19 19 md.inversion.gradient_scaling=[10/md.constants.yts*ones(md.inversion.nsteps,1) 10/md.constants.yts*ones(md.inversion.nsteps,1)]; 20 md.inversion.min_parameters=[-2000*ones(md. numberofnodes,1) -2000*ones(md.numberofnodes,1)];21 md.inversion.max_parameters=[+2000*ones(md. numberofnodes,1) +2000*ones(md.numberofnodes,1)];20 md.inversion.min_parameters=[-2000*ones(md.mesh.numberofvertices,1) -2000*ones(md.mesh.numberofvertices,1)]; 21 md.inversion.max_parameters=[+2000*ones(md.mesh.numberofvertices,1) +2000*ones(md.mesh.numberofvertices,1)]; 22 22 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 23 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);23 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 24 24 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); 25 25 md.inversion.step_threshold=0.99*ones(md.inversion.nsteps,1); -
issm/trunk/test/NightlyRun/test626.m
r9714 r9725 18 18 md.balancethickness.stabilization=1; 19 19 md.inversion.gradient_scaling=[10/md.constants.yts*ones(md.inversion.nsteps,1) 10/md.constants.yts*ones(md.inversion.nsteps,1)]; 20 md.inversion.min_parameters=[-2000*ones(md. numberofnodes,1) -2000*ones(md.numberofnodes,1)];21 md.inversion.max_parameters=[+2000*ones(md. numberofnodes,1) +2000*ones(md.numberofnodes,1)];20 md.inversion.min_parameters=[-2000*ones(md.mesh.numberofvertices,1) -2000*ones(md.mesh.numberofvertices,1)]; 21 md.inversion.max_parameters=[+2000*ones(md.mesh.numberofvertices,1) +2000*ones(md.mesh.numberofvertices,1)]; 22 22 md.inversion.cost_functions=201*ones(md.inversion.nsteps,1); 23 md.inversion.cost_functions_coefficients=ones(md. numberofnodes,1);23 md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,1); 24 24 md.inversion.maxiter_per_step=4*ones(md.inversion.nsteps,1); 25 25 md.inversion.step_threshold=0.99*ones(md.inversion.nsteps,1); -
issm/trunk/test/Par/79North.par
r9714 r9725 11 11 12 12 %Materials 13 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);13 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 14 14 md.materials.rheology_B=paterson(md.initialization.temperature); 15 md.materials.rheology_n=3*ones(md. numberofelements,1);15 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 16 16 17 17 %Friction 18 18 pos=find(md.mask.elementonfloatingice); 19 md.friction.coefficient=50*ones(md. numberofnodes,1);19 md.friction.coefficient=50*ones(md.mesh.numberofvertices,1); 20 20 md.friction.coefficient(md.elements(pos,:))=0; 21 md.friction.p=ones(md. numberofelements,1);22 md.friction.q=ones(md. numberofelements,1);21 md.friction.p=ones(md.mesh.numberofelements,1); 22 md.friction.q=ones(md.mesh.numberofelements,1); 23 23 24 24 %Ice shelf melting and surface mass balance 25 md.basalforcings.melting_rate=zeros(md. numberofnodes,1);26 pos=zeros(md. numberofnodes,1);25 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 26 pos=zeros(md.mesh.numberofvertices,1); 27 27 pos(md.elements(find(md.mask.elementonfloatingice),:))=1; 28 28 md.basalforcings.melting_rate(find(pos))=10; 29 md.surfaceforcings.mass_balance=15*ones(md. numberofnodes,1);29 md.surfaceforcings.mass_balance=15*ones(md.mesh.numberofvertices,1); 30 30 31 31 %Numerical parameters -
issm/trunk/test/Par/ISMIPA.par
r9691 r9725 7 7 8 8 disp(' creating drag'); 9 md.friction.coefficient=200*ones(md. numberofnodes,1); %q=1.9 md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1. 10 10 %Take care of iceshelves: no basal drag 11 11 pos=find(md.mask.elementonfloatingice); 12 12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md. numberofelements,1);14 md.friction.q=ones(md. numberofelements,1);13 md.friction.p=ones(md.mesh.numberofelements,1); 14 md.friction.q=ones(md.mesh.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); 17 md.materials.rheology_B=6.8067*10^7*ones(md. numberofnodes,1);18 md.materials.rheology_n=3*ones(md. numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.mesh.numberofvertices,1); 18 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model'); -
issm/trunk/test/Par/ISMIPB.par
r9691 r9725 7 7 8 8 disp(' creating drag'); 9 md.friction.coefficient=200*ones(md. numberofnodes,1); %q=1.9 md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1. 10 10 %Take care of iceshelves: no basal drag 11 11 pos=find(md.mask.elementonfloatingice); 12 12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md. numberofelements,1);14 md.friction.q=ones(md. numberofelements,1);13 md.friction.p=ones(md.mesh.numberofelements,1); 14 md.friction.q=ones(md.mesh.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); 17 md.materials.rheology_B=6.8067*10^7*ones(md. numberofnodes,1);18 md.materials.rheology_n=3*ones(md. numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.mesh.numberofvertices,1); 18 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model'); -
issm/trunk/test/Par/ISMIPC.par
r9691 r9725 12 12 pos=find(md.mask.elementonfloatingice); 13 13 md.friction.coefficient(md.elements(pos,:))=0; 14 md.friction.p=ones(md. numberofelements,1);15 md.friction.q=zeros(md. numberofelements,1);14 md.friction.p=ones(md.mesh.numberofelements,1); 15 md.friction.q=zeros(md.mesh.numberofelements,1); 16 16 17 17 disp(' creating flow law paramter'); 18 md.materials.rheology_B=6.8067*10^7*ones(md. numberofnodes,1);19 md.materials.rheology_n=3*ones(md. numberofelements,1);18 md.materials.rheology_B=6.8067*10^7*ones(md.mesh.numberofvertices,1); 19 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 20 20 21 21 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPD.par
r9691 r9725 11 11 pos=find(md.mask.elementonfloatingice); 12 12 md.friction.coefficient(md.elements(pos,:))=0; 13 md.friction.p=ones(md. numberofelements,1);14 md.friction.q=zeros(md. numberofelements,1);13 md.friction.p=ones(md.mesh.numberofelements,1); 14 md.friction.q=zeros(md.mesh.numberofelements,1); 15 15 16 16 disp(' creating flow law paramter'); 17 md.materials.rheology_B=6.8067*10^7*ones(md. numberofnodes,1);18 md.materials.rheology_n=3*ones(md. numberofelements,1);17 md.materials.rheology_B=6.8067*10^7*ones(md.mesh.numberofvertices,1); 18 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 19 19 20 20 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPE.par
r9691 r9725 4 4 data=load('../Data/ISMIPE.data','-mat'); 5 5 data=data.data; 6 md.geometry.surface=zeros(md. numberofnodes,1);7 md.geometry.bed=zeros(md. numberofnodes,1);8 for i=1:md. numberofnodes6 md.geometry.surface=zeros(md.mesh.numberofvertices,1); 7 md.geometry.bed=zeros(md.mesh.numberofvertices,1); 8 for i=1:md.mesh.numberofvertices 9 9 y=md.y(i); 10 10 point1=floor(y/100)+1; … … 19 19 20 20 disp(' creating drag'); 21 md.friction.coefficient=zeros(md. numberofnodes,1);22 md.friction.p=ones(md. numberofelements,1);23 md.friction.q=ones(md. numberofelements,1);21 md.friction.coefficient=zeros(md.mesh.numberofvertices,1); 22 md.friction.p=ones(md.mesh.numberofelements,1); 23 md.friction.q=ones(md.mesh.numberofelements,1); 24 24 25 25 disp(' creating flow law paramter'); 26 md.materials.rheology_B=6.8067*10^7*ones(md. numberofnodes,1);27 md.materials.rheology_n=3*ones(md. numberofelements,1);26 md.materials.rheology_B=6.8067*10^7*ones(md.mesh.numberofvertices,1); 27 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 28 28 29 29 disp(' boundary conditions for diagnostic model: '); -
issm/trunk/test/Par/ISMIPF.par
r9705 r9725 9 9 10 10 disp(' creating drag'); 11 md.friction.coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md. numberofnodes,1);12 md.friction.p=ones(md. numberofelements,1);13 md.friction.q=zeros(md. numberofelements,1);11 md.friction.coefficient=sqrt(md.constants.yts/(2.140373*10^-7*1000))*ones(md.mesh.numberofvertices,1); 12 md.friction.p=ones(md.mesh.numberofelements,1); 13 md.friction.q=zeros(md.mesh.numberofelements,1); 14 14 15 15 disp(' creating flow law paramter'); 16 md.materials.rheology_B=1.4734*10^14*ones(md. numberofnodes,1);17 md.materials.rheology_n=1*ones(md. numberofelements,1);16 md.materials.rheology_B=1.4734*10^14*ones(md.mesh.numberofvertices,1); 17 md.materials.rheology_n=1*ones(md.mesh.numberofelements,1); 18 18 md.materials.rheology_law='None'; 19 19 … … 21 21 %Create node on boundary fist (because we cannot use mesh) 22 22 md=SetIceSheetBC(md); 23 md.diagnostic.spcvx=100*ones(md. numberofnodes,1);24 md.initialization.vx=zeros(md. numberofnodes,1);25 md.initialization.vy=zeros(md. numberofnodes,1);26 md.initialization.vz=zeros(md. numberofnodes,1);27 md.initialization.vel=zeros(md. numberofnodes,1);28 md.initialization.pressure=zeros(md. numberofnodes,1);29 md.initialization.temperature=255*ones(md. numberofnodes,1);23 md.diagnostic.spcvx=100*ones(md.mesh.numberofvertices,1); 24 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 25 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 26 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 27 md.initialization.vel=zeros(md.mesh.numberofvertices,1); 28 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 29 md.initialization.temperature=255*ones(md.mesh.numberofvertices,1); 30 30 pos=find(md.x==min(md.x) | md.x==max(md.x) | md.y==min(md.y) | md.y==max(md.y)); 31 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);31 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 32 32 md.balancethickness.spcthickness(pos)=md.geometry.thickness(pos); 33 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);33 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 34 34 md.prognostic.spcthickness(pos)=md.geometry.thickness(pos); 35 md.thermal.spctemperature=255*ones(md. numberofnodes,1);36 md.basalforcings.geothermalflux=0.4*ones(md. numberofnodes,1);35 md.thermal.spctemperature=255*ones(md.mesh.numberofvertices,1); 36 md.basalforcings.geothermalflux=0.4*ones(md.mesh.numberofvertices,1); 37 37 38 38 %Parallel options -
issm/trunk/test/Par/Pig.par
r9702 r9725 11 11 md.initialization.vx=md.inversion.vx_obs; 12 12 md.initialization.vy=md.inversion.vy_obs; 13 md.initialization.vz=zeros(md. numberofnodes,1);14 md.initialization.pressure=zeros(md. numberofnodes,1);13 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 14 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 15 15 16 16 %Materials 17 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);17 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 18 18 md.materials.rheology_B=paterson(md.initialization.temperature); 19 md.materials.rheology_n=3*ones(md. numberofelements,1);19 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 20 20 md.initialization.temperature=md.initialization.temperature; 21 21 22 22 %Friction 23 23 pos=find(md.mask.elementonfloatingice); 24 md.friction.coefficient=50*ones(md. numberofnodes,1);24 md.friction.coefficient=50*ones(md.mesh.numberofvertices,1); 25 25 md.friction.coefficient(md.elements(pos,:))=0; 26 md.friction.p=ones(md. numberofelements,1);27 md.friction.q=ones(md. numberofelements,1);26 md.friction.p=ones(md.mesh.numberofelements,1); 27 md.friction.q=ones(md.mesh.numberofelements,1); 28 28 29 29 %Numerical parameters -
issm/trunk/test/Par/RoundSheetEISMINT.par
r9691 r9725 1 1 %Ok, start defining model parameters here 2 2 disp(' creating thickness'); 3 md.geometry.thickness=10*ones(md. numberofnodes,1);4 md.geometry.bed=zeros(md. numberofnodes,1);3 md.geometry.thickness=10*ones(md.mesh.numberofvertices,1); 4 md.geometry.bed=zeros(md.mesh.numberofvertices,1); 5 5 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 6 6 7 7 disp(' creating drag'); 8 md.friction.coefficient=20*ones(md. numberofnodes,1); %q=1. %no drag is specified in the analytical solution9 md.friction.p=ones(md. numberofelements,1);10 md.friction.q=ones(md. numberofelements,1);8 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); %q=1. %no drag is specified in the analytical solution 9 md.friction.p=ones(md.mesh.numberofelements,1); 10 md.friction.q=ones(md.mesh.numberofelements,1); 11 11 12 12 disp(' creating temperatures'); … … 15 15 radius=sqrt((md.x).^2+(md.y).^2); 16 16 md.initialization.temperature=(tmin+st*radius); 17 md.basalforcings.geothermalflux=4.2*10^-2*ones(md. numberofnodes,1);17 md.basalforcings.geothermalflux=4.2*10^-2*ones(md.mesh.numberofvertices,1); 18 18 19 19 disp(' creating flow law paramter'); 20 md.materials.rheology_B=6.81*10^(7)*ones(md. numberofnodes,1); %to have the same B as the analytical solution21 md.materials.rheology_n=3*ones(md. numberofelements,1);20 md.materials.rheology_B=6.81*10^(7)*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution 21 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 22 22 23 23 disp(' creating surface mass balance'); … … 32 32 md.inversion.vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1; 33 33 md.inversion.vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2)); 34 md.initialization.vx=zeros(md. numberofnodes,1);35 md.initialization.vy=zeros(md. numberofnodes,1);36 md.initialization.vz=zeros(md. numberofnodes,1);37 md.initialization.pressure=zeros(md. numberofnodes,1);34 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 35 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 36 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 37 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 38 38 39 39 %Deal with boundary conditions: -
issm/trunk/test/Par/RoundSheetShelf.par
r9714 r9725 34 34 35 35 %Initial velocity 36 md.initialization.vx=zeros(md. numberofnodes,1);37 md.initialization.vy=zeros(md. numberofnodes,1);38 md.initialization.vz=zeros(md. numberofnodes,1);39 md.initialization.pressure=zeros(md. numberofnodes,1);36 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 37 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 38 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 39 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 40 40 41 41 %Materials 42 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);42 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 43 43 md.materials.rheology_B=paterson(md.initialization.temperature); 44 md.materials.rheology_n=3*ones(md. numberofelements,1);44 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 45 45 46 46 %Surface mass balance and basal melting 47 md.surfaceforcings.mass_balance=-10*ones(md. numberofnodes,1);48 md.basalforcings.melting_rate=zeros(md. numberofnodes,1);47 md.surfaceforcings.mass_balance=-10*ones(md.mesh.numberofvertices,1); 48 md.basalforcings.melting_rate=zeros(md.mesh.numberofvertices,1); 49 49 pos=find(md.mask.vertexonfloatingice);md.basalforcings.melting_rate(pos)=10; 50 50 51 51 %Friction 52 52 pos=find(md.mask.elementonfloatingice); 53 md.friction.coefficient=20*ones(md. numberofnodes,1);53 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); 54 54 md.friction.coefficient(md.elements(pos,:))=0; 55 md.friction.p=ones(md. numberofelements,1);56 md.friction.q=ones(md. numberofelements,1);55 md.friction.p=ones(md.mesh.numberofelements,1); 56 md.friction.q=ones(md.mesh.numberofelements,1); 57 57 58 58 %Numerical parameters … … 75 75 76 76 %Deal with boundary conditions: 77 md.diagnostic.spcvx=NaN*ones(md. numberofnodes,1);78 md.diagnostic.spcvy=NaN*ones(md. numberofnodes,1);79 md.diagnostic.spcvz=NaN*ones(md. numberofnodes,1);77 md.diagnostic.spcvx=NaN*ones(md.mesh.numberofvertices,1); 78 md.diagnostic.spcvy=NaN*ones(md.mesh.numberofvertices,1); 79 md.diagnostic.spcvz=NaN*ones(md.mesh.numberofvertices,1); 80 80 81 81 pos=find(md.x==0 & md.y==0); … … 86 86 pressureload=[pressureload 1*md.mask.elementonfloatingice(pressureload(:,end)) + 0*md.mask.elementongroundedice(pressureload(:,end))]; 87 87 md.diagnostic.icefront=pressureload; 88 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);89 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);90 md.diagnostic.referential=NaN*ones(md. numberofnodes,6);88 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 89 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 90 md.diagnostic.referential=NaN*ones(md.mesh.numberofvertices,6); 91 91 92 92 %Change name so that no test have the same name -
issm/trunk/test/Par/RoundSheetStaticEISMINT.par
r9691 r9725 9 9 10 10 disp(' creating drag'); 11 md.friction.coefficient=20*ones(md. numberofnodes,1); %q=1. %no drag is specified in the analytical solution11 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); %q=1. %no drag is specified in the analytical solution 12 12 %Take care of iceshelves: no basal drag 13 13 pos=find(md.mask.elementonfloatingice); 14 14 md.friction.coefficient(md.elements(pos,:))=0; 15 md.friction.p=ones(md. numberofelements,1);16 md.friction.q=ones(md. numberofelements,1);15 md.friction.p=ones(md.mesh.numberofelements,1); 16 md.friction.q=ones(md.mesh.numberofelements,1); 17 17 18 18 disp(' creating temperatures'); … … 20 20 st=1.67*10^-2/1000; %k/m; 21 21 md.initialization.temperature=(tmin+st*radius); 22 md.basalforcings.geothermalflux=4.2*10^-2*ones(md. numberofnodes,1);22 md.basalforcings.geothermalflux=4.2*10^-2*ones(md.mesh.numberofvertices,1); 23 23 24 24 disp(' creating flow law paramter'); 25 md.materials.rheology_B=6.81*10^(7)*ones(md. numberofnodes,1); %to have the same B as the analytical solution26 md.materials.rheology_n=3*ones(md. numberofelements,1);25 md.materials.rheology_B=6.81*10^(7)*ones(md.mesh.numberofvertices,1); %to have the same B as the analytical solution 26 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 27 27 28 28 disp(' creating surface mass balance'); … … 37 37 md.inversion.vy_obs=constant/2*md.y.*(md.geometry.thickness).^-1; 38 38 md.inversion.vel_obs=(sqrt((md.inversion.vx_obs).^2+(md.inversion.vy_obs).^2)); 39 md.initialization.vx=zeros(md. numberofnodes,1);40 md.initialization.vy=zeros(md. numberofnodes,1);41 md.initialization.vz=zeros(md. numberofnodes,1);42 md.initialization.pressure=zeros(md. numberofnodes,1);39 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 40 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 41 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 42 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 43 43 44 44 %Deal with boundary conditions: -
issm/trunk/test/Par/SquareEISMINT.par
r9691 r9725 4 4 ymin=min(md.y); 5 5 ymax=max(md.y); 6 md.geometry.thickness=500*ones(md. numberofnodes,1);6 md.geometry.thickness=500*ones(md.mesh.numberofvertices,1); 7 7 md.geometry.bed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 8 8 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 9 9 10 10 disp(' creating drag'); 11 md.friction.coefficient=200*ones(md. numberofnodes,1); %q=1.11 md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1. 12 12 %Take care of iceshelves: no basal drag 13 13 pos=find(md.mask.elementonfloatingice); 14 14 md.friction.coefficient(md.elements(pos,:))=0; 15 md.friction.p=ones(md. numberofelements,1);16 md.friction.q=ones(md. numberofelements,1);15 md.friction.p=ones(md.mesh.numberofelements,1); 16 md.friction.q=ones(md.mesh.numberofelements,1); 17 17 18 18 disp(' creating temperature'); 19 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);19 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 20 20 21 21 disp(' creating flow law paramter'); 22 md.materials.rheology_B=1.7687*10^8*ones(md. numberofnodes,1);23 md.materials.rheology_n=3*ones(md. numberofelements,1);22 md.materials.rheology_B=1.7687*10^8*ones(md.mesh.numberofvertices,1); 23 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 24 24 25 25 disp(' creating surface mass balance'); 26 md.surfaceforcings.mass_balance=0.2*ones(md. numberofnodes,1); %0m/a27 md.basalforcings.melting_rate=0*ones(md. numberofnodes,1); %0m/a26 md.surfaceforcings.mass_balance=0.2*ones(md.mesh.numberofvertices,1); %0m/a 27 md.basalforcings.melting_rate=0*ones(md.mesh.numberofvertices,1); %0m/a 28 28 29 29 disp(' boundary conditions '); … … 32 32 %Evolution of the ice shelf 33 33 pos=find(md.y==200000); %nodes on the upper boundary condition 34 md.balancethickness.spcthickness=NaN*ones(md. numberofnodes,1);34 md.balancethickness.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 35 35 md.balancethickness.spcthickness(pos)=500; 36 md.prognostic.spcthickness=NaN*ones(md. numberofnodes,1);36 md.prognostic.spcthickness=NaN*ones(md.mesh.numberofvertices,1); 37 37 md.prognostic.spcthickness(pos)=500; 38 38 md.prognostic.stabilization=0; %Better result with no artificial diffusivity -
issm/trunk/test/Par/SquareSheetConstrained.par
r9702 r9725 15 15 md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.x,md.y); 16 16 clear vx vy x y index; 17 md.initialization.vz=zeros(md. numberofnodes,1);18 md.initialization.pressure=zeros(md. numberofnodes,1);17 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 18 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 19 19 20 20 %Materials 21 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);21 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 22 22 md.materials.rheology_B=paterson(md.initialization.temperature); 23 md.materials.rheology_n=3*ones(md. numberofelements,1);23 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 24 24 25 25 %Friction 26 26 pos=find(md.mask.elementonfloatingice); 27 md.friction.coefficient=20*ones(md. numberofnodes,1);27 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); 28 28 md.friction.coefficient(md.elements(pos,:))=0; 29 md.friction.p=ones(md. numberofelements,1);30 md.friction.q=ones(md. numberofelements,1);29 md.friction.p=ones(md.mesh.numberofelements,1); 30 md.friction.q=ones(md.mesh.numberofelements,1); 31 31 32 32 %Numerical parameters -
issm/trunk/test/Par/SquareSheetShelf.par
r9702 r9725 18 18 md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.x,md.y); 19 19 clear vx vy x y index; 20 md.initialization.vz=zeros(md. numberofnodes,1);21 md.initialization.pressure=zeros(md. numberofnodes,1);20 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 21 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 22 22 23 23 %Materials 24 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);24 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 25 25 md.materials.rheology_B=paterson(md.initialization.temperature); 26 md.materials.rheology_n=3*ones(md. numberofelements,1);26 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 27 27 28 28 %Accumulation and melting 29 md.surfaceforcings.mass_balance=10*ones(md. numberofnodes,1);30 md.basalforcings.melting_rate=5*ones(md. numberofnodes,1);29 md.surfaceforcings.mass_balance=10*ones(md.mesh.numberofvertices,1); 30 md.basalforcings.melting_rate=5*ones(md.mesh.numberofvertices,1); 31 31 32 32 %Friction 33 33 pos=find(md.mask.elementonfloatingice); 34 md.friction.coefficient=20*ones(md. numberofnodes,1);34 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); 35 35 md.friction.coefficient(md.elements(pos,:))=0; 36 md.friction.p=ones(md. numberofelements,1);37 md.friction.q=ones(md. numberofelements,1);36 md.friction.p=ones(md.mesh.numberofelements,1); 37 md.friction.q=ones(md.mesh.numberofelements,1); 38 38 39 39 %Numerical parameters -
issm/trunk/test/Par/SquareShelf.par
r9702 r9725 15 15 md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.x,md.y); 16 16 clear vx vy x y index; 17 md.initialization.vz=zeros(md. numberofnodes,1);18 md.initialization.pressure=zeros(md. numberofnodes,1);17 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 18 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 19 19 20 20 %Materials 21 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);21 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 22 22 md.materials.rheology_B=paterson(md.initialization.temperature); 23 md.materials.rheology_n=3*ones(md. numberofelements,1);23 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 24 24 25 25 %Friction 26 26 pos=find(md.mask.elementonfloatingice); 27 md.friction.coefficient=20*ones(md. numberofnodes,1);27 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); 28 28 md.friction.coefficient(md.elements(pos,:))=0; 29 md.friction.p=ones(md. numberofelements,1);30 md.friction.q=ones(md. numberofelements,1);29 md.friction.p=ones(md.mesh.numberofelements,1); 30 md.friction.q=ones(md.mesh.numberofelements,1); 31 31 32 32 %Numerical parameters -
issm/trunk/test/Par/SquareShelfConstrained.par
r9702 r9725 15 15 md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.x,md.y); 16 16 clear vx vy x y index; 17 md.initialization.vz=zeros(md. numberofnodes,1);18 md.initialization.pressure=zeros(md. numberofnodes,1);17 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 18 md.initialization.pressure=zeros(md.mesh.numberofvertices,1); 19 19 20 20 %Materials 21 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);21 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 22 22 md.materials.rheology_B=paterson(md.initialization.temperature); 23 md.materials.rheology_n=3*ones(md. numberofelements,1);23 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 24 24 25 25 %Surface mass balance and basal melting 26 md.surfaceforcings.mass_balance=10*ones(md. numberofnodes,1);27 md.basalforcings.melting_rate=5*ones(md. numberofnodes,1);26 md.surfaceforcings.mass_balance=10*ones(md.mesh.numberofvertices,1); 27 md.basalforcings.melting_rate=5*ones(md.mesh.numberofvertices,1); 28 28 29 29 %Friction 30 30 pos=find(md.mask.elementonfloatingice); 31 md.friction.coefficient=20*ones(md. numberofnodes,1);31 md.friction.coefficient=20*ones(md.mesh.numberofvertices,1); 32 32 md.friction.coefficient(md.elements(pos,:))=0; 33 md.friction.p=ones(md. numberofelements,1);34 md.friction.q=ones(md. numberofelements,1);33 md.friction.p=ones(md.mesh.numberofelements,1); 34 md.friction.q=ones(md.mesh.numberofelements,1); 35 35 36 36 %Numerical parameters -
issm/trunk/test/Par/SquareThermal.par
r9691 r9725 5 5 disp(' creating thickness'); 6 6 h=1000; 7 md.geometry.thickness=h*ones(md. numberofnodes,1);8 md.geometry.bed=-1000*ones(md. numberofnodes,1);7 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 8 md.geometry.bed=-1000*ones(md.mesh.numberofvertices,1); 9 9 md.geometry.surface=md.geometry.bed+md.geometry.thickness; 10 10 11 11 disp(' creating velocities'); 12 md.initialization.vx=zeros(md. numberofnodes,1);13 md.initialization.vy=zeros(md. numberofnodes,1);14 md.initialization.vz=zeros(md. numberofnodes,1);12 md.initialization.vx=zeros(md.mesh.numberofvertices,1); 13 md.initialization.vy=zeros(md.mesh.numberofvertices,1); 14 md.initialization.vz=zeros(md.mesh.numberofvertices,1); 15 15 16 16 disp(' creating drag'); 17 md.friction.coefficient=200*ones(md. numberofnodes,1); %q=1.17 md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1. 18 18 %Take care of iceshelves: no basal drag 19 19 pos=find(md.mask.elementonfloatingice); 20 20 md.friction.coefficient(md.elements(pos,:))=0; 21 md.friction.p=ones(md. numberofelements,1);22 md.friction.q=ones(md. numberofelements,1);21 md.friction.p=ones(md.mesh.numberofelements,1); 22 md.friction.q=ones(md.mesh.numberofelements,1); 23 23 24 24 disp(' creating temperatures'); 25 md.initialization.temperature=(273-20)*ones(md. numberofnodes,1);25 md.initialization.temperature=(273-20)*ones(md.mesh.numberofvertices,1); 26 26 27 27 disp(' creating flow law paramter'); 28 28 md.materials.rheology_B=paterson(md.initialization.temperature); 29 md.materials.rheology_n=3*ones(md. numberofelements,1);29 md.materials.rheology_n=3*ones(md.mesh.numberofelements,1); 30 30 31 31 disp(' creating surface mass balance'); 32 md.surfaceforcings.mass_balance=ones(md. numberofnodes,1)/md.constants.yts; %1m/a33 md.basalforcings.melting_rate=0*ones(md. numberofnodes,1)/md.constants.yts; %1m/a32 md.surfaceforcings.mass_balance=ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a 33 md.basalforcings.melting_rate=0*ones(md.mesh.numberofvertices,1)/md.constants.yts; %1m/a 34 34 35 35 %Deal with boundary conditions: … … 40 40 disp(' boundary conditions for thermal model'); 41 41 md.thermal.spctemperature(:)=md.initialization.temperature; 42 md.basalforcings.geothermalflux=zeros(md. numberofnodes,1);42 md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1); 43 43 pos=find(md.mask.elementongroundedice);md.basalforcings.geothermalflux(md.elements(pos,:))=1*10^-3; %1 mW/m^2
Note:
See TracChangeset
for help on using the changeset viewer.