Ignore:
Timestamp:
09/19/12 09:32:34 (12 years ago)
Author:
Mathieu Morlighem
Message:

merged trunk-jpl and trunk for revision 13393

Location:
issm/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk

  • issm/trunk/src

  • issm/trunk/src/c/solutions/control_core.cpp

    r12706 r13395  
    44
    55#include "../toolkits/toolkits.h"
    6 #include "../objects/objects.h"
     6#include "../classes/objects/objects.h"
    77#include "../shared/shared.h"
    88#include "../io/io.h"
     
    8282                /*Display info*/
    8383                if(VerboseControl()) _pprintLine_("\n" << "   control method step " << n+1 << "/" << nsteps);
    84                 for(i=0;i<num_responses;i++) step_responses[i]=(int)responses[n*num_responses+i];
     84                for(i=0;i<num_responses;i++) step_responses[i]=reCast<int,IssmDouble>(responses[n*num_responses+i]);
    8585                femmodel->parameters->SetParam(step_responses,1,num_responses,StepResponsesEnum);
    8686               
     
    9999
    100100                if(VerboseControl()) _pprintLine_("   optimizing along gradient direction");
    101                 optpars.maxiter=(int)maxiter[n]; optpars.cm_jump=cm_jump[n];
     101                optpars.maxiter=reCast<int,IssmDouble>(maxiter[n]); optpars.cm_jump=cm_jump[n];
    102102                BrentSearch(&search_scalar,J+n,&optpars,&objectivefunction,&optargs);
    103103
     
    115115        if(!dakota_analysis){ //do not save this if we are running the control core from a qmu run!
    116116                for(i=0;i<num_controls;i++) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type[i]);
    117                 femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
     117
     118                #ifdef _HAVE_ADOLC_
     119                IssmPDouble* J_passive=xNew<IssmPDouble>(nsteps);
     120                for(int i=0;i<nsteps;i++)J_passive[i]=reCast<IssmPDouble>(J[i]);
     121                femmodel->results->AddObject(new GenericExternalResult<IssmPDouble*>(femmodel->results->Size()+1,JEnum,J_passive,nsteps,1,1,0));
     122                xDelete<IssmPDouble>(J_passive);
     123                #else
     124                femmodel->results->AddObject(new GenericExternalResult<IssmPDouble*>(femmodel->results->Size()+1,JEnum,J,nsteps,1,1,0));
     125                #endif
    118126        }
    119127
Note: See TracChangeset for help on using the changeset viewer.