Changeset 5552


Ignore:
Timestamp:
08/24/10 14:52:12 (15 years ago)
Author:
seroussi
Message:

keep working on icefront

Location:
issm/trunk/src/c
Files:
7 edited

Legend:

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

    r5526 r5552  
    113113        PengridEnum,
    114114        PenpairEnum,
    115         QuadIceFrontEnum,
    116115        QuadRiftFrontEnum,
    117116        RiftfrontEnum,
    118         SegmentIcefrontEnum,
    119117        SegmentRiftfrontEnum,
     118        MacAyealIceFrontEnum,
     119        PattynIceFrontEnum,
     120        StokesIceFrontEnum,
    120121        /*Materials: */
    121122        MaterialEnum,
  • issm/trunk/src/c/EnumDefinitions/EnumToString.cpp

    r5526 r5552  
    9898                case PengridEnum : return "Pengrid";
    9999                case PenpairEnum : return "Penpair";
    100                 case QuadIceFrontEnum : return "QuadIceFront";
    101100                case QuadRiftFrontEnum : return "QuadRiftFront";
    102101                case RiftfrontEnum : return "Riftfront";
    103                 case SegmentIcefrontEnum : return "SegmentIcefront";
    104102                case SegmentRiftfrontEnum : return "SegmentRiftfront";
     103                case MacAyealIceFrontEnum : return "MacAyealIceFront";
     104                case PattynIceFrontEnum : return "PattynIceFront";
     105                case StokesIceFrontEnum : return "StokesIceFront";
    105106                case MaterialEnum : return "Material";
    106107                case MaticeEnum : return "Matice";
  • issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp

    r5526 r5552  
    9696        else if (strcmp(name,"Pengrid")==0) return PengridEnum;
    9797        else if (strcmp(name,"Penpair")==0) return PenpairEnum;
    98         else if (strcmp(name,"QuadIceFront")==0) return QuadIceFrontEnum;
    9998        else if (strcmp(name,"QuadRiftFront")==0) return QuadRiftFrontEnum;
    10099        else if (strcmp(name,"Riftfront")==0) return RiftfrontEnum;
    101         else if (strcmp(name,"SegmentIcefront")==0) return SegmentIcefrontEnum;
    102100        else if (strcmp(name,"SegmentRiftfront")==0) return SegmentRiftfrontEnum;
     101        else if (strcmp(name,"MacAyealIceFront")==0) return MacAyealIceFrontEnum;
     102        else if (strcmp(name,"PattynIceFront")==0) return PattynIceFrontEnum;
     103        else if (strcmp(name,"StokesIceFront")==0) return StokesIceFrontEnum;
    103104        else if (strcmp(name,"Material")==0) return MaterialEnum;
    104105        else if (strcmp(name,"Matice")==0) return MaticeEnum;
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r5433 r5552  
    5656               
    5757                /*Do not create ice front if Hutter or Stokes elements*/
    58                 if ((int)*(iomodel->elements_type+element)==(HutterApproximationEnum || StokesApproximationEnum)) continue;
     58                if ((int)*(iomodel->elements_type+element)==HutterApproximationEnum) continue;
    5959
    6060                /*Create and  add load: */
    6161                if ((int)*(iomodel->elements_type+element)==(MacAyealApproximationEnum)){
    62                         loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,SegmentIcefrontEnum,DiagnosticHorizAnalysisEnum));
     62                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyealIceFrontEnum,DiagnosticHorizAnalysisEnum));
    6363                        count++;
    6464                }
    6565                else if ((int)*(iomodel->elements_type+element)==(PattynApproximationEnum)){
    66                         loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,QuadIceFrontEnum,DiagnosticHorizAnalysisEnum));
     66                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,PattynIceFrontEnum,DiagnosticHorizAnalysisEnum));
     67                        count++;
     68                }
     69                else if ((int)*(iomodel->elements_type+element)==(StokesApproximationEnum)){
     70                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,StokesIceFrontEnum,DiagnosticHorizAnalysisEnum));
    6771                        count++;
    6872                }
    6973                else if ((int)*(iomodel->elements_type+element)==(MacAyealPattynApproximationEnum)){
    70                         loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,SegmentIcefrontEnum,DiagnosticHorizAnalysisEnum));
     74                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyealIceFrontEnum,DiagnosticHorizAnalysisEnum));
    7175                        count++;
    72                         loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,QuadIceFrontEnum,DiagnosticHorizAnalysisEnum));
     76                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,PattynIceFrontEnum,DiagnosticHorizAnalysisEnum));
    7377                        count++;
    7478                }
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticStokes/CreateLoadsDiagnosticStokes.cpp

    r5510 r5552  
    6262
    6363                /*Create and  add load: */
    64                 loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,QuadIceFrontEnum,DiagnosticStokesAnalysisEnum));
     64                loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,StokesIceFrontEnum,DiagnosticStokesAnalysisEnum));
    6565                count++;
    6666
  • issm/trunk/src/c/objects/Loads/Icefront.cpp

    r5547 r5552  
    5555        icefront_mparid=iomodel->numberofelements+1; //matlab indexing
    5656
    57         if (in_icefront_type==SegmentIcefrontEnum){
     57        if (in_icefront_type==MacAyealIceFrontEnum){
    5858                icefront_node_ids[0]=iomodel->nodecounter+(int)*(iomodel->pressureload+segment_width*i+0);
    5959                icefront_node_ids[1]=iomodel->nodecounter+(int)*(iomodel->pressureload+segment_width*i+1);
    6060        }
    61         else if (in_icefront_type==QuadIceFrontEnum){
     61        else if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum){
    6262                icefront_node_ids[0]=iomodel->nodecounter+(int)*(iomodel->pressureload+segment_width*i+0);
    6363                icefront_node_ids[1]=iomodel->nodecounter+(int)*(iomodel->pressureload+segment_width*i+1);
     
    6767        else ISSMERROR("in_icefront_type %s not supported yet!",EnumToString(in_icefront_type));
    6868
    69         if (in_icefront_type==QuadIceFrontEnum) num_nodes=4;
     69        if (in_icefront_type==PattynIceFrontEnum || in_icefront_type==StokesIceFrontEnum) num_nodes=4;
    7070        else num_nodes=2;
    7171        icefront_fill=(int)*(iomodel->pressureload+segment_width*i+segment_width-1);
     
    294294        /*Just branch to the correct element icefront vector generator, according to the type of analysis we are carrying out: */
    295295        if (analysis_type==DiagnosticHorizAnalysisEnum){
    296                 CreatePVectorDiagnosticHoriz( pg);
     296                int type;
     297                inputs->GetParameterValue(&type,TypeEnum);
     298                if (type==MacAyealIceFrontEnum){
     299                        CreatePVectorDiagnosticMacAyeal( pg);
     300                }
     301                else if (type==PattynIceFrontEnum){
     302                        CreatePVectorDiagnosticPattyn( pg);
     303                }
     304                else if (type==StokesIceFrontEnum){
     305                        CreatePVectorDiagnosticStokes( pg);
     306                }
     307                else ISSMERROR("Icefront type %s not supported yet",EnumToString(type));
    297308        }
    298309        else if (analysis_type==DiagnosticStokesAnalysisEnum){
     
    377388
    378389/*Icefront numerics: */
    379 /*FUNCTION Icefront::CreatePVectorDiagnosticHoriz {{{1*/
    380 void Icefront::CreatePVectorDiagnosticHoriz( Vec pg){
    381        
    382         int type;
    383         inputs->GetParameterValue(&type,TypeEnum);
    384 
    385         /*Branck on the type of icefront: */
    386         if (type==SegmentIcefrontEnum){
    387                 CreatePVectorDiagnosticMacAyeal(pg);
    388         }
    389         else if (type==QuadIceFrontEnum){
    390                 CreatePVectorDiagnosticPattyn(pg);
    391         }
    392         else ISSMERROR("type %i not supported",type);
    393 }       
    394 /*}}}*/
    395390/*FUNCTION Icefront::CreatePVectorDiagnosticMacAyeal{{{1*/
    396391void Icefront::CreatePVectorDiagnosticMacAyeal( Vec pg){
     
    822817               
    823818        /*How many nodes? :*/
    824         if(type==SegmentIcefrontEnum)numberofnodes=2;
     819        if(type==MacAyealIceFrontEnum)numberofnodes=2;
    825820        else numberofnodes=4;
    826821       
  • issm/trunk/src/c/objects/Loads/Icefront.h

    r5547 r5552  
    7171                /*}}}*/
    7272                /*Load management: {{{1*/
    73                 void  CreatePVectorDiagnosticHoriz( Vec pg);
    7473                void  CreatePVectorDiagnosticMacAyeal( Vec pg);
    7574                void  CreatePVectorDiagnosticPattyn( Vec pg);
Note: See TracChangeset for help on using the changeset viewer.