Changeset 1651


Ignore:
Timestamp:
08/11/09 15:59:46 (16 years ago)
Author:
Mathieu Morlighem
Message:

moved MacAyealEnum to MacAyealFormulationEnum and same thing for Pattyn and Stokes to avoid conflict with analysistype

Location:
issm/trunk/src
Files:
5 added
5 deleted
23 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.cpp

    r1632 r1651  
    5353/*Formulations: */
    5454int FormulationEnum(void){              return          300; }
    55 int NoneEnum(void){                     return          301; }
    56 int HutterEnum(void){                   return          302; }
    57 int MacAyealEnum(void){                 return          303; }
    58 int PattynEnum(void){                   return          304; }
    59 int StokesEnum(void){                   return          305; }
     55int NoneFormulationEnum(void){          return          301; }
     56int HutterFormulationEnum(void){        return          302; }
     57int MacAyealFormulationEnum(void){      return          303; }
     58int PattynFormulationEnum(void){        return          304; }
     59int StokesFormulationEnum(void){        return          305; }
    6060
    6161/*OBJECTS: */
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r1628 r1651  
    77#define _ENUM_DEFINITIONS_
    88
    9 /*objects: */
    10 int NodeEnum(void);
    11 int TriaEnum(void);
    12 int SingEnum(void);
    13 int BeamEnum(void);
    14 int PentaEnum(void);
    15 int MaterialEnum(void);
    16 int MaticeEnum(void);
    17 int MatparEnum(void);
    18 int SpcEnum(void);
    19 int PenpairEnum(void);
    20 int PengridEnum(void);
    21 int IcefrontEnum(void);
    22 int RiftfrontEnum(void);
    23 int ParamEnum(void);
    24 int ElementEnum(void);
    25 int LoadEnum(void);
    26 int RgbEnum(void);
    27 int InputEnum(void);
    28 int ResultEnum(void);
    29 
    30 /*formulations: */
    31 int NoneEnum(void);
    32 int HutterEnum(void);
    33 int MacAyealEnum(void);
    34 int PattynEnum(void);
    35 int StokesEnum(void);
    36 
    37 /* analysis enums: */
    38 int DiagnosticAnalysisEnum(void);
    39 int ControlAnalysisEnum(void);
    40 int ThermalAnalysisEnum(void);
    41 int PrognosticAnalysisEnum(void);
    42 int MeltingAnalysisEnum(void);
    43 int SlopeComputeAnalysisEnum(void);
    44 int StokesAnalysisEnum(void);
    45 int HutterAnalysisEnum(void);
    46 int SurfaceXAnalysisEnum(void);
    47 int SurfaceYAnalysisEnum(void);
    48 int BedXAnalysisEnum(void);
    49 int BedYAnalysisEnum(void);
    50 int HorizAnalysisEnum(void);
    51 int VertAnalysisEnum(void);
    52 int NoneAnalysisEnum(void);
    53 int SteadyAnalysisEnum(void);
    54 int TransientAnalysisEnum(void);
    55 int AdjointAnalysisEnum(void);
    56 int InverseAnalysisEnum(void);
    57 int GradientAnalysisEnum(void);
    58 
    59 /*datasets: */
     9/*Datasets: */
     10int DatasetsEnum(void);
    6011int ElementsEnum(void);
    6112int NodesEnum(void);
     
    6617int ResultsEnum(void);
    6718
     19/*ANALYSIS TYPES: */
     20int AnalysisEnum(void);
     21//diagnostic
     22int DiagnosticAnalysisEnum(void);
     23int HorizAnalysisEnum(void);
     24int StokesAnalysisEnum(void);
     25int HutterAnalysisEnum(void);
     26int VertAnalysisEnum(void);
     27//control
     28int ControlAnalysisEnum(void);
     29int AdjointAnalysisEnum(void);
     30int InverseAnalysisEnum(void);
     31int GradientAnalysisEnum(void);
     32//thermal
     33int ThermalAnalysisEnum(void);
     34int SteadyAnalysisEnum(void);
     35int TransientAnalysisEnum(void);
     36//slope
     37int SlopeComputeAnalysisEnum(void);
     38int SurfaceXAnalysisEnum(void);
     39int SurfaceYAnalysisEnum(void);
     40int BedXAnalysisEnum(void);
     41int BedYAnalysisEnum(void);
     42//prognostic
     43int PrognosticAnalysisEnum(void);
     44//melting
     45int MeltingAnalysisEnum(void);
     46//mesh2grid
     47int Mesh2gridAnalysisEnum(void);
     48//parameters
     49int ParametersAnalysisEnum(void);
     50//none
     51int NoneAnalysisEnum(void);
     52
     53
     54/*Formulations: */
     55int FormulationEnum(void);
     56int NoneFormulationEnum(void);
     57int HutterFormulationEnum(void);
     58int MacAyealFormulationEnum(void);
     59int PattynFormulationEnum(void);
     60int StokesFormulationEnum(void);
     61
     62/*OBJECTS: */
     63int ObjectEnum(void);
     64/*Elements: */
     65int ElementEnum(void);
     66int TriaEnum(void);
     67int PentaEnum(void);
     68int SingEnum(void);
     69int BeamEnum(void);
     70/*Grids: */
     71int NodeEnum(void);
     72/*Loads: */
     73int LoadEnum(void);
     74int IcefrontEnum(void);
     75int RiftfrontEnum(void);
     76int PenpairEnum(void);
     77int PengridEnum(void);
     78/*Materials: */
     79int MaterialEnum(void);
     80int MaticeEnum(void);
     81int MatparEnum(void);
     82/*Inputs: */
     83int InputEnum(void);
     84/*Params: */
     85int ParamEnum(void);
     86/*Results: */
     87int ResultEnum(void);
     88/*Rgb: */
     89int RgbEnum(void);
     90/*Spc: */
     91int SpcEnum(void);
     92
    6893/*Functions on enums: */
    6994int EnumIsElement(int en);
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp

    r1648 r1651  
    224224                #endif
    225225                       
    226                         if (*(model->elements_type+2*i+0)==MacAyealEnum()){ //elements of type 1 are Hutter type Tria. Don't create this elements.
     226                        if (*(model->elements_type+2*i+0)==MacAyealFormulationEnum()){ //elements of type 1 are Hutter type Tria. Don't create this elements.
    227227                               
    228228                                /*ids: */
     
    302302                                materials->AddObject(matice);
    303303               
    304                         } //if(!HutterEnum)
     304                        } //if(!MacAyealFormulationEnum)
    305305
    306306                        #ifdef _PARALLEL_
     
    362362                #endif
    363363
    364                         if (*(model->elements_type+2*i+0)==MacAyealEnum() | *(model->elements_type+2*i+0)==PattynEnum()){ //elements of type 1 are Hutter type Tria. Don't create this elements.
     364                        if (*(model->elements_type+2*i+0)==MacAyealFormulationEnum() | *(model->elements_type+2*i+0)==PattynFormulationEnum()){ //elements of type 1 are Hutter type Tria. Don't create this elements.
    365365                       
    366366                                /*name and id: */
     
    397397                                penta_viscosity_overshoot=model->viscosity_overshoot;
    398398
    399                                 if (*(model->elements_type+2*i+0)==MacAyealEnum()){ //elements of type 3 are MacAyeal type Penta. We collapse the formulation on their base.
     399                                if (*(model->elements_type+2*i+0)==MacAyealFormulationEnum()){ //elements of type 3 are MacAyeal type Penta. We collapse the formulation on their base.
    400400                                        penta_collapse=1;
    401401                                }
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r1632 r1651  
    120120                icefront_b[1]=model->bed[i2-1];
    121121               
    122                 if ((int)*(model->elements_type+2*element+0)==MacAyealEnum()){ //this is a collapsed 3d element, icefront will be 2d
     122                if ((int)*(model->elements_type+2*element+0)==MacAyealFormulationEnum()){ //this is a collapsed 3d element, icefront will be 2d
    123123                        strcpy(icefront_type,"segment");
    124124                }
    125                 else if ((int)*(model->elements_type+2*element+0)==PattynEnum()){ //this is a real 3d element, icefront will be 3d.
     125                else if ((int)*(model->elements_type+2*element+0)==PattynFormulationEnum()){ //this is a real 3d element, icefront will be 3d.
    126126                        strcpy(icefront_type,"quad");
    127127                        i3=(int)*(model->segmentonneumann_diag+segment_width*i+2);
  • issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp

    r1648 r1651  
    230230
    231231                       
    232                         if (*(model->elements_type+2*i+1)==StokesEnum()){
     232                        if (*(model->elements_type+2*i+1)==StokesFormulationEnum()){
    233233                       
    234234                                /*Create Penta using its constructor:*/
     
    254254                        matice_n=(double)*(model->n+i);
    255255                       
    256                         if (*(model->elements_type+2*i+1)==StokesEnum()){
     256                        if (*(model->elements_type+2*i+1)==StokesFormulationEnum()){
    257257       
    258258                                /*Create matice using its constructor:*/
  • issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp

    r1648 r1651  
    200200
    201201                /*We need the field collapse for transient, so that we can use compute B with the average temperature*/
    202                 if (*(model->elements_type+2*i+0)==MacAyealEnum()){ //elements of type 3 are MacAyeal type Penta. We collapse the formulation on their base.
     202                if (*(model->elements_type+2*i+0)==MacAyealFormulationEnum()){ //elements of type 3 are MacAyeal type Penta. We collapse the formulation on their base.
    203203                        penta_collapse=1;
    204204                }
  • issm/trunk/src/m/classes/@pentaelem/Stress.m

    r1299 r1651  
    8080
    8181                        %Build Pressure
    82                         if elementonstokes_param(pentaelem.id)==StokesEnum();
     82                        if elementonstokes_param(pentaelem.id)==StokesFormulationEnum();
    8383                                pressure_g=GetParameterValue(pentaelem,pressure,gauss_coord);
    8484                        else %use pattyn's and MacAyeal's assumption: P=sigma_zz'+rho_ice*g*(s-z)
  • issm/trunk/src/m/classes/@pentaelem/StressBed.m

    r1299 r1651  
    8484
    8585        %Build Pressure
    86         if elementonstokes_param(pentaelem.id)==StokesEnum(),
     86        if elementonstokes_param(pentaelem.id)==StokesFormulationEnum(),
    8787                pressure_g=GetParameterValue(pentaelem,pressure,gauss_coord);
    8888        else %use pattyn's and MacAyeal's assumption: P=sigma_zz'+rho_ice*g*(s-z)
  • issm/trunk/src/m/classes/@pentaelem/StressSurface.m

    r1299 r1651  
    8484
    8585        %Build Pressure
    86         if elementonstokes_param(pentaelem.id)==StokesEnum(),
     86        if elementonstokes_param(pentaelem.id)==StokesFormulationEnum(),
    8787                pressure_g=GetParameterValue(pentaelem,pressure,gauss_coord);
    8888        else %use pattyn's and MacAyeal's assumption: P=sigma_zz'+rho_ice*g*(s-z)
  • issm/trunk/src/m/classes/public/extrude.m

    r1338 r1651  
    140140        %dead grids
    141141        md.deadgrids=ones(md.numberofgrids,1);
    142         md.deadgrids(md.elements(md.elements_type(:,1)~=MacAyealEnum,:))=0;%non macayeal grids are not dead
     142        md.deadgrids(md.elements(md.elements_type(:,1)~=MacAyealFormulationEnum,:))=0;%non macayeal grids are not dead
    143143        md.deadgrids(find(md.gridonbed))=0;%grids from elements on bed are not dead
    144144end
  • issm/trunk/src/m/classes/public/ismodelselfconsistent.m

    r1490 r1651  
    4141        bool=0;return;
    4242end
    43 if any(ones(md.numberofelements,1)-((md.elements_type(:,1)==HutterEnum) + (md.elements_type(:,1)==MacAyealEnum)  + (md.elements_type(:,1)==PattynEnum)))
     43if any(ones(md.numberofelements,1)-((md.elements_type(:,1)==HutterFormulationEnum) + (md.elements_type(:,1)==MacAyealFormulationEnum)  + (md.elements_type(:,1)==PattynFormulationEnum)))
    4444        disp(['Types of elements have not been set properly, run setelementstype first'])
    4545        bool=0;return;
    4646end
    47 if any(ones(md.numberofelements,1)-((md.elements_type(:,2)==StokesEnum) + (md.elements_type(:,2)==NoneEnum)))
     47if any(ones(md.numberofelements,1)-((md.elements_type(:,2)==StokesFormulationEnum) + (md.elements_type(:,2)==NoneFormulationEnum)))
    4848        disp(['Types of elements have not been set properly, run setelementstype first'])
    4949        bool=0;return;
    5050end
    5151if strcmpi(md.type,'2d'),
    52         if (ismember(PattynEnum,md.elements_type(:,1)) |  ismember(StokesEnum,md.elements_type(:,2))),
     52        if (ismember(PattynFormulationEnum,md.elements_type(:,1)) |  ismember(StokesFormulationEnum,md.elements_type(:,2))),
    5353                disp(['For a 2d model, only MacAyeal''s and Hutter''s elements are allowed']);
    5454                bool=0;return;
     
    186186
    187187        %HUTTER ON ICESHELF WARNING
    188         if any(md.elements_type(:,1)==HutterEnum & md.elementoniceshelf),
     188        if any(md.elements_type(:,1)==HutterFormulationEnum & md.elementoniceshelf),
    189189                disp(sprintf('\n !!! Warning: Hutter''s model is not consistent on ice shelves !!!\n'));
    190190        end
     
    299299
    300300        %HUTTER
    301         if any(md.elements_type(:,1)==HutterEnum);
     301        if any(md.elements_type(:,1)==HutterFormulationEnum);
    302302                disp(['The model has Hutter''s elements. Impossible to compute parameters']);
    303303                bool=0;return;
  • issm/trunk/src/m/classes/public/isresultconsistent.m

    r1043 r1651  
    1 function bool=isresultconsistent(md,solution)
     1function bool=isresultconsistent(md,analysis_type)
    22%ISRESULTCONSISTENT: check that results are consistent
    33%
     
    66%
    77%   Usage:
    8 %      bool=IsModelSelfConsistent(model,solution)
     8%      bool=IsModelSelfConsistent(model,analysis_type)
    99
    1010%tolerance we use in litmus tests for the consistency of the model
     
    2626
    2727%DIAGNOSTIC
    28 if strcmp(solution,'diagnostic'),
     28if analysis_type==DiagnosticAnalysisEnum(),
    2929
    3030        if strcmpi(md.type,'3d')
     
    5959
    6060%CONTROL
    61 if strcmp(solution,'control'),
     61if analysis_type==ControlAnalysisEnum(),
    6262
    6363        fields1={'results.control.vx','results.control.vy','results.control.vel','results.control.parameter'};
     
    101101
    102102%THERMAL
    103 if strcmp(solution,'thermal')
     103if analysis_type==ThermalAnalysisEnum(),
    104104
    105105        for iter=1:length(md.results.thermal)
     
    137137end
    138138
    139 if strcmp(solution,'transient')
     139if analysis_type==TransientAnalysisEnum(),
    140140
    141141        for iter=1:length(md.results.transient)
  • issm/trunk/src/m/classes/public/loadresultsfromdisk.m

    r1316 r1651  
    2626end
    2727
     28%convert analysis type to string
     29md.analysis_type=AnalysisTypeAsEnum(md.analysis_type);
     30md.sub_analysis_type=AnalysisTypeAsEnum(md.sub_analysis_type);
     31
    2832%post processes qmu results if necessary
    2933if md.qmu_analysis,
  • issm/trunk/src/m/classes/public/mechanicalproperties.m

    r1298 r1651  
    2020        error('only 2d model supported yet');
    2121end
    22 if any(md.elements_type(:,1)~=MacAyealEnum),
     22if any(md.elements_type(:,1)~=MacAyealFormulationEnum),
    2323        disp('Warning: the model has some non macayeal elements. These will be treated like MacAyeal''s elements');
    2424end
  • issm/trunk/src/m/classes/public/modelextract.m

    r1495 r1651  
    216216                pos=find(md2.gridondirichlet_diag);                 %find all the grids on the boundary of the domain without icefront
    217217                md2.gridonstokes(pos)=0;                               %we have to constrain all the boundary of the domain without icefront
    218                 stokes_elements=find(md2.elements_type(:,2)==StokesEnum()); %find the elements on the stokes domain
     218                stokes_elements=find(md2.elements_type(:,2)==StokesFormulationEnum()); %find the elements on the stokes domain
    219219                borderflags=zeros(numberofgrids2,1);
    220220                borderflags(md2.elements(stokes_elements,:))=1; %find all the grids of the elements on stokes domain, ie stokes grids and borderstokes
  • issm/trunk/src/m/classes/public/plot/plot_elementstype.m

    r1298 r1651  
    2525if is2d
    2626        %Hutter elements
    27         posH=find(data(:,1)==HutterEnum);
     27        posH=find(data(:,1)==HutterFormulationEnum);
    2828        A=elements(posH,1); B=elements(posH,2); C=elements(posH,3);
    29         p1=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
     29        p1=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    3030        %MacAyeal element
    31         posH=find(data(:,1)==MacAyealEnum);
     31        posH=find(data(:,1)==MacAyealFormulationEnum);
    3232        A=elements(posH,1); B=elements(posH,2); C=elements(posH,3);
    33         p2=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
     33        p2=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    3434        %Pattyn element
    35         posH=find(data(:,1)==PattynEnum);
     35        posH=find(data(:,1)==PattynFormulationEnum);
    3636        A=elements(posH,1); B=elements(posH,2); C=elements(posH,3);
    37         p3=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
     37        p3=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    3838        %Stokes elements
    3939        alpha=0.35;
    40         posS=find(data(:,2)==StokesEnum);
     40        posS=find(data(:,2)==StokesFormulationEnum);
    4141        if ~isempty(posS)
    4242                A=elements(posS,1); B=elements(posS,2); C=elements(posS,3);
    43         %       p4=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',StokesEnum,'FaceColor','flat','EdgeColor',edgecolor,'EdgeAlpha',alpha,'FaceAlpha',alpha);
     43        %       p4=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',StokesFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor,'EdgeAlpha',alpha,'FaceAlpha',alpha);
    4444        %       legend([p1 p2 p3 p4],'Hutter''s elements','MacAyeal''s elements','Pattyn''s elements','Stokes''s elements');
    4545        else
     
    4848else
    4949        %Hutter elements
    50         posH=find(data(:,1)==HutterEnum);
     50        posH=find(data(:,1)==HutterFormulationEnum);
    5151        A=elements(posH,1); B=elements(posH,2); C=elements(posH,3); D=elements(posH,4); E=elements(posH,5); F=elements(posH,6);
    52         p1=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
    53         patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
    54         patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
    55         patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
    56         patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', HutterEnum,'FaceColor','flat','EdgeColor',edgecolor);
     52        p1=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     53        patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     54        patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     55        patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     56        patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', HutterFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    5757        %MacAyeal elements
    58         posM=find(data(:,1)==MacAyealEnum);
     58        posM=find(data(:,1)==MacAyealFormulationEnum);
    5959        A=elements(posM,1); B=elements(posM,2); C=elements(posM,3); D=elements(posM,4); E=elements(posM,5); F=elements(posM,6);
    60         p2=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
    61         patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
    62         patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
    63         patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
    64         patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', MacAyealEnum,'FaceColor','flat','EdgeColor',edgecolor);
     60        p2=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     61        patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     62        patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     63        patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     64        patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', MacAyealFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    6565        %Pattyn elements
    66         posP=find(data(:,1)==PattynEnum);
     66        posP=find(data(:,1)==PattynFormulationEnum);
    6767        A=elements(posP,1); B=elements(posP,2); C=elements(posP,3); D=elements(posP,4); E=elements(posP,5); F=elements(posP,6);
    68         p3=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
    69         patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
    70         patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
    71         patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
    72         patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', PattynEnum,'FaceColor','flat','EdgeColor',edgecolor);
     68        p3=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData', PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     69        patch( 'Faces', [D E F], 'Vertices', [x y z],'CData', PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     70        patch( 'Faces', [A B E D], 'Vertices', [x y z],'CData', PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     71        patch( 'Faces', [B E F C ], 'Vertices', [x y z],'CData', PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
     72        patch( 'Faces', [C A D F ], 'Vertices', [x y z],'CData', PattynFormulationEnum,'FaceColor','flat','EdgeColor',edgecolor);
    7373        %Stokes elements
    7474        alpha=0.35;
    75         posS=find(data(:,2)==StokesEnum);
     75        posS=find(data(:,2)==StokesFormulationEnum);
    7676        if ~isempty(posS)
    7777                A=elements(posS,1); B=elements(posS,2); C=elements(posS,3); D=elements(posS,4); E=elements(posS,5); F=elements(posS,6);
  • issm/trunk/src/m/classes/public/process_solve_options.m

    r1650 r1651  
    1313                package=options{i,2};
    1414                found=1;
     15                break
    1516        end
    1617end
     
    2021        package='cielo';
    2122end
    22 if ~(strcmpi(package,'cielo') |  ...
    23                 strcmpi(package,'ice') |  ...
    24                 strcmpi(package,'macayeal') ),
     23if ~ismemberi(package,{'cielo','ice','macayeal'}),
    2524        error(['process_solve_options error message: package ' package ' not supported yet!']);
    2625end
     
    3231                analysis_type=options{i,2};
    3332                found=1;
     33                break
    3434        end
    3535end
     
    4444                sub_analysis_type=options{i,2};
    4545                found=1;
     46                break
    4647        end
    4748end
     
    6465                batch=options{i,2};
    6566                found=1;
     67                break
    6668        end
    6769end
  • issm/trunk/src/m/classes/public/setelementstype.m

    r1622 r1651  
    7777gridonhutter(md.elements(find(hutterflag),:))=1;
    7878md.gridonhutter=gridonhutter;
    79 md.elements_type(find(hutterflag),1)=HutterEnum();
     79md.elements_type(find(hutterflag),1)=HutterFormulationEnum();
    8080
    8181%2: MacAyeal elements
     
    8383gridonmacayeal(md.elements(find(macayealflag),:))=1;
    8484md.gridonmacayeal=gridonmacayeal;
    85 md.elements_type(find(macayealflag),1)=MacAyealEnum();
     85md.elements_type(find(macayealflag),1)=MacAyealFormulationEnum();
    8686
    8787%3: Pattyn elements
     
    8989gridonpattyn(md.elements(find(pattynflag),:))=1;
    9090md.gridonpattyn=gridonpattyn;
    91 md.elements_type(find(pattynflag),1)=PattynEnum();
     91md.elements_type(find(pattynflag),1)=PattynFormulationEnum();
    9292
    9393%4: Stokes elements
    9494md.gridonstokes=gridonstokes;
    95 md.elements_type(find(stokesflag),2)=StokesEnum();
     95md.elements_type(find(stokesflag),2)=StokesFormulationEnum();
    9696
    9797%5: None elements (non Stokes)
    98 md.elements_type(find(~stokesflag),2)=NoneEnum();
     98md.elements_type(find(~stokesflag),2)=NoneFormulationEnum();
    9999
    100100%Create the border grids between Pattyn and MacAyeal and extrude them
     
    121121
    122122%figure out the border stokes grids
    123 stokes_elements=find(md.elements_type(:,2)==StokesEnum()); %find the elements on the stokes domain
     123stokes_elements=find(md.elements_type(:,2)==StokesFormulationEnum()); %find the elements on the stokes domain
    124124borderflags=zeros(md.numberofgrids,1);
    125125borderflags(md.elements(stokes_elements,:))=1; %find all the grids of the elements on stokes domain, ie stokes grids and borderstokes
     
    132132
    133133%figure out solution types
    134 md.ishutter=double(any(md.elements_type(:,1)==HutterEnum));
    135 md.ismacayealpattyn=double(any(md.elements_type(:,1)==MacAyealEnum | md.elements_type(:,1)==PattynEnum));
    136 md.isstokes=double(any(md.elements_type(:,2)==StokesEnum));
     134md.ishutter=double(any(md.elements_type(:,1)==HutterFormulationEnum));
     135md.ismacayealpattyn=double(any(md.elements_type(:,1)==MacAyealFormulationEnum | md.elements_type(:,1)==PattynFormulationEnum));
     136md.isstokes=double(any(md.elements_type(:,2)==StokesFormulationEnum));
    137137
    138138end
  • issm/trunk/src/m/classes/public/solve.m

    r1650 r1651  
    9292end
    9393
     94%convert analysis type to string finally
     95md.analysis_type=AnalysisTypeAsEnum(options.analysis_type);
     96md.sub_analysis_type=AnalysisTypeAsEnum(options.sub_analysis_type);
     97
    9498%re-add the paths
    9599addpath(genpath_ice([ISSM_DIR '/src/m/solutions/macayeal']));
  • issm/trunk/src/m/shared/AnalysisTypeAsEnum.m

    r1644 r1651  
    141141end
    142142
    143 if enum==NoneEnum(),
    144         string='noneenum';
    145 end
    146 
    147 if enum==HutterEnum(),
    148         string='hutterenum';
    149 end
    150 
    151 if enum==MacAyealEnum(),
    152         string='macayealenum';
    153 end
    154 
    155 if enum==PattynEnum(),
    156         string='pattynenum';
    157 end
    158 
    159 if enum==StokesEnum(),
    160         string='stokesenum';
     143if enum==NoneFormulationEnum(),
     144        string='noneformulationenum';
     145end
     146
     147if enum==HutterFormulationEnum(),
     148        string='hutterformulationenum';
     149end
     150
     151if enum==MacAyealFormulationEnum(),
     152        string='macayealformulationenum';
     153end
     154
     155if enum==PattynFormulationEnum(),
     156        string='pattynformulationenum';
     157end
     158
     159if enum==StokesFormulationEnum(),
     160        string='stokesformulationenum';
    161161end
    162162
  • issm/trunk/src/m/solutions/ice/ModelProcessorDiagnosticHoriz.m

    r1623 r1651  
    1313%Allocate grids and elements
    1414if strcmpi(md.type,'2d'),
    15         numberofelements_horiz=length(find(md.elements_type(:,1)==MacAyealEnum()));
     15        numberofelements_horiz=length(find(md.elements_type(:,1)==MacAyealFormulationEnum()));
    1616else
    17         numberofelements_horiz=length(find(md.elements_type(:,1)==MacAyealEnum() | md.elements_type(:,1)==PattynEnum()));
     17        numberofelements_horiz=length(find(md.elements_type(:,1)==MacAyealFormulationEnum() | md.elements_type(:,1)==PattynFormulationEnum()));
    1818end
    1919elements=struct('element',cell(numberofelements_horiz,1));
     
    2222%Deal with 2d elements
    2323if strcmpi(md.type,'2d'),
    24         el3pos=find(md.elements_type(:,1)==MacAyealEnum);
     24        el3pos=find(md.elements_type(:,1)==MacAyealFormulationEnum);
    2525        if ~isempty(el3pos),
    2626                pos=[1:length(el3pos)]';
     
    5454        %3d elements
    5555        %First create penta elements (ie non hutter)
    56         el6pos=find(md.elements_type(:,1)==MacAyealEnum | md.elements_type(:,1)==PattynEnum);
     56        el6pos=find(md.elements_type(:,1)==MacAyealFormulationEnum | md.elements_type(:,1)==PattynFormulationEnum);
    5757
    5858        if ~isempty(el6pos),
     
    8787                %For penta elements where we want to implement MacAyeal's element, we need to collapse
    8888                %the formulation into trias:
    89                 pos=find(ismember(el6pos,find(md.elements_type(:,1)==MacAyealEnum())));
     89                pos=find(ismember(el6pos,find(md.elements_type(:,1)==MacAyealFormulationEnum())));
    9090                elements(pos)=SetStructureField(elements(pos),'element','collapse',ones(length(pos),1));
    9191
     
    140140if strcmpi(md.type,'3d'),
    141141        for n=1:length(elements),
    142                 if md.elements_type(el6pos(n),1)==MacAyealEnum(),
     142                if md.elements_type(el6pos(n),1)==MacAyealFormulationEnum(),
    143143                        %all dofs associated to this element are frozen, except if the element is on the bed, and acts as a 'fake' pentaelem,
    144144                        %and a true 'macayeal' tria element.
     
    164164
    165165        if strcmpi(md.type,'3d'),
    166                 if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealEnum(),
     166                if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealFormulationEnum(),
    167167                        loads(i).load=icefront;
    168168                        loads(i).load.eid=find(el6pos==md.segmentonneumann_diag(i,end));
     
    172172                        loads(i).load.type='segment';
    173173
    174                 elseif md.elements_type(md.segmentonneumann_diag(i,end))==PattynEnum(),
     174                elseif md.elements_type(md.segmentonneumann_diag(i,end))==PattynFormulationEnum(),
    175175                        %build a quad ice front for the penta element
    176176                        loads(i).load=icefront;
     
    183183
    184184                else
    185                         if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterEnum()),
     185                        if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterFormulationEnum()),
    186186                                error('diagnostic error message: unsupported  element type');
    187187                        end
    188188                end
    189189        else
    190                 if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealEnum(),
     190                if md.elements_type(md.segmentonneumann_diag(i,end))==MacAyealFormulationEnum(),
    191191                        loads(i).load=icefront;
    192192                        loads(i).load.eid=find(el3pos==md.segmentonneumann_diag(i,end));
     
    197197
    198198                else
    199                         if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterEnum()),
     199                        if ~(md.elements_type(md.segmentonneumann_diag(i,end))==HutterFormulationEnum()),
    200200                                error('diagnostic error message: unsupported  element type');
    201201                        end
  • issm/trunk/src/m/solutions/ice/ModelProcessorDiagnosticStokes.m

    r1646 r1651  
    1212
    1313%Allocate grids and elements
    14 numberofstokeselements=size(find(md.elements_type(:,2)==StokesEnum()),1);
     14numberofstokeselements=size(find(md.elements_type(:,2)==StokesFormulationEnum()),1);
    1515elements=struct('element',cell(numberofstokeselements,1));
    1616materials=struct('material',cell(numberofstokeselements+1,1));
    1717
    1818%3d elements
    19 pos=find(md.elements_type(:,2)==StokesEnum);
     19pos=find(md.elements_type(:,2)==StokesFormulationEnum);
    2020stokesnewnumber=[1:numberofstokeselements]';
    2121[elements(stokesnewnumber).element]=deal(pentaelem);
     
    8989%Build grids on the border of stokes
    9090%Get border grids
    91 stokes_elements=find(md.elements_type(:,2)==StokesEnum()); %find the elements on the stokes domain
     91stokes_elements=find(md.elements_type(:,2)==StokesFormulationEnum()); %find the elements on the stokes domain
    9292borderflags=zeros(md.numberofgrids,1);
    9393borderflags(md.elements(stokes_elements,:))=1; %find all the grids of the elements on stokes domain, ie stokes grids and borderstokes
     
    115115        %build a quad ice front for the penta element
    116116        loads(i).load=icefront;
    117         loads(i).load.eid=find(segmentonneumann_diag_stokes(i,end)==find(md.elements_type(:,2)==StokesEnum())); %elements contain only stokes elements, so we have to renumbered
     117        loads(i).load.eid=find(segmentonneumann_diag_stokes(i,end)==find(md.elements_type(:,2)==StokesFormulationEnum())); %elements contain only stokes elements, so we have to renumbered
    118118        loads(i).load.g(1)=segmentonneumann_diag_stokes(i,1);
    119119        loads(i).load.g(2)=segmentonneumann_diag_stokes(i,2);
  • issm/trunk/src/m/solutions/ice/ModelProcessorThermal.m

    r1623 r1651  
    3939%For penta elements where we want to implement MacAyeal's element, we need to collapse
    4040%the formulation into trias:
    41 el6pos=find(md.elements_type(:,1)==MacAyealEnum | md.elements_type(:,1)==PattynEnum);
    42 pos2=find(ismember(el6pos,find(md.elements_type(:,1)==MacAyealEnum())));
     41el6pos=find(md.elements_type(:,1)==MacAyealFormulationEnum | md.elements_type(:,1)==PattynFormulationEnum);
     42pos2=find(ismember(el6pos,find(md.elements_type(:,1)==MacAyealFormulationEnum())));
    4343elements(pos2)=SetStructureField(elements(pos2),'element','collapse',ones(length(pos2),1));
    4444
Note: See TracChangeset for help on using the changeset viewer.