AnalysisStepPeriod

The AnalysisStepPeriod class derives from ConditionalEnableControl.

AnalysisStepPeriod 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 analysis or 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 AnalysisStepUserObject. Only one step is allowed per AnalysisStepPeriod object.

[Controls<<<{"href": "../../syntax/Controls/index.html"}>>>]
  [step1]
    type = AnalysisStepPeriod<<<{"description": "Control the enabled/disabled state of objects with user-provided analysis steps.", "href": "AnalysisStepPeriod.html"}>>>
    enable_objects<<<{"description": "A list of object tags to enable."}>>> = 'BCs::y_step1'
    disable_objects<<<{"description": "A list of object tags to disable."}>>> = 'BCs::y_pull_function_step2'
    analysis_step_user_object<<<{"description": "The AnalysisStepUserObject that provides times from analysis steps."}>>> = step_uo
    step_number<<<{"description": "Step number on which this control object applies."}>>> = 0
  []
[]
(moose/modules/solid_mechanics/test/tests/umat/analysis_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

  • analysis_step_user_objectThe AnalysisStepUserObject that provides times from analysis steps.

    C++ Type:UserObjectName

    Controllable:No

    Description:The AnalysisStepUserObject that provides times from analysis steps.

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

    Default:INITIAL TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:NONE, INITIAL, LINEAR, LINEAR_CONVERGENCE, NONLINEAR, NONLINEAR_CONVERGENCE, 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

    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.

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