Changeset 22425


Ignore:
Timestamp:
02/16/18 08:05:48 (7 years ago)
Author:
erobo
Message:

CHG: added FindParamAndMakePassive for ADOLC

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

Legend:

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

    r21508 r22425  
    275275/*}}}*/
    276276void Parameters::FindParam(IssmDouble* pscalar,int param_enum){ _assert_(this);/*{{{*/
    277 
    278277        _assert_(param_enum>ParametersSTARTEnum);
    279278        _assert_(param_enum<ParametersENDEnum);
     
    668667}
    669668/*}}}*/
     669
     670/*Specific case with ADOL-C, we might need to get double params for m1qn3*/
     671#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
     672void Parameters::FindParamAndMakePassive(double* pscalar,int param_enum){ _assert_(this);/*{{{*/
     673        _assert_(param_enum>ParametersSTARTEnum);
     674        _assert_(param_enum<ParametersENDEnum);
     675
     676        /*Get "active" parameter*/
     677        IssmDouble intermediary;
     678        int index = param_enum - ParametersSTARTEnum -1;
     679        if(!this->params[index]) _error_("Parameter " << EnumToStringx(param_enum) <<" not set");
     680        this->params[index]->GetParameterValue(&intermediary);
     681
     682        /*cast to "passive"*/
     683        *pscalar=reCast<double>(intermediary);
     684}
     685/*}}}*/
     686#endif
  • issm/trunk-jpl/src/c/classes/Params/Parameters.h

    r20943 r22425  
    6868                Param* FindParamObject(int enum_type);
    6969
     70                /*Specific instantiations for IssmDouble*: */
     71                #if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
     72                void  FindParamAndMakePassive(double* pscalar, int enum_type);
     73                #endif
     74
    7075};
    7176
Note: See TracChangeset for help on using the changeset viewer.