Changeset 13855


Ignore:
Timestamp:
10/30/12 14:08:46 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: renamed PureCorePointer->CorePointer and CorePointer->WrapperCorePointer

Location:
issm/trunk-jpl/src/c
Files:
8 edited
1 moved

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r13831 r13855  
    325325                                        ./solutions/ResetBoundaryConditions.cpp\
    326326                                        ./solutions/AnalysisConfiguration.cpp\
     327                                        ./solutions/WrapperCorePointerFromSolutionEnum.cpp\
    327328                                        ./solutions/CorePointerFromSolutionEnum.cpp\
    328                                         ./solutions/PureCorePointerFromSolutionEnum.cpp\
    329329                                        ./solutions/EnvironmentInit.cpp\
    330330                                        ./solutions/EnvironmentFinalize.cpp\
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r13813 r13855  
    304304
    305305        /*Figure out which solution core we are going to run with the current solution type: */
    306         CorePointerFromSolutionEnum(&solutioncore,this->parameters,solution_type);
     306        WrapperCorePointerFromSolutionEnum(&solutioncore,this->parameters,solution_type);
    307307
    308308        /*run solutoin core: */
  • issm/trunk-jpl/src/c/solutions/AdjointCorePointerFromSolutionEnum.cpp

    r13621 r13855  
    1 /*!\file:  CorePointerFromSolutionEnum.cpp
     1/*!\file:  AdjointCorePointerFromSolutionEnum.cpp
    22 * \brief: return type of analyses, number of analyses and core solution function.
    33 */
  • issm/trunk-jpl/src/c/solutions/CorePointerFromSolutionEnum.cpp

    r13621 r13855  
    1818#include "../solvers/solvers.h"
    1919
    20 void CorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype,bool nodakotacore){
     20void CorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype){
    2121
    2222        /*output: */
    2323        void (*solutioncore)(FemModel*)=NULL;
    2424
    25         /*parameters: */
    26         bool control_analysis=false;
    27         bool tao_analysis=false;
    28         bool dakota_analysis=false;
     25        switch(solutiontype){
    2926
    30         /* retrieve some parameters that tell us whether wrappers are allowed, or whether we return
    31          * a pure core. Wrappers can be dakota_core (which samples many solution_cores) or control_core (which
    32          * carries out adjoint based inversion on a certain core: */
    33         parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
    34         parameters->FindParam(&control_analysis,InversionIscontrolEnum);
    35         parameters->FindParam(&tao_analysis,InversionTaoEnum);
    36 
    37         if(nodakotacore)dakota_analysis=false;
    38 
    39         if(dakota_analysis){
    40                 #ifdef _HAVE_DAKOTA_
    41                 solutioncore=dakota_core;
    42                 #else
    43                 _error_("ISSM was not compiled with dakota support, cannot carry out dakota analysis!");
    44                 #endif
     27                case DiagnosticSolutionEnum:
     28                        #ifdef _HAVE_DIAGNOSTIC_
     29                        solutioncore=&diagnostic_core;
     30                        #else
     31                        _error_("ISSM was not compiled with diagnostic capabilities. Exiting");
     32                        #endif
     33                        break;
     34                case SteadystateSolutionEnum:
     35                        #ifdef _HAVE_STEADYSTATE_
     36                        solutioncore=&steadystate_core;
     37                        #else
     38                        _error_("ISSM was not compiled with steady state capabilities. Exiting");
     39                        #endif
     40                        break;
     41                case ThermalSolutionEnum:
     42                        #ifdef _HAVE_THERMAL_
     43                        solutioncore=&thermal_core;
     44                        #else
     45                        _error_("ISSM was not compiled with thermal capabilities. Exiting");
     46                        #endif
     47                        break;
     48                case EnthalpySolutionEnum:
     49                        #ifdef _HAVE_THERMAL_
     50                        solutioncore=&enthalpy_core;
     51                        #else
     52                        _error_("ISSM was not compiled with thermal capabilities. Exiting");
     53                        #endif
     54                        break;
     55                case BalancethicknessSolutionEnum:
     56                        #ifdef _HAVE_BALANCED_
     57                        solutioncore=&balancethickness_core;
     58                        #else
     59                        _error_("ISSM was not compiled with balanced capabilities. Exiting");
     60                        #endif
     61                        break;
     62                case HydrologySolutionEnum:
     63                        #ifdef _HAVE_HYDROLOGY_
     64                        solutioncore=&hydrology_core;
     65                        #else
     66                        _error_("ISSM was not compiled with hydrology capabilities. Exiting");
     67                        #endif
     68                        break;
     69                case SurfaceSlopeSolutionEnum:
     70                        #ifdef _HAVE_SLOPE_
     71                        solutioncore=&surfaceslope_core;
     72                        #else
     73                        _error_("ISSM was not compiled with slope capabilities. Exiting");
     74                        #endif
     75                        break;
     76                case BedSlopeSolutionEnum:
     77                        #ifdef _HAVE_SLOPE_
     78                        solutioncore=&bedslope_core;
     79                        #else
     80                        _error_("ISSM was not compiled with slope capabilities. Exiting");
     81                        #endif
     82                        break;
     83                case TransientSolutionEnum:
     84                        #ifdef _HAVE_TRANSIENT_
     85                        solutioncore=&transient_core;
     86                        #else
     87                        _error_("ISSM was not compiled with transient capabilities. Exiting");
     88                        #endif
     89                        break;
     90                case PrognosticSolutionEnum:
     91                        #ifdef _HAVE_PROGNOSTIC_
     92                        solutioncore=&prognostic_core;
     93                        #else
     94                        _error_("ISSM was not compiled with prognostic capabilities. Exiting");
     95                        #endif
     96                        break;
     97                default:
     98                        _error_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
     99                        break;
    45100        }
    46         else if(control_analysis){
    47                 #ifdef _HAVE_CONTROL_
    48                 if(tao_analysis) solutioncore=controltao_core;
    49                 else solutioncore=control_core;
    50                 #else
    51                 _error_("ISSM was not compiled with control support, cannot carry out control analysis!");
    52                 #endif
    53         }
    54         else PureCorePointerFromSolutionEnum(&solutioncore,parameters,solutiontype);  /*This means we retrieve a core solution that is not a wrapper*/
    55101
    56102        /*Assign output pointer:*/
  • issm/trunk-jpl/src/c/solutions/DakotaSpawnCore.cpp

    r13813 r13855  
    7676        /*Determine solution sequence: */
    7777        if(VerboseQmu()) _pprintLine_("Starting " << EnumToStringx(solution_type) << " core:");
    78         CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type,nodakotacore);
     78        WrapperCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type,nodakotacore);
    7979
    8080        /*Run the core solution sequence: */
  • issm/trunk-jpl/src/c/solutions/WrapperCorePointerFromSolutionEnum.cpp

    r13852 r13855  
    1 /*!\file:  PureCorePointerFromSolutionEnum.cpp
     1/*!\file:  WrapperCorePointerFromSolutionEnum.cpp
    22 * \brief: return type of analyses, number of analyses and core solution function.
    33 */
     
    1818#include "../solvers/solvers.h"
    1919
    20 void PureCorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype){
     20void WrapperCorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype,bool nodakotacore){
    2121
    2222        /*output: */
    2323        void (*solutioncore)(FemModel*)=NULL;
    2424
    25         switch(solutiontype){
     25        /*parameters: */
     26        bool control_analysis=false;
     27        bool tao_analysis=false;
     28        bool dakota_analysis=false;
    2629
    27                 case DiagnosticSolutionEnum:
    28                         #ifdef _HAVE_DIAGNOSTIC_
    29                         solutioncore=&diagnostic_core;
    30                         #else
    31                         _error_("ISSM was not compiled with diagnostic capabilities. Exiting");
    32                         #endif
    33                         break;
    34                 case SteadystateSolutionEnum:
    35                         #ifdef _HAVE_STEADYSTATE_
    36                         solutioncore=&steadystate_core;
    37                         #else
    38                         _error_("ISSM was not compiled with steady state capabilities. Exiting");
    39                         #endif
    40                         break;
    41                 case ThermalSolutionEnum:
    42                         #ifdef _HAVE_THERMAL_
    43                         solutioncore=&thermal_core;
    44                         #else
    45                         _error_("ISSM was not compiled with thermal capabilities. Exiting");
    46                         #endif
    47                         break;
    48                 case EnthalpySolutionEnum:
    49                         #ifdef _HAVE_THERMAL_
    50                         solutioncore=&enthalpy_core;
    51                         #else
    52                         _error_("ISSM was not compiled with thermal capabilities. Exiting");
    53                         #endif
    54                         break;
    55                 case BalancethicknessSolutionEnum:
    56                         #ifdef _HAVE_BALANCED_
    57                         solutioncore=&balancethickness_core;
    58                         #else
    59                         _error_("ISSM was not compiled with balanced capabilities. Exiting");
    60                         #endif
    61                         break;
    62                 case HydrologySolutionEnum:
    63                         #ifdef _HAVE_HYDROLOGY_
    64                         solutioncore=&hydrology_core;
    65                         #else
    66                         _error_("ISSM was not compiled with hydrology capabilities. Exiting");
    67                         #endif
    68                         break;
    69                 case SurfaceSlopeSolutionEnum:
    70                         #ifdef _HAVE_SLOPE_
    71                         solutioncore=&surfaceslope_core;
    72                         #else
    73                         _error_("ISSM was not compiled with slope capabilities. Exiting");
    74                         #endif
    75                         break;
    76                 case BedSlopeSolutionEnum:
    77                         #ifdef _HAVE_SLOPE_
    78                         solutioncore=&bedslope_core;
    79                         #else
    80                         _error_("ISSM was not compiled with slope capabilities. Exiting");
    81                         #endif
    82                         break;
    83                 case TransientSolutionEnum:
    84                         #ifdef _HAVE_TRANSIENT_
    85                         solutioncore=&transient_core;
    86                         #else
    87                         _error_("ISSM was not compiled with transient capabilities. Exiting");
    88                         #endif
    89                         break;
    90                 case PrognosticSolutionEnum:
    91                         #ifdef _HAVE_PROGNOSTIC_
    92                         solutioncore=&prognostic_core;
    93                         #else
    94                         _error_("ISSM was not compiled with prognostic capabilities. Exiting");
    95                         #endif
    96                         break;
    97                 default:
    98                         _error_("solution type: " << EnumToStringx(solutiontype) << " not supported yet!");
    99                         break;
     30        /* retrieve some parameters that tell us whether wrappers are allowed, or whether we return
     31         * a pure core. Wrappers can be dakota_core (which samples many solution_cores) or control_core (which
     32         * carries out adjoint based inversion on a certain core: */
     33        parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
     34        parameters->FindParam(&control_analysis,InversionIscontrolEnum);
     35        parameters->FindParam(&tao_analysis,InversionTaoEnum);
     36
     37        if(nodakotacore)dakota_analysis=false;
     38
     39        if(dakota_analysis){
     40                #ifdef _HAVE_DAKOTA_
     41                solutioncore=dakota_core;
     42                #else
     43                _error_("ISSM was not compiled with dakota support, cannot carry out dakota analysis!");
     44                #endif
    10045        }
     46        else if(control_analysis){
     47                #ifdef _HAVE_CONTROL_
     48                if(tao_analysis) solutioncore=controltao_core;
     49                else solutioncore=control_core;
     50                #else
     51                _error_("ISSM was not compiled with control support, cannot carry out control analysis!");
     52                #endif
     53        }
     54        else CorePointerFromSolutionEnum(&solutioncore,parameters,solutiontype);  /*This means we retrieve a core solution that is not a wrapper*/
    10155
    10256        /*Assign output pointer:*/
  • issm/trunk-jpl/src/c/solutions/control_core.cpp

    r13621 r13855  
    6262
    6363        /*out of solution_type, figure out solution core and adjoint function pointer*/
    64         PureCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
     64        CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
    6565        AdjointCorePointerFromSolutionEnum(&adjointcore,solution_type);
    6666
  • issm/trunk-jpl/src/c/solutions/controltao_core.cpp

    r13852 r13855  
    9494        femmodel->parameters->SetParam(true,SaveResultsEnum);
    9595        void (*solutioncore)(FemModel*)=NULL;
    96         PureCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
     96        CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
    9797        solutioncore(femmodel);
    9898
    9999        /*Clean up and return*/
    100100        xDelete<int>(control_list);
     101        xDelete<double>(user.J);
    101102        xdelete(&X);
    102103        TaoDestroy(&tao);
     
    135136        void (*solutioncore)(FemModel*)=NULL;
    136137        void (*adjointcore)(FemModel*)=NULL;
    137         PureCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
     138        CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type);
    138139        AdjointCorePointerFromSolutionEnum(&adjointcore,solution_type);
    139140        solutioncore(femmodel);
  • issm/trunk-jpl/src/c/solutions/solutions.h

    r13589 r13855  
    5555//solution configuration
    5656void AnalysisConfiguration(int** panalyses,int* pnumanalyses, int solutiontype);
    57 void PureCorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype);
    58 void CorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype,bool nodakotacore=false);
     57void CorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype);
     58void WrapperCorePointerFromSolutionEnum(void (**psolutioncore)(FemModel*),Parameters* parameters,int solutiontype,bool nodakotacore=false);
    5959void AdjointCorePointerFromSolutionEnum(void (**padjointcore)(FemModel*),int solutiontype);
    6060
Note: See TracChangeset for help on using the changeset viewer.