Changeset 4122


Ignore:
Timestamp:
06/22/10 15:07:16 (15 years ago)
Author:
Mathieu Morlighem
Message:

Fixed counter problem in diagnostic horiz and updated elements/loads as sub_analysis is not used anymore

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

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp

    r4025 r4122  
    5656                        element=(Element*)elements->GetObjectByOffset(counter);
    5757                        element->Update(i,iomodel,analysis_counter,analysis_type); //we need i to index into elements.
     58                        counter++;
    5859                }
    5960        }
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r4091 r4122  
    222222void  Beam::CreateKMatrix(Mat Kgg){
    223223
    224         int analysis_type,sub_analysis_type;
     224        int analysis_type;
    225225
    226226        /*retrive parameters: */
    227227        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    228         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    229228
    230229        /*Just branch to the correct element stiffness matrix generator, according to the type of analysis we are carrying out: */
    231         if (analysis_type==DiagnosticAnalysisEnum) {
    232        
    233                 if (sub_analysis_type==HutterAnalysisEnum) {
    234 
    235                         CreateKMatrixDiagnosticHutter( Kgg);
    236                 }
    237                 else
    238                         ISSMERROR("%s%i%s\n","sub_analysis_type: ",sub_analysis_type," not supported yet");
     230        if (analysis_type==DiagnosticHutterAnalysisEnum) {
     231                CreateKMatrixDiagnosticHutter( Kgg);
    239232        }
    240233        else{
    241                 ISSMERROR("%s%i%s\n","analysis: ",analysis_type," not supported yet");
     234                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    242235        }
    243236
     
    306299       
    307300        /*Just branch to the correct load generator, according to the type of analysis we are carrying out: */
    308         if (analysis_type==DiagnosticAnalysisEnum) {
    309                 if (sub_analysis_type==HutterAnalysisEnum) {
    310                         CreatePVectorDiagnosticHutter( pg);
    311                 }
    312                 else
    313                         ISSMERROR("%s%i%s"," analysis ",analysis_type," not supported yet");
     301        if (analysis_type==DiagnosticHutterAnalysisEnum) {
     302                CreatePVectorDiagnosticHutter( pg);
    314303        }
    315304        else{
    316                 ISSMERROR("%s%i%s"," analysis ",analysis_type," not supported yet");
     305                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    317306        }
    318307
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r4091 r4122  
    12421242void  Penta::CreateKMatrix(Mat Kgg){
    12431243
    1244         int analysis_type,sub_analysis_type;
     1244        int analysis_type;
    12451245
    12461246        /*retrive parameters: */
    12471247        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    1248         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    12491248
    12501249        /*if debugging mode, check that all pointers exist*/
     
    12551254                CreateKMatrixDiagnosticHoriz( Kgg);
    12561255        }
    1257         else if (analysis_type==DiagnosticAnalysisEnum){
    1258                 if (sub_analysis_type==HorizAnalysisEnum){
    1259                         CreateKMatrixDiagnosticHoriz( Kgg);
    1260                 }
    1261                 else if (sub_analysis_type==HutterAnalysisEnum){
    1262                         CreateKMatrixDiagnosticHutter( Kgg);
    1263                 }
    1264                 else if (sub_analysis_type==VertAnalysisEnum){
    1265                         CreateKMatrixDiagnosticVert( Kgg);
    1266                 }
    1267                 else if (sub_analysis_type==StokesAnalysisEnum){
    1268                         CreateKMatrixDiagnosticStokes( Kgg);
    1269                 }
    1270                 else ISSMERROR("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet");
     1256        else if (analysis_type==DiagnosticHorizAnalysisEnum){
     1257                CreateKMatrixDiagnosticHoriz( Kgg);
     1258        }
     1259        else if (analysis_type==DiagnosticHutterAnalysisEnum){
     1260                CreateKMatrixDiagnosticHutter( Kgg);
     1261        }
     1262        else if (analysis_type==DiagnosticVertAnalysisEnum){
     1263                CreateKMatrixDiagnosticVert( Kgg);
     1264        }
     1265        else if (analysis_type==DiagnosticStokesAnalysisEnum){
     1266                CreateKMatrixDiagnosticStokes( Kgg);
    12711267        }
    12721268        else if (analysis_type==SlopeAnalysisEnum){
     
    12881284                CreateKMatrixMelting( Kgg);
    12891285        }
    1290         else ISSMERROR("%s%i%s\n","analysis: ",analysis_type," not supported yet");
     1286        else ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    12911287
    12921288}
     
    23422338                CreatePVectorDiagnosticHoriz( pg);
    23432339        }
    2344         else if (analysis_type==DiagnosticAnalysisEnum){
    2345                 if (sub_analysis_type==HorizAnalysisEnum){
    2346                         CreatePVectorDiagnosticHoriz( pg);
    2347                 }
    2348                 else if (sub_analysis_type==HutterAnalysisEnum){
    2349                         CreatePVectorDiagnosticHutter( pg);
    2350                 }
    2351                 else if (sub_analysis_type==VertAnalysisEnum){
    2352                         CreatePVectorDiagnosticVert( pg);
    2353                 }
    2354                 else if (sub_analysis_type==StokesAnalysisEnum){
    2355                         CreatePVectorDiagnosticStokes( pg);
    2356                 }
    2357                 else ISSMERROR("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet");
     2340        else if (analysis_type==DiagnosticHorizAnalysisEnum){
     2341                CreatePVectorDiagnosticHoriz( pg);
     2342        }
     2343        else if (analysis_type==DiagnosticHutterAnalysisEnum){
     2344                CreatePVectorDiagnosticHutter( pg);
     2345        }
     2346        else if (analysis_type==DiagnosticVertAnalysisEnum){
     2347                CreatePVectorDiagnosticVert( pg);
     2348        }
     2349        else if (analysis_type==DiagnosticStokesAnalysisEnum){
     2350                CreatePVectorDiagnosticStokes( pg);
    23582351        }
    23592352        else if (analysis_type==SlopeAnalysisEnum){
     
    23752368                CreatePVectorMelting( pg);
    23762369        }
    2377         else ISSMERROR("%s%i%s\n","analysis: ",analysis_type," not supported yet");
     2370        else ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    23782371
    23792372}
  • issm/trunk/src/c/objects/Elements/Sing.cpp

    r4091 r4122  
    194194void  Sing::CreateKMatrix(Mat Kgg){
    195195
    196         int analysis_type,sub_analysis_type;
     196        int analysis_type;
    197197
    198198        /*retrive parameters: */
    199199        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    200         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    201200
    202201        /*Just branch to the correct element stiffness matrix generator, according to the type of analysis we are carrying out: */
    203         if ((analysis_type==DiagnosticAnalysisEnum) && (sub_analysis_type==HutterAnalysisEnum)){
    204 
     202        if (analysis_type==DiagnosticHutterAnalysisEnum){
    205203                CreateKMatrixDiagnosticHutter( Kgg);
    206 
    207204        }
    208205        else{
    209                 ISSMERROR("%s%i%s%i%s\n","analysis: ",analysis_type," and sub_analysis_type: ",sub_analysis_type," not supported yet");
     206                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    210207        }
    211208
     
    237234void  Sing::CreatePVector(Vec pg){
    238235
    239         int analysis_type,sub_analysis_type;
     236        int analysis_type;
    240237
    241238        /*retrive parameters: */
    242239        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    243         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    244240       
    245241        /*Just branch to the correct load generator, according to the type of analysis we are carrying out: */
    246         if ((analysis_type==DiagnosticAnalysisEnum) && (sub_analysis_type==HutterAnalysisEnum)){
    247        
     242        if (analysis_type==DiagnosticHutterAnalysisEnum){
    248243                        CreatePVectorDiagnosticHutter( pg);
    249 
    250244        }
    251245        else{
    252                 ISSMERROR("%s%i%s"," analysis ",analysis_type," not supported yet");
     246                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    253247        }
    254248
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r4118 r4122  
    973973void  Tria::CreateKMatrix(Mat Kgg){
    974974
    975         int analysis_type,sub_analysis_type;
     975        int analysis_type;
    976976
    977977        /*retrive parameters: */
    978978        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    979         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    980979
    981980        /*asserts: {{{2*/
     
    987986                CreateKMatrixDiagnosticHoriz( Kgg);
    988987        }
    989         else if (analysis_type==DiagnosticAnalysisEnum){
    990                 if (sub_analysis_type==HorizAnalysisEnum){
    991                         CreateKMatrixDiagnosticHoriz( Kgg);
     988        else if (analysis_type==DiagnosticHorizAnalysisEnum){
     989                CreateKMatrixDiagnosticHoriz( Kgg);
    992990                }
    993                 else if (sub_analysis_type==HutterAnalysisEnum){
    994                         CreateKMatrixDiagnosticHutter( Kgg);
    995                 }
    996                 else ISSMERROR("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet");
     991        else if (analysis_type==DiagnosticHutterAnalysisEnum){
     992                CreateKMatrixDiagnosticHutter( Kgg);
    997993        }
    998994        else if (analysis_type==SlopeAnalysisEnum){
     
    10151011        }
    10161012        else{
    1017                 ISSMERROR("%s%i%s\n","analysis: ",analysis_type," not supported yet");
     1013                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    10181014        }
    10191015
     
    23872383void  Tria::CreatePVector(Vec pg){
    23882384
    2389         int analysis_type,sub_analysis_type;
     2385        int analysis_type;
    23902386
    23912387        /*retrive parameters: */
    23922388        parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    2393         parameters->FindParam(&sub_analysis_type,AnalysisTypeEnum);
    23942389
    23952390        /*asserts: {{{*/
     
    24022397                CreatePVectorDiagnosticHoriz( pg);
    24032398        }
    2404         else if (analysis_type==DiagnosticAnalysisEnum){
    2405                 if (sub_analysis_type==HorizAnalysisEnum){
    2406                         CreatePVectorDiagnosticHoriz( pg);
    2407                 }
    2408                 else if (sub_analysis_type==HutterAnalysisEnum){
    2409                         CreatePVectorDiagnosticHutter( pg);
    2410                 }
    2411                 else ISSMERROR("%s%i%s\n","sub_analysis: ",sub_analysis_type," not supported yet");
     2399        else if (analysis_type==DiagnosticHorizAnalysisEnum){
     2400                CreatePVectorDiagnosticHoriz( pg);
     2401        }
     2402        else if (analysis_type==DiagnosticHutterAnalysisEnum){
     2403                CreatePVectorDiagnosticHutter( pg);
    24122404        }
    24132405        else if (analysis_type==SlopeAnalysisEnum){
     
    24302422        }
    24312423        else{
    2432                 ISSMERROR("%s%i%s"," analysis ",analysis_type," not supported yet");
     2424                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    24332425        }
    24342426
  • issm/trunk/src/c/objects/FemModel.cpp

    r4117 r4122  
    5555        for(i=0;i<nummodels;i++){
    5656
     57                _printf_("   processing finite element model of analysis %s:\n",EnumAsString(analysis_type_list[i]));
    5758                analysis_type=analysis_type_list[i];
    58                 _printf_("   processing finite element model of analysis %s:\n",EnumAsString(analysis_type));
     59                this->SetCurrentAnalysis(analysis_type);
    5960       
    6061                _printf_("      create degrees of freedom\n");
  • issm/trunk/src/c/objects/Loads/Icefront.cpp

    r4091 r4122  
    277277/*Object functions*/
    278278/*FUNCTION Icefront::CreateKMatrix {{{1*/
    279 
    280279void  Icefront::CreateKMatrix(Mat Kgg){
    281280
    282281        /*No stiffness loads applied, do nothing: */
    283 
    284282        return;
    285283
     
    289287void  Icefront::CreatePVector(Vec pg){
    290288
    291         int analysis_type,sub_analysis_type;
     289        int analysis_type;
    292290
    293291        /*Retrieve parameters: */
    294292        this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    295         this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
    296293
    297294        /*Just branch to the correct element icefront vector generator, according to the type of analysis we are carrying out: */
    298295        if (analysis_type==ControlAnalysisEnum){
    299                
    300296                CreatePVectorDiagnosticHoriz( pg);
    301 
    302         }
    303         else if (analysis_type==DiagnosticAnalysisEnum){
    304        
    305                 if (sub_analysis_type==HorizAnalysisEnum){
    306                
    307                         CreatePVectorDiagnosticHoriz( pg);
    308 
    309                 }
    310                 else if (sub_analysis_type==StokesAnalysisEnum){
    311                        
    312                         CreatePVectorDiagnosticStokes( pg);
    313 
    314                 }
    315                 else ISSMERROR("%s%i%s"," sub_analysis_type: ",sub_analysis_type," not supported yet");
    316 
     297        }
     298        else if (analysis_type==DiagnosticHorizAnalysisEnum){
     299                CreatePVectorDiagnosticHoriz( pg);
     300        }
     301        else if (analysis_type==DiagnosticStokesAnalysisEnum){
     302                CreatePVectorDiagnosticStokes( pg);
    317303        }
    318304        else{
    319                 ISSMERROR("%s%i%s"," analysis ",analysis_type," not supported yet");
     305                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    320306        }
    321307}
  • issm/trunk/src/c/objects/Loads/Numericalflux.cpp

    r4043 r4122  
    291291
    292292        if (type==InternalEnum){
    293 
    294293                CreateKMatrixInternal(Kgg);
    295294        }
    296295        else if (type==BoundaryEnum){
    297 
    298296                CreateKMatrixBoundary(Kgg);
    299297        }
     
    552550
    553551        if (type==InternalEnum){
    554 
    555552                CreatePVectorInternal(pg);
    556553        }
    557554        else if (type==BoundaryEnum){
    558 
    559555                CreatePVectorBoundary(pg);
    560556        }
  • issm/trunk/src/c/objects/Loads/Pengrid.cpp

    r4091 r4122  
    248248/*Object functions*/
    249249/*FUNCTION Pengrid::CreateKMatrix {{{1*/
    250 
    251250void  Pengrid::CreateKMatrix(Mat Kgg){
    252251
     
    406405void  Pengrid::PenaltyCreateKMatrix(Mat Kgg,double kmax){
    407406
    408         int analysis_type,sub_analysis_type;
     407        int analysis_type;
    409408
    410409        /*Retrieve parameters: */
    411410        this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    412         this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
    413 
    414         if ((analysis_type==DiagnosticAnalysisEnum) && ((sub_analysis_type==StokesAnalysisEnum))){
    415 
     411
     412        if (analysis_type==DiagnosticStokesAnalysisEnum){
    416413                PenaltyCreateKMatrixDiagnosticStokes( Kgg,kmax);
    417414        }
    418415        else if (analysis_type==ThermalAnalysisEnum){
    419                
    420416                PenaltyCreateKMatrixThermal( Kgg,kmax);
    421                
    422417        }
    423418        else if (analysis_type==MeltingAnalysisEnum){
    424                        
    425419                PenaltyCreateKMatrixMelting( Kgg,kmax);
    426 
    427420        }
    428421        else{
    429                 ISSMERROR("%s%i%s%i%s","analysis: ",analysis_type," and sub_analysis_type: ",sub_analysis_type," not supported yet");
     422                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    430423        }
    431424
     
    564557void  Pengrid::PenaltyCreatePVector(Vec pg,double kmax){
    565558
    566         int analysis_type,sub_analysis_type;
     559        int analysis_type;
    567560
    568561        /*Retrieve parameters: */
    569562        this->parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    570         this->parameters->FindParam(&sub_analysis_type,SubAnalysisTypeEnum);
    571563
    572564        if (analysis_type==ThermalAnalysisEnum){
    573                
    574565                PenaltyCreatePVectorThermal( pg,kmax);
    575                
    576566        }
    577567        else if (analysis_type==MeltingAnalysisEnum){
    578                        
    579568                PenaltyCreatePVectorMelting( pg,kmax);
    580 
    581         }
    582         else if (analysis_type==DiagnosticAnalysisEnum){
     569        }
     570        else if (analysis_type==DiagnosticStokesAnalysisEnum){
    583571
    584572                /*No loads applied, do nothing: */
     
    587575        }
    588576        else{
    589                 ISSMERROR("%s%i%s%i%s","analysis: ",analysis_type," and sub_analysis_type: ",sub_analysis_type," not supported yet");
     577                ISSMERROR("analysis %i (%s) not supported yet",analysis_type,EnumAsString(analysis_type));
    590578        }
    591579
  • issm/trunk/src/c/objects/Loads/Penpair.cpp

    r4043 r4122  
    180180/*Object functions*/
    181181/*FUNCTION Penpair::CreateKMatrix {{{1*/
    182 
    183182void  Penpair::CreateKMatrix(Mat Kgg){
    184183
Note: See TracChangeset for help on using the changeset viewer.