Changeset 17055


Ignore:
Timestamp:
12/23/13 16:00:26 (11 years ago)
Author:
Eric.Larour
Message:

CHG: make sure that start time is the one set in timestepping, not 0.

Location:
issm/trunk-jpl/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/ExternalResults/GenericExternalResult.h

    r16589 r17055  
    8383                }
    8484                /*}}}*/
     85                GenericExternalResult(int in_id, int in_enum_type,ResultType in_value,int in_step){ /*{{{*/
     86                        id        = in_id;
     87                        value     = in_value;
     88                        step      = in_step;
     89                        time      = UNDEF;
     90
     91                        /*Convert enum to name*/
     92                        EnumToStringx(&this->result_name,in_enum_type);
     93                }
     94                /*}}}*/
    8595                GenericExternalResult(int in_id,const char* in_result_name,ResultType in_value,int in_step, IssmDouble in_time){ /*{{{*/
    8696                        id        = in_id;
     
    207217        step  = in_step;
    208218        time  = in_time;
     219
     220        /*Convert enum to name*/
     221        EnumToStringx(&this->result_name,in_enum_type);
     222
     223} /*}}}*/
     224template <> inline GenericExternalResult<char*>::GenericExternalResult(int in_id, int in_enum_type,char* in_value,int in_step){ /*{{{*/
     225
     226        id = in_id;
     227        value = xNew<char>(strlen(in_value)+1);
     228        xMemCpy<char>(value,in_value,(strlen(in_value)+1));
     229        step  = in_step;
     230        time  = UNDEF;
    209231
    210232        /*Convert enum to name*/
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r16787 r17055  
    117117
    118118        iomodel->Constant(&time,TimesteppingStartTimeEnum);
    119         parameters->AddObject(new DoubleParam(TimeEnum,time));  //start at time 0 by default for all solutions FIXME: to be deleted
    120         parameters->AddObject(new IntParam(StepEnum,1));  //start at time 0 by default for all solutions FIXME: to be deleted
     119        parameters->AddObject(new DoubleParam(TimeEnum,time)); 
     120        parameters->AddObject(new IntParam(StepEnum,1)); 
    121121
    122122        /*By default, save all results*/
  • issm/trunk-jpl/src/c/modules/OutputResultsx/OutputResultsx.cpp

    r16591 r17055  
    4242                femmodel->parameters->FindParam(&solutiontype,SolutionTypeEnum);
    4343                EnumToStringx(&solutiontypestring,solutiontype);
    44                 femmodel->results->AddResult(new GenericExternalResult<char*>(femmodel->results->Size()+1,SolutionTypeEnum,solutiontypestring,1,0));
     44                femmodel->results->AddResult(new GenericExternalResult<char*>(femmodel->results->Size()+1,SolutionTypeEnum,solutiontypestring,1));
    4545                xDelete<char>(solutiontypestring);
    4646        }
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp

    r16126 r17055  
    8686                delete Kff; delete pf;
    8787                if(converged==true){   
     88                        int step; IssmDouble time;
    8889                        bool max_iteration_state=false;
    89                         int tempStep=1;
    90                         IssmDouble tempTime=1.0;
    91                         femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
     90                        femmodel->parameters->FindParam(&time,TimeEnum);
     91                        femmodel->parameters->FindParam(&step,StepEnum);
     92                        femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step,time));
    9293                        break;
    9394                }
    9495                if(count>=max_nonlinear_iterations){
    9596                        _printf0_("   maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded\n");
     97                        int step; IssmDouble time;
    9698                        bool max_iteration_state=true;
    97                         int tempStep=1;
    98                         IssmDouble tempTime=1.0;
    99                         femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
     99                        femmodel->parameters->FindParam(&time,TimeEnum);
     100                        femmodel->parameters->FindParam(&step,StepEnum);
     101                        femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
    100102                        break;
    101103                }
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp

    r16126 r17055  
    8585                if(converged==true){
    8686                        bool max_iteration_state=false;
    87                         int tempStep=1;
    88                         IssmDouble tempTime=1.0;
    89                         femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
     87                        int step; IssmDouble time;
     88                        femmodel->parameters->FindParam(&time,TimeEnum);
     89                        femmodel->parameters->FindParam(&step,StepEnum);
     90                        femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
    9091                        break;
    9192                }
     
    9697                        InputUpdateFromSolutionx(femmodel,ug);         
    9798                        bool max_iteration_state=true;
    98                         int tempStep=1;
    99                         IssmDouble tempTime=1.0;
    100                         femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, tempStep, tempTime));
     99                        int step; IssmDouble time;
     100                        femmodel->parameters->FindParam(&time,TimeEnum);
     101                        femmodel->parameters->FindParam(&step,StepEnum);
     102                        femmodel->results->AddObject(new GenericExternalResult<bool>(femmodel->results->Size()+1, MaxIterationConvergenceFlagEnum, max_iteration_state, step, time));
    101103                        break;
    102104                }
  • issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m

    r16806 r17055  
    4545        end
    4646        results(index).step=result.step;
    47         results(index).time=result.time;
     47        if result.time~=-9999,
     48                results(index).time=result.time;
     49        end
    4850        results(index).(result.fieldname)=result.field;
    4951
     
    8082        %Get time and step
    8183        results(result.step).step=result.step;
    82         results(result.step).time=result.time;
     84        if result.time~=-9999,
     85                results(result.step).time=result.time;
     86        end
    8387
    8488        %Add result
     
    104108        %Get time and step
    105109        results(result.step).step=result.step;
    106         results(result.step).time=result.time;
     110        if result.time~=-9999,
     111                results(result.step).time=result.time;
     112        end
    107113
    108114        %Add result
Note: See TracChangeset for help on using the changeset viewer.