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 constraints 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.

[Controls]
  [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/solid_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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

    Description:A list of object tags to disable.

  • enable_objectsA list of object tags to enable.

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

    Unit:(no unit assumed)

    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. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:INITIAL TIMESTEP_END

    C++ Type:ExecFlagEnum

    Unit:(no unit assumed)

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

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

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

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

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

Advanced Parameters