Changeset 15567


Ignore:
Timestamp:
07/23/13 14:30:29 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: MacAyeal -> SSA

Location:
issm/trunk-jpl/src
Files:
27 added
27 deleted
34 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/diagnostic_core.cpp

    r15564 r15567  
    5656                if(VerboseSolution()) _printf0_("   computing SIA velocities\n");
    5757
    58                 /*Take the last velocity into account so that the velocity on the MacAyeal domain is not zero*/
     58                /*Take the last velocity into account so that the velocity on the SSA domain is not zero*/
    5959                if(isSSA || isL1L2 || isHO ) ResetBoundaryConditions(femmodel,DiagnosticSIAAnalysisEnum);
    6060                femmodel->SetCurrentConfiguration(DiagnosticSIAAnalysisEnum);
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r15564 r15567  
    11931193                        GetSolutionFromInputsDiagnosticFS(solution);
    11941194                }
    1195                 else if (approximation==MacAyealApproximationEnum || approximation==HOApproximationEnum || approximation==SIAApproximationEnum){
     1195                else if (approximation==SSAApproximationEnum || approximation==HOApproximationEnum || approximation==SIAApproximationEnum){
    11961196                        GetSolutionFromInputsDiagnosticHoriz(solution);
    11971197                }
    1198                 else if (approximation==MacAyealHOApproximationEnum || approximation==HOFSApproximationEnum || approximation==MacAyealFSApproximationEnum){
     1198                else if (approximation==SSAHOApproximationEnum || approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
    11991199                        return; //the elements around will create the solution
    12001200                }
     
    19701970        //Need to know the type of approximation for this element
    19711971        if(iomodel->Data(FlowequationElementEquationEnum)){
    1972                 if (iomodel->Data(FlowequationElementEquationEnum)[index]==MacAyealApproximationEnum){
    1973                         this->inputs->AddInput(new IntInput(ApproximationEnum,MacAyealApproximationEnum));
     1972                if (iomodel->Data(FlowequationElementEquationEnum)[index]==SSAApproximationEnum){
     1973                        this->inputs->AddInput(new IntInput(ApproximationEnum,SSAApproximationEnum));
    19741974                }
    19751975                else if (iomodel->Data(FlowequationElementEquationEnum)[index]==HOApproximationEnum){
    19761976                        this->inputs->AddInput(new IntInput(ApproximationEnum,HOApproximationEnum));
    19771977                }
    1978                 else if (iomodel->Data(FlowequationElementEquationEnum)[index]==MacAyealHOApproximationEnum){
    1979                         this->inputs->AddInput(new IntInput(ApproximationEnum,MacAyealHOApproximationEnum));
     1978                else if (iomodel->Data(FlowequationElementEquationEnum)[index]==SSAHOApproximationEnum){
     1979                        this->inputs->AddInput(new IntInput(ApproximationEnum,SSAHOApproximationEnum));
    19801980                }
    19811981                else if (iomodel->Data(FlowequationElementEquationEnum)[index]==SIAApproximationEnum){
     
    19881988                        this->inputs->AddInput(new IntInput(ApproximationEnum,FSApproximationEnum));
    19891989                }
    1990                 else if (iomodel->Data(FlowequationElementEquationEnum)[index]==MacAyealFSApproximationEnum){
    1991                         this->inputs->AddInput(new IntInput(ApproximationEnum,MacAyealFSApproximationEnum));
     1990                else if (iomodel->Data(FlowequationElementEquationEnum)[index]==SSAFSApproximationEnum){
     1991                        this->inputs->AddInput(new IntInput(ApproximationEnum,SSAFSApproximationEnum));
    19921992                }
    19931993                else if (iomodel->Data(FlowequationElementEquationEnum)[index]==HOFSApproximationEnum){
     
    27882788        /*For FS only: we want the CS to be tangential to the bedrock*/
    27892789        inputs->GetInputValue(&approximation,ApproximationEnum);
    2790         if(IsFloating() || !IsOnBed() || (approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum &&  approximation!=HOFSApproximationEnum)) return;
     2790        if(IsFloating() || !IsOnBed() || (approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum &&  approximation!=HOFSApproximationEnum)) return;
    27912791
    27922792        /*Get slope on each node*/
     
    28832883        if(analysis_type==DiagnosticHorizAnalysisEnum){
    28842884                inputs->GetInputValue(&approximation,ApproximationEnum);
    2885                 if(approximation==MacAyealHOApproximationEnum || approximation==MacAyealFSApproximationEnum){
     2885                if(approximation==SSAHOApproximationEnum || approximation==SSAFSApproximationEnum){
    28862886                        parameters->FindParam(&numlayers,MeshNumberoflayersEnum);
    28872887                        o_nz += numlayers*3;
     
    29992999
    30003000        /*Bail out if this element if:
    3001          * -> Non MacAyeal not on the surface
    3002          * -> MacAyeal (2d model) and not on bed) */
    3003         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     3001         * -> Non SSA not on the surface
     3002         * -> SSA (2d model) and not on bed) */
     3003        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    30043004                return 0;
    30053005        }
    3006         else if (approximation==MacAyealApproximationEnum){
     3006        else if (approximation==SSAApproximationEnum){
    30073007
    30083008                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    31943194                                }
    31953195                        }
    3196                         if(*(iomodel->Data(FlowequationElementEquationEnum)+index)==MacAyealFSApproximationEnum){
    3197                                 /*Create VzMacAyeal and VzFS Enums*/
     3196                        if(*(iomodel->Data(FlowequationElementEquationEnum)+index)==SSAFSApproximationEnum){
     3197                                /*Create VzSSA and VzFS Enums*/
    31983198                                if(iomodel->Data(VzEnum) && iomodel->Data(FlowequationBorderFSEnum)){
    31993199                                        for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]*iomodel->Data(FlowequationBorderFSEnum)[penta_vertex_ids[i]-1];
    32003200                                        this->inputs->AddInput(new PentaInput(VzFSEnum,nodeinputs,P1Enum));
    32013201                                        for(i=0;i<6;i++) nodeinputs[i]=iomodel->Data(VzEnum)[penta_vertex_ids[i]-1]*(1-iomodel->Data(FlowequationBorderFSEnum)[penta_vertex_ids[i]-1]);
    3202                                         this->inputs->AddInput(new PentaInput(VzMacAyealEnum,nodeinputs,P1Enum));
     3202                                        this->inputs->AddInput(new PentaInput(VzSSAEnum,nodeinputs,P1Enum));
    32033203                                }
    32043204                                else{
    32053205                                        for(i=0;i<6;i++)nodeinputs[i]=0;
    32063206                                        this->inputs->AddInput(new PentaInput(VzFSEnum,nodeinputs,P1Enum));
    3207                                         this->inputs->AddInput(new PentaInput(VzMacAyealEnum,nodeinputs,P1Enum));
     3207                                        this->inputs->AddInput(new PentaInput(VzSSAEnum,nodeinputs,P1Enum));
    32083208                                }
    32093209                        }
     
    47744774
    47754775        switch(approximation){
    4776                 case MacAyealApproximationEnum:
    4777                         return CreateKMatrixAdjointMacAyeal2d();
     4776                case SSAApproximationEnum:
     4777                        return CreateKMatrixAdjointSSA2d();
    47784778                case HOApproximationEnum:
    47794779                        return CreateKMatrixAdjointHO();
     
    47874787}
    47884788/*}}}*/
    4789 /*FUNCTION Penta::CreateKMatrixAdjointMacAyeal2d{{{*/
    4790 ElementMatrix* Penta::CreateKMatrixAdjointMacAyeal2d(void){
     4789/*FUNCTION Penta::CreateKMatrixAdjointSSA2d{{{*/
     4790ElementMatrix* Penta::CreateKMatrixAdjointSSA2d(void){
    47914791
    47924792        /*Figure out if this penta is collapsed. If so, then bailout, except if it is at the
     
    48104810        /*Call Tria function*/
    48114811        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    4812         ElementMatrix* Ke=tria->CreateKMatrixAdjointMacAyeal();
     4812        ElementMatrix* Ke=tria->CreateKMatrixAdjointSSA();
    48134813        delete tria->material; delete tria;
    48144814
     
    49714971
    49724972        switch(approximation){
    4973                 case MacAyealApproximationEnum:
    4974                         return CreatePVectorAdjointMacAyeal();
     4973                case SSAApproximationEnum:
     4974                        return CreatePVectorAdjointSSA();
    49754975                case HOApproximationEnum:
    49764976                        return CreatePVectorAdjointHO();
     
    49844984}
    49854985/*}}}*/
    4986 /*FUNCTION Penta::CreatePVectorAdjointMacAyeal{{{*/
    4987 ElementVector* Penta::CreatePVectorAdjointMacAyeal(){
     4986/*FUNCTION Penta::CreatePVectorAdjointSSA{{{*/
     4987ElementVector* Penta::CreatePVectorAdjointSSA(){
    49884988
    49894989        if (!IsOnBed()) return NULL;
     
    50565056                        inputs->GetInputValue(&approximation,ApproximationEnum);
    50575057                        switch(approximation){
    5058                                 case MacAyealApproximationEnum:
    5059                                         GradjDragMacAyeal(gradient,control_index);
     5058                                case SSAApproximationEnum:
     5059                                        GradjDragSSA(gradient,control_index);
    50605060                                        break;
    50615061                                case HOApproximationEnum:
     
    50765076                        inputs->GetInputValue(&approximation,ApproximationEnum);
    50775077                        switch(approximation){
    5078                                 case MacAyealApproximationEnum:
    5079                                         GradjBbarMacAyeal(gradient,control_index);
     5078                                case SSAApproximationEnum:
     5079                                        GradjBbarSSA(gradient,control_index);
    50805080                                        break;
    50815081                                case HOApproximationEnum:
     
    51315131}
    51325132/*}}}*/
    5133 /*FUNCTION Penta::GradjDragMacAyeal {{{*/
    5134 void  Penta::GradjDragMacAyeal(Vector<IssmDouble>* gradient,int control_index){
     5133/*FUNCTION Penta::GradjDragSSA {{{*/
     5134void  Penta::GradjDragSSA(Vector<IssmDouble>* gradient,int control_index){
    51355135
    51365136        /*Gradient is 0 if on shelf or not on bed*/
     
    51395139        /*Spawn tria*/
    51405140        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    5141         tria->GradjDragMacAyeal(gradient,control_index);
     5141        tria->GradjDragSSA(gradient,control_index);
    51425142        delete tria->material; delete tria;
    51435143
     
    53065306}
    53075307/*}}}*/
    5308 /*FUNCTION Penta::GradjBbarMacAyeal {{{*/
    5309 void  Penta::GradjBbarMacAyeal(Vector<IssmDouble>* gradient,int control_index){
     5308/*FUNCTION Penta::GradjBbarSSA {{{*/
     5309void  Penta::GradjBbarSSA(Vector<IssmDouble>* gradient,int control_index){
    53105310
    53115311        /*This element should be collapsed into a tria element at its base*/
     
    53175317        /*Collapse element to the base*/
    53185318        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria (lower face).
    5319         tria->GradjBMacAyeal(gradient,control_index);
     5319        tria->GradjBSSA(gradient,control_index);
    53205320        delete tria->material; delete tria;
    53215321
     
    53355335        /*Collapse element to the base*/
    53365336        Tria* tria=(Tria*)SpawnTria(0,1,2);
    5337         tria->GradjBMacAyeal(gradient,control_index);    //We use MacAyeal as an estimate for now
     5337        tria->GradjBSSA(gradient,control_index);    //We use SSA as an estimate for now
    53385338        delete tria->material; delete tria;
    53395339
     
    53525352        /*Collapse element to the base*/
    53535353        Tria* tria=(Tria*)SpawnTria(0,1,2);
    5354         tria->GradjBMacAyeal(gradient,control_index);    //We use MacAyeal as an estimate for now
     5354        tria->GradjBSSA(gradient,control_index);    //We use SSA as an estimate for now
    53555355        delete tria->material; delete tria;
    53565356
     
    54955495
    54965496        /*Bail out if this element if:
    5497          * -> Non MacAyeal and not on the surface
    5498          * -> MacAyeal (2d model) and not on bed) */
    5499         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     5497         * -> Non SSA and not on the surface
     5498         * -> SSA (2d model) and not on bed) */
     5499        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    55005500                return 0;
    55015501        }
    5502         else if (approximation==MacAyealApproximationEnum){
     5502        else if (approximation==SSAApproximationEnum){
    55035503
    55045504                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    55325532
    55335533        /*Bail out if this element if:
    5534          * -> Non MacAyeal and not on the surface
    5535          * -> MacAyeal (2d model) and not on bed) */
    5536         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     5534         * -> Non SSA and not on the surface
     5535         * -> SSA (2d model) and not on bed) */
     5536        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    55375537                return 0;
    55385538        }
    5539         else if (approximation==MacAyealApproximationEnum){
     5539        else if (approximation==SSAApproximationEnum){
    55405540
    55415541                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    55695569
    55705570        /*Bail out if this element if:
    5571          * -> Non MacAyeal and not on the surface
    5572          * -> MacAyeal (2d model) and not on bed) */
    5573         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     5571         * -> Non SSA and not on the surface
     5572         * -> SSA (2d model) and not on bed) */
     5573        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    55745574                return 0;
    55755575        }
    5576         else if (approximation==MacAyealApproximationEnum){
     5576        else if (approximation==SSAApproximationEnum){
    55775577
    55785578                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    56085608
    56095609        /*Bail out if this element if:
    5610          * -> Non MacAyeal and not on the surface
    5611          * -> MacAyeal (2d model) and not on bed) */
    5612         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     5610         * -> Non SSA and not on the surface
     5611         * -> SSA (2d model) and not on bed) */
     5612        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    56135613                return 0;
    56145614        }
    5615         else if (approximation==MacAyealApproximationEnum){
     5615        else if (approximation==SSAApproximationEnum){
    56165616
    56175617                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    56455645
    56465646        /*Bail out if this element if:
    5647          * -> Non MacAyeal and not on the surface
    5648          * -> MacAyeal (2d model) and not on bed) */
    5649         if ((approximation!=MacAyealApproximationEnum && !IsOnSurface()) || (approximation==MacAyealApproximationEnum && !IsOnBed())){
     5647         * -> Non SSA and not on the surface
     5648         * -> SSA (2d model) and not on bed) */
     5649        if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
    56505650                return 0;
    56515651        }
    5652         else if (approximation==MacAyealApproximationEnum){
     5652        else if (approximation==SSAApproximationEnum){
    56535653
    56545654                /*This element should be collapsed into a tria element at its base. Create this tria element,
     
    59835983}
    59845984/*}}}*/
    5985 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealHO{{{*/
    5986 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealHO(void){
     5985/*FUNCTION Penta::CreateKMatrixCouplingSSAHO{{{*/
     5986ElementMatrix* Penta::CreateKMatrixCouplingSSAHO(void){
    59875987
    59885988        /*compute all stiffness matrices for this element*/
    5989         ElementMatrix* Ke1=CreateKMatrixCouplingMacAyealHOViscous();
    5990         ElementMatrix* Ke2=CreateKMatrixCouplingMacAyealHOFriction();
     5989        ElementMatrix* Ke1=CreateKMatrixCouplingSSAHOViscous();
     5990        ElementMatrix* Ke2=CreateKMatrixCouplingSSAHOFriction();
    59915991        ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
    59925992
     
    59975997}
    59985998/*}}}*/
    5999 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealHOViscous{{{*/
    6000 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealHOViscous(void){
     5999/*FUNCTION Penta::CreateKMatrixCouplingSSAHOViscous{{{*/
     6000ElementMatrix* Penta::CreateKMatrixCouplingSSAHOViscous(void){
    60016001
    60026002        /*Constants*/
     
    60366036
    60376037        /*Initialize Element matrix*/
    6038         ElementMatrix* Ke1=new ElementMatrix(pentabase->nodes,NUMVERTICES,this->parameters,MacAyealApproximationEnum);
     6038        ElementMatrix* Ke1=new ElementMatrix(pentabase->nodes,NUMVERTICES,this->parameters,SSAApproximationEnum);
    60396039        ElementMatrix* Ke2=new ElementMatrix(this->nodes     ,NUMVERTICES,this->parameters,HOApproximationEnum);
    60406040        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
     
    60586058
    60596059                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    6060                 GetBMacAyealHO(&B[0][0], &xyz_list[0][0], gauss);
    6061                 tria->GetBprimeMacAyeal(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
     6060                GetBSSAHO(&B[0][0], &xyz_list[0][0], gauss);
     6061                tria->GetBprimeSSA(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
    60626062
    60636063                this->GetStrainRate3dHO(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
     
    60906090}
    60916091/*}}}*/
    6092 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealHOFriction{{{*/
    6093 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealHOFriction(void){
     6092/*FUNCTION Penta::CreateKMatrixCouplingSSAHOFriction{{{*/
     6093ElementMatrix* Penta::CreateKMatrixCouplingSSAHOFriction(void){
    60946094
    60956095        /*Constants*/
     
    61156115        /*Initialize Element matrix and return if necessary*/
    61166116        if(IsFloating() || !IsOnBed()) return NULL;
    6117         ElementMatrix* Ke1=new ElementMatrix(nodes,NUMVERTICES,this->parameters,MacAyealApproximationEnum);
     6117        ElementMatrix* Ke1=new ElementMatrix(nodes,NUMVERTICES,this->parameters,SSAApproximationEnum);
    61186118        ElementMatrix* Ke2=new ElementMatrix(nodes,NUMVERTICES,this->parameters,HOApproximationEnum);
    61196119        ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
     
    61756175}
    61766176/*}}}*/
    6177 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealFS{{{*/
    6178 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealFS(void){
     6177/*FUNCTION Penta::CreateKMatrixCouplingSSAFS{{{*/
     6178ElementMatrix* Penta::CreateKMatrixCouplingSSAFS(void){
    61796179
    61806180        /*compute all stiffness matrices for this element*/
    6181         ElementMatrix* Ke1=CreateKMatrixCouplingMacAyealFSViscous();
    6182         ElementMatrix* Ke2=CreateKMatrixCouplingMacAyealFSFriction();
     6181        ElementMatrix* Ke1=CreateKMatrixCouplingSSAFSViscous();
     6182        ElementMatrix* Ke2=CreateKMatrixCouplingSSAFSFriction();
    61836183        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
    61846184
     
    61896189}
    61906190/*}}}*/
    6191 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealFSViscous{{{*/
    6192 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealFSViscous(void){
     6191/*FUNCTION Penta::CreateKMatrixCouplingSSAFSViscous{{{*/
     6192ElementMatrix* Penta::CreateKMatrixCouplingSSAFSViscous(void){
    61936193
    61946194        /*Constants*/
     
    62336233
    62346234        /*Initialize Element matrix and return if necessary*/
    6235         ElementMatrix* Ke1=new ElementMatrix(pentabase->nodes,NUMVERTICES,this->parameters,MacAyealApproximationEnum);
     6235        ElementMatrix* Ke1=new ElementMatrix(pentabase->nodes,NUMVERTICES,this->parameters,SSAApproximationEnum);
    62366236        ElementMatrix* Ke2=new ElementMatrix(this->nodes     ,NUMVERTICES,this->parameters,FSApproximationEnum);
    62376237        ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
     
    62546254
    62556255                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    6256                 GetBMacAyealFS(&B[0][0], &xyz_list[0][0], gauss);
    6257                 tria->GetBprimeMacAyealFS(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
    6258                 tria->GetBMacAyealFS(&B2[0][0], &xyz_list[0][0], gauss_tria);
    6259                 GetBprimeMacAyealFS(&Bprime2[0][0], &xyz_list[0][0], gauss);
     6256                GetBSSAFS(&B[0][0], &xyz_list[0][0], gauss);
     6257                tria->GetBprimeSSAFS(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
     6258                tria->GetBSSAFS(&B2[0][0], &xyz_list[0][0], gauss_tria);
     6259                GetBprimeSSAFS(&Bprime2[0][0], &xyz_list[0][0], gauss);
    62606260
    62616261                this->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input,vz_input);
     
    62936293}
    62946294/*}}}*/
    6295 /*FUNCTION Penta::CreateKMatrixCouplingMacAyealFSFriction {{{*/
    6296 ElementMatrix* Penta::CreateKMatrixCouplingMacAyealFSFriction(void){
     6295/*FUNCTION Penta::CreateKMatrixCouplingSSAFSFriction {{{*/
     6296ElementMatrix* Penta::CreateKMatrixCouplingSSAFSFriction(void){
    62976297
    62986298        /*Constants*/
     
    63136313        IssmDouble xyz_list[NUMVERTICES][3];
    63146314        IssmDouble xyz_list_tria[NUMVERTICES2D][3];
    6315         IssmDouble LMacAyealFS[8][numdof2dm];
    6316         IssmDouble LprimeMacAyealFS[8][numdof2d];
    6317         IssmDouble DLMacAyealFS[8][8]={0.0};
    6318         IssmDouble LFSMacAyeal[4][numdof2d];
    6319         IssmDouble LprimeFSMacAyeal[4][numdof2dm];
    6320         IssmDouble DLFSMacAyeal[4][4]={0.0};
     6315        IssmDouble LSSAFS[8][numdof2dm];
     6316        IssmDouble LprimeSSAFS[8][numdof2d];
     6317        IssmDouble DLSSAFS[8][8]={0.0};
     6318        IssmDouble LFSSSA[4][numdof2d];
     6319        IssmDouble LprimeFSSSA[4][numdof2dm];
     6320        IssmDouble DLFSSSA[4][4]={0.0};
    63216321        IssmDouble Ke_drag_gaussian[numdof2dm][numdof2d];
    63226322        IssmDouble Ke_drag_gaussian2[numdof2d][numdof2dm];
     
    63296329        inputs->GetInputValue(&approximation,ApproximationEnum);
    63306330        if(IsFloating() || !IsOnBed()) return NULL;
    6331         ElementMatrix* Ke1=new ElementMatrix(this->nodes,NUMVERTICES,this->parameters,MacAyealApproximationEnum);
     6331        ElementMatrix* Ke1=new ElementMatrix(this->nodes,NUMVERTICES,this->parameters,SSAApproximationEnum);
    63326332        ElementMatrix* Ke2=new ElementMatrix(this->nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    63336333        ElementMatrix* Ke=new ElementMatrix(Ke1,Ke2);
     
    63616361
    63626362                GetTriaJacobianDeterminant(&Jdet2d, &xyz_list_tria[0][0],gauss);
    6363                 GetLMacAyealFS(&LMacAyealFS[0][0], gauss);
    6364                 GetLprimeMacAyealFS(&LprimeMacAyealFS[0][0], &xyz_list[0][0], gauss);
    6365                 GetLFSMacAyeal(&LFSMacAyeal[0][0], gauss);
    6366                 GetLprimeFSMacAyeal(&LprimeFSMacAyeal[0][0], &xyz_list[0][0], gauss);
     6363                GetLSSAFS(&LSSAFS[0][0], gauss);
     6364                GetLprimeSSAFS(&LprimeSSAFS[0][0], &xyz_list[0][0], gauss);
     6365                GetLFSSSA(&LFSSSA[0][0], gauss);
     6366                GetLprimeFSSSA(&LprimeFSSSA[0][0], &xyz_list[0][0], gauss);
    63676367
    63686368                this->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input,vz_input);
     
    63726372                friction->GetAlpha2(&alpha2_gauss, gauss,VxEnum,VyEnum,VzEnum);
    63736373
    6374                 DLMacAyealFS[0][0]=alpha2_gauss*gauss->weight*Jdet2d;
    6375                 DLMacAyealFS[1][1]=alpha2_gauss*gauss->weight*Jdet2d;
    6376                 DLMacAyealFS[2][2]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[0]*bed_normal[2];
    6377                 DLMacAyealFS[3][3]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[1]*bed_normal[2];
    6378                 DLMacAyealFS[4][4]=-2*viscosity*gauss->weight*Jdet2d*bed_normal[0];
    6379                 DLMacAyealFS[5][5]=-2*viscosity*gauss->weight*Jdet2d*bed_normal[1];
    6380                 DLMacAyealFS[6][6]=FSreconditioning*gauss->weight*Jdet2d*bed_normal[0];
    6381                 DLMacAyealFS[7][7]=FSreconditioning*gauss->weight*Jdet2d*bed_normal[1];
    6382 
    6383                 DLFSMacAyeal[0][0]=alpha2_gauss*gauss->weight*Jdet2d;
    6384                 DLFSMacAyeal[1][1]=alpha2_gauss*gauss->weight*Jdet2d;
    6385                 DLFSMacAyeal[2][2]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[0]*bed_normal[2];
    6386                 DLFSMacAyeal[3][3]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[1]*bed_normal[2];
    6387 
    6388                 TripleMultiply( &LMacAyealFS[0][0],8,numdof2dm,1,
    6389                                         &DLMacAyealFS[0][0],8,8,0,
    6390                                         &LprimeMacAyealFS[0][0],8,numdof2d,0,
     6374                DLSSAFS[0][0]=alpha2_gauss*gauss->weight*Jdet2d;
     6375                DLSSAFS[1][1]=alpha2_gauss*gauss->weight*Jdet2d;
     6376                DLSSAFS[2][2]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[0]*bed_normal[2];
     6377                DLSSAFS[3][3]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[1]*bed_normal[2];
     6378                DLSSAFS[4][4]=-2*viscosity*gauss->weight*Jdet2d*bed_normal[0];
     6379                DLSSAFS[5][5]=-2*viscosity*gauss->weight*Jdet2d*bed_normal[1];
     6380                DLSSAFS[6][6]=FSreconditioning*gauss->weight*Jdet2d*bed_normal[0];
     6381                DLSSAFS[7][7]=FSreconditioning*gauss->weight*Jdet2d*bed_normal[1];
     6382
     6383                DLFSSSA[0][0]=alpha2_gauss*gauss->weight*Jdet2d;
     6384                DLFSSSA[1][1]=alpha2_gauss*gauss->weight*Jdet2d;
     6385                DLFSSSA[2][2]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[0]*bed_normal[2];
     6386                DLFSSSA[3][3]=-alpha2_gauss*gauss->weight*Jdet2d*bed_normal[1]*bed_normal[2];
     6387
     6388                TripleMultiply( &LSSAFS[0][0],8,numdof2dm,1,
     6389                                        &DLSSAFS[0][0],8,8,0,
     6390                                        &LprimeSSAFS[0][0],8,numdof2d,0,
    63916391                                        &Ke_drag_gaussian[0][0],0);
    63926392
    6393                 TripleMultiply( &LFSMacAyeal[0][0],4,numdof2d,1,
    6394                                         &DLFSMacAyeal[0][0],4,4,0,
    6395                                         &LprimeFSMacAyeal[0][0],4,numdof2dm,0,
     6393                TripleMultiply( &LFSSSA[0][0],4,numdof2d,1,
     6394                                        &DLFSSSA[0][0],4,4,0,
     6395                                        &LprimeFSSSA[0][0],4,numdof2dm,0,
    63966396                                        &Ke_drag_gaussian2[0][0],0);
    63976397
     
    64656465
    64666466        switch(approximation){
    6467                 case MacAyealApproximationEnum:
    6468                         return CreateKMatrixDiagnosticMacAyeal2d();
     6467                case SSAApproximationEnum:
     6468                        return CreateKMatrixDiagnosticSSA2d();
    64696469                case L1L2ApproximationEnum:
    64706470                        return CreateKMatrixDiagnosticL1L2();
     
    64776477                case NoneApproximationEnum:
    64786478                        return NULL;
    6479                 case MacAyealHOApproximationEnum:
    6480                         return CreateKMatrixDiagnosticMacAyealHO();
    6481                 case MacAyealFSApproximationEnum:
    6482                         return CreateKMatrixDiagnosticMacAyealFS();
     6479                case SSAHOApproximationEnum:
     6480                        return CreateKMatrixDiagnosticSSAHO();
     6481                case SSAFSApproximationEnum:
     6482                        return CreateKMatrixDiagnosticSSAFS();
    64836483                case HOFSApproximationEnum:
    64846484                        return CreateKMatrixDiagnosticHOFS();
     
    65516551        return Ke;
    65526552}/*}}}*/
    6553 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyeal2d{{{*/
    6554 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyeal2d(void){
     6553/*FUNCTION Penta::CreateKMatrixDiagnosticSSA2d{{{*/
     6554ElementMatrix* Penta::CreateKMatrixDiagnosticSSA2d(void){
    65556555
    65566556        /*Figure out if this penta is collapsed. If so, then bailout, except if it is at the
     
    65746574        /*Call Tria function*/
    65756575        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    6576         ElementMatrix* Ke=tria->CreateKMatrixDiagnosticMacAyeal();
     6576        ElementMatrix* Ke=tria->CreateKMatrixDiagnosticSSA();
    65776577        delete tria->material; delete tria;
    65786578
     
    65856585}
    65866586/*}}}*/
    6587 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyeal3d{{{*/
    6588 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyeal3d(void){
     6587/*FUNCTION Penta::CreateKMatrixDiagnosticSSA3d{{{*/
     6588ElementMatrix* Penta::CreateKMatrixDiagnosticSSA3d(void){
    65896589
    65906590        /*compute all stiffness matrices for this element*/
    6591         ElementMatrix* Ke1=CreateKMatrixDiagnosticMacAyeal3dViscous();
    6592         ElementMatrix* Ke2=CreateKMatrixDiagnosticMacAyeal3dFriction();
     6591        ElementMatrix* Ke1=CreateKMatrixDiagnosticSSA3dViscous();
     6592        ElementMatrix* Ke2=CreateKMatrixDiagnosticSSA3dFriction();
    65936593        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
    65946594
     
    65996599}
    66006600/*}}}*/
    6601 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyeal3dViscous{{{*/
    6602 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyeal3dViscous(void){
     6601/*FUNCTION Penta::CreateKMatrixDiagnosticSSA3dViscous{{{*/
     6602ElementMatrix* Penta::CreateKMatrixDiagnosticSSA3dViscous(void){
    66036603
    66046604        /*Constants*/
     
    66276627
    66286628        /*Initialize Element matrix*/
    6629         ElementMatrix* Ke=new ElementMatrix(tria->nodes,NUMVERTICES2D,this->parameters,MacAyealApproximationEnum);
     6629        ElementMatrix* Ke=new ElementMatrix(tria->nodes,NUMVERTICES2D,this->parameters,SSAApproximationEnum);
    66306630        inputs->GetInputValue(&approximation,ApproximationEnum);
    66316631
     
    66486648
    66496649                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    6650                 tria->GetBMacAyeal(&B[0][0], &xyz_list[0][0], gauss_tria);
    6651                 tria->GetBprimeMacAyeal(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
    6652 
    6653                 if(approximation==MacAyealHOApproximationEnum){
     6650                tria->GetBSSA(&B[0][0], &xyz_list[0][0], gauss_tria);
     6651                tria->GetBprimeSSA(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
     6652
     6653                if(approximation==SSAHOApproximationEnum){
    66546654                        this->GetStrainRate3dHO(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
    66556655                        this->GetStrainRate3dHO(&oldepsilon[0],&xyz_list[0][0],gauss,vxold_input,vyold_input);
     
    66596659                        newviscosity=viscosity+viscosity_overshoot*(viscosity-oldviscosity);
    66606660                }
    6661                 else if (approximation==MacAyealFSApproximationEnum){
     6661                else if (approximation==SSAFSApproximationEnum){
    66626662                        this->GetStrainRate3d(&epsilons[0],&xyz_list[0][0],gauss,vx_input,vy_input,vz_input);
    66636663                        material->GetViscosity3dFS(&newviscosity,&epsilons[0]);
     
    66876687}
    66886688/*}}}*/
    6689 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyeal3dFriction{{{*/
    6690 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyeal3dFriction(void){
     6689/*FUNCTION Penta::CreateKMatrixDiagnosticSSA3dFriction{{{*/
     6690ElementMatrix* Penta::CreateKMatrixDiagnosticSSA3dFriction(void){
    66916691
    66926692        /*Initialize Element matrix and return if necessary*/
     
    66976697         * nodes: */
    66986698        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    6699         ElementMatrix* Ke=tria->CreateKMatrixDiagnosticMacAyealFriction();
     6699        ElementMatrix* Ke=tria->CreateKMatrixDiagnosticSSAFriction();
    67006700        delete tria->material; delete tria;
    67016701
     
    67046704}
    67056705/*}}}*/
    6706 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyealHO{{{*/
    6707 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyealHO(void){
     6706/*FUNCTION Penta::CreateKMatrixDiagnosticSSAHO{{{*/
     6707ElementMatrix* Penta::CreateKMatrixDiagnosticSSAHO(void){
    67086708
    67096709        /*compute all stiffness matrices for this element*/
    6710         ElementMatrix* Ke1=CreateKMatrixDiagnosticMacAyeal3d();
     6710        ElementMatrix* Ke1=CreateKMatrixDiagnosticSSA3d();
    67116711        ElementMatrix* Ke2=CreateKMatrixDiagnosticHO();
    6712         ElementMatrix* Ke3=CreateKMatrixCouplingMacAyealHO();
     6712        ElementMatrix* Ke3=CreateKMatrixCouplingSSAHO();
    67136713        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2,Ke3);
    67146714
     
    67206720}
    67216721/*}}}*/
    6722 /*FUNCTION Penta::CreateKMatrixDiagnosticMacAyealFS{{{*/
    6723 ElementMatrix* Penta::CreateKMatrixDiagnosticMacAyealFS(void){
     6722/*FUNCTION Penta::CreateKMatrixDiagnosticSSAFS{{{*/
     6723ElementMatrix* Penta::CreateKMatrixDiagnosticSSAFS(void){
    67246724
    67256725        /*compute all stiffness matrices for this element*/
    6726         ElementMatrix* Ke1=CreateKMatrixDiagnosticMacAyeal3d();
     6726        ElementMatrix* Ke1=CreateKMatrixDiagnosticSSA3d();
    67276727        ElementMatrix* Ke2=CreateKMatrixDiagnosticFS();
    6728         ElementMatrix* Ke3=CreateKMatrixCouplingMacAyealFS();
     6728        ElementMatrix* Ke3=CreateKMatrixCouplingSSAFS();
    67296729        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2,Ke3);
    67306730
     
    67926792
    67936793                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    6794                 tria->GetBMacAyeal(&B[0][0], &xyz_list[0][0], gauss_tria);
    6795                 tria->GetBprimeMacAyeal(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
     6794                tria->GetBSSA(&B[0][0], &xyz_list[0][0], gauss_tria);
     6795                tria->GetBprimeSSA(&Bprime[0][0], &xyz_list[0][0], gauss_tria);
    67966796
    67976797                /*Get viscosity for L1L2 model*/
     
    68286828         * nodes: */
    68296829        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    6830         ElementMatrix* Ke=tria->CreateKMatrixDiagnosticMacAyealFriction();
     6830        ElementMatrix* Ke=tria->CreateKMatrixDiagnosticSSAFriction();
    68316831        delete tria->material; delete tria;
    68326832
     
    70517051        /*If on water or not FS, skip stiffness: */
    70527052        inputs->GetInputValue(&approximation,ApproximationEnum);
    7053         if(approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
     7053        if(approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
    70547054        ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    70557055
     
    71307130        /*If on water or not FS, skip stiffness: */
    71317131        inputs->GetInputValue(&approximation,ApproximationEnum);
    7132         if(approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
     7132        if(approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
    71337133        ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    71347134
     
    72587258        /*If on water or not FS, skip stiffness: */
    72597259        inputs->GetInputValue(&approximation,ApproximationEnum);
    7260         if(IsFloating() || !IsOnBed() || (approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum &&  approximation!=HOFSApproximationEnum)) return NULL;
     7260        if(IsFloating() || !IsOnBed() || (approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum &&  approximation!=HOFSApproximationEnum)) return NULL;
    72617261        ElementMatrix* Ke=new ElementMatrix(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    72627262
     
    74127412}
    74137413/*}}}*/
    7414 /*FUNCTION Penta::CreatePVectorCouplingMacAyealFS {{{*/
    7415 ElementVector* Penta::CreatePVectorCouplingMacAyealFS(void){
     7414/*FUNCTION Penta::CreatePVectorCouplingSSAFS {{{*/
     7415ElementVector* Penta::CreatePVectorCouplingSSAFS(void){
    74167416
    74177417        /*compute all load vectors for this element*/
    7418         ElementVector* pe1=CreatePVectorCouplingMacAyealFSViscous();
    7419         ElementVector* pe2=CreatePVectorCouplingMacAyealFSFriction();
     7418        ElementVector* pe1=CreatePVectorCouplingSSAFSViscous();
     7419        ElementVector* pe2=CreatePVectorCouplingSSAFSFriction();
    74207420        ElementVector* pe =new ElementVector(pe1,pe2);
    74217421
     
    74267426}
    74277427/*}}}*/
    7428 /*FUNCTION Penta::CreatePVectorCouplingMacAyealFSViscous {{{*/
    7429 ElementVector* Penta::CreatePVectorCouplingMacAyealFSViscous(void){
     7428/*FUNCTION Penta::CreatePVectorCouplingSSAFSViscous {{{*/
     7429ElementVector* Penta::CreatePVectorCouplingSSAFSViscous(void){
    74307430
    74317431        /*Constants*/
     
    74467446        /*Initialize Element vector and return if necessary*/
    74477447        inputs->GetInputValue(&approximation,ApproximationEnum);
    7448         if(approximation!=MacAyealFSApproximationEnum) return NULL;
     7448        if(approximation!=SSAFSApproximationEnum) return NULL;
    74497449        ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    74507450
     
    74557455        Input* vy_input=inputs->GetInput(VyEnum);               _assert_(vy_input);
    74567456        Input* vz_input=inputs->GetInput(VzEnum);               _assert_(vz_input);
    7457         Input* vzSSA_input=inputs->GetInput(VzMacAyealEnum);   _assert_(vzSSA_input);
     7457        Input* vzSSA_input=inputs->GetInput(VzSSAEnum);   _assert_(vzSSA_input);
    74587458
    74597459        /* Start  looping on the number of gaussian points: */
     
    74887488}
    74897489/*}}}*/
    7490 /*FUNCTION Penta::CreatePVectorCouplingMacAyealFSFriction{{{*/
    7491 ElementVector* Penta::CreatePVectorCouplingMacAyealFSFriction(void){
     7490/*FUNCTION Penta::CreatePVectorCouplingSSAFSFriction{{{*/
     7491ElementVector* Penta::CreatePVectorCouplingSSAFSFriction(void){
    74927492
    74937493        /*Constants*/
     
    75137513        if(!IsOnBed() || IsFloating()) return NULL;
    75147514        inputs->GetInputValue(&approximation,ApproximationEnum);
    7515         if(approximation!=MacAyealFSApproximationEnum) return NULL;
     7515        if(approximation!=SSAFSApproximationEnum) return NULL;
    75167516        ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    75177517
     
    75237523        Input* vy_input=inputs->GetInput(VyEnum);               _assert_(vy_input);
    75247524        Input* vz_input=inputs->GetInput(VzEnum);               _assert_(vz_input);
    7525         Input* vzSSA_input=inputs->GetInput(VzMacAyealEnum);   _assert_(vzSSA_input);
     7525        Input* vzSSA_input=inputs->GetInput(VzSSAEnum);   _assert_(vzSSA_input);
    75267526
    75277527        for(i=0;i<NUMVERTICES2D;i++) for(j=0;j<3;j++) xyz_list_tria[i][j]=xyz_list[i][j];
     
    77217721
    77227722        switch(approximation){
    7723                 case MacAyealApproximationEnum:
    7724                         return CreatePVectorDiagnosticMacAyeal();
     7723                case SSAApproximationEnum:
     7724                        return CreatePVectorDiagnosticSSA();
    77257725                case HOApproximationEnum:
    77267726                        return CreatePVectorDiagnosticHO();
     
    77337733                case FSApproximationEnum:
    77347734                        return CreatePVectorDiagnosticFS();
    7735                 case MacAyealHOApproximationEnum:
    7736                         return CreatePVectorDiagnosticMacAyealHO();
    7737                 case MacAyealFSApproximationEnum:
    7738                         return CreatePVectorDiagnosticMacAyealFS();
     7735                case SSAHOApproximationEnum:
     7736                        return CreatePVectorDiagnosticSSAHO();
     7737                case SSAFSApproximationEnum:
     7738                        return CreatePVectorDiagnosticSSAFS();
    77397739                case HOFSApproximationEnum:
    77407740                        return CreatePVectorDiagnosticHOFS();
     
    77447744}
    77457745/*}}}*/
    7746 /*FUNCTION Penta::CreatePVectorDiagnosticMacAyealHO{{{*/
    7747 ElementVector* Penta::CreatePVectorDiagnosticMacAyealHO(void){
     7746/*FUNCTION Penta::CreatePVectorDiagnosticSSAHO{{{*/
     7747ElementVector* Penta::CreatePVectorDiagnosticSSAHO(void){
    77487748
    77497749        /*compute all load vectors for this element*/
    7750         ElementVector* pe1=CreatePVectorDiagnosticMacAyeal();
     7750        ElementVector* pe1=CreatePVectorDiagnosticSSA();
    77517751        ElementVector* pe2=CreatePVectorDiagnosticHO();
    77527752        ElementVector* pe =new ElementVector(pe1,pe2);
     
    77587758}
    77597759/*}}}*/
    7760 /*FUNCTION Penta::CreatePVectorDiagnosticMacAyealFS{{{*/
    7761 ElementVector* Penta::CreatePVectorDiagnosticMacAyealFS(void){
     7760/*FUNCTION Penta::CreatePVectorDiagnosticSSAFS{{{*/
     7761ElementVector* Penta::CreatePVectorDiagnosticSSAFS(void){
    77627762
    77637763        /*compute all load vectors for this element*/
    7764         ElementVector* pe1=CreatePVectorDiagnosticMacAyeal();
     7764        ElementVector* pe1=CreatePVectorDiagnosticSSA();
    77657765        ElementVector* pe2=CreatePVectorDiagnosticFS();
    7766         ElementVector* pe3=CreatePVectorCouplingMacAyealFS();
     7766        ElementVector* pe3=CreatePVectorCouplingSSAFS();
    77677767        ElementVector* pe =new ElementVector(pe1,pe2,pe3);
    77687768
     
    78757875}
    78767876/*}}}*/
    7877 /*FUNCTION Penta::CreatePVectorDiagnosticMacAyeal{{{*/
    7878 ElementVector* Penta::CreatePVectorDiagnosticMacAyeal(void){
     7877/*FUNCTION Penta::CreatePVectorDiagnosticSSA{{{*/
     7878ElementVector* Penta::CreatePVectorDiagnosticSSA(void){
    78797879
    78807880        if (!IsOnBed()) return NULL;
     
    78827882        /*Call Tria function*/
    78837883        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    7884         ElementVector* pe=tria->CreatePVectorDiagnosticMacAyeal();
     7884        ElementVector* pe=tria->CreatePVectorDiagnosticSSA();
    78857885        delete tria->material; delete tria;
    78867886
     
    78967896        /*Call Tria function*/
    78977897        Tria* tria=(Tria*)SpawnTria(0,1,2); //nodes 0, 1 and 2 make the new tria.
    7898         ElementVector* pe=tria->CreatePVectorDiagnosticMacAyeal();
     7898        ElementVector* pe=tria->CreatePVectorDiagnosticSSA();
    78997899        delete tria->material; delete tria;
    79007900
     
    81068106        /*Initialize Element vector and return if necessary*/
    81078107        inputs->GetInputValue(&approximation,ApproximationEnum);
    8108         if(approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
     8108        if(approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
    81098109        ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    81108110
     
    82768276        /*Initialize Element vector and return if necessary*/
    82778277        inputs->GetInputValue(&approximation,ApproximationEnum);
    8278         if(approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
     8278        if(approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
    82798279        parameters->FindParam(&FSreconditioning,DiagnosticFSreconditioningEnum);
    82808280        ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
     
    83928392        inputs->GetInputValue(&approximation,ApproximationEnum);
    83938393        this->parameters->FindParam(&shelf_dampening,DiagnosticShelfDampeningEnum);
    8394         if(approximation!=FSApproximationEnum && approximation!=MacAyealFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
     8394        if(approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum) return NULL;
    83958395        ElementVector* pe=new ElementVector(nodes,NUMVERTICES,this->parameters,FSApproximationEnum);
    83968396
     
    84788478        Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input);
    84798479        Input* vzFS_input=NULL;
    8480         if(approximation==HOFSApproximationEnum || approximation==MacAyealFSApproximationEnum){
     8480        if(approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
    84818481                vzFS_input=inputs->GetInput(VzFSEnum); _assert_(vzFS_input);
    84828482        }
     
    84938493                vx_input->GetInputDerivativeValue(&du[0],&xyz_list[0][0],gauss);
    84948494                vy_input->GetInputDerivativeValue(&dv[0],&xyz_list[0][0],gauss);
    8495                 if(approximation==HOFSApproximationEnum || approximation==MacAyealFSApproximationEnum){
     8495                if(approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
    84968496                        vzFS_input->GetInputDerivativeValue(&dw[0],&xyz_list[0][0],gauss);
    84978497                        dwdz=dw[2];
     
    85408540        Input* vy_input=inputs->GetInput(VyEnum);                                  _assert_(vy_input);
    85418541        Input* vzFS_input=NULL;
    8542         if(approximation==HOFSApproximationEnum || approximation==MacAyealFSApproximationEnum){
     8542        if(approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
    85438543                vzFS_input=inputs->GetInput(VzFSEnum);       _assert_(vzFS_input);
    85448544        }
     
    85548554                vx_input->GetInputValue(&vx, gauss);
    85558555                vy_input->GetInputValue(&vy, gauss);
    8556                 if(approximation==HOFSApproximationEnum || approximation==MacAyealFSApproximationEnum){
     8556                if(approximation==HOFSApproximationEnum || approximation==SSAFSApproximationEnum){
    85578557                        vzFS_input->GetInputValue(&vz, gauss);
    85588558                }
     
    85808580
    85818581        switch(approximation){
    8582                 case MacAyealApproximationEnum:
     8582                case SSAApproximationEnum:
    85838583                        return CreateJacobianDiagnosticSSA2d();
    85848584                case HOApproximationEnum:
     
    87848784
    87858785        /*If the element is a coupling, do nothing: every node is also on an other elements
    8786          * (as coupling is between MacAyeal and HO) so the other element will take care of it*/
     8786         * (as coupling is between SSA and HO) so the other element will take care of it*/
    87878787        GetDofList(&doflist,approximation,GsetEnum);
    87888788
     
    89998999        inputs->GetInputValue(&approximation,ApproximationEnum);
    90009000
    9001         /*MacAyeal, everything is done by the element on bed*/
    9002         if (approximation==MacAyealApproximationEnum){
     9001        /*SSA, everything is done by the element on bed*/
     9002        if (approximation==SSAApproximationEnum){
    90039003                if (!IsOnBed()){
    90049004                        /*Do nothing. Element on bed will take care of it*/
     
    90069006                }
    90079007                else{
    9008                         InputUpdateFromSolutionDiagnosticMacAyeal(solution);
     9008                        InputUpdateFromSolutionDiagnosticSSA(solution);
    90099009                        return;
    90109010                }
     
    90219021                InputUpdateFromSolutionDiagnosticHOFS(solution);
    90229022        }
    9023         else if (approximation==MacAyealFSApproximationEnum){
    9024                 InputUpdateFromSolutionDiagnosticMacAyealFS(solution);
     9023        else if (approximation==SSAFSApproximationEnum){
     9024                InputUpdateFromSolutionDiagnosticSSAFS(solution);
    90259025        }
    90269026        else if (approximation==FSApproximationEnum || approximation==NoneApproximationEnum){
    90279027                InputUpdateFromSolutionDiagnosticFS(solution);
    90289028        }
    9029         else if (approximation==MacAyealHOApproximationEnum){
    9030                 InputUpdateFromSolutionDiagnosticMacAyealHO(solution);
    9031         }
    9032 }
    9033 /*}}}*/
    9034 /*FUNCTION Penta::InputUpdateFromSolutionDiagnosticMacAyeal {{{*/
    9035 void  Penta::InputUpdateFromSolutionDiagnosticMacAyeal(IssmDouble* solution){
     9029        else if (approximation==SSAHOApproximationEnum){
     9030                InputUpdateFromSolutionDiagnosticSSAHO(solution);
     9031        }
     9032}
     9033/*}}}*/
     9034/*FUNCTION Penta::InputUpdateFromSolutionDiagnosticSSA {{{*/
     9035void  Penta::InputUpdateFromSolutionDiagnosticSSA(IssmDouble* solution){
    90369036
    90379037        const int    numdof=NDOF2*NUMVERTICES;
     
    90519051
    90529052        /*Get dof list: */
    9053         GetDofList(&doflist,MacAyealApproximationEnum,GsetEnum);
     9053        GetDofList(&doflist,SSAApproximationEnum,GsetEnum);
    90549054
    90559055        /*Use the dof list to index into the solution vector: */
     
    91139113}
    91149114/*}}}*/
    9115 /*FUNCTION Penta::InputUpdateFromSolutionDiagnosticMacAyealHO {{{*/
    9116 void  Penta::InputUpdateFromSolutionDiagnosticMacAyealHO(IssmDouble* solution){
     9115/*FUNCTION Penta::InputUpdateFromSolutionDiagnosticSSAHO {{{*/
     9116void  Penta::InputUpdateFromSolutionDiagnosticSSAHO(IssmDouble* solution){
    91179117
    91189118        const int    numdof=NDOF2*NUMVERTICES;
     
    91409140        /*Get dof listof this element (HO dofs) and of the penta at base (SSA dofs): */
    91419141        GetDofList(&doflistp,HOApproximationEnum,GsetEnum);
    9142         penta->GetDofList(&doflistm,MacAyealApproximationEnum,GsetEnum);
     9142        penta->GetDofList(&doflistm,SSAApproximationEnum,GsetEnum);
    91439143
    91449144        /*Get node data: */
     
    91979197}
    91989198/*}}}*/
    9199 /*FUNCTION Penta::InputUpdateFromSolutionDiagnosticMacAyealFS {{{*/
    9200 void  Penta::InputUpdateFromSolutionDiagnosticMacAyealFS(IssmDouble* solution){
     9199/*FUNCTION Penta::InputUpdateFromSolutionDiagnosticSSAFS {{{*/
     9200void  Penta::InputUpdateFromSolutionDiagnosticSSAFS(IssmDouble* solution){
    92019201
    92029202        const int    numdofm=NDOF2*NUMVERTICES;
     
    92259225
    92269226        /*Get dof listof this element (SSA dofs) and of the penta at base (SSA dofs): */
    9227         penta->GetDofList(&doflistm,MacAyealApproximationEnum,GsetEnum);
     9227        penta->GetDofList(&doflistm,SSAApproximationEnum,GsetEnum);
    92289228        GetDofList(&doflists,FSApproximationEnum,GsetEnum);
    92299229        this->parameters->FindParam(&FSreconditioning,DiagnosticFSreconditioningEnum);
     
    92609260
    92619261        /*Get Vz*/
    9262         Input* vzSSA_input=inputs->GetInput(VzMacAyealEnum);
     9262        Input* vzSSA_input=inputs->GetInput(VzSSAEnum);
    92639263        if (vzSSA_input){
    92649264                if (vzSSA_input->ObjectEnum()!=PentaInputEnum){
    9265                         _error_("Cannot compute Vel as VzMacAyeal is of type " << EnumToStringx(vzSSA_input->ObjectEnum()));
    9266                 }
    9267                 GetInputListOnVertices(&vzSSA[0],VzMacAyealEnum);
     9265                        _error_("Cannot compute Vel as VzSSA is of type " << EnumToStringx(vzSSA_input->ObjectEnum()));
     9266                }
     9267                GetInputListOnVertices(&vzSSA[0],VzSSAEnum);
    92689268        }
    92699269        else{
    9270                 _error_("Cannot update solution as VzMacAyeal is not present");
     9270                _error_("Cannot update solution as VzSSA is not present");
    92719271        }
    92729272
     
    96539653        GetInputListOnVertices(&vy[0],VyEnum,0.0); //default is 0
    96549654
    9655         /*Do some modifications if we actually have a HOFS or MacAyealFS element*/
     9655        /*Do some modifications if we actually have a HOFS or SSAFS element*/
    96569656        if(approximation==HOFSApproximationEnum){
    96579657                Input* vzFS_input=inputs->GetInput(VzFSEnum);
     
    96669666                }
    96679667        }
    9668         else if(approximation==MacAyealFSApproximationEnum){
     9668        else if(approximation==SSAFSApproximationEnum){
    96699669                Input* vzFS_input=inputs->GetInput(VzFSEnum);
    96709670                if (vzFS_input){
     
    96729672                        GetInputListOnVertices(&vzFS[0],VzFSEnum);
    96739673                }
    9674                 else _error_("Cannot compute Vz as VzFS in not present in MacAyealFS element");
     9674                else _error_("Cannot compute Vz as VzFS in not present in SSAFS element");
    96759675                for(i=0;i<NUMVERTICES;i++){
    96769676                        vzSSA[i]=vz[i];
     
    96849684        /*For pressure: we have not computed pressure in this analysis, for this element. We are in 3D,
    96859685         *so the pressure is just the pressure at the z elevation: except it this is a HOFS element */
    9686         if(approximation!=HOFSApproximationEnum &&  approximation!=MacAyealFSApproximationEnum){
     9686        if(approximation!=HOFSApproximationEnum &&  approximation!=SSAFSApproximationEnum){
    96879687                rho_ice=matpar->GetRhoIce();
    96889688                g=matpar->GetG();
     
    96959695        this->inputs->ChangeEnum(VzEnum,VzPicardEnum);
    96969696
    9697         if(approximation!=HOFSApproximationEnum && approximation!=MacAyealFSApproximationEnum){
     9697        if(approximation!=HOFSApproximationEnum && approximation!=SSAFSApproximationEnum){
    96989698                this->inputs->ChangeEnum(PressureEnum,PressurePicardEnum);
    96999699                this->inputs->AddInput(new PentaInput(PressureEnum,pressure,P1Enum));
     
    97029702                this->inputs->AddInput(new PentaInput(VzHOEnum,vzHO,P1Enum));
    97039703        }
    9704         else if(approximation==MacAyealFSApproximationEnum){
    9705                 this->inputs->AddInput(new PentaInput(VzMacAyealEnum,vzSSA,P1Enum));
     9704        else if(approximation==SSAFSApproximationEnum){
     9705                this->inputs->AddInput(new PentaInput(VzSSAEnum,vzSSA,P1Enum));
    97069706        }
    97079707        this->inputs->AddInput(new PentaInput(VzEnum,vz,P1Enum));
  • issm/trunk-jpl/src/c/classes/Elements/Penta.h

    r15564 r15567  
    144144                void   GradientIndexing(int* indexing,int control_index);
    145145                void   Gradj(Vector<IssmDouble>* gradient,int control_type,int control_index);
    146                 void   GradjDragMacAyeal(Vector<IssmDouble>* gradient,int control_index);
     146                void   GradjDragSSA(Vector<IssmDouble>* gradient,int control_index);
    147147                void   GradjDragHO(Vector<IssmDouble>* gradient,int control_index);
    148148                void   GradjDragFS(Vector<IssmDouble>* gradient,int control_index);
    149                 void   GradjBbarMacAyeal(Vector<IssmDouble>* gradient,int control_index);
     149                void   GradjBbarSSA(Vector<IssmDouble>* gradient,int control_index);
    150150                void   GradjBbarHO(Vector<IssmDouble>* gradient,int control_index);
    151151                void   GradjBbarFS(Vector<IssmDouble>* gradient,int control_index);
     
    223223
    224224                #ifdef _HAVE_DIAGNOSTIC_
    225                 ElementMatrix* CreateKMatrixCouplingMacAyealHO(void);
    226                 ElementMatrix* CreateKMatrixCouplingMacAyealHOViscous(void);
    227                 ElementMatrix* CreateKMatrixCouplingMacAyealHOFriction(void);
    228                 ElementMatrix* CreateKMatrixCouplingMacAyealFS(void);
    229                 ElementMatrix* CreateKMatrixCouplingMacAyealFSViscous(void);
    230                 ElementMatrix* CreateKMatrixCouplingMacAyealFSFriction(void);
     225                ElementMatrix* CreateKMatrixCouplingSSAHO(void);
     226                ElementMatrix* CreateKMatrixCouplingSSAHOViscous(void);
     227                ElementMatrix* CreateKMatrixCouplingSSAHOFriction(void);
     228                ElementMatrix* CreateKMatrixCouplingSSAFS(void);
     229                ElementMatrix* CreateKMatrixCouplingSSAFSViscous(void);
     230                ElementMatrix* CreateKMatrixCouplingSSAFSFriction(void);
    231231                ElementMatrix* CreateKMatrixCouplingHOFS(void);
    232232                ElementMatrix* CreateKMatrixDiagnosticHoriz(void);
     
    235235                ElementVector* CreateDVectorDiagnosticFS(void);
    236236                ElementMatrix* CreateKMatrixDiagnosticSIA(void);
    237                 ElementMatrix* CreateKMatrixDiagnosticMacAyeal2d(void);
    238                 ElementMatrix* CreateKMatrixDiagnosticMacAyeal3d(void);
    239                 ElementMatrix* CreateKMatrixDiagnosticMacAyeal3dViscous(void);
    240                 ElementMatrix* CreateKMatrixDiagnosticMacAyeal3dFriction(void);
    241                 ElementMatrix* CreateKMatrixDiagnosticMacAyealHO(void);
    242                 ElementMatrix* CreateKMatrixDiagnosticMacAyealFS(void);
     237                ElementMatrix* CreateKMatrixDiagnosticSSA2d(void);
     238                ElementMatrix* CreateKMatrixDiagnosticSSA3d(void);
     239                ElementMatrix* CreateKMatrixDiagnosticSSA3dViscous(void);
     240                ElementMatrix* CreateKMatrixDiagnosticSSA3dFriction(void);
     241                ElementMatrix* CreateKMatrixDiagnosticSSAHO(void);
     242                ElementMatrix* CreateKMatrixDiagnosticSSAFS(void);
    243243                ElementMatrix* CreateKMatrixDiagnosticL1L2(void);
    244244                ElementMatrix* CreateKMatrixDiagnosticL1L2Viscous(void);
     
    261261                ElementMatrix* CreateJacobianDiagnosticFS(void);
    262262                void           InputUpdateFromSolutionDiagnosticHoriz( IssmDouble* solutiong);
    263                 void           InputUpdateFromSolutionDiagnosticMacAyeal( IssmDouble* solutiong);
    264                 void           InputUpdateFromSolutionDiagnosticMacAyealHO( IssmDouble* solutiong);
    265                 void           InputUpdateFromSolutionDiagnosticMacAyealFS( IssmDouble* solutiong);
     263                void           InputUpdateFromSolutionDiagnosticSSA( IssmDouble* solutiong);
     264                void           InputUpdateFromSolutionDiagnosticSSAHO( IssmDouble* solutiong);
     265                void           InputUpdateFromSolutionDiagnosticSSAFS( IssmDouble* solutiong);
    266266                void           InputUpdateFromSolutionDiagnosticL1L2( IssmDouble* solutiong);
    267267                void           InputUpdateFromSolutionDiagnosticHO( IssmDouble* solutiong);
     
    274274                void             GetSolutionFromInputsDiagnosticFS(Vector<IssmDouble>* solutiong);
    275275                void             GetSolutionFromInputsDiagnosticVert(Vector<IssmDouble>* solutiong);
    276                 ElementVector* CreatePVectorCouplingMacAyealFS(void);
    277                 ElementVector* CreatePVectorCouplingMacAyealFSViscous(void);
    278                 ElementVector* CreatePVectorCouplingMacAyealFSFriction(void);
     276                ElementVector* CreatePVectorCouplingSSAFS(void);
     277                ElementVector* CreatePVectorCouplingSSAFSViscous(void);
     278                ElementVector* CreatePVectorCouplingSSAFSFriction(void);
    279279                ElementVector* CreatePVectorCouplingHOFS(void);
    280280                ElementVector* CreatePVectorCouplingHOFSViscous(void);
     
    282282                ElementVector* CreatePVectorDiagnosticHoriz(void);
    283283                ElementVector* CreatePVectorDiagnosticSIA(void);
    284                 ElementVector* CreatePVectorDiagnosticMacAyeal(void);
    285                 ElementVector* CreatePVectorDiagnosticMacAyealHO(void);
    286                 ElementVector* CreatePVectorDiagnosticMacAyealFS(void);
     284                ElementVector* CreatePVectorDiagnosticSSA(void);
     285                ElementVector* CreatePVectorDiagnosticSSAHO(void);
     286                ElementVector* CreatePVectorDiagnosticSSAFS(void);
    287287                ElementVector* CreatePVectorDiagnosticL1L2(void);
    288288                ElementVector* CreatePVectorDiagnosticHO(void);
     
    303303                #ifdef _HAVE_CONTROL_
    304304                ElementVector* CreatePVectorAdjointHoriz(void);
    305                 ElementMatrix* CreateKMatrixAdjointMacAyeal2d(void);
     305                ElementMatrix* CreateKMatrixAdjointSSA2d(void);
    306306                ElementMatrix* CreateKMatrixAdjointHO(void);
    307307                ElementMatrix* CreateKMatrixAdjointFS(void);
    308                 ElementVector* CreatePVectorAdjointMacAyeal(void);
     308                ElementVector* CreatePVectorAdjointSSA(void);
    309309                ElementVector* CreatePVectorAdjointHO(void);
    310310                ElementVector* CreatePVectorAdjointFS(void);
  • issm/trunk-jpl/src/c/classes/Elements/PentaRef.cpp

    r15564 r15567  
    5454
    5555/*Reference Element numerics*/
    56 /*FUNCTION PentaRef::GetBMacAyealHO {{{*/
    57 void PentaRef::GetBMacAyealHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss){
     56/*FUNCTION PentaRef::GetBSSAHO {{{*/
     57void PentaRef::GetBSSAHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss){
    5858        /*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2.
    5959         * For node i, Bi can be expressed in the actual coordinate system
     
    8585}
    8686/*}}}*/
    87 /*FUNCTION PentaRef::GetBMacAyealFS{{{*/
    88 void PentaRef::GetBMacAyealFS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss){
     87/*FUNCTION PentaRef::GetBSSAFS{{{*/
     88void PentaRef::GetBSSAFS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss){
    8989        /*Compute B  matrix. B=[B1 B2 B3 B4 B5 B6] where Bi is of size 5*NDOF2.
    9090         * For node i, Bi can be expressed in the actual coordinate system
     
    209209}
    210210/*}}}*/
    211 /*FUNCTION PentaRef::GetBprimeMacAyealFS{{{*/
    212 void PentaRef::GetBprimeMacAyealFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussPenta* gauss){
     211/*FUNCTION PentaRef::GetBprimeSSAFS{{{*/
     212void PentaRef::GetBprimeSSAFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussPenta* gauss){
    213213        /*Compute Bprime  matrix. Bprime=[Bprime1 Bprime2 Bprime3 Bprime4 Bprime5 Bprime6] where Bprimei is of size 5*NDOF2.
    214214         * For node i, Bprimei can be expressed in the actual coordinate system
     
    786786}
    787787/*}}}*/
    788 /*FUNCTION PentaRef::GetLMacAyealFS {{{*/
    789 void PentaRef::GetLMacAyealFS(IssmDouble* LFS, GaussPenta* gauss){
     788/*FUNCTION PentaRef::GetLSSAFS {{{*/
     789void PentaRef::GetLSSAFS(IssmDouble* LFS, GaussPenta* gauss){
    790790        /*
    791791         * Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof.
     
    832832}
    833833/*}}}*/
    834 /*FUNCTION PentaRef::GetLprimeMacAyealFS {{{*/
    835 void PentaRef::GetLprimeMacAyealFS(IssmDouble* LprimeFS, IssmDouble* xyz_list, GaussPenta* gauss){
     834/*FUNCTION PentaRef::GetLprimeSSAFS {{{*/
     835void PentaRef::GetLprimeSSAFS(IssmDouble* LprimeFS, IssmDouble* xyz_list, GaussPenta* gauss){
    836836        /* Compute Lprime  matrix. Lprime=[Lp1 Lp2 Lp3] where Lpi is square and of size numdof.
    837837         * For node i, Lpi can be expressed in the actual coordinate system
     
    895895}
    896896/*}}}*/
    897 /*FUNCTION PentaRef::GetLFSMacAyeal {{{*/
    898 void PentaRef::GetLFSMacAyeal(IssmDouble* LFS, GaussPenta* gauss){
     897/*FUNCTION PentaRef::GetLFSSSA {{{*/
     898void PentaRef::GetLFSSSA(IssmDouble* LFS, GaussPenta* gauss){
    899899        /* Compute L  matrix. L=[L1 L2 L3] where Li is square and of size numdof.
    900900         * For node i, Li can be expressed in the actual coordinate system
     
    936936}
    937937/*}}}*/
    938 /*FUNCTION PentaRef::GetLprimeFSMacAyeal {{{*/
    939 void PentaRef::GetLprimeFSMacAyeal(IssmDouble* LprimeFS, IssmDouble* xyz_list, GaussPenta* gauss){
     938/*FUNCTION PentaRef::GetLprimeFSSSA {{{*/
     939void PentaRef::GetLprimeFSSSA(IssmDouble* LprimeFS, IssmDouble* xyz_list, GaussPenta* gauss){
    940940        /* Compute Lprime  matrix. Lprime=[Lp1 Lp2 Lp3] where Lpi is square and of size numdof.
    941941         * For node i, Lpi can be expressed in the actual coordinate system
  • issm/trunk-jpl/src/c/classes/Elements/PentaRef.h

    r15564 r15567  
    3838                void GetSegmentJacobianDeterminant(IssmDouble*  Jdet, IssmDouble* xyz_list,GaussPenta* gauss);
    3939                void GetJacobianInvert(IssmDouble*  Jinv, IssmDouble* xyz_list,GaussPenta* gauss);
    40                 void GetBMacAyealHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    41                 void GetBMacAyealFS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
     40                void GetBSSAHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
     41                void GetBSSAFS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    4242                void GetBHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    4343                void GetBFS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    4444                void GetBFSGLS(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    45                 void GetBprimeMacAyealFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussPenta* gauss);
     45                void GetBprimeSSAFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussPenta* gauss);
    4646                void GetBprimeHO(IssmDouble* B, IssmDouble* xyz_list, GaussPenta* gauss);
    4747                void GetBprimeFS(IssmDouble* B_prime, IssmDouble* xyz_list, GaussPenta* gauss);
     
    5555                void GetLFS(IssmDouble* LFS, GaussPenta* gauss);
    5656                void GetLprimeFS(IssmDouble* LprimeFS, IssmDouble* xyz_list, GaussPenta* gauss);
    57                 void GetLMacAyealFS(IssmDouble* LMacAyealFS, GaussPenta* gauss);
    58                 void GetLprimeMacAyealFS(IssmDouble* LprimeMacAyealFS, IssmDouble* xyz_list, GaussPenta* gauss);
    59                 void GetLFSMacAyeal(IssmDouble* LFSMacAyeal, GaussPenta* gauss);
    60                 void GetLprimeFSMacAyeal(IssmDouble* LprimeFSMacAyeal, IssmDouble* xyz_list, GaussPenta* gauss);
     57                void GetLSSAFS(IssmDouble* LSSAFS, GaussPenta* gauss);
     58                void GetLprimeSSAFS(IssmDouble* LprimeSSAFS, IssmDouble* xyz_list, GaussPenta* gauss);
     59                void GetLFSSSA(IssmDouble* LFSSSA, GaussPenta* gauss);
     60                void GetLprimeFSSSA(IssmDouble* LprimeFSSSA, IssmDouble* xyz_list, GaussPenta* gauss);
    6161                void GetInputValue(IssmDouble* pvalue,IssmDouble* plist, GaussPenta* gauss);
    6262                void GetInputValue(IssmDouble* pvalue,IssmDouble* plist,GaussTria* gauss){_error_("only PentaGauss are supported");};
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r15564 r15567  
    191191                #ifdef _HAVE_DIAGNOSTIC_
    192192                case DiagnosticHorizAnalysisEnum:
    193                         Ke=CreateKMatrixDiagnosticMacAyeal();
     193                        Ke=CreateKMatrixDiagnosticSSA();
    194194                        break;
    195195                case DiagnosticSIAAnalysisEnum:
     
    224224                        break;
    225225                case AdjointHorizAnalysisEnum:
    226                         Ke=CreateKMatrixAdjointMacAyeal();
     226                        Ke=CreateKMatrixAdjointSSA();
    227227                        break;
    228228                #endif
     
    304304                #ifdef _HAVE_DIAGNOSTIC_
    305305                case DiagnosticHorizAnalysisEnum:
    306                         pe=CreatePVectorDiagnosticMacAyeal();
     306                        pe=CreatePVectorDiagnosticSSA();
    307307                        break;
    308308                case DiagnosticSIAAnalysisEnum:
     
    28862886
    28872887#ifdef _HAVE_DIAGNOSTIC_
    2888 /*FUNCTION Tria::CreateKMatrixDiagnosticMacAyeal {{{*/
    2889 ElementMatrix* Tria::CreateKMatrixDiagnosticMacAyeal(void){
     2888/*FUNCTION Tria::CreateKMatrixDiagnosticSSA {{{*/
     2889ElementMatrix* Tria::CreateKMatrixDiagnosticSSA(void){
    28902890
    28912891        /*compute all stiffness matrices for this element*/
    2892         ElementMatrix* Ke1=CreateKMatrixDiagnosticMacAyealViscous();
    2893         ElementMatrix* Ke2=CreateKMatrixDiagnosticMacAyealFriction();
     2892        ElementMatrix* Ke1=CreateKMatrixDiagnosticSSAViscous();
     2893        ElementMatrix* Ke2=CreateKMatrixDiagnosticSSAFriction();
    28942894        ElementMatrix* Ke =new ElementMatrix(Ke1,Ke2);
    28952895
     
    29002900}
    29012901/*}}}*/
    2902 /*FUNCTION Tria::CreateKMatrixDiagnosticMacAyealViscous{{{*/
    2903 ElementMatrix* Tria::CreateKMatrixDiagnosticMacAyealViscous(void){
     2902/*FUNCTION Tria::CreateKMatrixDiagnosticSSAViscous{{{*/
     2903ElementMatrix* Tria::CreateKMatrixDiagnosticSSAViscous(void){
    29042904
    29052905        /*Intermediaries*/
     
    29162916
    29172917        /*Initialize Element matrix and vectors*/
    2918         ElementMatrix* Ke     = new ElementMatrix(nodes,numnodes,this->parameters,MacAyealApproximationEnum);
     2918        ElementMatrix* Ke     = new ElementMatrix(nodes,numnodes,this->parameters,SSAApproximationEnum);
    29192919        IssmDouble*    B      = xNew<IssmDouble>(3*numdof);
    29202920        IssmDouble*    Bprime = xNew<IssmDouble>(3*numdof);
     
    29372937
    29382938                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    2939                 GetBMacAyeal(&B[0], &xyz_list[0][0], gauss);
    2940                 GetBprimeMacAyeal(&Bprime[0], &xyz_list[0][0], gauss);
     2939                GetBSSA(&B[0], &xyz_list[0][0], gauss);
     2940                GetBprimeSSA(&Bprime[0], &xyz_list[0][0], gauss);
    29412941
    29422942                this->GetStrainRate2d(&epsilon[0],&xyz_list[0][0],gauss,vx_input,vy_input);
     
    29672967}
    29682968/*}}}*/
    2969 /*FUNCTION Tria::CreateKMatrixDiagnosticMacAyealFriction {{{*/
    2970 ElementMatrix* Tria::CreateKMatrixDiagnosticMacAyealFriction(void){
     2969/*FUNCTION Tria::CreateKMatrixDiagnosticSSAFriction {{{*/
     2970ElementMatrix* Tria::CreateKMatrixDiagnosticSSAFriction(void){
    29712971
    29722972        /*Intermediaries*/
     
    29932993
    29942994        /*Initialize Element matrix and vectors*/
    2995         ElementMatrix* Ke     = new ElementMatrix(nodes,numnodes,this->parameters,MacAyealApproximationEnum);
     2995        ElementMatrix* Ke     = new ElementMatrix(nodes,numnodes,this->parameters,SSAApproximationEnum);
    29962996        IssmDouble*    B      = xNew<IssmDouble>(2*numdof);
    29972997        IssmDouble*    D      = xNewZeroInit<IssmDouble>(2*2);
     
    30333033                }
    30343034
    3035                 GetBMacAyealFriction(&B[0], &xyz_list[0][0], gauss);
     3035                GetBSSAFriction(&B[0], &xyz_list[0][0], gauss);
    30363036                GetJacobianDeterminant(&Jdet, &xyz_list[0][0],gauss);
    30373037                D_scalar=alpha2*gauss->weight*Jdet;
     
    30763076}
    30773077/*}}}*/
    3078 /*FUNCTION Tria::CreatePVectorDiagnosticMacAyeal {{{*/
    3079 ElementVector* Tria::CreatePVectorDiagnosticMacAyeal(){
     3078/*FUNCTION Tria::CreatePVectorDiagnosticSSA {{{*/
     3079ElementVector* Tria::CreatePVectorDiagnosticSSA(){
    30803080
    30813081        /*compute all load vectors for this element*/
    3082         ElementVector* pe1=CreatePVectorDiagnosticMacAyealDrivingStress();
    3083         ElementVector* pe2=CreatePVectorDiagnosticMacAyealFront();
     3082        ElementVector* pe1=CreatePVectorDiagnosticSSADrivingStress();
     3083        ElementVector* pe2=CreatePVectorDiagnosticSSAFront();
    30843084        ElementVector* pe =new ElementVector(pe1,pe2);
    30853085
     
    30903090}
    30913091/*}}}*/
    3092 /*FUNCTION Tria::CreatePVectorDiagnosticMacAyealDrivingStress {{{*/
    3093 ElementVector* Tria::CreatePVectorDiagnosticMacAyealDrivingStress(){
     3092/*FUNCTION Tria::CreatePVectorDiagnosticSSADrivingStress {{{*/
     3093ElementVector* Tria::CreatePVectorDiagnosticSSADrivingStress(){
    30943094
    30953095        /*Intermediaries */
     
    31063106
    31073107        /*Initialize Element vector and vectors*/
    3108         ElementVector* pe=new ElementVector(nodes,numnodes,this->parameters,MacAyealApproximationEnum);
     3108        ElementVector* pe=new ElementVector(nodes,numnodes,this->parameters,SSAApproximationEnum);
    31093109        GaussTria*     gauss  = new GaussTria(2);
    31103110        IssmDouble*    basis = xNew<IssmDouble>(numnodes);
     
    31463146}
    31473147/*}}}*/
    3148 /*FUNCTION Tria::CreatePVectorDiagnosticMacAyealFront {{{*/
    3149 ElementVector* Tria::CreatePVectorDiagnosticMacAyealFront(){
     3148/*FUNCTION Tria::CreatePVectorDiagnosticSSAFront {{{*/
     3149ElementVector* Tria::CreatePVectorDiagnosticSSAFront(){
    31503150
    31513151        /*Intermediaries */
     
    31813181
    31823182        GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES);
    3183         ElementVector* pe=new ElementVector(nodes,numnodes,this->parameters,MacAyealApproximationEnum);
     3183        ElementVector* pe=new ElementVector(nodes,numnodes,this->parameters,SSAApproximationEnum);
    31843184        Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input);
    31853185        Input* bed_input      =inputs->GetInput(BedEnum);       _assert_(bed_input);
     
    32933293
    32943294        /*Initialize Element matrix, vectors and Gaussian points*/
    3295         ElementMatrix* Ke=CreateKMatrixDiagnosticMacAyeal(); //Initialize Jacobian with regular MacAyeal (first part of the Gateau derivative)
     3295        ElementMatrix* Ke=CreateKMatrixDiagnosticSSA(); //Initialize Jacobian with regular SSA (first part of the Gateau derivative)
    32963296        IssmDouble*    dbasis = xNew<IssmDouble>(2*numnodes);
    32973297
     
    37303730        switch(control_type){
    37313731                case FrictionCoefficientEnum:
    3732                         GradjDragMacAyeal(gradient,control_index);
     3732                        GradjDragSSA(gradient,control_index);
    37333733                        break;
    37343734                case MaterialsRheologyBbarEnum:
    3735                         GradjBMacAyeal(gradient,control_index);
     3735                        GradjBSSA(gradient,control_index);
    37363736                        break;
    37373737                case MaterialsRheologyZbarEnum:
    3738                         GradjZMacAyeal(gradient,control_index);
     3738                        GradjZSSA(gradient,control_index);
    37393739                        break;
    37403740                case BalancethicknessThickeningRateEnum:
     
    38683868}
    38693869/*}}}*/
    3870 /*FUNCTION Tria::GradjBMacAyeal{{{*/
    3871 void  Tria::GradjBMacAyeal(Vector<IssmDouble>* gradient,int control_index){
     3870/*FUNCTION Tria::GradjBSSA{{{*/
     3871void  Tria::GradjBSSA(Vector<IssmDouble>* gradient,int control_index){
    38723872
    38733873        /*Intermediaries*/
     
    39253925}
    39263926/*}}}*/
    3927 /*FUNCTION Tria::GradjZMacAyeal{{{*/
    3928 void  Tria::GradjZMacAyeal(Vector<IssmDouble>* gradient,int control_index){
     3927/*FUNCTION Tria::GradjZSSA{{{*/
     3928void  Tria::GradjZSSA(Vector<IssmDouble>* gradient,int control_index){
    39293929
    39303930        /*Intermediaries*/
     
    39823982}
    39833983/*}}}*/
    3984 /*FUNCTION Tria::GradjDragMacAyeal {{{*/
    3985 void  Tria::GradjDragMacAyeal(Vector<IssmDouble>* gradient,int control_index){
     3984/*FUNCTION Tria::GradjDragSSA {{{*/
     3985void  Tria::GradjDragSSA(Vector<IssmDouble>* gradient,int control_index){
    39863986
    39873987        int        i;
     
    53855385}
    53865386/*}}}*/
    5387 /*FUNCTION Tria::CreateKMatrixAdjointMacAyeal{{{*/
    5388 ElementMatrix* Tria::CreateKMatrixAdjointMacAyeal(void){
     5387/*FUNCTION Tria::CreateKMatrixAdjointSSA{{{*/
     5388ElementMatrix* Tria::CreateKMatrixAdjointSSA(void){
    53895389
    53905390        /*Constants*/
     
    54045404        GaussTria  *gauss=NULL;
    54055405
    5406         /*Initialize Jacobian with regular MacAyeal (first part of the Gateau derivative)*/
     5406        /*Initialize Jacobian with regular SSA (first part of the Gateau derivative)*/
    54075407        parameters->FindParam(&incomplete_adjoint,InversionIncompleteAdjointEnum);
    5408         ElementMatrix* Ke=CreateKMatrixDiagnosticMacAyeal();
     5408        ElementMatrix* Ke=CreateKMatrixDiagnosticSSA();
    54095409        if(incomplete_adjoint) return Ke;
    54105410
     
    65196519                }
    65206520                else if(stabilization==1){
    6521                         /*MacAyeal*/
     6521                        /*SSA*/
    65226522                        vxaverage_input->GetInputAverage(&vx);
    65236523                        vyaverage_input->GetInputAverage(&vy);
     
    69786978                }
    69796979                else if(stabilization==2){
    6980                         /*MacAyeal*/
     6980                        /*SSA*/
    69816981                        vxaverage_input->GetInputAverage(&vx);
    69826982                        vyaverage_input->GetInputAverage(&vy);
  • issm/trunk-jpl/src/c/classes/Elements/Tria.h

    r15564 r15567  
    144144                void   GradjBGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
    145145                void   GradjZGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
    146                 void   GradjBMacAyeal(Vector<IssmDouble>* gradient,int control_index);
    147                 void   GradjZMacAyeal(Vector<IssmDouble>* gradient,int control_index);
    148                 void   GradjDragMacAyeal(Vector<IssmDouble>* gradient,int control_index);
     146                void   GradjBSSA(Vector<IssmDouble>* gradient,int control_index);
     147                void   GradjZSSA(Vector<IssmDouble>* gradient,int control_index);
     148                void   GradjDragSSA(Vector<IssmDouble>* gradient,int control_index);
    149149                void   GradjDragFS(Vector<IssmDouble>* gradient,int control_index);
    150150                void   GradjDragGradient(Vector<IssmDouble>* gradient,int weight_index,int control_index);
     
    220220
    221221                #ifdef _HAVE_DIAGNOSTIC_
    222                 ElementMatrix* CreateKMatrixDiagnosticMacAyeal(void);
    223                 ElementMatrix* CreateKMatrixDiagnosticMacAyealViscous(void);
    224                 ElementMatrix* CreateKMatrixDiagnosticMacAyealFriction(void);
     222                ElementMatrix* CreateKMatrixDiagnosticSSA(void);
     223                ElementMatrix* CreateKMatrixDiagnosticSSAViscous(void);
     224                ElementMatrix* CreateKMatrixDiagnosticSSAFriction(void);
    225225                ElementMatrix* CreateKMatrixDiagnosticSIA(void);
    226                 ElementVector* CreatePVectorDiagnosticMacAyeal(void);
    227                 ElementVector* CreatePVectorDiagnosticMacAyealDrivingStress(void);
    228                 ElementVector* CreatePVectorDiagnosticMacAyealFront(void);
     226                ElementVector* CreatePVectorDiagnosticSSA(void);
     227                ElementVector* CreatePVectorDiagnosticSSADrivingStress(void);
     228                ElementVector* CreatePVectorDiagnosticSSAFront(void);
    229229                ElementVector* CreatePVectorDiagnosticSIA(void);
    230230                ElementMatrix* CreateJacobianDiagnosticSSA(void);
     
    237237                #ifdef _HAVE_CONTROL_
    238238                ElementMatrix* CreateKMatrixAdjointBalancethickness(void);
    239                 ElementMatrix* CreateKMatrixAdjointMacAyeal(void);
     239                ElementMatrix* CreateKMatrixAdjointSSA(void);
    240240                ElementVector* CreatePVectorAdjointHoriz(void);
    241241                ElementVector* CreatePVectorAdjointFS(void);
  • issm/trunk-jpl/src/c/classes/Elements/TriaRef.cpp

    r15564 r15567  
    8080}
    8181/*}}}*/
    82 /*FUNCTION TriaRef::GetBMacAyeal {{{*/
    83 void TriaRef::GetBMacAyeal(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){
     82/*FUNCTION TriaRef::GetBSSA {{{*/
     83void TriaRef::GetBSSA(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){
    8484        /*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2.
    8585         * For node i, Bi can be expressed in the actual coordinate system
     
    114114}
    115115/*}}}*/
    116 /*FUNCTION TriaRef::GetBMacAyealFS {{{*/
    117 void TriaRef::GetBMacAyealFS(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){
     116/*FUNCTION TriaRef::GetBSSAFS {{{*/
     117void TriaRef::GetBSSAFS(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss){
    118118
    119119        /*Compute B  matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2.
     
    230230}
    231231/*}}}*/
    232 /*FUNCTION TriaRef::GetBprimeMacAyeal {{{*/
    233 void TriaRef::GetBprimeMacAyeal(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){
     232/*FUNCTION TriaRef::GetBprimeSSA {{{*/
     233void TriaRef::GetBprimeSSA(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){
    234234
    235235        /*Compute B'  matrix. B'=[B1' B2' B3'] where Bi' is of size 3*NDOF2.
     
    265265}
    266266/*}}}*/
    267 /*FUNCTION TriaRef::GetBprimeMacAyealFS {{{*/
    268 void TriaRef::GetBprimeMacAyealFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){
     267/*FUNCTION TriaRef::GetBprimeSSAFS {{{*/
     268void TriaRef::GetBprimeSSAFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss){
    269269        /*Compute Bprime  matrix. Bprime=[Bprime1 Bprime2 Bprime3] where Bprimei is of size 3*NDOF2.
    270270         * For node i, Bprimei can be expressed in the actual coordinate system
     
    331331}
    332332/*}}}*/
    333 /*FUNCTION TriaRef::GetBMacAyealFriction{{{*/
    334 void TriaRef::GetBMacAyealFriction(IssmDouble* B, IssmDouble* xyz_list,GaussTria* gauss){
     333/*FUNCTION TriaRef::GetBSSAFriction{{{*/
     334void TriaRef::GetBSSAFriction(IssmDouble* B, IssmDouble* xyz_list,GaussTria* gauss){
    335335        /*Compute B  matrix. B=[B1 B2 B3] where Bi is square and of size 2.
    336336         * For node i, Bi can be expressed in the actual coordinate system
  • issm/trunk-jpl/src/c/classes/Elements/TriaRef.h

    r15564 r15567  
    2323
    2424                /*Numerics*/
    25                 void GetBMacAyeal(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);
    26                 void GetBMacAyealFS(IssmDouble* B , IssmDouble* xyz_list, GaussTria* gauss);
    27                 void GetBprimeMacAyeal(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
    28                 void GetBprimeMacAyealFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
     25                void GetBSSA(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);
     26                void GetBSSAFS(IssmDouble* B , IssmDouble* xyz_list, GaussTria* gauss);
     27                void GetBprimeSSA(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
     28                void GetBprimeSSAFS(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
    2929                void GetBprimePrognostic(IssmDouble* Bprime, IssmDouble* xyz_list, GaussTria* gauss);
    3030                void GetBPrognostic(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);
    3131                void GetBHydro(IssmDouble* B, IssmDouble* xyz_list, GaussTria* gauss);
    32                 void GetBMacAyealFriction(IssmDouble* L, IssmDouble* xyz_list,GaussTria* gauss);
     32                void GetBSSAFriction(IssmDouble* L, IssmDouble* xyz_list,GaussTria* gauss);
    3333                void GetJacobian(IssmDouble* J, IssmDouble* xyz_list,GaussTria* gauss);
    3434                void GetSegmentJacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,GaussTria* gauss);
  • issm/trunk-jpl/src/c/classes/Inputs/TriaInput.cpp

    r15417 r15567  
    130130
    131131        /*Get B matrix: */
    132         GetBMacAyeal(&B[0],xyz_list,gauss);
     132        GetBSSA(&B[0],xyz_list,gauss);
    133133
    134134        /*Here, we are computing the strain rate of (vx,0)*/
     
    156156
    157157        /*Get B matrix: */
    158         GetBMacAyeal(&B[0],xyz_list,gauss);
     158        GetBSSA(&B[0],xyz_list,gauss);
    159159
    160160        /*Here, we are computing the strain rate of (0,vy)*/
  • issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp

    r15564 r15567  
    6565        icefront_mparid = iomodel->numberofelements+1;
    6666
    67         if (in_icefront_type==MacAyeal2dIceFrontEnum || in_icefront_type==MacAyeal3dIceFrontEnum){
     67        if (in_icefront_type==SSA2dIceFrontEnum || in_icefront_type==SSA3dIceFrontEnum){
    6868                numnodes    = 2;
    6969                numvertices = 2;
     
    152152//      icefront_mparid=numberofelements+1; //matlab indexing
    153153//
    154         if (in_icefront_type==MacAyeal2dIceFrontEnum || in_icefront_type==MacAyeal3dIceFrontEnum){
     154        if (in_icefront_type==SSA2dIceFrontEnum || in_icefront_type==SSA3dIceFrontEnum){
    155155//              icefront_node_ids[0]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+0));
    156156//              icefront_node_ids[1]=iomodel->nodecounter+reCast<int>(*(iomodel->Data(DiagnosticIcefrontEnum)+segment_width*i+1));
     
    375375
    376376        switch(type){
    377                 case MacAyeal2dIceFrontEnum:
    378                 case MacAyeal3dIceFrontEnum:
     377                case SSA2dIceFrontEnum:
     378                case SSA3dIceFrontEnum:
    379379                        for(int i=0;i<NUMVERTICESSEG;i++) sidlist[i]=nodes[i]->Sid();
    380380                        return;
     
    397397
    398398        switch(type){
    399                 case MacAyeal2dIceFrontEnum:
     399                case SSA2dIceFrontEnum:
    400400                        return NUMVERTICESSEG;
    401401#ifdef _HAVE_3D_
    402                 case MacAyeal3dIceFrontEnum:
     402                case SSA3dIceFrontEnum:
    403403                        return NUMVERTICESSEG;
    404404                case HOIceFrontEnum:
     
    559559
    560560        switch(type){
    561                 case MacAyeal2dIceFrontEnum:
    562                         return CreatePVectorDiagnosticMacAyeal2d();
     561                case SSA2dIceFrontEnum:
     562                        return CreatePVectorDiagnosticSSA2d();
    563563        #ifdef _HAVE_3D_
    564                 case MacAyeal3dIceFrontEnum:
    565                         return CreatePVectorDiagnosticMacAyeal3d();
     564                case SSA3dIceFrontEnum:
     565                        return CreatePVectorDiagnosticSSA3d();
    566566                case HOIceFrontEnum:
    567567                        return CreatePVectorDiagnosticHO();
     
    574574}
    575575/*}}}*/
    576 /*FUNCTION Icefront::CreatePVectorDiagnosticMacAyeal2d{{{*/
    577 ElementVector* Icefront::CreatePVectorDiagnosticMacAyeal2d(void){
     576/*FUNCTION Icefront::CreatePVectorDiagnosticSSA2d{{{*/
     577ElementVector* Icefront::CreatePVectorDiagnosticSSA2d(void){
    578578
    579579        /*Intermediary*/
     
    595595
    596596        /*Initialize Element vector and vectors*/
    597         ElementVector* pe=new ElementVector(tria->nodes,numnodes,this->parameters,MacAyealApproximationEnum);
     597        ElementVector* pe=new ElementVector(tria->nodes,numnodes,this->parameters,SSAApproximationEnum);
    598598        IssmDouble*    basis = xNew<IssmDouble>(numnodes);
    599599
     
    669669#endif
    670670#ifdef _HAVE_3D_
    671 /*FUNCTION Icefront::CreatePVectorDiagnosticMacAyeal3d{{{*/
    672 ElementVector* Icefront::CreatePVectorDiagnosticMacAyeal3d(void){
     671/*FUNCTION Icefront::CreatePVectorDiagnosticSSA3d{{{*/
     672ElementVector* Icefront::CreatePVectorDiagnosticSSA3d(void){
    673673
    674674        Icefront *icefront = NULL;
     
    682682        if(!penta->IsOnBed() || penta->IsOnWater()) return NULL;
    683683
    684         /*Spawn Tria and call MacAyeal2d*/
     684        /*Spawn Tria and call SSA2d*/
    685685        tria    =(Tria*)penta->SpawnTria(0,1,2);
    686686        icefront=(Icefront*)this->copy();
    687687        icefront->element=tria;
    688         icefront->inputs->AddInput(new IntInput(IceFrontTypeEnum,MacAyeal2dIceFrontEnum));
    689         ElementVector* pe=icefront->CreatePVectorDiagnosticMacAyeal2d();
     688        icefront->inputs->AddInput(new IntInput(IceFrontTypeEnum,SSA2dIceFrontEnum));
     689        ElementVector* pe=icefront->CreatePVectorDiagnosticSSA2d();
    690690
    691691        /*clean-up and return*/
     
    870870
    871871        /*How many nodes? :*/
    872         if(type==MacAyeal2dIceFrontEnum || type==MacAyeal3dIceFrontEnum)
     872        if(type==SSA2dIceFrontEnum || type==SSA3dIceFrontEnum)
    873873         numberofnodes=2;
    874874        else
  • issm/trunk-jpl/src/c/classes/Loads/Icefront.h

    r15564 r15567  
    9393                #ifdef _HAVE_DIAGNOSTIC_
    9494                ElementVector* CreatePVectorDiagnosticHoriz(void);
    95                 ElementVector* CreatePVectorDiagnosticMacAyeal2d(void);
     95                ElementVector* CreatePVectorDiagnosticSSA2d(void);
    9696                #endif
    9797        #ifdef _HAVE_3D_
    98                 ElementVector* CreatePVectorDiagnosticMacAyeal3d(void);
     98                ElementVector* CreatePVectorDiagnosticSSA3d(void);
    9999                ElementVector* CreatePVectorDiagnosticHO(void);
    100100                ElementVector* CreatePVectorDiagnosticFS(void);
  • issm/trunk-jpl/src/c/classes/Loads/Penpair.cpp

    r15564 r15567  
    299299
    300300        switch(approximation0){
    301                 case MacAyealApproximationEnum:
     301                case SSAApproximationEnum:
    302302                        switch(approximation1){
    303                                 case MacAyealApproximationEnum: return PenaltyCreateKMatrixDiagnosticMacAyealHO(kmax);
    304                                 case HOApproximationEnum:   return PenaltyCreateKMatrixDiagnosticMacAyealHO(kmax);
     303                                case SSAApproximationEnum: return PenaltyCreateKMatrixDiagnosticSSAHO(kmax);
     304                                case HOApproximationEnum:   return PenaltyCreateKMatrixDiagnosticSSAHO(kmax);
    305305                                default: _error_("not supported yet");
    306306                        }
    307307                case HOApproximationEnum:
    308308                        switch(approximation1){
    309                                 case MacAyealApproximationEnum: return PenaltyCreateKMatrixDiagnosticMacAyealHO(kmax);
    310                                 case HOApproximationEnum:   return PenaltyCreateKMatrixDiagnosticMacAyealHO(kmax);
     309                                case SSAApproximationEnum: return PenaltyCreateKMatrixDiagnosticSSAHO(kmax);
     310                                case HOApproximationEnum:   return PenaltyCreateKMatrixDiagnosticSSAHO(kmax);
    311311                                default: _error_("not supported yet");
    312312                        }
     
    327327}
    328328/*}}}*/
    329 /*FUNCTION Penpair::PenaltyCreateKMatrixDiagnosticMacAyealHO {{{*/
    330 ElementMatrix* Penpair::PenaltyCreateKMatrixDiagnosticMacAyealHO(IssmDouble kmax){
     329/*FUNCTION Penpair::PenaltyCreateKMatrixDiagnosticSSAHO {{{*/
     330ElementMatrix* Penpair::PenaltyCreateKMatrixDiagnosticSSAHO(IssmDouble kmax){
    331331
    332332        const int numdof=NUMVERTICES*NDOF2;
  • issm/trunk-jpl/src/c/classes/Loads/Penpair.h

    r15564 r15567  
    6868                        /*Penpair management: {{{*/
    6969                ElementMatrix* PenaltyCreateKMatrixDiagnosticHoriz(IssmDouble kmax);
    70                 ElementMatrix* PenaltyCreateKMatrixDiagnosticMacAyealHO(IssmDouble kmax);
     70                ElementMatrix* PenaltyCreateKMatrixDiagnosticSSAHO(IssmDouble kmax);
    7171                ElementMatrix* PenaltyCreateKMatrixDiagnosticFS(IssmDouble kmax);
    7272                ElementMatrix* PenaltyCreateKMatrixPrognostic(IssmDouble kmax);
  • issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp

    r15564 r15567  
    282282void  Matdamageice::GetViscosity3d(IssmDouble* pviscosity3d, IssmDouble* epsilon){
    283283
    284         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     284        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    285285         *
    286286         *                                               B
     
    353353/*FUNCTION Matdamageice::GetViscosity3dFS {{{*/
    354354void  Matdamageice::GetViscosity3dFS(IssmDouble* pviscosity3d, IssmDouble* epsilon){
    355         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     355        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    356356         *
    357357         *                                          B
     
    426426/*FUNCTION Matdamageice::GetViscosityComplement {{{*/
    427427void  Matdamageice::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon){
    428         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     428        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    429429         *
    430430         *                                                                                              1
  • issm/trunk-jpl/src/c/classes/Materials/Matice.cpp

    r15564 r15567  
    274274void  Matice::GetViscosity3d(IssmDouble* pviscosity3d, IssmDouble* epsilon){
    275275
    276         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     276        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    277277         *
    278278         *                                               B
     
    344344/*FUNCTION Matice::GetViscosity3dFS {{{*/
    345345void  Matice::GetViscosity3dFS(IssmDouble* pviscosity3d, IssmDouble* epsilon){
    346         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     346        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    347347         *
    348348         *                                          B
     
    416416/*FUNCTION Matice::GetViscosityComplement {{{*/
    417417void  Matice::GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* epsilon){
    418         /*Return viscosity accounting for steady state power law creep [Thomas and MacAyeal, 1982]:
     418        /*Return viscosity accounting for steady state power law creep [Thomas and SSA, 1982]:
    419419         *
    420420         *                                                                                              1
  • issm/trunk-jpl/src/c/classes/Node.cpp

    r15564 r15567  
    7777                        _assert_(iomodel->Data(MeshVertexonbedEnum));
    7878                        _assert_(iomodel->Data(FlowequationVertexEquationEnum));
    79                         if(node_type==MacAyealApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonbedEnum)[io_index])){
     79                        if(node_type==SSAApproximationEnum && !reCast<int>(iomodel->Data(MeshVertexonbedEnum)[io_index])){
    8080                                this->Deactivate();
    8181                        }
     
    8383                                this->Deactivate();
    8484                        }
    85                         if(node_type==MacAyealHOApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){
     85                        if(node_type==SSAHOApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){
    8686                                if(!reCast<int>(iomodel->Data(MeshVertexonbedEnum)[io_index])){
    8787                                        this->Deactivate();
    8888                                }
    8989                        }
    90                         if(node_type==MacAyealFSApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){
     90                        if(node_type==SSAFSApproximationEnum && reCast<int>(iomodel->Data(FlowequationBorderSSAEnum)[io_index])){
    9191                                if(!reCast<int>(iomodel->Data(MeshVertexonbedEnum)[io_index])){
    9292                                        for(k=1;k<=2;k++) this->FreezeDof(k);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp

    r15564 r15567  
    100100
    101101                        /*Start with adding spcs of coupling: zero at the border SSA/HO for the appropriate dofs*/
    102                         if (reCast<int,IssmDouble>(vertices_type[i]==MacAyealHOApproximationEnum)){
     102                        if (reCast<int,IssmDouble>(vertices_type[i]==SSAHOApproximationEnum)){
    103103                                /*If grionSSA, spc HO dofs: 3 & 4*/
    104104                                        if (reCast<int,IssmDouble>(nodeonHO[i])){
     
    132132
    133133                                        }
    134                                         else _error_("if vertices_type is MacAyealHO, you shoud have nodeonHO or nodeonSSA");
     134                                        else _error_("if vertices_type is SSAHO, you shoud have nodeonHO or nodeonSSA");
    135135                        }
    136136                        /*Also add spcs of coupling: zero at the border HO/FS for the appropriate dofs*/
     
    175175                        }
    176176                        /*Also add spcs of coupling: zero at the border HO/FS for the appropriate dofs*/
    177                         else if (reCast<int,IssmDouble>(vertices_type[i])==MacAyealFSApproximationEnum){
     177                        else if (reCast<int,IssmDouble>(vertices_type[i])==SSAFSApproximationEnum){
    178178                                /*If grion,HO spc FS dofs: 3 4 & 5*/
    179179                                        if (reCast<int,IssmDouble>(nodeonSSA[i])){
     
    212212                                                }
    213213                                        }
    214                                         else _error_("if vertices_type is MacAyealFS, you shoud have nodeonSSA or nodeonFS");
     214                                        else _error_("if vertices_type is SSAFS, you shoud have nodeonSSA or nodeonFS");
    215215                        }
    216216                        /*Now add the regular spcs*/
     
    294294                        if (iomodel->dim==3) if(reCast<int,IssmDouble>(nodeonbed[i]) && reCast<int,IssmDouble>(nodeonicesheet[i]) && reCast<int,IssmDouble>(nodeonFS[i])){
    295295                                 switch(reCast<int,IssmDouble>(vertices_type[i])){
    296                                         case MacAyealFSApproximationEnum:
     296                                        case SSAFSApproximationEnum:
    297297                                                constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0.,DiagnosticHorizAnalysisEnum));
    298298                                                count++;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DistributeNumDofs.cpp

    r15564 r15567  
    1818                case DiagnosticHorizAnalysisEnum:
    1919                        switch(node_type){
    20                                 case MacAyealApproximationEnum:
     20                                case SSAApproximationEnum:
    2121                                        numdofs=2;
    2222                                        break;
     
    3636                                        numdofs=4;
    3737                                        break;
    38                                 case MacAyealHOApproximationEnum:
     38                                case SSAHOApproximationEnum:
    3939                                        numdofs=4;
    4040                                        doftype=xNew<int>(numdofs);
    41                                         doftype[0]=MacAyealApproximationEnum;
    42                                         doftype[1]=MacAyealApproximationEnum;
     41                                        doftype[0]=SSAApproximationEnum;
     42                                        doftype[1]=SSAApproximationEnum;
    4343                                        doftype[2]=HOApproximationEnum;
    4444                                        doftype[3]=HOApproximationEnum;
     
    5454                                        doftype[5]=FSApproximationEnum;
    5555                                        break;
    56                                 case MacAyealFSApproximationEnum:
     56                                case SSAFSApproximationEnum:
    5757                                        numdofs=6;
    5858                                        doftype=xNew<int>(numdofs);
    59                                         doftype[0]=MacAyealApproximationEnum;
    60                                         doftype[1]=MacAyealApproximationEnum;
     59                                        doftype[0]=SSAApproximationEnum;
     60                                        doftype[1]=SSAApproximationEnum;
    6161                                        doftype[2]=FSApproximationEnum;
    6262                                        doftype[3]=FSApproximationEnum;
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r15564 r15567  
    311311        NoneApproximationEnum,
    312312        SIAApproximationEnum,
    313         MacAyealApproximationEnum,
    314         MacAyealHOApproximationEnum,
    315         MacAyealFSApproximationEnum,
     313        SSAApproximationEnum,
     314        SSAHOApproximationEnum,
     315        SSAFSApproximationEnum,
    316316        L1L2ApproximationEnum,
    317317        HOApproximationEnum,
     
    356356        TransientParamEnum,
    357357        IceFrontTypeEnum,
    358         MacAyeal2dIceFrontEnum,
    359         MacAyeal3dIceFrontEnum,
     358        SSA2dIceFrontEnum,
     359        SSA3dIceFrontEnum,
    360360        MaticeEnum,
    361361        MatdamageiceEnum,
     
    460460        VyPicardEnum,
    461461        VzEnum,
    462         VzMacAyealEnum,
     462        VzSSAEnum,
    463463        VzHOEnum,
    464464        VzPicardEnum,
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r15564 r15567  
    315315                case NoneApproximationEnum : return "NoneApproximation";
    316316                case SIAApproximationEnum : return "SIAApproximation";
    317                 case MacAyealApproximationEnum : return "MacAyealApproximation";
    318                 case MacAyealHOApproximationEnum : return "MacAyealHOApproximation";
    319                 case MacAyealFSApproximationEnum : return "MacAyealFSApproximation";
     317                case SSAApproximationEnum : return "SSAApproximation";
     318                case SSAHOApproximationEnum : return "SSAHOApproximation";
     319                case SSAFSApproximationEnum : return "SSAFSApproximation";
    320320                case L1L2ApproximationEnum : return "L1L2Approximation";
    321321                case HOApproximationEnum : return "HOApproximation";
     
    356356                case TransientParamEnum : return "TransientParam";
    357357                case IceFrontTypeEnum : return "IceFrontType";
    358                 case MacAyeal2dIceFrontEnum : return "MacAyeal2dIceFront";
    359                 case MacAyeal3dIceFrontEnum : return "MacAyeal3dIceFront";
     358                case SSA2dIceFrontEnum : return "SSA2dIceFront";
     359                case SSA3dIceFrontEnum : return "SSA3dIceFront";
    360360                case MaticeEnum : return "Matice";
    361361                case MatdamageiceEnum : return "Matdamageice";
     
    454454                case VyPicardEnum : return "VyPicard";
    455455                case VzEnum : return "Vz";
    456                 case VzMacAyealEnum : return "VzMacAyeal";
     456                case VzSSAEnum : return "VzSSA";
    457457                case VzHOEnum : return "VzHO";
    458458                case VzPicardEnum : return "VzPicard";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r15564 r15567  
    321321              else if (strcmp(name,"NoneApproximation")==0) return NoneApproximationEnum;
    322322              else if (strcmp(name,"SIAApproximation")==0) return SIAApproximationEnum;
    323               else if (strcmp(name,"MacAyealApproximation")==0) return MacAyealApproximationEnum;
    324               else if (strcmp(name,"MacAyealHOApproximation")==0) return MacAyealHOApproximationEnum;
    325               else if (strcmp(name,"MacAyealFSApproximation")==0) return MacAyealFSApproximationEnum;
     323              else if (strcmp(name,"SSAApproximation")==0) return SSAApproximationEnum;
     324              else if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum;
     325              else if (strcmp(name,"SSAFSApproximation")==0) return SSAFSApproximationEnum;
    326326              else if (strcmp(name,"L1L2Approximation")==0) return L1L2ApproximationEnum;
    327327              else if (strcmp(name,"HOApproximation")==0) return HOApproximationEnum;
     
    362362              else if (strcmp(name,"TransientParam")==0) return TransientParamEnum;
    363363              else if (strcmp(name,"IceFrontType")==0) return IceFrontTypeEnum;
    364               else if (strcmp(name,"MacAyeal2dIceFront")==0) return MacAyeal2dIceFrontEnum;
    365               else if (strcmp(name,"MacAyeal3dIceFront")==0) return MacAyeal3dIceFrontEnum;
     364              else if (strcmp(name,"SSA2dIceFront")==0) return SSA2dIceFrontEnum;
     365              else if (strcmp(name,"SSA3dIceFront")==0) return SSA3dIceFrontEnum;
    366366              else if (strcmp(name,"Matice")==0) return MaticeEnum;
    367367              else if (strcmp(name,"Matdamageice")==0) return MatdamageiceEnum;
     
    463463              else if (strcmp(name,"VyPicard")==0) return VyPicardEnum;
    464464              else if (strcmp(name,"Vz")==0) return VzEnum;
    465               else if (strcmp(name,"VzMacAyeal")==0) return VzMacAyealEnum;
     465              else if (strcmp(name,"VzSSA")==0) return VzSSAEnum;
    466466              else if (strcmp(name,"VzHO")==0) return VzHOEnum;
    467467              else if (strcmp(name,"VzPicard")==0) return VzPicardEnum;
  • issm/trunk-jpl/src/m/classes/balancethickness.m

    r15132 r15567  
    3838                        fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]');
    3939                        fielddisplay(obj,'thickening_rate','ice thickening rate used in the mass conservation (dh/dt) [m/yr]');
    40                         fielddisplay(obj,'stabilization','0: None, 1: SU, 2: MacAyeal''s artificial diffusivity, 3:DG');
     40                        fielddisplay(obj,'stabilization','0: None, 1: SU, 2: SSA''s artificial diffusivity, 3:DG');
    4141
    4242                end % }}}
  • issm/trunk-jpl/src/m/classes/balancethickness.py

    r15132 r15567  
    2727                string="%s\n%s"%(string,fielddisplay(self,'spcthickness','thickness constraints (NaN means no constraint) [m]'))
    2828                string="%s\n%s"%(string,fielddisplay(self,'thickening_rate','ice thickening rate used in the mass conservation (dh/dt) [m/yr]'))
    29                 string="%s\n%s"%(string,fielddisplay(self,'stabilization',"0: None, 1: SU, 2: MacAyeal's artificial diffusivity, 3:DG"))
     29                string="%s\n%s"%(string,fielddisplay(self,'stabilization',"0: None, 1: SU, 2: SSA's artificial diffusivity, 3:DG"))
    3030                return string
    3131                #}}}
  • issm/trunk-jpl/src/m/classes/flowequation.m

    r15564 r15567  
    132132                        pos=find(data==0); data(pos,end)=NoneApproximationEnum();
    133133                        pos=find(data==1); data(pos,end)=SIAApproximationEnum();
    134                         pos=find(data==2); data(pos,end)=MacAyealApproximationEnum();
     134                        pos=find(data==2); data(pos,end)=SSAApproximationEnum();
    135135                        pos=find(data==3); data(pos,end)=HOApproximationEnum();
    136136                        pos=find(data==4); data(pos,end)=FSApproximationEnum();
    137                         pos=find(data==5); data(pos,end)=MacAyealHOApproximationEnum();
    138                         pos=find(data==6); data(pos,end)=MacAyealFSApproximationEnum();
     137                        pos=find(data==5); data(pos,end)=SSAHOApproximationEnum();
     138                        pos=find(data==6); data(pos,end)=SSAFSApproximationEnum();
    139139                        pos=find(data==7); data(pos,end)=HOFSApproximationEnum();
    140140                        pos=find(data==8); data(pos,end)=L1L2ApproximationEnum();
     
    143143                        pos=find(data==0); data(pos,end)=NoneApproximationEnum();
    144144                        pos=find(data==1); data(pos,end)=SIAApproximationEnum();
    145                         pos=find(data==2); data(pos,end)=MacAyealApproximationEnum();
     145                        pos=find(data==2); data(pos,end)=SSAApproximationEnum();
    146146                        pos=find(data==3); data(pos,end)=HOApproximationEnum();
    147147                        pos=find(data==4); data(pos,end)=FSApproximationEnum();
    148                         pos=find(data==5); data(pos,end)=MacAyealHOApproximationEnum();
    149                         pos=find(data==6); data(pos,end)=MacAyealFSApproximationEnum();
     148                        pos=find(data==5); data(pos,end)=SSAHOApproximationEnum();
     149                        pos=find(data==6); data(pos,end)=SSAFSApproximationEnum();
    150150                        pos=find(data==7); data(pos,end)=HOFSApproximationEnum();
    151151                        pos=find(data==8); data(pos,end)=L1L2ApproximationEnum();
  • issm/trunk-jpl/src/m/classes/flowequation.py

    r15564 r15567  
    9494                data[numpy.nonzero(data==0)]=NoneApproximationEnum()
    9595                data[numpy.nonzero(data==1)]=SIAApproximationEnum()
    96                 data[numpy.nonzero(data==2)]=MacAyealApproximationEnum()
     96                data[numpy.nonzero(data==2)]=SSAApproximationEnum()
    9797                data[numpy.nonzero(data==3)]=HOApproximationEnum()
    9898                data[numpy.nonzero(data==4)]=FSApproximationEnum()
    99                 data[numpy.nonzero(data==5)]=MacAyealHOApproximationEnum()
    100                 data[numpy.nonzero(data==6)]=MacAyealFSApproximationEnum()
     99                data[numpy.nonzero(data==5)]=SSAHOApproximationEnum()
     100                data[numpy.nonzero(data==6)]=SSAFSApproximationEnum()
    101101                data[numpy.nonzero(data==7)]=HOFSApproximationEnum()
    102102                data[numpy.nonzero(data==8)]=L1L2ApproximationEnum()
     
    105105                data[numpy.nonzero(data==0)]=NoneApproximationEnum()
    106106                data[numpy.nonzero(data==1)]=SIAApproximationEnum()
    107                 data[numpy.nonzero(data==2)]=MacAyealApproximationEnum()
     107                data[numpy.nonzero(data==2)]=SSAApproximationEnum()
    108108                data[numpy.nonzero(data==3)]=HOApproximationEnum()
    109109                data[numpy.nonzero(data==4)]=FSApproximationEnum()
    110                 data[numpy.nonzero(data==5)]=MacAyealHOApproximationEnum()
    111                 data[numpy.nonzero(data==6)]=MacAyealFSApproximationEnum()
     110                data[numpy.nonzero(data==5)]=SSAHOApproximationEnum()
     111                data[numpy.nonzero(data==6)]=SSAFSApproximationEnum()
    112112                data[numpy.nonzero(data==7)]=HOFSApproximationEnum()
    113113                data[numpy.nonzero(data==8)]=L1L2ApproximationEnum()
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r15564 r15567  
    41814181        return StringToEnum('SIAApproximation')[0]
    41824182
    4183 def MacAyealApproximationEnum():
    4184         """
    4185         MACAYEALAPPROXIMATIONENUM - Enum of MacAyealApproximation
    4186 
    4187         WARNING: DO NOT MODIFY THIS FILE
    4188                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    4189                                 Please read src/c/shared/Enum/README for more information
    4190 
    4191            Usage:
    4192               macro=MacAyealApproximationEnum()
    4193         """
    4194 
    4195         return StringToEnum('MacAyealApproximation')[0]
    4196 
    4197 def MacAyealHOApproximationEnum():
    4198         """
    4199         MACAYEALHOAPPROXIMATIONENUM - Enum of MacAyealHOApproximation
    4200 
    4201         WARNING: DO NOT MODIFY THIS FILE
    4202                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    4203                                 Please read src/c/shared/Enum/README for more information
    4204 
    4205            Usage:
    4206               macro=MacAyealHOApproximationEnum()
    4207         """
    4208 
    4209         return StringToEnum('MacAyealHOApproximation')[0]
    4210 
    4211 def MacAyealFSApproximationEnum():
    4212         """
    4213         MACAYEALFSAPPROXIMATIONENUM - Enum of MacAyealFSApproximation
    4214 
    4215         WARNING: DO NOT MODIFY THIS FILE
    4216                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    4217                                 Please read src/c/shared/Enum/README for more information
    4218 
    4219            Usage:
    4220               macro=MacAyealFSApproximationEnum()
    4221         """
    4222 
    4223         return StringToEnum('MacAyealFSApproximation')[0]
     4183def SSAApproximationEnum():
     4184        """
     4185        SSAAPPROXIMATIONENUM - Enum of SSAApproximation
     4186
     4187        WARNING: DO NOT MODIFY THIS FILE
     4188                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     4189                                Please read src/c/shared/Enum/README for more information
     4190
     4191           Usage:
     4192              macro=SSAApproximationEnum()
     4193        """
     4194
     4195        return StringToEnum('SSAApproximation')[0]
     4196
     4197def SSAHOApproximationEnum():
     4198        """
     4199        SSAHOAPPROXIMATIONENUM - Enum of SSAHOApproximation
     4200
     4201        WARNING: DO NOT MODIFY THIS FILE
     4202                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     4203                                Please read src/c/shared/Enum/README for more information
     4204
     4205           Usage:
     4206              macro=SSAHOApproximationEnum()
     4207        """
     4208
     4209        return StringToEnum('SSAHOApproximation')[0]
     4210
     4211def SSAFSApproximationEnum():
     4212        """
     4213        SSAFSAPPROXIMATIONENUM - Enum of SSAFSApproximation
     4214
     4215        WARNING: DO NOT MODIFY THIS FILE
     4216                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     4217                                Please read src/c/shared/Enum/README for more information
     4218
     4219           Usage:
     4220              macro=SSAFSApproximationEnum()
     4221        """
     4222
     4223        return StringToEnum('SSAFSApproximation')[0]
    42244224
    42254225def L1L2ApproximationEnum():
     
    47554755        return StringToEnum('IceFrontType')[0]
    47564756
    4757 def MacAyeal2dIceFrontEnum():
    4758         """
    4759         MACAYEAL2DICEFRONTENUM - Enum of MacAyeal2dIceFront
    4760 
    4761         WARNING: DO NOT MODIFY THIS FILE
    4762                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    4763                                 Please read src/c/shared/Enum/README for more information
    4764 
    4765            Usage:
    4766               macro=MacAyeal2dIceFrontEnum()
    4767         """
    4768 
    4769         return StringToEnum('MacAyeal2dIceFront')[0]
    4770 
    4771 def MacAyeal3dIceFrontEnum():
    4772         """
    4773         MACAYEAL3DICEFRONTENUM - Enum of MacAyeal3dIceFront
    4774 
    4775         WARNING: DO NOT MODIFY THIS FILE
    4776                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    4777                                 Please read src/c/shared/Enum/README for more information
    4778 
    4779            Usage:
    4780               macro=MacAyeal3dIceFrontEnum()
    4781         """
    4782 
    4783         return StringToEnum('MacAyeal3dIceFront')[0]
     4757def SSA2dIceFrontEnum():
     4758        """
     4759        SSA2DICEFRONTENUM - Enum of SSA2dIceFront
     4760
     4761        WARNING: DO NOT MODIFY THIS FILE
     4762                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     4763                                Please read src/c/shared/Enum/README for more information
     4764
     4765           Usage:
     4766              macro=SSA2dIceFrontEnum()
     4767        """
     4768
     4769        return StringToEnum('SSA2dIceFront')[0]
     4770
     4771def SSA3dIceFrontEnum():
     4772        """
     4773        SSA3DICEFRONTENUM - Enum of SSA3dIceFront
     4774
     4775        WARNING: DO NOT MODIFY THIS FILE
     4776                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     4777                                Please read src/c/shared/Enum/README for more information
     4778
     4779           Usage:
     4780              macro=SSA3dIceFrontEnum()
     4781        """
     4782
     4783        return StringToEnum('SSA3dIceFront')[0]
    47844784
    47854785def MaticeEnum():
     
    61276127        return StringToEnum('Vz')[0]
    61286128
    6129 def VzMacAyealEnum():
    6130         """
    6131         VZMACAYEALENUM - Enum of VzMacAyeal
    6132 
    6133         WARNING: DO NOT MODIFY THIS FILE
    6134                                 this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
    6135                                 Please read src/c/shared/Enum/README for more information
    6136 
    6137            Usage:
    6138               macro=VzMacAyealEnum()
    6139         """
    6140 
    6141         return StringToEnum('VzMacAyeal')[0]
     6129def VzSSAEnum():
     6130        """
     6131        VZSSAENUM - Enum of VzSSA
     6132
     6133        WARNING: DO NOT MODIFY THIS FILE
     6134                                this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
     6135                                Please read src/c/shared/Enum/README for more information
     6136
     6137           Usage:
     6138              macro=VzSSAEnum()
     6139        """
     6140
     6141        return StringToEnum('VzSSA')[0]
    61426142
    61436143def VzHOEnum():
  • issm/trunk-jpl/src/m/mech/mechanicalproperties.m

    r15564 r15567  
    2121end
    2222if any(md.flowequation.element_equation~=2),
    23         disp('Warning: the model has some non SSA elements. These will be treated like MacAyeal''s elements');
     23        disp('Warning: the model has some non SSA elements. These will be treated like SSA''s elements');
    2424end
    2525
  • issm/trunk-jpl/src/m/mech/strainrateuncert.m

    r15564 r15567  
    3636end
    3737if any(md.flowequation.element_equation~=2),
    38         disp('Warning: the model has some non SSA elements. These will be treated like MacAyeal''s elements');
     38        disp('Warning: the model has some non SSA elements. These will be treated like SSA''s elements');
    3939end
    4040
  • issm/trunk-jpl/src/m/miscellaneous/issmdoc.m

    r15564 r15567  
    1111disp(sprintf('%-63s %s','       md=setmask(md,''all'','''');','%defines the glacier system as an ice shelf (no island)'));
    1212disp(sprintf('%-63s %s','       md=parameterize(md,''Square.par'');','%fills all the other fields of the model'));
    13 disp(sprintf('%-63s %s','       md=setflowequation(md,''SSA'',''all'');','%defines all elements as MacAyeal''s SSA'));
     13disp(sprintf('%-63s %s','       md=setflowequation(md,''SSA'',''all'');','%defines all elements as SSA''s SSA'));
    1414disp(sprintf('%-63s %s','       md=solve(md,DiagnosticSolutionEnum());','%solve for stress balance'));
    1515disp(sprintf('%-63s %s','       plotmodel(md,''data'',md.results.DiagnosticSolution.Vel);','%displays the velocity (type plotdoc for plotmodel help)'));
  • issm/trunk-jpl/src/m/parameterization/setflowequation.m

    r15564 r15567  
    116116end
    117117
    118 %Now take care of the coupling between MacAyeal and HO
     118%Now take care of the coupling between SSA and HO
    119119md.diagnostic.vertex_pairing=[];
    120120nodeonSSAHO=zeros(md.mesh.numberofvertices,1);
     
    125125HOFSflag=zeros(md.mesh.numberofelements,1);
    126126if strcmpi(coupling_method,'penalties'),
    127         %Create the border nodes between HO and MacAyeal and extrude them
     127        %Create the border nodes between HO and SSA and extrude them
    128128        numnodes2d=md.mesh.numberofvertices2d;
    129129        numlayers=md.mesh.numberoflayers;
     
    142142                %Find node at the border
    143143                nodeonSSAHO(find(nodeonSSA & nodeonHO))=1;
    144                 %SSA elements in contact with this layer become MacAyealHO elements
     144                %SSA elements in contact with this layer become SSAHO elements
    145145                matrixelements=ismember(md.mesh.elements,find(nodeonSSAHO));
    146146                commonelements=sum(matrixelements,2)~=0;
     
    206206                %Find node at the border
    207207                nodeonSSAFS(find(nodeonSSA & nodeonFS))=1;
    208                 %FS elements in contact with this layer become MacAyealFS elements
     208                %FS elements in contact with this layer become SSAFS elements
    209209                matrixelements=ismember(md.mesh.elements,find(nodeonSSAFS));
    210210                commonelements=sum(matrixelements,2)~=0;
  • issm/trunk-jpl/src/m/parameterization/setflowequation.py

    r15564 r15567  
    112112                        noneflag[numpy.nonzero(numpy.logical_not(FSflag))]=True
    113113
    114         #Now take care of the coupling between MacAyeal and HO
     114        #Now take care of the coupling between SSA and HO
    115115        md.diagnostic.vertex_pairing=numpy.array([])
    116116        nodeonSSAHO=numpy.zeros(md.mesh.numberofvertices,bool)
     
    121121        HOFSflag=numpy.zeros(md.mesh.numberofelements,bool)
    122122        if   strcmpi(coupling_method,'penalties'):
    123                 #Create the border nodes between HO and MacAyeal and extrude them
     123                #Create the border nodes between HO and SSA and extrude them
    124124                numnodes2d=md.mesh.numberofvertices2d
    125125                numlayers=md.mesh.numberoflayers
     
    137137                        #Find node at the border
    138138                        nodeonSSAHO[numpy.nonzero(numpy.logical_and(nodeonSSA,nodeonHO))]=True
    139                         #SSA elements in contact with this layer become MacAyealHO elements
     139                        #SSA elements in contact with this layer become SSAHO elements
    140140                        matrixelements=ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAHO)[0])
    141141                        commonelements=numpy.sum(matrixelements,axis=1)!=0
     
    201201                        #Find node at the border
    202202                        nodeonSSAFS[numpy.nonzero(numpy.logical_and(nodeonSSA,nodeonFS))]=True
    203                         #FS elements in contact with this layer become MacAyealFS elements
     203                        #FS elements in contact with this layer become SSAFS elements
    204204                        matrixelements=ismember(md.mesh.elements-1,numpy.nonzero(nodeonSSAFS)[0])
    205205                        commonelements=numpy.sum(matrixelements,axis=1)!=0
     
    233233                        raise TypeError("type of coupling not supported yet")
    234234
    235         #Create MacAyealHOApproximation where needed
     235        #Create SSAHOApproximation where needed
    236236        md.flowequation.element_equation=numpy.zeros(md.mesh.numberofelements,int)
    237237        md.flowequation.element_equation[numpy.nonzero(noneflag)]=0
  • issm/trunk-jpl/src/m/plot/plot_elementstype.m

    r15564 r15567  
    2222        A=elements(posH,1); B=elements(posH,2); C=elements(posH,3);
    2323        p1=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',1,'FaceColor','flat','EdgeColor',edgecolor);
    24         %MacAyeal element
     24        %SSA element
    2525        posM=find(data==2);
    2626        A=elements(posM,1); B=elements(posM,2); C=elements(posM,3);
     
    3030        A=elements(posP,1); B=elements(posP,2); C=elements(posP,3);
    3131        p3=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',3,'FaceColor','flat','EdgeColor',edgecolor);
    32         %MacAyealHO element
     32        %SSAHO element
    3333        posMP=find(data==5);
    3434        A=elements(posMP,1); B=elements(posMP,2); C=elements(posMP,3);
     
    3838        A=elements(posS,1); B=elements(posS,2); C=elements(posS,3);
    3939        p6=patch( 'Faces', [A B C], 'Vertices', [x y z],'CData',4,'FaceColor','flat','EdgeColor',edgecolor);
    40         %MacAyealFS elements
     40        %SSAFS elements
    4141        posMS=find(data==6);
    4242        A=elements(posMS,1); B=elements(posMS,2); C=elements(posMS,3);
     
    5252
    5353        legend([p1 p2 p3 p5 p6 p7 p8 p9],...
    54                 'SIA''s elements','MacAyeal''s elements','HO''s elements',...
    55                 'MacAyealHO''s elements','FS''s elements','MacAyealFS''s elements','HOFS''s elements','None element');
     54                'SIA''s elements','SSA''s elements','HO''s elements',...
     55                'SSAHO''s elements','FS''s elements','SSAFS''s elements','HOFS''s elements','None element');
    5656
    5757else
     
    6464        patch( 'Faces', [B E F C],'Vertices', [x y z],'CData', 1,'FaceColor','flat','EdgeColor',edgecolor);
    6565        patch( 'Faces', [C A D F],'Vertices', [x y z],'CData', 1,'FaceColor','flat','EdgeColor',edgecolor);
    66         %MacAyeal elements
     66        %SSA elements
    6767        posM=find(data==2);
    6868        A=elements(posM,1); B=elements(posM,2); C=elements(posM,3); D=elements(posM,4); E=elements(posM,5); F=elements(posM,6);
     
    8888        patch( 'Faces', [B E F C],'Vertices', [x y z],'CData', 4,'FaceColor','flat','EdgeColor',edgecolor);
    8989        patch( 'Faces', [C A D F],'Vertices', [x y z],'CData', 4,'FaceColor','flat','EdgeColor',edgecolor);
    90         %MacAyealHO elements
     90        %SSAHO elements
    9191        posP=find(data==5);
    9292        A=elements(posP,1); B=elements(posP,2); C=elements(posP,3); D=elements(posP,4); E=elements(posP,5); F=elements(posP,6);
     
    104104        patch( 'Faces', [B E F C],'Vertices', [x y z],'CData', 7,'FaceColor','flat','EdgeColor',edgecolor);
    105105        patch( 'Faces', [C A D F],'Vertices', [x y z],'CData', 7,'FaceColor','flat','EdgeColor',edgecolor);
    106         %MacAyealFS elements
     106        %SSAFS elements
    107107        PosMS=find(data==6);
    108108        A=elements(PosMS,1); B=elements(PosMS,2); C=elements(PosMS,3); D=elements(PosMS,4); E=elements(PosMS,5); F=elements(PosMS,6);
     
    122122
    123123        legend([p1 p2 p3 p4 p5 p6 p7 p8],...
    124                 'SIA''s elements','MacAyeal''s elements','HO''s elements','FS''s elements',...
    125                 'MacAyealHO''s elements','HOFS''s elements','MacAyealFS''s elements','None elements');
     124                'SIA''s elements','SSA''s elements','HO''s elements','FS''s elements',...
     125                'SSAHO''s elements','HOFS''s elements','SSAFS''s elements','None elements');
    126126end
    127127
  • issm/trunk-jpl/src/m/plot/plot_penalties.m

    r15564 r15567  
    4040                P2=plot3(x(md.penalties(i,:)),y(md.penalties(i,:)),z(md.penalties(i,:)),'bo-','LineWidth',2,'MarkerSize',8,'MarkerFaceColor','b');
    4141        end
    42         legend([P1 P2],'MacAyeal''s penalized nodes','HO''s penalized nodes');
     42        legend([P1 P2],'SSA''s penalized nodes','HO''s penalized nodes');
    4343end
    4444
Note: See TracChangeset for help on using the changeset viewer.