Changeset 10650


Ignore:
Timestamp:
11/15/11 11:47:23 (13 years ago)
Author:
schlegel
Message:

Add transient check for Qmu parameters

Location:
issm/trunk/src/c/solutions
Files:
2 edited

Legend:

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

    r10440 r10650  
    4040
    4141        /*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/
    42         if(dakota_analysis){
     42        if(dakota_analysis && solution_type==DiagnosticSolutionEnum){
    4343                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxEnum,VxEnum);
    4444                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum);
  • issm/trunk/src/c/solutions/transient_core.cpp

    r10446 r10650  
    2525        double finaltime,dt,yts;
    2626        bool   control_analysis,isdiagnostic,isprognostic,isthermal,isgroundingline;
     27        bool   dakota_analysis=false;
    2728        bool   time_adapt=false;
    2829        int    solution_type;
     
    4243        femmodel->parameters->FindParam(&yts,ConstantsYtsEnum);
    4344        femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum);
     45        femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum);
    4446        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
    4547        femmodel->parameters->FindParam(&output_frequency,SettingsOutputFrequencyEnum);
     
    5658        step=0;
    5759        time=0;
     60
     61        /*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/
     62        if(dakota_analysis){
     63                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxEnum,VxEnum);
     64                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum);
     65                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum);
     66                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum);
     67                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuThicknessEnum,ThicknessEnum);
     68                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuSurfaceEnum,SurfaceEnum);
     69                InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuBedEnum,BedEnum);
     70                if(isthermal && dim==3){
     71                        InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuTemperatureEnum,TemperatureEnum);
     72                        InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMeltingEnum,BasalforcingsMeltingRateEnum);
     73                }
     74        }
    5875
    5976        while(time < finaltime - (yts*DBL_EPSILON)){ //make sure we run up to finaltime.
Note: See TracChangeset for help on using the changeset viewer.