StepPeriod

The StepPeriod class derives from ConditionalEnableControl.

StepPeriod objects are designed to control the active state of a MOOSE object, based on whether the time value is in some range.

For example, consider a simulation that contains two Kernels "diff0" and "diff1". Initially, "diff0" is active and after time 0.49 "diff1" becomes active and "diff0" is disabled. The following code snippet demonstrates how this switching of kernels is achieved with the TimePeriod object.

This object, unlike TimePeriod, is controlled by the loading 'step' concept. The user defines time periods, i.e. steps, over which the boundary conditions and contraints are not disabled/enabled. A step number is thus a required input to this control object. At the beginning of this step number, boundary conditions and constraints are enabled or disabled, as directed by StepUserObject. Only one step is allowed per StepPeriod object.

[step1]
  type = StepPeriod
  enable_objects = 'BCs::y_step1'
  disable_objects = 'BCs::y_pull_function_step2'
  step_user_object = step_uo
  step_number = 0
[]
(moose/modules/tensor_mechanics/test/tests/umat/steps/elastic_temperature_steps_uo.i)

Input Parameters

  • step_numberStep number on which this control object applies.

    C++ Type:unsigned int

    Controllable:No

    Description:Step number on which this control object applies.

Required Parameters

  • depends_onThe Controls that this control relies upon (i.e. must execute before this one)

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:The Controls that this control relies upon (i.e. must execute before this one)

  • disable_objectsA list of object tags to disable.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:A list of object tags to disable.

  • enable_objectsA list of object tags to enable.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:A list of object tags to enable.

  • execute_onINITIAL TIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.

    Default:INITIAL TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS, PRE_MULTIAPP_SETUP

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.

  • reverse_on_falseTrueWhen true, the disable/enable lists are set to opposite values when the specified condition is false.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:When true, the disable/enable lists are set to opposite values when the specified condition is false.

  • set_sync_timesTrueSet the start and end time as execute sync times.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the start and end time as execute sync times.

  • step_user_objectThe StepUserObject that provides times from simulation loading steps.

    C++ Type:UserObjectName

    Controllable:No

    Description:The StepUserObject that provides times from simulation loading steps.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

Advanced Parameters