Changeset 9642
- Timestamp:
- 09/07/11 08:52:50 (13 years ago)
- Location:
- issm/trunk
- Files:
-
- 7 added
- 2 deleted
- 64 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/etc/environment_variables.sh
r9482 r9642 91 91 92 92 #sdk 93 SDK_DIR="C:/MicrosoftVisualStudio 9.0/Microsoft Visual C++ 2008 Express Edition with SP1 - ENU"93 #SDK_DIR="C:/MicrosoftVisualStudio 9.0/Microsoft Visual C++ 2008 Express Edition with SP1 - ENU" 94 94 95 95 #ssh -
issm/trunk/externalpackages/vim/addons/vim/syntax/c.vim
r9403 r9642 543 543 544 544 "ISSM's Enums begin 545 syn keyword cConstant ConstantsGEnum 546 syn keyword cConstant ConstantsReferencetemperatureEnum 547 syn keyword cConstant ConstantsYtsEnum 548 syn keyword cConstant SurfaceforcingsAccumulationRateEnum 549 syn keyword cConstant SurfaceforcingsAblationRateEnum 550 syn keyword cConstant SurfaceforcingsMassBalanceEnum 545 551 syn keyword cConstant ConstraintsEnum 546 syn keyword cConstant DatasetsEnum547 552 syn keyword cConstant ElementsEnum 548 553 syn keyword cConstant LoadsEnum … … 550 555 syn keyword cConstant NodesEnum 551 556 syn keyword cConstant ParametersEnum 557 syn keyword cConstant VerticesEnum 552 558 syn keyword cConstant ResultsEnum 553 syn keyword cConstant VerticesEnum554 559 syn keyword cConstant SolutionTypeEnum 555 560 syn keyword cConstant AnalysisTypeEnum … … 557 562 syn keyword cConstant AnalysisCounterEnum 558 563 syn keyword cConstant DiagnosticSolutionEnum 559 syn keyword cConstant DiagnosticAnalysisEnum560 564 syn keyword cConstant DiagnosticHorizAnalysisEnum 561 565 syn keyword cConstant DiagnosticVertAnalysisEnum … … 565 569 syn keyword cConstant AdjointBalancethicknessAnalysisEnum 566 570 syn keyword cConstant ControlAnalysisEnum 567 syn keyword cConstant GradientAnalysisEnum568 syn keyword cConstant InverseAnalysisEnum569 571 syn keyword cConstant ThermalSolutionEnum 570 572 syn keyword cConstant ThermalAnalysisEnum … … 573 575 syn keyword cConstant TransientSolutionEnum 574 576 syn keyword cConstant GroundinglineMigration2DSolutionEnum 575 syn keyword cConstant SteadyAnalysisEnum576 syn keyword cConstant TransientAnalysisEnum577 577 syn keyword cConstant BedSlopeSolutionEnum 578 578 syn keyword cConstant BedSlopeAnalysisEnum … … 585 585 syn keyword cConstant BalancethicknessSolutionEnum 586 586 syn keyword cConstant BalancethicknessAnalysisEnum 587 syn keyword cConstant Fake31Enum588 syn keyword cConstant Fake32Enum589 587 syn keyword cConstant PrognosticSolutionEnum 590 588 syn keyword cConstant PrognosticAnalysisEnum 591 589 syn keyword cConstant MeltingAnalysisEnum 592 syn keyword cConstant ParametersSolutionEnum593 syn keyword cConstant ParametersAnalysisEnum594 590 syn keyword cConstant SteadystateSolutionEnum 595 syn keyword cConstant SteadystateAnalysisEnum596 591 syn keyword cConstant FlaimSolutionEnum 597 592 syn keyword cConstant FlaimAnalysisEnum … … 606 601 syn keyword cConstant PattynStokesApproximationEnum 607 602 syn keyword cConstant StokesApproximationEnum 608 syn keyword cConstant ObjectEnum609 603 syn keyword cConstant HookEnum 610 604 syn keyword cConstant SegmentEnum 611 605 syn keyword cConstant ElementEnum 612 606 syn keyword cConstant DofIndexingEnum 613 syn keyword cConstant ElementPropertiesEnum614 syn keyword cConstant NodePropertiesEnum615 607 syn keyword cConstant PentaEnum 616 608 syn keyword cConstant TriaEnum 617 609 syn keyword cConstant NodeEnum 618 610 syn keyword cConstant VertexEnum 619 syn keyword cConstant LoadEnum620 611 syn keyword cConstant IcefrontEnum 621 612 syn keyword cConstant NumericalfluxEnum 622 613 syn keyword cConstant PengridEnum 623 614 syn keyword cConstant PenpairEnum 624 syn keyword cConstant QuadRiftFrontEnum625 615 syn keyword cConstant RiftfrontEnum 626 616 syn keyword cConstant SegmentRiftfrontEnum … … 629 619 syn keyword cConstant PattynIceFrontEnum 630 620 syn keyword cConstant StokesIceFrontEnum 631 syn keyword cConstant MaterialEnum632 621 syn keyword cConstant MaticeEnum 633 622 syn keyword cConstant MatparEnum … … 638 627 syn keyword cConstant PentaVertexInputEnum 639 628 syn keyword cConstant TriaVertexInputEnum 640 syn keyword cConstant Fake0Enum641 syn keyword cConstant Fake1Enum642 629 syn keyword cConstant ControlInputEnum 643 630 syn keyword cConstant ParamEnum … … 658 645 syn keyword cConstant SpcStaticEnum 659 646 syn keyword cConstant SpcTransientEnum 660 syn keyword cConstant GeographyEnum661 647 syn keyword cConstant IceSheetEnum 662 648 syn keyword cConstant IceShelfEnum … … 672 658 syn keyword cConstant AdjointzEnum 673 659 syn keyword cConstant AdjointpEnum 674 syn keyword cConstant Fake35Enum675 660 syn keyword cConstant BedEnum 676 661 syn keyword cConstant BathymetryEnum … … 680 665 syn keyword cConstant CmResponseEnum 681 666 syn keyword cConstant CmResponsesEnum 682 syn keyword cConstant Fake2Enum683 667 syn keyword cConstant ConstantEnum 684 syn keyword cConstant Fake37Enum685 668 syn keyword cConstant ControlTypeEnum 686 669 syn keyword cConstant ConvergedEnum 687 syn keyword cConstant Fake3Enum688 670 syn keyword cConstant DragCoefficientEnum 689 671 syn keyword cConstant DragPEnum 690 672 syn keyword cConstant DragQEnum 691 syn keyword cConstant DragTypeEnum692 673 syn keyword cConstant DtEnum 693 674 syn keyword cConstant TimeAdaptEnum 694 675 syn keyword cConstant CflCoefficientEnum 695 676 syn keyword cConstant ElementOnBedEnum 677 syn keyword cConstant ElementOnIceSheetEnum 696 678 syn keyword cConstant ElementOnIceShelfEnum 697 679 syn keyword cConstant ElementOnSurfaceEnum 698 680 syn keyword cConstant ElementOnWaterEnum 699 syn keyword cConstant Fake4Enum700 681 syn keyword cConstant FillEnum 701 682 syn keyword cConstant FractionIncrementEnum 702 683 syn keyword cConstant FrictionEnum 703 syn keyword cConstant Fake5Enum704 684 syn keyword cConstant HydrostaticAdjustmentEnum 705 685 syn keyword cConstant InternalEnum 706 syn keyword cConstant KflagEnum707 686 syn keyword cConstant IuToExtEnum 708 687 syn keyword cConstant ExtToIuEnum … … 715 694 syn keyword cConstant SurfaceAverageVelMisfitEnum 716 695 syn keyword cConstant MaxPenetrationEnum 717 syn keyword cConstant Fake6Enum718 696 syn keyword cConstant MeltingOffsetEnum 719 697 syn keyword cConstant GroundinglineMeltingRateEnum … … 726 704 syn keyword cConstant NumberNodeToElementConnectivityEnum 727 705 syn keyword cConstant PenaltyOffsetEnum 728 syn keyword cConstant PflagEnum729 706 syn keyword cConstant PressureEnum 730 707 syn keyword cConstant PressurePicardEnum … … 738 715 syn keyword cConstant ShelfDampeningEnum 739 716 syn keyword cConstant StabilizeConstraintsEnum 740 syn keyword cConstant Fake7Enum741 syn keyword cConstant SurfaceAccumulationRateEnum742 syn keyword cConstant SurfaceAblationRateEnum743 717 syn keyword cConstant SurfaceAreaEnum 744 718 syn keyword cConstant SurfaceEnum 745 syn keyword cConstant SurfaceMassBalanceEnum746 719 syn keyword cConstant SurfaceSlopeXEnum 747 720 syn keyword cConstant SurfaceSlopeYEnum … … 766 739 syn keyword cConstant VyPicardEnum 767 740 syn keyword cConstant QmuVyEnum 768 syn keyword cConstant VzAverageEnum769 741 syn keyword cConstant VzEnum 770 742 syn keyword cConstant VzObsEnum … … 778 750 syn keyword cConstant P1Enum 779 751 syn keyword cConstant P1DGEnum 780 syn keyword cConstant MiniEnum781 752 syn keyword cConstant DoubleElementResultEnum 782 753 syn keyword cConstant TriaVertexElementResultEnum … … 796 767 syn keyword cConstant TimeEnum 797 768 syn keyword cConstant OutputFrequencyEnum 798 syn keyword cConstant Fake8Enum799 769 syn keyword cConstant WaterColumnOldEnum 800 syn keyword cConstant Fake34Enum801 770 syn keyword cConstant IoGatherEnum 802 771 syn keyword cConstant MinVelEnum … … 812 781 syn keyword cConstant MaxAbsVzEnum 813 782 syn keyword cConstant RelativeEnum 814 syn keyword cConstant ResidualEnum815 783 syn keyword cConstant AbsoluteEnum 816 784 syn keyword cConstant IncrementalEnum … … 821 789 syn keyword cConstant RhoWaterEnum 822 790 syn keyword cConstant GravityEnum 823 syn keyword cConstant Fake9Enum824 791 syn keyword cConstant BasalMeltingRateCorrectionEnum 825 syn keyword cConstant BasalMeltingRateCorrectionApplyEnum826 792 syn keyword cConstant MixedLayerCapacityEnum 827 793 syn keyword cConstant ThermalExchangeVelocityEnum … … 843 809 syn keyword cConstant ConnectivityEnum 844 810 syn keyword cConstant ControlSteadyEnum 845 syn keyword cConstant DakotaParameterEnum846 811 syn keyword cConstant DimEnum 847 812 syn keyword cConstant EpsAbsEnum … … 849 814 syn keyword cConstant EpsRelEnum 850 815 syn keyword cConstant EpsResEnum 851 syn keyword cConstant Fake10Enum852 syn keyword cConstant Fake29Enum853 syn keyword cConstant Fake11Enum854 syn keyword cConstant Fake12Enum855 syn keyword cConstant Fake13Enum856 syn keyword cConstant Fake14Enum857 816 syn keyword cConstant LowmemEnum 858 syn keyword cConstant Fake16Enum859 817 syn keyword cConstant MaxNonlinearIterationsEnum 860 syn keyword cConstant Fake17Enum861 818 syn keyword cConstant MinMechanicalConstraintsEnum 862 819 syn keyword cConstant MinThermalConstraintsEnum 863 syn keyword cConstant Fake18Enum864 820 syn keyword cConstant NdtEnum 865 syn keyword cConstant NumOutputEnum866 821 syn keyword cConstant NumriftsEnum 867 822 syn keyword cConstant NumberOfElementsEnum 868 syn keyword cConstant NumberOfNodesEnum869 823 syn keyword cConstant NumberOfVerticesEnum 870 syn keyword cConstant Fake19Enum871 824 syn keyword cConstant OutputFilePointerEnum 872 syn keyword cConstant Fake20Enum 873 syn keyword cConstant Fake21Enum 874 syn keyword cConstant PenaltyMeltingEnum 875 syn keyword cConstant QmuAnalysisEnum 825 syn keyword cConstant DakotaAnalysisEnum 876 826 syn keyword cConstant QmuErrNameEnum 877 827 syn keyword cConstant QmuInNameEnum 878 828 syn keyword cConstant QmuMassFluxSegmentsEnum 879 syn keyword cConstant Fake39Enum880 829 syn keyword cConstant QmuOutNameEnum 881 830 syn keyword cConstant QmuPartEnum 882 831 syn keyword cConstant QmuNumberOfResponsesEnum 883 syn keyword cConstant QmuSaveFemmodelEnum884 832 syn keyword cConstant IndexedEnum 885 833 syn keyword cConstant RegularEnum … … 888 836 syn keyword cConstant NodalEnum 889 837 syn keyword cConstant ResponsedescriptorsEnum 890 syn keyword cConstant PetscRcEnum891 syn keyword cConstant SparsityEnum892 syn keyword cConstant Fake22Enum893 838 syn keyword cConstant VariabledescriptorsEnum 894 839 syn keyword cConstant VerboseEnum 895 syn keyword cConstant Fake23Enum896 840 syn keyword cConstant PetscOptionsStringsEnum 897 841 syn keyword cConstant PetscOptionsAnalysesEnum … … 900 844 syn keyword cConstant SsetEnum 901 845 syn keyword cConstant GroundinglineMigrationEnum 902 syn keyword cConstant YtsEnum903 846 syn keyword cConstant TriangleInterpEnum 904 847 syn keyword cConstant BilinearInterpEnum … … 907 850 syn keyword cConstant OptionCellEnum 908 851 syn keyword cConstant OptionCharEnum 852 syn keyword cConstant OptionStructEnum 909 853 syn keyword cConstant OptionDoubleEnum 910 854 syn keyword cConstant OptionLogicalEnum 911 syn keyword cConstant OptionStructEnum912 855 syn keyword cConstant RheologyLawEnum 913 856 syn keyword cConstant PatersonEnum … … 916 859 syn keyword cConstant VyMeshEnum 917 860 syn keyword cConstant VzMeshEnum 918 syn keyword cConstant Fake24Enum919 syn keyword cConstant Fake25Enum920 syn keyword cConstant Fake26Enum921 861 syn keyword cConstant EnthalpySolutionEnum 922 862 syn keyword cConstant EnthalpyAnalysisEnum 923 863 syn keyword cConstant EnthalpyEnum 924 864 syn keyword cConstant EnthalpyPicardEnum 925 syn keyword cConstant Fake27Enum926 syn keyword cConstant Fake28Enum927 865 syn keyword cConstant ThicknessAbsGradientEnum 928 syn keyword cConstant VelAbsGradientEnum929 866 syn keyword cConstant DatasetInputEnum 930 syn keyword cConstant Fake38Enum931 867 syn keyword cConstant StepResponsesEnum 932 868 syn keyword cConstant IntMatParamEnum … … 938 874 syn keyword cConstant SpcvyEnum 939 875 syn keyword cConstant HydroQEnum 940 syn keyword cConstant VerboseBinaryEnum941 876 syn keyword cConstant NodeOnWaterEnum 942 877 syn keyword cConstant YEnum 943 syn keyword cConstant GlMeltingRateEnum944 878 syn keyword cConstant ElementsTypeEnum 945 879 syn keyword cConstant PenaltiesEnum … … 950 884 syn keyword cConstant VerticesTypeEnum 951 885 syn keyword cConstant HydroKnEnum 952 syn keyword cConstant GEnum953 syn keyword cConstant InputfilenameEnum954 886 syn keyword cConstant SpcvzEnum 955 syn keyword cConstant Fake33Enum956 887 syn keyword cConstant NumberOfNodes2DEnum 957 888 syn keyword cConstant NodeOnStokesEnum 958 889 syn keyword cConstant NodeOnHutterEnum 959 890 syn keyword cConstant ZEnum 960 syn keyword cConstant Fake36Enum 961 syn keyword cConstant RiftinfoEnum 962 syn keyword cConstant ElementOnIceSheetEnum 891 syn keyword cConstant RiftsEnum 963 892 syn keyword cConstant SpcthicknessEnum 964 893 syn keyword cConstant SpctemperatureEnum … … 977 906 syn keyword cConstant ArtificialDiffusivityEnum 978 907 syn keyword cConstant HydroNEnum 979 syn keyword cConstant BorderstokesEnum980 908 syn keyword cConstant NumlayersEnum 981 909 syn keyword cConstant DiagnosticRefEnum … … 989 917 syn keyword cConstant ThermalconductivityEnum 990 918 syn keyword cConstant MeltingpointEnum 991 syn keyword cConstant ReferencetemperatureEnum992 919 syn keyword cConstant DhdtEnum 993 920 syn keyword cConstant GeothermalfluxEnum … … 999 926 syn keyword cConstant TolxEnum 1000 927 syn keyword cConstant OptscalEnum 1001 syn keyword cConstant EpsvelEnum1002 syn keyword cConstant MeanvelEnum1003 syn keyword cConstant Fake30Enum1004 928 syn keyword cConstant OutputfilenameEnum 1005 929 syn keyword cConstant WaterfractionEnum 1006 930 syn keyword cConstant WatercolumnEnum 1007 931 syn keyword cConstant WaitonlockEnum 1008 syn keyword cConstant NumberOfVariablesEnum1009 932 syn keyword cConstant NumberOfResponsesEnum 1010 933 syn keyword cConstant NpartEnum 1011 syn keyword cConstant QmuMassFluxNumProfilesEnum1012 934 syn keyword cConstant PartEnum 1013 935 syn keyword cConstant MaxSteadystateIterationsEnum … … 1017 939 syn keyword cConstant ViscousHeatingEnum 1018 940 syn keyword cConstant QmuTemperatureEnum 1019 syn keyword cConstant QmuRheologyBEnum1020 941 syn keyword cConstant HydrologyWaterVxEnum 1021 942 syn keyword cConstant HydrologyWaterVyEnum 1022 943 syn keyword cConstant SpcDynamicEnum 1023 944 syn keyword cConstant NumberOfEdgesEnum 945 syn keyword cConstant ResultsOnVerticesEnum 946 syn keyword cConstant AdAnalysisEnum 947 syn keyword cConstant AdForwardEnum 948 syn keyword cConstant AdReverseEnum 1024 949 "ISSM's Enums end 1025 950 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9641 r9642 46 46 TimesteppingTimeAdaptEnum, 47 47 TimesteppingCflCoefficientEnum, 48 PrognosticSpcthicknessEnum, 49 PrognosticHydrostaticAdjustmentEnum, 50 PrognosticStabilizationEnum, 51 PrognosticVertexPairingEnum, 52 PrognosticPenaltyFactorEnum, 53 PrognosticRequestedOutputsEnum, 48 54 MaterialsRheologyBEnum, 49 55 MaterialsRheologyBbarEnum, … … 226 232 FractionIncrementEnum, 227 233 FrictionEnum, 228 HydrostaticAdjustmentEnum,229 234 InternalEnum, 230 235 IuToExtEnum, … … 422 427 YEnum, 423 428 ElementsTypeEnum, 429 PrognosticDGEnum, 424 430 PenaltiesEnum, 425 PrognosticDGEnum,426 431 PressureloadEnum, 427 432 VerticesTypeEnum, -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9641 r9642 50 50 case TimesteppingTimeAdaptEnum : return "TimesteppingTimeAdapt"; 51 51 case TimesteppingCflCoefficientEnum : return "TimesteppingCflCoefficient"; 52 case PrognosticSpcthicknessEnum : return "PrognosticSpcthickness"; 53 case PrognosticHydrostaticAdjustmentEnum : return "PrognosticHydrostaticAdjustment"; 54 case PrognosticStabilizationEnum : return "PrognosticStabilization"; 55 case PrognosticVertexPairingEnum : return "PrognosticVertexPairing"; 56 case PrognosticPenaltyFactorEnum : return "PrognosticPenaltyFactor"; 57 case PrognosticRequestedOutputsEnum : return "PrognosticRequestedOutputs"; 52 58 case MaterialsRheologyBEnum : return "MaterialsRheologyB"; 53 59 case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar"; … … 193 199 case FractionIncrementEnum : return "FractionIncrement"; 194 200 case FrictionEnum : return "Friction"; 195 case HydrostaticAdjustmentEnum : return "HydrostaticAdjustment";196 201 case InternalEnum : return "Internal"; 197 202 case IuToExtEnum : return "IuToExt"; … … 366 371 case YEnum : return "Y"; 367 372 case ElementsTypeEnum : return "ElementsType"; 373 case PrognosticDGEnum : return "PrognosticDG"; 368 374 case PenaltiesEnum : return "Penalties"; 369 case PrognosticDGEnum : return "PrognosticDG";370 375 case PressureloadEnum : return "Pressureload"; 371 376 case VerticesTypeEnum : return "VerticesType"; -
issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp
r9636 r9642 40 40 parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeAdaptEnum)); 41 41 parameters->AddObject(iomodel->CopyConstantObject(TimesteppingCflCoefficientEnum)); 42 parameters->AddObject(iomodel->CopyConstantObject(HydrostaticAdjustmentEnum)); 42 parameters->AddObject(iomodel->CopyConstantObject(PrognosticHydrostaticAdjustmentEnum)); 43 parameters->AddObject(iomodel->CopyConstantObject(PrognosticStabilizationEnum)); 43 44 parameters->AddObject(iomodel->CopyConstantObject(PenaltyOffsetEnum)); 44 45 parameters->AddObject(iomodel->CopyConstantObject(ThermalPenaltyFactorEnum)); -
issm/trunk/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
r9619 r9642 30 30 int numlayers; 31 31 int numrifts; 32 int num penalties;32 int numvertex_pairing; 33 33 34 34 /*output: */ … … 45 45 double* elements2d=NULL; 46 46 double* riftinfo=NULL; 47 double* penalties=NULL;47 double* vertex_pairing=NULL; 48 48 49 49 /*Fetch parameters: */ … … 127 127 xfree((void**)&elements); 128 128 129 /*We might have penaltiesin which case, some vertices have to be cloned:129 /*We might have vertex_pairing in which case, some vertices have to be cloned: 130 130 * penpair has 2 nodes that are poointing toward 2 vertices. 131 131 * The 2 vertices must be in the same cpu as the penpair*/ 132 iomodel->FetchData(& penalties,&numpenalties,NULL,PenaltiesEnum);133 for(i=0;i<num penalties;i++){134 if(my_vertices[(int) penalties[2*i+0]-1] && !my_vertices[(int)penalties[2*i+1]-1]){135 my_vertices[(int) penalties[2*i+1]-1]=2; //to know that these elements are not on the partition132 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,PenaltiesEnum); 133 for(i=0;i<numvertex_pairing;i++){ 134 if(my_vertices[(int)vertex_pairing[2*i+0]-1] && !my_vertices[(int)vertex_pairing[2*i+1]-1]){ 135 my_vertices[(int)vertex_pairing[2*i+1]-1]=2; //to know that these elements are not on the partition 136 136 } 137 137 } 138 xfree((void**)&penalties); 138 xfree((void**)&vertex_pairing); 139 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,PrognosticVertexPairingEnum); 140 for(i=0;i<numvertex_pairing;i++){ 141 if(my_vertices[(int)vertex_pairing[2*i+0]-1] && !my_vertices[(int)vertex_pairing[2*i+1]-1]){ 142 my_vertices[(int)vertex_pairing[2*i+1]-1]=2; //to know that these elements are not on the partition 143 } 144 } 145 xfree((void**)&vertex_pairing); 139 146 140 147 /*Free ressources:*/ -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp
r9405 r9642 10 10 void CreateConstraintsPrognostic(Constraints** pconstraints, IoModel* iomodel){ 11 11 12 int prognostic_DG;12 int stabilization; 13 13 14 14 /*Fetch parameters: */ 15 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);15 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 16 16 17 17 /*Output*/ … … 25 25 26 26 /*Do not add constraints in DG, they are weakly imposed*/ 27 if(! prognostic_DG){28 IoModelToConstraintsx(constraints,iomodel, SpcthicknessEnum,PrognosticAnalysisEnum);27 if(!stabilization==3){ 28 IoModelToConstraintsx(constraints,iomodel,PrognosticSpcthicknessEnum,PrognosticAnalysisEnum); 29 29 } 30 30 -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
r9641 r9642 18 18 int penpair_ids[2]; 19 19 int count=0; 20 int prognostic_DG;20 int stabilization; 21 21 int numberofedges; 22 int num penalties;22 int numvertex_pairing; 23 23 int numberofelements; 24 24 … … 27 27 28 28 /*Fetch parameters: */ 29 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);29 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 30 30 iomodel->Constant(&numberofelements,NumberOfElementsEnum); 31 31 iomodel->Constant(&numberofedges,NumberOfEdgesEnum); … … 38 38 39 39 /*Loads only in DG*/ 40 if ( prognostic_DG){40 if (stabilization==3){ 41 41 42 42 /*Get edges and elements*/ … … 60 60 } 61 61 62 /*Create Penpair for penalties: */63 double * penalties=NULL;62 /*Create Penpair for vertex_pairing: */ 63 double *vertex_pairing=NULL; 64 64 double *nodeonbed=NULL; 65 iomodel->FetchData(& penalties,&numpenalties,NULL,PenaltiesEnum);65 iomodel->FetchData(&vertex_pairing,&numvertex_pairing,NULL,PrognosticVertexPairingEnum); 66 66 iomodel->FetchData(&nodeonbed,NULL,NULL,NodeonbedEnum); 67 67 68 for(i=0;i<num penalties;i++){68 for(i=0;i<numvertex_pairing;i++){ 69 69 70 if(iomodel->my_vertices[(int) penalties[2*i+0]-1]){70 if(iomodel->my_vertices[(int)vertex_pairing[2*i+0]-1]){ 71 71 72 72 /*In debugging mode, check that the second node is in the same cpu*/ 73 _assert_(iomodel->my_vertices[(int) penalties[2*i+1]-1]);73 _assert_(iomodel->my_vertices[(int)vertex_pairing[2*i+1]-1]); 74 74 75 75 /*Skip if one of the two is not on the bed*/ 76 if(!nodeonbed[(int) penalties[2*i+0]-1] || !nodeonbed[(int)penalties[2*i+1]-1]) continue;76 if(!nodeonbed[(int)vertex_pairing[2*i+0]-1] || !nodeonbed[(int)vertex_pairing[2*i+1]-1]) continue; 77 77 78 78 /*Get node ids*/ 79 penpair_ids[0]=iomodel->nodecounter+(int) penalties[2*i+0];80 penpair_ids[1]=iomodel->nodecounter+(int) penalties[2*i+1];79 penpair_ids[0]=iomodel->nodecounter+(int)vertex_pairing[2*i+0]; 80 penpair_ids[1]=iomodel->nodecounter+(int)vertex_pairing[2*i+1]; 81 81 82 82 /*Create Load*/ … … 90 90 91 91 /*free ressources: */ 92 xfree((void**)& penalties);92 xfree((void**)&vertex_pairing); 93 93 xfree((void**)&nodeonbed); 94 94 -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
r9641 r9642 24 24 int numberofelements; 25 25 int numberofvertices; 26 int prognostic_DG;26 int stabilization; 27 27 28 28 /*DataSets: */ … … 33 33 iomodel->Constant(&numberofelements,NumberOfElementsEnum); 34 34 iomodel->Constant(&numberofvertices,NumberOfVerticesEnum); 35 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);35 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 36 36 37 37 /*Recover pointer: */ … … 42 42 43 43 /*Create partition of nodes: */ 44 if( prognostic_DG) continuous_galerkin=false;44 if(stabilization==3) continuous_galerkin=false; 45 45 NodesPartitioning(&iomodel->my_nodes,iomodel->my_elements,iomodel->my_vertices,iomodel,continuous_galerkin); 46 46 47 47 /*Check in 3d*/ 48 if( prognostic_DG&& dim==3) _error_("DG 3d not implemented yet");48 if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet"); 49 49 50 50 /*First fetch data: */ -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r9641 r9642 18 18 int dim; 19 19 int numberofelements; 20 int prognostic_DG;20 int stabilization; 21 21 22 22 /*Fetch data needed: */ 23 23 iomodel->Constant(&dim,DimEnum); 24 24 iomodel->Constant(&numberofelements,NumberOfElementsEnum); 25 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);25 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 26 26 iomodel->FetchData(1,ElementsEnum); 27 27 … … 49 49 iomodel->FetchDataToInput(elements,VyEnum); 50 50 51 if( prognostic_DG){52 iomodel->FetchDataToInput(elements, SpcthicknessEnum); //for DG, we need the spc in the element51 if(stabilization==3){ 52 iomodel->FetchDataToInput(elements,PrognosticSpcthicknessEnum); //for DG, we need the spc in the element 53 53 } 54 54 -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9641 r9642 48 48 else if (strcmp(name,"TimesteppingTimeAdapt")==0) return TimesteppingTimeAdaptEnum; 49 49 else if (strcmp(name,"TimesteppingCflCoefficient")==0) return TimesteppingCflCoefficientEnum; 50 else if (strcmp(name,"PrognosticSpcthickness")==0) return PrognosticSpcthicknessEnum; 51 else if (strcmp(name,"PrognosticHydrostaticAdjustment")==0) return PrognosticHydrostaticAdjustmentEnum; 52 else if (strcmp(name,"PrognosticStabilization")==0) return PrognosticStabilizationEnum; 53 else if (strcmp(name,"PrognosticVertexPairing")==0) return PrognosticVertexPairingEnum; 54 else if (strcmp(name,"PrognosticPenaltyFactor")==0) return PrognosticPenaltyFactorEnum; 55 else if (strcmp(name,"PrognosticRequestedOutputs")==0) return PrognosticRequestedOutputsEnum; 50 56 else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum; 51 57 else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum; … … 191 197 else if (strcmp(name,"FractionIncrement")==0) return FractionIncrementEnum; 192 198 else if (strcmp(name,"Friction")==0) return FrictionEnum; 193 else if (strcmp(name,"HydrostaticAdjustment")==0) return HydrostaticAdjustmentEnum;194 199 else if (strcmp(name,"Internal")==0) return InternalEnum; 195 200 else if (strcmp(name,"IuToExt")==0) return IuToExtEnum; … … 364 369 else if (strcmp(name,"Y")==0) return YEnum; 365 370 else if (strcmp(name,"ElementsType")==0) return ElementsTypeEnum; 371 else if (strcmp(name,"PrognosticDG")==0) return PrognosticDGEnum; 366 372 else if (strcmp(name,"Penalties")==0) return PenaltiesEnum; 367 else if (strcmp(name,"PrognosticDG")==0) return PrognosticDGEnum;368 373 else if (strcmp(name,"Pressureload")==0) return PressureloadEnum; 369 374 else if (strcmp(name,"VerticesType")==0) return VerticesTypeEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r9641 r9642 6168 6168 surface_input->GetValuesPtr(&surface_ptr,&dummy); 6169 6169 6170 /*Fing HydrostaticAdjustment to figure out how to update the geometry:*/6171 this->parameters->FindParam(&hydroadjustment, HydrostaticAdjustmentEnum);6170 /*Fing PrognosticHydrostaticAdjustment to figure out how to update the geometry:*/ 6171 this->parameters->FindParam(&hydroadjustment,PrognosticHydrostaticAdjustmentEnum); 6172 6172 6173 6173 /*recover material parameters: */ … … 7497 7497 double nodeinputs[6]; 7498 7498 double yts; 7499 int prognostic_DG;7499 int stabilization; 7500 7500 bool dakota_analysis; 7501 7501 bool isstokes; … … 7504 7504 /*Fetch parameters: */ 7505 7505 iomodel->Constant(&yts,ConstantsYtsEnum); 7506 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);7506 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 7507 7507 iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum); 7508 7508 iomodel->Constant(&isstokes,IsstokesEnum); … … 7519 7519 7520 7520 /*Recover element type*/ 7521 if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && prognostic_DG){7521 if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && stabilization==3){ 7522 7522 /*P1 Discontinuous Galerkin*/ 7523 7523 penta_type=P1DGEnum; -
issm/trunk/src/c/objects/Elements/PentaRef.cpp
r9320 r9642 387 387 /*}}}*/ 388 388 /*FUNCTION PentaRef::GetBArtdiff {{{1*/ 389 void PentaRef::GetBArtdiff(double* B_ artdiff, double* xyz_list, GaussPenta* gauss){389 void PentaRef::GetBArtdiff(double* B_stab, double* xyz_list, GaussPenta* gauss){ 390 390 /*Compute B matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF1. 391 391 * For node i, Bi' can be expressed in the actual coordinate system 392 392 * by: 393 * Bi_ artdiff=[ dh/dx ]393 * Bi_stab=[ dh/dx ] 394 394 * [ dh/dy ] 395 395 * where h is the interpolation function for node i. … … 406 406 /*Build B': */ 407 407 for (int i=0;i<NUMNODESP1;i++){ 408 *(B_ artdiff+NDOF1*NUMNODESP1*0+NDOF1*i)=dbasis[0][i];409 *(B_ artdiff+NDOF1*NUMNODESP1*1+NDOF1*i)=dbasis[1][i];408 *(B_stab+NDOF1*NUMNODESP1*0+NDOF1*i)=dbasis[0][i]; 409 *(B_stab+NDOF1*NUMNODESP1*1+NDOF1*i)=dbasis[1][i]; 410 410 } 411 411 } -
issm/trunk/src/c/objects/Elements/PentaRef.h
r8417 r9642 45 45 void GetBprimeVert(double* B, double* xyz_list, GaussPenta* gauss); 46 46 void GetBAdvec(double* B_advec, double* xyz_list, GaussPenta* gauss); 47 void GetBArtdiff(double* B_ artdiff, double* xyz_list, GaussPenta* gauss);47 void GetBArtdiff(double* B_stab, double* xyz_list, GaussPenta* gauss); 48 48 void GetBConduct(double* B_conduct, double* xyz_list, GaussPenta* gauss); 49 49 void GetBVert(double* B, double* xyz_list, GaussPenta* gauss); -
issm/trunk/src/c/objects/Elements/Tria.cpp
r9641 r9642 514 514 515 515 /*Intermediaries */ 516 int artdiff;516 int stabilization; 517 517 int i,j,ig,dim; 518 518 double Jdettria,vx,vy,dvxdx,dvydy,vel,h; … … 534 534 /*Retrieve all Inputs and parameters: */ 535 535 GetVerticesCoordinates(&xyz_list[0][0], nodes, NUMVERTICES); 536 this->parameters->FindParam(& artdiff,ArtificialDiffusivityEnum);536 this->parameters->FindParam(&stabilization,PrognosticStabilizationEnum); 537 537 this->parameters->FindParam(&dim,DimEnum); 538 538 Input* vxaverage_input=NULL; … … 549 549 550 550 ///*Create Artificial diffusivity once for all if requested*/ 551 //if( artdiff){551 //if(stabilization){ 552 552 // gauss=new GaussTria(); 553 553 // gauss->GaussCenter(); … … 596 596 &Ke->values[0],1); 597 597 598 if( artdiff){598 if(stabilization){ 599 599 vel=sqrt(pow(vx,2.)+pow(vy,2.)); 600 600 K[0][0]=h/(2*vel)*vx*vx; … … 1006 1006 1007 1007 /*Intermediaries */ 1008 int artdiff;1008 int stabilization; 1009 1009 int i,j,ig,dim; 1010 1010 double Jdettria,DL_scalar,dt; … … 1029 1029 this->parameters->FindParam(&dt,TimesteppingTimeStepEnum); 1030 1030 this->parameters->FindParam(&dim,DimEnum); 1031 this->parameters->FindParam(& artdiff,ArtificialDiffusivityEnum);1031 this->parameters->FindParam(&stabilization,PrognosticStabilizationEnum); 1032 1032 Input* vxaverage_input=NULL; 1033 1033 Input* vyaverage_input=NULL; … … 1042 1042 1043 1043 //Create Artificial diffusivity once for all if requested 1044 if( artdiff){1044 if(stabilization){ 1045 1045 gauss=new GaussTria(); 1046 1046 gauss->GaussCenter(); … … 1098 1098 &Ke->values[0],1); 1099 1099 1100 if( artdiff){1100 if(stabilization){ 1101 1101 KDL[0][0]=DL_scalar*K[0][0]; 1102 1102 KDL[1][1]=DL_scalar*K[1][1]; … … 3645 3645 surface_input->GetValuesPtr(&surface_ptr,&dummy); 3646 3646 3647 /*Fing HydrostaticAdjustment to figure out how to update the geometry:*/3648 this->parameters->FindParam(&hydroadjustment, HydrostaticAdjustmentEnum);3647 /*Fing PrognosticHydrostaticAdjustment to figure out how to update the geometry:*/ 3648 this->parameters->FindParam(&hydroadjustment,PrognosticHydrostaticAdjustmentEnum); 3649 3649 3650 3650 /*recover material parameters: */ … … 5209 5209 double nodeinputs[3]; 5210 5210 double yts; 5211 int prognostic_DG;5211 int stabilization; 5212 5212 bool dakota_analysis; 5213 5213 … … 5219 5219 /*Fetch parameters: */ 5220 5220 iomodel->Constant(&yts,ConstantsYtsEnum); 5221 iomodel->Constant(& prognostic_DG,PrognosticDGEnum);5221 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); 5222 5222 iomodel->Constant(&dakota_analysis,DakotaAnalysisEnum); 5223 5223 5224 5224 /*Recover element type*/ 5225 if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && prognostic_DG){5225 if ((analysis_type==PrognosticAnalysisEnum || analysis_type==BalancethicknessAnalysisEnum) && stabilization==3){ 5226 5226 /*P1 Discontinuous Galerkin*/ 5227 5227 tria_type=P1DGEnum; -
issm/trunk/src/c/objects/Loads/Numericalflux.cpp
r9628 r9642 798 798 GetVerticesCoordinates(&xyz_list[0][0],nodes,NUMVERTICES_BOUNDARY); 799 799 parameters->FindParam(&dt,TimesteppingTimeStepEnum); 800 Input* vxaverage_input =tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input);801 Input* vyaverage_input =tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input);802 Input* spcthickness_input=tria->inputs->GetInput( SpcthicknessEnum); _assert_(spcthickness_input);800 Input* vxaverage_input =tria->inputs->GetInput(VxEnum); _assert_(vxaverage_input); 801 Input* vyaverage_input =tria->inputs->GetInput(VyEnum); _assert_(vyaverage_input); 802 Input* spcthickness_input=tria->inputs->GetInput(PrognosticSpcthicknessEnum); _assert_(spcthickness_input); 803 803 GetNormal(&normal[0],xyz_list); 804 804 -
issm/trunk/src/c/objects/Loads/Penpair.cpp
r9320 r9642 372 372 373 373 const int numdof=NUMVERTICES*NDOF1; 374 double penalty_ offset;374 double penalty_factor; 375 375 376 376 /*Initialize Element vector and return if necessary*/ … … 378 378 379 379 /*recover parameters: */ 380 parameters->FindParam(&penalty_ offset,PenaltyOffsetEnum);380 parameters->FindParam(&penalty_factor,PrognosticPenaltyFactorEnum); 381 381 382 382 //Create elementary matrix: add penalty to 383 Ke->values[0*numdof+0]=+kmax*pow((double)10.0,penalty_ offset);384 Ke->values[0*numdof+1]=-kmax*pow((double)10.0,penalty_ offset);385 Ke->values[1*numdof+0]=-kmax*pow((double)10.0,penalty_ offset);386 Ke->values[1*numdof+1]=+kmax*pow((double)10.0,penalty_ offset);383 Ke->values[0*numdof+0]=+kmax*pow((double)10.0,penalty_factor); 384 Ke->values[0*numdof+1]=-kmax*pow((double)10.0,penalty_factor); 385 Ke->values[1*numdof+0]=-kmax*pow((double)10.0,penalty_factor); 386 Ke->values[1*numdof+1]=+kmax*pow((double)10.0,penalty_factor); 387 387 388 388 /*Clean up and return*/ -
issm/trunk/src/m/classes/model/model.m
r9641 r9642 27 27 timestepping = modelfield('default',0,'marshall',true); 28 28 groundingline = modelfield('default',0,'marshall',true); 29 prognostic = modelfield('default',0,'marshall',true); 29 30 materials = modelfield('default',0,'marshall',true); 30 31 mask = modelfield('default',0,'marshall',true); … … 143 144 %Transient 144 145 artificial_diffusivity = modelfield('default',0,'marshall',true,'format','Integer'); 145 prognostic_DG = modelfield('default',0,'marshall',true,'format','Integer');146 hydrostatic_adjustment = modelfield('default',0,'marshall',true,'preprocess','StringToEnum','format','Integer');147 146 isprognostic = modelfield('default',0,'marshall',true,'format','Boolean'); 148 147 isdiagnostic = modelfield('default',0,'marshall',true,'format','Boolean'); … … 399 398 if isfield(structmd,'time_adapt'), md.timestepping.time_adapt=structmd.time_adapt; end 400 399 if isfield(structmd,'cfl_coefficient'), md.timestepping.cfl_coefficient=structmd.cfl_coefficient; end 400 if isfield(structmd,'spcthickness'), md.prognostic.spcthickness=structmd.spcthickness; end 401 if isfield(structmd,'artificial_diffusivity'), md.prognostic.stabilization=structmd.artificial_diffusivity; end 402 if isfield(structmd,'hydrostatic_adjustment'), md.prognostic.hydrostatic_adjustment=structmd.hydrostatic_adjustment; end 403 if isfield(structmd,'penalties'), md.prognostic.vertex_pairing=structmd.penalties; end 404 if isfield(structmd,'penalty_offset'), md.prognostic.penalty_factor=structmd.penalty_offset; end 401 405 if isfield(structmd,'rheology_B'), md.materials.rheology_B=structmd.B; end 402 406 if isfield(structmd,'rheology_n'), md.materials.rheology_n=structmd.n; end … … 525 529 md.timestepping=timestepping; 526 530 md.groundingline=groundingline; 531 md.prognostic=prognostic; 527 532 md.materials=materials; 528 533 md.mask=mask; 529 530 534 531 535 %Physical parameters … … 589 593 md.min_mechanical_constraints=0; 590 594 591 %Hydrostatic adjustment592 md.hydrostatic_adjustment='Absolute';593 595 %the artificial diffusivity is used in prognostic to avoid 594 596 %numerical wiggles of the solution. 595 597 md.artificial_diffusivity=1; 596 597 %Discontinuous Galerkin is used in prognostic to avoid598 %numerical wiggles of the solution and conserve mass599 md.prognostic_DG=0;600 598 601 599 %Solution activated for transient runs. By default we do a … … 668 666 if(strcmp(index1.subs,'qmu')), displayqmu(md);return; end 669 667 if(strcmp(index1.subs,'diagnostic')), displaydiagnostic(md);return; end 670 if(strcmp(index1.subs,'prognostic')), displayprognostic(md);return; end671 668 if(strcmp(index1.subs,'transient')), displaytransient(md);return; end 672 669 if(strcmp(index1.subs,'control')), displaycontrol(md);return; end -
issm/trunk/src/m/model/collapse.m
r9641 r9642 59 59 md.spcvy=project2d(md,md.spcvy,md.numlayers); 60 60 md.spcvz=project2d(md,md.spcvz,md.numlayers); 61 md. spcthickness=project2d(md,md.spcthickness,md.numlayers);61 md.prognostic.spcthickness=project2d(md,md.prognostic.spcthickness,md.numlayers); 62 62 md.thermal.spctemperature=project2d(md,md.thermal.spctemperature,md.numlayers); 63 63 -
issm/trunk/src/m/model/extrude.m
r9641 r9642 176 176 md.spcvz=project3d(md,'vector',md.spcvz,'type','node'); 177 177 md.thermal.spctemperature=project3d(md,'vector',md.thermal.spctemperature,'type','node','layer',md.numlayers,'padding',NaN); 178 md. spcthickness=project3d(md,'vector',md.spcthickness,'type','node');178 md.prognostic.spcthickness=project3d(md,'vector',md.prognostic.spcthickness,'type','node'); 179 179 md.diagnostic_ref=project3d(md,'vector',md.diagnostic_ref,'type','node'); 180 180 -
issm/trunk/src/m/model/ismodelselfconsistent.m
r9641 r9642 60 60 61 61 %DG {{{1 62 if md.prognostic _DG==1;62 if md.prognostic.stabilization==3; 63 63 %CHECK THE COMPATIBILITY OF THE EDGES 64 64 fields={'edges'}; … … 166 166 message('model not consistent: artificial_diffusivity should be a scalar (0 or 1 or 2)'); 167 167 end 168 if ~ismember(md.prognostic.stabilization,[0 1 3]), 169 message('model not consistent: prognostic.stabilization should be a scalar (0 or 1 or 3)'); 170 end 168 171 if ~ismember(md.thermal.stabilization,[0 1 2]), 169 172 message('model not consistent: thermal.stabilization should be a scalar (0 or 1 or 2)'); 170 173 end 171 if ~ismember(md.prognostic_DG,[0 1]),172 message('model not consistent: prognostic_DG should be a scalar (1 or 0)');173 end174 174 if ~ismember(md.settings.lowmem,[0 1]), 175 175 message(['model not consistent: model ' md.miscellaneous.name ' settings.lowmem field should be 0 or 1']); … … 178 178 message(['model not consistent: model ' md.miscellaneous.name ' time_adapt field should be 0 or 1']); 179 179 end 180 if ~ismember(md. hydrostatic_adjustment,{'Absolute' 'Incremental'}),181 message(['model not consistent: model ' md.miscellaneous.name ' hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']);180 if ~ismember(md.prognostic.hydrostatic_adjustment,{'Absolute' 'Incremental'}), 181 message(['model not consistent: model ' md.miscellaneous.name ' prognostic.hydrostatic_adjustment field should be AbsoluteEnum or IncrementalEnum']); 182 182 end 183 183 if ~ismember({md.materials.rheology_law},{'None' 'Paterson' 'Arrhenius'}), … … 459 459 460 460 %DIRICHLET 461 fields={' spcthickness'};461 fields={'prognostic.spcthickness'}; 462 462 checkforcing(md,fields); 463 463 464 464 %DIRICHLET IF THICKNESS <= 0 465 %Check the size of spcthickness465 %Check the size of prognostic.spcthickness 466 466 if any(md.thickness<=0), 467 467 pos=find(md.thickness<=0); 468 if any(isnan(md. spcthickness(pos))),468 if any(isnan(md.prognostic.spcthickness(pos))), 469 469 message(['model not consistent: model ' md.miscellaneous.name ' has some nodes with 0 thickness']); 470 470 end -
issm/trunk/src/m/model/modelextract.m
r9641 r9642 194 194 md2.penalties=md2.penalties(find(md2.penalties(:,1)),:); 195 195 end 196 if ~isnan(md2.prognostic.vertex_pairing), 197 for i=1:size(md1.prognostic.vertex_pairing,1); 198 md2.prognostic.vertex_pairing(i,:)=Pnode(md1.prognostic.vertex_pairing(i,:)); 199 end 200 md2.prognostic.vertex_pairing=md2.prognostic.vertex_pairing(find(md2.prognostic.vertex_pairing(:,1)),:); 201 end 196 202 197 203 %recreate segments -
issm/trunk/src/m/utils/BC/SetIceSheetBC.m
r9632 r9642 55 55 end 56 56 57 md. spcthickness=NaN*ones(md.numberofnodes,1);57 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 58 58 59 59 if (length(md.temperature)==md.numberofnodes), -
issm/trunk/src/m/utils/BC/SetIceShelfBC.m
r9641 r9642 87 87 end 88 88 89 md. spcthickness=NaN*ones(md.numberofnodes,1);89 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 90 90 91 91 if (length(md.temperature)==md.numberofnodes), -
issm/trunk/src/m/utils/BC/SetMarineIceSheetBC.m
r9641 r9642 98 98 end 99 99 100 md. spcthickness=NaN*ones(md.numberofnodes,1);100 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 101 101 102 102 if (length(md.temperature)==md.numberofnodes), -
issm/trunk/template
r9641 r9642 114 114 dhdt -> rename thickening_rate 115 115 artificial_diffusivity -> rename stabilization 116 prognostic_DG -> delete 116 117 requested_outputs 117 118 }}} -
issm/trunk/test/Miscellaneous/GJM_test1/SquareShelf.par
r9641 r9642 26 26 %Numerical parameters 27 27 md.viscosity_overshoot=0.3; 28 md. artificial_diffusivity=1;28 md.prognostic.stabilization=1; 29 29 md.thermal.stabilization=1; 30 30 md.waitonlock=30; -
issm/trunk/test/Miscellaneous/connectivity/Square.par
r9641 r9642 4 4 md.dt=1*md.constants.yts; %1 year 5 5 md.ndt=md.dt*10; 6 md. artificial_diffusivity=1;6 md.prognostic.stabilization=1; 7 7 md.thermal.stabilization=1; 8 8 -
issm/trunk/test/NightlyRun/test111.m
r9641 r9642 5 5 md=setelementstype(md,'macayeal','all'); 6 6 md.cluster=none; 7 md.prognostic _DG=1;8 md. spcthickness=md.thickness;7 md.prognostic.stabilization=3; 8 md.prognostic.spcthickness=md.thickness; 9 9 md=solve(md,PrognosticSolutionEnum); 10 10 -
issm/trunk/test/NightlyRun/test1110.m
r9641 r9642 46 46 47 47 md.penalties=[posx,posx2;posy,posy2]; 48 md.prognostic.vertex_pairing=[posx,posx2;posy,posy2]; 48 49 49 50 md.timestepping.time_step=3; 50 51 md.timestepping.final_time=300; 51 52 md.output_frequency=50; 52 md.prognostic _DG=0;53 md.prognostic.stabilization=1; 53 54 md.max_nonlinear_iterations=1; 54 55 -
issm/trunk/test/NightlyRun/test112.m
r9641 r9642 5 5 md=setelementstype(md,'macayeal','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md.prognostic _DG=1;8 md. spcthickness=md.thickness;7 md.prognostic.stabilization=3; 8 md.prognostic.spcthickness=md.thickness; 9 9 md=solve(md,PrognosticSolutionEnum); 10 10 -
issm/trunk/test/NightlyRun/test1201.m
r9641 r9642 18 18 19 19 %Stabilization 20 if stabilization==1, 21 md.artificial_diffusivity=1; 22 md.prognostic_DG=0; 23 elseif stabilization==2, 24 md.artificial_diffusivity=0; 25 md.prognostic_DG=0; 26 elseif stabilization==3, 27 md.prognostic_DG=1; 20 if stabilization=1, 21 md.prognostic.stabilization=stabilization; 22 elseif stabilization=2, 23 md.prognostic.stabilization=0; 24 elseif stabilization=3, 25 md.prognostic.stabilization=stabilization; 28 26 end 29 27 … … 31 29 pos=find(md.y>199999.9); 32 30 times=0:1:500; 33 md. spcthickness=NaN*ones(md.numberofnodes+1,length(times));34 md. spcthickness(end,:)=times;35 md. spcthickness(pos,:)=repmat(500+100*sin(2*pi*times/200),length(pos),1);31 md.prognostic.spcthickness=NaN*ones(md.numberofnodes+1,length(times)); 32 md.prognostic.spcthickness(end,:)=times; 33 md.prognostic.spcthickness(pos,:)=repmat(500+100*sin(2*pi*times/200),length(pos),1); 36 34 if stabilization==3, 37 pos=find(isnan(md. spcthickness)); md.spcthickness(pos)=500; %No NaN for DG35 pos=find(isnan(md.prognostic.spcthickness)); md.prognostic.spcthickness(pos)=500; %No NaN for DG 38 36 end 39 37 -
issm/trunk/test/NightlyRun/test1204.m
r9641 r9642 23 23 md.timestepping.time_step=1; 24 24 md.timestepping.final_time=5000; 25 md. artificial_diffusivity=1;25 md.prognostic.stabilization=1; 26 26 md=solve(md,TransientSolutionEnum); 27 27 -
issm/trunk/test/NightlyRun/test1208.m
r9641 r9642 22 22 md.output_frequency=20; 23 23 md.timestepping.final_time=50000; 24 md. artificial_diffusivity=2;24 md.prognostic.stabilization=2; 25 25 md.thermal.stabilization=2; 26 26 -
issm/trunk/test/NightlyRun/test135.m
r9641 r9642 3 3 md=setmask(md,'all',''); 4 4 md=parameterize(md,'../Par/SquareShelfConstrained.par'); 5 md.prognostic _DG=1;5 md.prognostic.stabilization=3; 6 6 md.vy=md.vy+400; 7 7 md=setelementstype(md,'macayeal','all'); -
issm/trunk/test/NightlyRun/test136.m
r9641 r9642 3 3 md=setmask(md,'all',''); 4 4 md=parameterize(md,'../Par/SquareShelfConstrained.par'); 5 md.prognostic _DG=1;5 md.prognostic.stabilization=3; 6 6 md.vy=md.vy+400; 7 7 md=setelementstype(md,'macayeal','all'); -
issm/trunk/test/NightlyRun/test243.m
r9641 r9642 4 4 md=setelementstype(md,'macayeal','all'); 5 5 md.cluster=none; 6 md. hydrostatic_adjustment='Incremental';6 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 7 7 md=solve(md,TransientSolutionEnum); 8 8 -
issm/trunk/test/NightlyRun/test244.m
r9641 r9642 4 4 md=setelementstype(md,'macayeal','all'); 5 5 md.cluster=generic('name',oshostname(),'np',3); 6 md. hydrostatic_adjustment='Incremental';6 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 7 7 md=solve(md,TransientSolutionEnum); 8 8 -
issm/trunk/test/NightlyRun/test245.m
r9641 r9642 5 5 md.bed=md.bed+50; md.surface=md.surface+50; 6 6 md.cluster=none; 7 md. hydrostatic_adjustment='Incremental';7 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum); 9 9 -
issm/trunk/test/NightlyRun/test246.m
r9641 r9642 5 5 md.bed=md.bed+50; md.surface=md.surface+50; 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md. hydrostatic_adjustment='Incremental';7 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum); 9 9 -
issm/trunk/test/NightlyRun/test247.m
r9641 r9642 5 5 md=setelementstype(md,'pattyn','all'); 6 6 md.cluster=none; 7 md. hydrostatic_adjustment='Incremental';7 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum); 9 9 -
issm/trunk/test/NightlyRun/test248.m
r9641 r9642 5 5 md=setelementstype(md,'pattyn','all'); 6 6 md.cluster=generic('name',oshostname(),'np',3); 7 md. hydrostatic_adjustment='Incremental';7 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 8 8 md=solve(md,TransientSolutionEnum); 9 9 -
issm/trunk/test/NightlyRun/test249.m
r9641 r9642 6 6 md.bed=md.bed+50; md.surface=md.surface+50; 7 7 md.cluster=none; 8 md. hydrostatic_adjustment='Incremental';8 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 9 9 md=solve(md,TransientSolutionEnum); 10 10 -
issm/trunk/test/NightlyRun/test250.m
r9641 r9642 6 6 md.bed=md.bed+50; md.surface=md.surface+50; 7 7 md.cluster=generic('name',oshostname(),'np',3); 8 md. hydrostatic_adjustment='Incremental';8 md.prognostic.prognostic.hydrostatic_adjustment='Incremental'; 9 9 md=solve(md,TransientSolutionEnum); 10 10 -
issm/trunk/test/NightlyRun/test319.m
r9641 r9642 4 4 md=parameterize(md,'../Par/SquareSheetConstrained.par'); 5 5 md=setelementstype(md,'macayeal','all'); 6 md.prognostic _DG=1;7 md. spcthickness=md.thickness;6 md.prognostic.stabilization=3; 7 md.prognostic.spcthickness=md.thickness; 8 8 md.cluster=none; 9 9 md=solve(md,PrognosticSolutionEnum); -
issm/trunk/test/NightlyRun/test320.m
r9641 r9642 4 4 md=parameterize(md,'../Par/SquareSheetConstrained.par'); 5 5 md=setelementstype(md,'macayeal','all'); 6 md.prognostic _DG=1;7 md. spcthickness=md.thickness;6 md.prognostic.stabilization=3; 7 md.prognostic.spcthickness=md.thickness; 8 8 md.cluster=generic('name',oshostname(),'np',3); 9 9 md=solve(md,PrognosticSolutionEnum); -
issm/trunk/test/NightlyRun/test603.m
r9641 r9642 4 4 md=parameterize(md,'../Par/79North.par'); 5 5 md=setelementstype(md,'macayeal','all'); 6 md.prognostic _DG=1;7 md. spcthickness=md.thickness;6 md.prognostic.stabilization=3; 7 md.prognostic.spcthickness=md.thickness; 8 8 md.cluster=none; 9 9 md=solve(md,PrognosticSolutionEnum); -
issm/trunk/test/NightlyRun/test604.m
r9641 r9642 4 4 md=parameterize(md,'../Par/79North.par'); 5 5 md=setelementstype(md,'macayeal','all'); 6 md.prognostic _DG=1;7 md. spcthickness=md.thickness;6 md.prognostic.stabilization=3; 7 md.prognostic.spcthickness=md.thickness; 8 8 md.cluster=generic('name',oshostname(),'np',3); 9 9 md=solve(md,PrognosticSolutionEnum); -
issm/trunk/test/NightlyRun/test617.m
r9641 r9642 4 4 md=parameterize(md,'../Par/79North.par'); 5 5 md=setelementstype(md,'macayeal','all'); 6 md.prognostic _DG=1;6 md.prognostic.stabilization=3; 7 7 md.cluster=none; 8 8 md=solve(md,BalancethicknessSolutionEnum); -
issm/trunk/test/NightlyRun/test621.m
r9641 r9642 6 6 %control parameters 7 7 md.nsteps=2; 8 md.prognostic _DG=0;8 md.prognostic.stabilization=1; 9 9 md.control_analysis=1; 10 10 md.control_type={'Dhdt'}; -
issm/trunk/test/NightlyRun/test622.m
r9641 r9642 6 6 %control parameters 7 7 md.nsteps=2; 8 md.prognostic _DG=0;8 md.prognostic.stabilization=1; 9 9 md.control_analysis=1; 10 10 md.control_type={'Dhdt'}; -
issm/trunk/test/NightlyRun/test623.m
r9641 r9642 7 7 %control parameters 8 8 md.nsteps=2; 9 md.prognostic _DG=1;9 md.prognostic.stabilization=3; 10 10 md.control_analysis=1; 11 11 md.control_type={'Dhdt'}; -
issm/trunk/test/NightlyRun/test624.m
r9641 r9642 7 7 %control parameters 8 8 md.nsteps=2; 9 md.prognostic _DG=1;9 md.prognostic.stabilization=3; 10 10 md.control_analysis=1; 11 11 md.control_type={'Dhdt'}; -
issm/trunk/test/NightlyRun/test625.m
r9641 r9642 16 16 md.nsteps=2; 17 17 md.control_type={'Vx' 'Vy'}; 18 md.prognostic _DG=0;18 md.prognostic.stabilization=1; 19 19 md.optscal=[10/md.constants.yts*ones(md.nsteps,1) 10/md.constants.yts*ones(md.nsteps,1)]; 20 20 md.cm_min=[-2000*ones(md.numberofnodes,1) -2000*ones(md.numberofnodes,1)]; -
issm/trunk/test/NightlyRun/test626.m
r9641 r9642 16 16 md.nsteps=2; 17 17 md.control_type={'Vx' 'Vy'}; 18 md.prognostic _DG=0;18 md.prognostic.stabilization=1; 19 19 md.optscal=[10/md.constants.yts*ones(md.nsteps,1) 10/md.constants.yts*ones(md.nsteps,1)]; 20 20 md.cm_min=[-2000*ones(md.numberofnodes,1) -2000*ones(md.numberofnodes,1)]; -
issm/trunk/test/Par/79North.par
r9641 r9642 31 31 %Numerical parameters 32 32 md.viscosity_overshoot=0.3; 33 md. artificial_diffusivity=1;33 md.prognostic.stabilization=1; 34 34 md.thermal.stabilization=1; 35 35 md.verbose=verbose(0); … … 45 45 pos=find(md.nodeonboundary); 46 46 md.spcthickness(pos)=md.thickness(pos); 47 md.prognostic.spcthickness(pos)=md.thickness(pos); 47 48 48 49 %Change name so that no test have the same name -
issm/trunk/test/Par/ISMIPF.par
r9636 r9642 31 31 md.spcthickness=NaN*ones(md.numberofnodes,1); 32 32 md.spcthickness(pos)=md.thickness(pos); 33 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 34 md.prognostic.spcthickness(pos)=md.thickness(pos); 33 35 md.thermal.spctemperature=255*ones(md.numberofnodes,1); 34 36 md.basalforcings.geothermalflux=0.4*ones(md.numberofnodes,1); … … 40 42 md.timestepping.time_step=1; 41 43 md.timestepping.final_time=10; 42 md. artificial_diffusivity=1;44 md.prognostic.stabilization=1; 43 45 md.thermal.stabilization=1; 44 46 md.thermal.penalty_threshold=10^5; -
issm/trunk/test/Par/Pig.par
r9641 r9642 29 29 %Numerical parameters 30 30 md.viscosity_overshoot=0.3; 31 md. artificial_diffusivity=1;31 md.prognostic.stabilization=1; 32 32 md.verbose=verbose(0); 33 33 md.waitonlock=30; -
issm/trunk/test/Par/RoundSheetShelf.par
r9641 r9642 58 58 %Numerical parameters 59 59 md.viscosity_overshoot=0.0; 60 md. artificial_diffusivity=1;60 md.prognostic.stabilization=1; 61 61 md.thermal.stabilization=1; 62 62 md.verbose=verbose(0); … … 86 86 md.pressureload=pressureload; 87 87 md.spcthickness=NaN*ones(md.numberofnodes,1); 88 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 88 89 md.diagnostic_ref=NaN*ones(md.numberofnodes,6); 89 90 -
issm/trunk/test/Par/SquareEISMINT.par
r9641 r9642 34 34 md.spcthickness=NaN*ones(md.numberofnodes,1); 35 35 md.spcthickness(pos)=500; 36 md.artificial_diffusivity=0; %Better result with no artificial diffusivity 37 md.thermal.statbilization=0; 36 md.prognostic.spcthickness=NaN*ones(md.numberofnodes,1); 37 md.prognostic.spcthickness(pos)=500; 38 md.prognostic.stabilization=0; %Better result with no artificial diffusivity 39 md.thermal.stabilization=0; 38 40 md.timestepping.final_time=500; 39 41 md.timestepping.time_step=1; -
issm/trunk/test/Par/SquareSheetConstrained.par
r9641 r9642 32 32 %Numerical parameters 33 33 md.viscosity_overshoot=0.0; 34 md. artificial_diffusivity=1;34 md.prognostic.stabilization=1; 35 35 md.thermal.stabilization=1; 36 36 md.verbose=verbose(0); -
issm/trunk/test/Par/SquareSheetShelf.par
r9641 r9642 39 39 %Numerical parameters 40 40 md.viscosity_overshoot=0.0; 41 md. artificial_diffusivity=1;41 md.prognostic.stabilization=1; 42 42 md.thermal.stabilization=1; 43 43 md.verbose=verbose(0); -
issm/trunk/test/Par/SquareShelf.par
r9641 r9642 32 32 %Numerical parameters 33 33 md.viscosity_overshoot=0.3; 34 md. artificial_diffusivity=1;34 md.prognostic.stabilization=1; 35 35 md.thermal.stabilization=1; 36 36 md.waitonlock=30; -
issm/trunk/test/Par/SquareShelfConstrained.par
r9641 r9642 36 36 %Numerical parameters 37 37 md.viscosity_overshoot=0.0; 38 md. artificial_diffusivity=1;38 md.prognostic.stabilization=1; 39 39 md.thermal.stabilization=1; 40 40 md.verbose=verbose(0);
Note:
See TracChangeset
for help on using the changeset viewer.