Changeset 9677


Ignore:
Timestamp:
09/07/11 16:23:24 (13 years ago)
Author:
seroussi
Message:

class steadystate

Location:
issm/trunk
Files:
4 added
1 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r9661 r9677  
    9191        FlowequationBorderpattynEnum,
    9292        FlowequationBordermacayealEnum,
     93        SteadystateRequestedOutputsEnum,
     94        SteadystateReltolEnum,
     95        SteadystateMaxiterEnum,
    9396        /*}}}*/
    9497        /*Datasets {{{1*/
     
    470473        NumberOfResponsesEnum,
    471474
    472         MaxSteadystateIterationsEnum,
    473475        RequestedOutputsEnum,
    474476        NumRequestedOutputsEnum,
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r9661 r9677  
    9595                case FlowequationBorderpattynEnum : return "FlowequationBorderpattyn";
    9696                case FlowequationBordermacayealEnum : return "FlowequationBordermacayeal";
     97                case SteadystateRequestedOutputsEnum : return "SteadystateRequestedOutputs";
     98                case SteadystateReltolEnum : return "SteadystateReltol";
     99                case SteadystateMaxiterEnum : return "SteadystateMaxiter";
    97100                case ConstraintsEnum : return "Constraints";
    98101                case ElementsEnum : return "Elements";
     
    413416                case WaitonlockEnum : return "Waitonlock";
    414417                case NumberOfResponsesEnum : return "NumberOfResponses";
    415                 case MaxSteadystateIterationsEnum : return "MaxSteadystateIterations";
    416418                case RequestedOutputsEnum : return "RequestedOutputs";
    417419                case NumRequestedOutputsEnum : return "NumRequestedOutputs";
  • issm/trunk/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r9661 r9677  
    3434        parameters->AddObject(iomodel->CopyConstantObject(EpsAbsEnum));
    3535        parameters->AddObject(iomodel->CopyConstantObject(MaxNonlinearIterationsEnum));
    36         parameters->AddObject(iomodel->CopyConstantObject(MaxSteadystateIterationsEnum));
     36        parameters->AddObject(iomodel->CopyConstantObject(SteadystateReltolEnum));
     37        parameters->AddObject(iomodel->CopyConstantObject(SteadystateMaxiterEnum));
    3738        parameters->AddObject(iomodel->CopyConstantObject(ConstantsYtsEnum));
    3839        parameters->AddObject(iomodel->CopyConstantObject(TimesteppingTimeStepEnum));
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r9661 r9677  
    9393        else if (strcmp(name,"FlowequationBorderpattyn")==0) return FlowequationBorderpattynEnum;
    9494        else if (strcmp(name,"FlowequationBordermacayeal")==0) return FlowequationBordermacayealEnum;
     95        else if (strcmp(name,"SteadystateRequestedOutputs")==0) return SteadystateRequestedOutputsEnum;
     96        else if (strcmp(name,"SteadystateReltol")==0) return SteadystateReltolEnum;
     97        else if (strcmp(name,"SteadystateMaxiter")==0) return SteadystateMaxiterEnum;
    9598        else if (strcmp(name,"Constraints")==0) return ConstraintsEnum;
    9699        else if (strcmp(name,"Elements")==0) return ElementsEnum;
     
    411414        else if (strcmp(name,"Waitonlock")==0) return WaitonlockEnum;
    412415        else if (strcmp(name,"NumberOfResponses")==0) return NumberOfResponsesEnum;
    413         else if (strcmp(name,"MaxSteadystateIterations")==0) return MaxSteadystateIterationsEnum;
    414416        else if (strcmp(name,"RequestedOutputs")==0) return RequestedOutputsEnum;
    415417        else if (strcmp(name,"NumRequestedOutputs")==0) return NumRequestedOutputsEnum;
  • issm/trunk/src/c/solutions/steadystate_core.cpp

    r9612 r9677  
    2020        int dim;
    2121        int solution_type;
    22         int max_steadystate_iterations;
     22        int maxiter;
    2323        bool control_analysis;
    2424       
     
    2727        femmodel->parameters->FindParam(&control_analysis,ControlAnalysisEnum);
    2828        femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum);
    29         femmodel->parameters->FindParam(&max_steadystate_iterations,MaxSteadystateIterationsEnum);
     29        femmodel->parameters->FindParam(&maxiter,SteadystateMaxiterEnum);
    3030
    3131        /*intialize counters: */
     
    4444                        if(steadystateconvergence(femmodel)) break;
    4545                }
    46                 if(step>max_steadystate_iterations){
    47                         _printf_(VerboseSolution(),"%s%i%s\n","   maximum number steadystate iterations ",max_steadystate_iterations," reached");
     46                if(step>maxiter){
     47                        _printf_(VerboseSolution(),"%s%i%s\n","   maximum number steadystate iterations ",maxiter," reached");
    4848                        break;
    4949                }
  • issm/trunk/src/c/solutions/steadystateconvergence.cpp

    r9320 r9677  
    3131
    3232        /*retrieve parameters: */
    33         femmodel->parameters->FindParam(&convergencecriterionvalue[0],EpsRelEnum);
     33        femmodel->parameters->FindParam(&convergencecriterionvalue[0],SteadystateReltolEnum);
    3434       
    3535        /*figure out convergence at the input level, because we don't have the solution vectors!: */
  • issm/trunk/src/m/classes/model/model.m

    r9674 r9677  
    3333                 balancethickness = modelfield('default',0,'marshall',true);
    3434                 flowequation = modelfield('default',0,'marshall',true);
     35                 steadystate = modelfield('default',0,'marshall',true);
    3536
    3637                 %FIXME: all other fields should belong to other classes
     
    120121                 eps_abs                  = modelfield('default',0,'marshall',true,'format','Double');
    121122                 max_nonlinear_iterations = modelfield('default',0,'marshall',true,'format','Integer');
    122                  max_steadystate_iterations = modelfield('default',0,'marshall',true,'format','Integer');
    123123                 connectivity             = modelfield('default',0,'marshall',true,'format','Integer');
    124124                 viscosity_overshoot      = modelfield('default',0,'marshall',true,'format','Double');
     
    379379                         if isfield(structmd,'elements_type'), md.flowequation.element_equation=structmd.elements_type; end
    380380                         if isfield(structmd,'vertices_type'), md.flowequation.vertex_equation=structmd.vertices_type; end
     381                         if isfield(structmd,'eps_rel'), md.flowequation.reltol=structmd.eps_rel; end
     382                         if isfield(structmd,'max_steadystate_iterations'), md.flowequation.maxiter=structmd.max_steadystate_iterations; end
    381383
    382384                         %Field changes
     
    503505                         md.balancethickness=balancethickness;
    504506                         md.flowequation=flowequation;
     507                         md.steadystate=steadystate;
    505508
    506509                         %Solver parameters
     
    518521                         md.max_nonlinear_iterations=100;
    519522                         
    520                          %maximum of steady state iterations
    521                          md.max_steadystate_iterations=100;
    522 
    523523                         %the connectivity is the avergaded number of nodes linked to a
    524524                         %given node through an edge. This connectivity is used to initially
  • issm/trunk/src/m/solutions/steadystateconvergence.m

    r8075 r9677  
    1010
    1111        %Retrieve parameters
    12         convergencecriterionvalue=femmodel.parameters.EpsRel;
     12        convergencecriterionvalue=femmodel.parameters.SteadystateReltol;
    1313        velocityenums=[VxEnum;VxPicardEnum;VyEnum;VyPicardEnum;VzEnum;VzPicardEnum;PressureEnum;PressurePicardEnum]; %pairs of enums (new and old) on which to carry out the converence tests
    1414        temperatureenums=[TemperatureEnum;TemperatureOldEnum];
  • issm/trunk/template

    r9650 r9677  
    5151          thickness_coeff -> rename hydrostatic_ratio (change ThicknessCorrection.m accordingly)
    5252}}}
    53 flowequation{{{
    54         private:
    55                 ishutter
    56                 ismacayealpattyn
    57                 isstokes
    58 
    59                 elements_type -> change to element_equation
    60                 vertices_type -> rename to vertex_equation
    61                
    62                 elementonhutter ->delete
    63                 elementonmacayeal->delete
    64                 elementonpattyn->delete
    65                 elementonstokes->delete
    66 
    67                 nodeonhutter ->delete
    68                 nodeonmacayeal->delete
    69                 nodeonpattyn->delete
    70                 nodeonstokes->delete
    71 }}}
    7253initialization{{{
    7354        vx
     
    9980        penalty_lock -> rename rift_penalty_lock
    10081        min_mechanical_constraints -> rename  rift_penalty_threshold
    101         requested_outputs
    102 }}}
    103 steadystate{{{
    104         eps_rel -> rename following PETSc: reltol
    105         max_steadystate_iterations -> rename maxiter
    10682        requested_outputs
    10783}}}
  • issm/trunk/test/Par/79North.par

    r9645 r9677  
    3939md.eps_res=0.05;
    4040md.eps_rel=0.005;
     41md.steadystate.reltol=0.005;
    4142md.eps_abs=NaN;
    4243
  • issm/trunk/test/Par/Pig.par

    r9642 r9677  
    3636md.eps_res=0.05;
    3737md.eps_rel=1;
     38md.steadystate.reltol=1;
    3839md.eps_abs=NaN;
    3940
  • issm/trunk/test/Par/RoundSheetShelf.par

    r9645 r9677  
    6464md.eps_res=0.05;
    6565md.eps_rel=0.05;
     66md.steadystate.reltol=0.05;
    6667md.eps_abs=NaN;
    6768md.timestepping.time_step=.1;
  • issm/trunk/test/Par/SquareSheetConstrained.par

    r9642 r9677  
    3737md.waitonlock=30;
    3838md.eps_res=0.05;
     39md.steadystate.reltol=0.05;
    3940md.eps_rel=0.05;
    4041md.eps_abs=NaN;
  • issm/trunk/test/Par/SquareSheetShelf.par

    r9642 r9677  
    4444md.waitonlock=30;
    4545md.eps_res=0.05;
     46md.steadystate.reltol=0.05;
    4647md.eps_rel=0.05;
    4748md.eps_abs=NaN;
  • issm/trunk/test/Par/SquareShelf.par

    r9642 r9677  
    3737md.verbose=verbose(0);
    3838md.eps_res=0.10;
     39md.steadystate.reltol=0.02;
    3940md.eps_rel=0.02;
    4041md.eps_abs=NaN;
  • issm/trunk/test/Par/SquareShelfConstrained.par

    r9642 r9677  
    4242md.eps_res=0.05;
    4343md.eps_rel=0.05;
     44md.steadystate.reltol=0.05;
    4445md.eps_abs=NaN;
    4546md.timestepping.time_step=1;
Note: See TracChangeset for help on using the changeset viewer.