source: issm/oecreview/Archive/13393-13976/ISSM-13445-13446.diff@ 14312

Last change on this file since 14312 was 13980, checked in by Mathieu Morlighem, 12 years ago

preparing oecreview for 13393-13976'

File size: 2.6 KB
  • ../trunk-jpl/src/c/modules/AutodiffDriversx/AutodiffDriversx.cpp

     
    1919        int         num_dependents;
    2020        int         num_independents;
    2121        IssmDouble *axp                = NULL;
    22         int         configuration_type;
    23         int         solveSize;
    24         int         edf_n                ,edf_m;
    2522        double     *xp                 = NULL;
    2623        int         anIndepNum;
    2724
     
    4744                                xp[i]=reCast<double,IssmDouble>(axp[i]);
    4845                        }
    4946
    50                         /* get the dimension for the solverx arguments*/
    51                         parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
    52                         solveSize=nodes->NumberOfDofs(configuration_type,FsetEnum);
    53                         edf_n=solveSize*(solveSize+1);
    54                         edf_m=solveSize;
    55 
    5647                        /*get the EDF pointer:*/
    5748                        ext_diff_fct *anEDF_for_solverx_p=dynamic_cast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p;
    5849
     
    6455                        // anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx;
    6556                       
    6657                        /*allocate the space for the parameters to invoke the forward methods:*/
    67                         anEDF_for_solverx_p->dp_x=xNew<double>(edf_n);
    68                         anEDF_for_solverx_p->dp_X=xNew<double>(edf_n);
    69                         anEDF_for_solverx_p->dpp_X=xNew<double>(edf_n, num_independents);
    70                         anEDF_for_solverx_p->dp_y=xNew<double>(edf_m);
    71                         anEDF_for_solverx_p->dp_Y=xNew<double>(edf_m);
    72                         anEDF_for_solverx_p->dpp_Y=xNew<double>(edf_m, num_independents);
    73                         anEDF_for_solverx_p->dp_U=xNew<double>(edf_m);
    74                         anEDF_for_solverx_p->dpp_U=xNew<double>(num_dependents,edf_m);
    75                         anEDF_for_solverx_p->dp_Z=xNew<double>(edf_n);
    76                         anEDF_for_solverx_p->dpp_Z=xNew<double>(num_dependents,edf_n);
     58                        anEDF_for_solverx_p->dp_x=xNew<double>(anEDF_for_solverx_p->max_n);
     59                        anEDF_for_solverx_p->dp_X=xNew<double>(anEDF_for_solverx_p->max_n);
     60                        anEDF_for_solverx_p->dpp_X=xNew<double>(anEDF_for_solverx_p->max_n, num_independents);
     61                        anEDF_for_solverx_p->dp_y=xNew<double>(anEDF_for_solverx_p->max_m);
     62                        anEDF_for_solverx_p->dp_Y=xNew<double>(anEDF_for_solverx_p->max_m);
     63                        anEDF_for_solverx_p->dpp_Y=xNew<double>(anEDF_for_solverx_p->max_m, num_independents);
     64                        anEDF_for_solverx_p->dp_U=xNew<double>(anEDF_for_solverx_p->max_m);
     65                        anEDF_for_solverx_p->dpp_U=xNew<double>(num_dependents,anEDF_for_solverx_p->max_m);
     66                        anEDF_for_solverx_p->dp_Z=xNew<double>(anEDF_for_solverx_p->max_n);
     67                        anEDF_for_solverx_p->dpp_Z=xNew<double>(num_dependents,anEDF_for_solverx_p->max_n);
    7768
    7869                        /* Call AD driver:*/
    7970                        // single direction:
Note: See TracBrowser for help on using the repository browser.