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

Prepared ISSM for multivariable CM, Added modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/solutions/control_core.cpp

    r6200 r6213  
    1818        /*parameters: */
    1919        int     verbose=0;
    20         int     control_type;
     20        int     num_controls;
    2121        int     nsteps;
    2222        double  eps_cm;
     
    2828        bool    qmu_analysis=false;
    2929
     30        int*    control_type = NULL;
    3031        double* responses=NULL;
    3132        double* optscal=NULL;
     
    4849        /*Recover parameters used throughout the solution:{{{1*/
    4950        femmodel->parameters->FindParam(&nsteps,NStepsEnum);
    50         femmodel->parameters->FindParam(&control_type,ControlTypeEnum);
     51        femmodel->parameters->FindParam(&num_controls,NumControlsEnum);
     52        femmodel->parameters->FindParam(&control_type,NULL,ControlTypeEnum);
    5153        femmodel->parameters->FindParam(&responses,NULL,CmResponsesEnum);
    5254        femmodel->parameters->FindParam(&optscal,NULL,OptScalEnum);
     
    122124        /*some results not computed by steadystate_core or diagnostic_core: */
    123125        if(!qmu_analysis){ //do not save this if we are running the control core from a qmu run!
    124                 InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type); //the parameter itself!
     126                for(i=0;i<num_controls;i++) InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,control_type[i]);
    125127                femmodel->results->AddObject(new DoubleVecExternalResult(femmodel->results->Size()+1,JEnum,J,nsteps,1,0));
    126                 femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
     128                //femmodel->results->AddObject(new StringExternalResult(femmodel->results->Size()+1,ControlTypeEnum,EnumToString(control_type),1,0));
    127129        }
    128130
    129131        cleanup_and_return:
    130132        /*Free ressources: */
     133        xfree((void**)&control_type);
    131134        xfree((void**)&responses);
    132135        xfree((void**)&optscal);
Note: See TracChangeset for help on using the changeset viewer.