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

CHG: moved analysis to be supported in FemModel

File:
1 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
Note: See TracChangeset for help on using the changeset viewer.