Changeset 18674


Ignore:
Timestamp:
10/24/14 13:29:24 (10 years ago)
Author:
seroussi
Message:

CHG: moved analysis to be supported in FemModel

Location:
issm/trunk-jpl/src/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r18614 r18674  
    496496
    497497                case TransientSolutionEnum:
    498                         analyses_temp[numanalyses++]=StressbalanceAnalysisEnum;
    499                         analyses_temp[numanalyses++]=StressbalanceVerticalAnalysisEnum;
    500                         analyses_temp[numanalyses++]=StressbalanceSIAAnalysisEnum;
     498                        bool isSIA,isthermal,isenthalpy,ismasstransport,isgroundingline,isstressbalance,islevelset,ishydrology,isdamage;
     499                        iomodel->Constant(&isSIA,FlowequationIsSIAEnum);
     500                        iomodel->Constant(&isthermal,TransientIsthermalEnum);
     501                        iomodel->Constant(&isenthalpy,ThermalIsenthalpyEnum);
     502                        iomodel->Constant(&islevelset,TransientIslevelsetEnum);
     503                        iomodel->Constant(&ismasstransport,TransientIsmasstransportEnum);
     504                        iomodel->Constant(&isstressbalance,TransientIsstressbalanceEnum);
     505                        iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum);
     506                        iomodel->Constant(&isdamage,TransientIsdamageevolutionEnum);
     507                        iomodel->Constant(&ishydrology,TransientIshydrologyEnum);
     508                        if(isstressbalance){
     509                                analyses_temp[numanalyses++]=StressbalanceAnalysisEnum;
     510                                analyses_temp[numanalyses++]=StressbalanceVerticalAnalysisEnum;
     511                                if(isSIA){
     512                                        analyses_temp[numanalyses++]=StressbalanceSIAAnalysisEnum;
     513                                }
     514                        }
     515                        if(isthermal && iomodel->domaintype==Domain3DEnum){
     516                                if(isenthalpy){
     517                                        analyses_temp[numanalyses++]=EnthalpyAnalysisEnum;
     518                                }
     519                                else{
     520                                        analyses_temp[numanalyses++]=ThermalAnalysisEnum;
     521                                        analyses_temp[numanalyses++]=MeltingAnalysisEnum;
     522                                }
     523                        }
     524                        if(ismasstransport || isgroundingline){
     525                                analyses_temp[numanalyses++]=MasstransportAnalysisEnum;
     526                        }
     527                        if(islevelset){
     528                                analyses_temp[numanalyses++]=LevelsetAnalysisEnum;
     529                                analyses_temp[numanalyses++]=ExtrapolationAnalysisEnum;
     530                                analyses_temp[numanalyses++]=LsfReinitializationAnalysisEnum;
     531                        }
     532                        if(ishydrology){
     533                                analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum;
     534                                analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum;
     535                                analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum;
     536                                analyses_temp[numanalyses++]=L2ProjectionEPLAnalysisEnum;
     537                        }
     538                        if(isdamage){
     539                                analyses_temp[numanalyses++]=DamageEvolutionAnalysisEnum;
     540                        }
     541
     542                        if(iomodel->domaintype==Domain2DverticalEnum || iomodel->domaintype==Domain3DEnum){
     543                                analyses_temp[numanalyses++]=ExtrudeFromBaseAnalysisEnum;
     544                                analyses_temp[numanalyses++]=ExtrudeFromTopAnalysisEnum;
     545                                analyses_temp[numanalyses++]=FreeSurfaceBaseAnalysisEnum;
     546                                analyses_temp[numanalyses++]=FreeSurfaceTopAnalysisEnum;
     547                        }
    501548                        analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
    502                         analyses_temp[numanalyses++]=ThermalAnalysisEnum;
    503                         analyses_temp[numanalyses++]=MeltingAnalysisEnum;
    504                         analyses_temp[numanalyses++]=EnthalpyAnalysisEnum;
    505                         analyses_temp[numanalyses++]=MasstransportAnalysisEnum;
    506                         analyses_temp[numanalyses++]=FreeSurfaceBaseAnalysisEnum;
    507                         analyses_temp[numanalyses++]=FreeSurfaceTopAnalysisEnum;
    508                         analyses_temp[numanalyses++]=ExtrudeFromBaseAnalysisEnum;
    509                         analyses_temp[numanalyses++]=ExtrudeFromTopAnalysisEnum;
    510                         analyses_temp[numanalyses++]=LevelsetAnalysisEnum;
    511                         analyses_temp[numanalyses++]=ExtrapolationAnalysisEnum;
    512                         analyses_temp[numanalyses++]=LsfReinitializationAnalysisEnum;
    513                         analyses_temp[numanalyses++]=DamageEvolutionAnalysisEnum;
    514                         analyses_temp[numanalyses++]=HydrologyShreveAnalysisEnum;
    515                         analyses_temp[numanalyses++]=HydrologyDCInefficientAnalysisEnum;
    516                         analyses_temp[numanalyses++]=HydrologyDCEfficientAnalysisEnum;
    517                         analyses_temp[numanalyses++]=L2ProjectionEPLAnalysisEnum;
    518549                        break;
    519550
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp

    r18529 r18674  
    5757
    5858                /*Hack for trasient runs (FIXME: to be improved)*/
    59                 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum  && iomodel->domaintype==Domain2DhorizontalEnum) continue;
    60                 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum  && iomodel->domaintype==Domain2DhorizontalEnum) continue;
    61                 if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && iomodel->domaintype==Domain2DhorizontalEnum) continue;
    62                 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && isthermal==false) continue;
    63                 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && isthermal==false) continue;
    64                 if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isthermal==false) continue;
    65                 if(solution_enum==TransientSolutionEnum && analysis_enum==ThermalAnalysisEnum && isenthalpy==true) continue;
    66                 if(solution_enum==TransientSolutionEnum && analysis_enum==MeltingAnalysisEnum && isenthalpy==true) continue;
    67                 if(solution_enum==TransientSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isenthalpy==false) continue;
    68                 if(solution_enum==TransientSolutionEnum && analysis_enum==MasstransportAnalysisEnum && ismasstransport==false && isgroundingline==false) continue;
    69                 if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceAnalysisEnum && isstressbalance==false) continue;
    70                 if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceVerticalAnalysisEnum && isstressbalance==false) continue;
    71                 if(solution_enum==TransientSolutionEnum && analysis_enum==StressbalanceSIAAnalysisEnum && isstressbalance==false) continue;
     59
    7260                if(solution_enum==SteadystateSolutionEnum && analysis_enum==ThermalAnalysisEnum && isenthalpy==true) continue;
    7361                if(solution_enum==SteadystateSolutionEnum && analysis_enum==MeltingAnalysisEnum && isenthalpy==true) continue;
    7462                if(solution_enum==SteadystateSolutionEnum && analysis_enum==EnthalpyAnalysisEnum && isenthalpy==false) continue;
    75                 if(solution_enum==TransientSolutionEnum && analysis_enum==LevelsetAnalysisEnum && islevelset==false) continue;
    76                 if(solution_enum==TransientSolutionEnum && analysis_enum==ExtrapolationAnalysisEnum && islevelset==false) continue;
    77                 if(solution_enum==TransientSolutionEnum && analysis_enum==LsfReinitializationAnalysisEnum && islevelset==false) continue;
    78                 if(solution_enum==TransientSolutionEnum && analysis_enum==HydrologyShreveAnalysisEnum && ishydrology==false) continue;
    79                 if(solution_enum==TransientSolutionEnum && analysis_enum==HydrologyDCEfficientAnalysisEnum && ishydrology==false) continue;
    80                 if(solution_enum==TransientSolutionEnum && analysis_enum==HydrologyDCInefficientAnalysisEnum && ishydrology==false) continue;
    81                 if(solution_enum==TransientSolutionEnum && analysis_enum==DamageEvolutionAnalysisEnum && isdamage==false) continue;
     63
    8264
    8365                if(VerboseMProcessor()) _printf0_("   creating datasets for analysis " << EnumToStringx(analysis_enum) << "\n");
Note: See TracChangeset for help on using the changeset viewer.