source:
issm/oecreview/Archive/13393-13976/ISSM-13445-13446.diff@
14312
Last change on this file since 14312 was 13980, checked in by , 12 years ago | |
---|---|
File size: 2.6 KB |
-
../trunk-jpl/src/c/modules/AutodiffDriversx/AutodiffDriversx.cpp
19 19 int num_dependents; 20 20 int num_independents; 21 21 IssmDouble *axp = NULL; 22 int configuration_type;23 int solveSize;24 int edf_n ,edf_m;25 22 double *xp = NULL; 26 23 int anIndepNum; 27 24 … … 47 44 xp[i]=reCast<double,IssmDouble>(axp[i]); 48 45 } 49 46 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 56 47 /*get the EDF pointer:*/ 57 48 ext_diff_fct *anEDF_for_solverx_p=dynamic_cast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p; 58 49 … … 64 55 // anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx; 65 56 66 57 /*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); 77 68 78 69 /* Call AD driver:*/ 79 70 // single direction:
Note:
See TracBrowser
for help on using the repository browser.