DumpObjectsProblem

Single purpose problem object that does not run the given input but allows deconstructing actions into their series of underlying Moose objects and variables.

Run any input file overriding the Problem/type parameter to DumpObjectsAction and setting the Problem/dump_path parameter to the full _hit_ input file syntax path of an action to dump the individual Moose objects and variables created by the action.

After the parse and setup stage the DumpObjectsProblem will not execute the input any further. Any objects created and parameters set by the selected action will be dumped to the screen and Moose will halt execution.

Example

The input file two_block_new.i is a test for the SolidMechanics Physics action, an action that sets up (aux)variables, (aux)kernels, and materials for mechanics problems. Let's see if we can examine what exactly a particular action block ([./block2]) in this file sets up.

Compile the solid_mechanics module executable and run


./solid_mechanics-opt -i test/tests/action/two_block_new.i Problem/type=DumpObjectsProblem Problem/dump_path=Physics/SolidMechanics/QuasiStatic/block2

You should obtain the output


[AuxKernels]
  [./stress_xx_block2]
    type = RankTwoAux
    block = 2
    execute_on = TIMESTEP_END
    index_i = 0
    index_j = 0
    rank_two_tensor = stress
    variable = stress_xx
  [../]
  [./strain_yy_block2]
    type = RankTwoAux
    block = 2
    execute_on = TIMESTEP_END
    index_i = 1
    index_j = 1
    rank_two_tensor = total_strain
    variable = strain_yy
  [../]
[]

[AuxVariables]
  [./stress_xx]
    blocks = '1 2'
    family = MONOMIAL
    order = CONSTANT
  [../]
  [./strain_yy]
    blocks = '1 2'
    family = MONOMIAL
    order = CONSTANT
  [../]
[]

[Kernels]
  [./TM_block20]
    type = StressDivergenceTensors
    block = 2
    component = 0
    displacements = 'disp_x disp_y'
    use_displaced_mesh = true
    variable = disp_x
  [../]
  [./TM_block21]
    type = StressDivergenceTensors
    block = 2
    component = 1
    displacements = 'disp_x disp_y'
    use_displaced_mesh = true
    variable = disp_y
  [../]
[]

[Materials]
  [./block2_strain]
    type = ComputeFiniteStrain
    block = 2
    displacements = 'disp_x disp_y'
  [../]
[]

[Variables]
  [./disp_x]
    blocks = '1 2'
  [../]
  [./disp_y]
    blocks = '1 2'
  [../]
[]

which is what the

[Physics]
  [SolidMechanics]
    [QuasiStatic]
      # parameters that apply to all subblocks are specified at this level. They
      # can be overwritten in the subblocks.
      add_variables = true
      strain = FINITE
      generate_output = 'stress_xx'

      [./block1]
        # the `block` parameter is only valid insde a subblock.
        block = 1
      [../]
      [./block2]
        block = 2
        # the `additional_generate_output` parameter is also only valid inside a
        # subblock. Values specified here are appended to the `generate_output`
        # parameter values.
        additional_generate_output = 'strain_yy'
      [../]
    []
  []
[]
(moose/modules/solid_mechanics/test/tests/action/two_block_new.i)

block in this input file creates.

The AuxVariables and AuxKernels are triggered by the generate_outputs parameter, the Kernels are informed by the choice of coordinate system, as is the finite strain calculator material.

Note that this particular action creates Moose objects only for the selected blocks, while it sets up Moose variables for the set union of all blocks handled by the action.

Input Parameters

  • dump_pathallSyntax path of the action of which to dump the generated syntax

    Default:all

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Syntax path of the action of which to dump the generated syntax

  • include_all_user_specified_paramsTrueWhether to include all parameters that have been specified by a user in the dump, even if they match the default value of the parameter in the Factory

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to include all parameters that have been specified by a user in the dump, even if they match the default value of the parameter in the Factory

  • linear_sys_namesThe linear system names

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The linear system names

  • regard_general_exceptions_as_errorsFalseIf we catch an exception during residual/Jacobian evaluaton for which we don't have specific handling, immediately error instead of allowing the time step to be cut

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:If we catch an exception during residual/Jacobian evaluaton for which we don't have specific handling, immediately error instead of allowing the time step to be cut

  • solveTrueWhether or not to actually solve the Nonlinear system. This is handy in the case that all you want to do is execute AuxKernels, Transfers, etc. without actually solving anything

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:Yes

    Description:Whether or not to actually solve the Nonlinear system. This is handy in the case that all you want to do is execute AuxKernels, Transfers, etc. without actually solving anything

Optional Parameters

  • allow_initial_conditions_with_restartFalseTrue to allow the user to specify initial conditions when restarting. Initial conditions can override any restarted field

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:True to allow the user to specify initial conditions when restarting. Initial conditions can override any restarted field

  • force_restartFalseEXPERIMENTAL: If true, a sub_app may use a restart file instead of using of using the master backup file

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:EXPERIMENTAL: If true, a sub_app may use a restart file instead of using of using the master backup file

  • restart_file_baseFile base name used for restart (e.g. / or /LATEST to grab the latest file available)

    C++ Type:FileNameNoExtension

    Unit:(no unit assumed)

    Controllable:No

    Description:File base name used for restart (e.g. / or /LATEST to grab the latest file available)

Restart Parameters

  • allow_invalid_solutionFalseSet to true to allow convergence even though the solution has been marked as 'invalid'

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to true to allow convergence even though the solution has been marked as 'invalid'

  • immediately_print_invalid_solutionFalseWhether or not to report invalid solution warnings at the time the warning is produced instead of after the calculation

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to report invalid solution warnings at the time the warning is produced instead of after the calculation

  • show_invalid_solution_consoleTrueSet to true to show the invalid solution occurance summary in console

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to true to show the invalid solution occurance summary in console

Solution Validity Control Parameters

  • boundary_restricted_elem_integrity_checkTrueSet to false to disable checking of boundary restricted elemental object variable dependencies, e.g. are the variable dependencies defined on the selected boundaries?

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to false to disable checking of boundary restricted elemental object variable dependencies, e.g. are the variable dependencies defined on the selected boundaries?

  • boundary_restricted_node_integrity_checkTrueSet to false to disable checking of boundary restricted nodal object variable dependencies, e.g. are the variable dependencies defined on the selected boundaries?

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to false to disable checking of boundary restricted nodal object variable dependencies, e.g. are the variable dependencies defined on the selected boundaries?

  • check_uo_aux_stateFalseTrue to turn on a check that no state presents during the evaluation of user objects and aux kernels

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:True to turn on a check that no state presents during the evaluation of user objects and aux kernels

  • error_on_jacobian_nonzero_reallocationFalseThis causes PETSc to error if it had to reallocate memory in the Jacobian matrix due to not having enough nonzeros

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:This causes PETSc to error if it had to reallocate memory in the Jacobian matrix due to not having enough nonzeros

  • fv_bcs_integrity_checkTrueSet to false to disable checking of overlapping Dirichlet and Flux BCs and/or multiple DirichletBCs per sideset

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to false to disable checking of overlapping Dirichlet and Flux BCs and/or multiple DirichletBCs per sideset

  • kernel_coverage_block_listList of subdomains for kernel coverage check. The meaning of this list is controlled by the parameter 'kernel_coverage_check' (whether this is the list of subdomains to be checked, not to be checked or not taken into account).

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

    Unit:(no unit assumed)

    Controllable:No

    Description:List of subdomains for kernel coverage check. The meaning of this list is controlled by the parameter 'kernel_coverage_check' (whether this is the list of subdomains to be checked, not to be checked or not taken into account).

  • kernel_coverage_checkTRUEControls, if and how a kernel subdomain coverage check is performed. With 'TRUE' or 'ON' all subdomains are checked (the default). Setting 'FALSE' or 'OFF' will disable the check for all subdomains. To exclude a predefined set of subdomains 'SKIP_LIST' is to be used, while the subdomains to skip are to be defined in the parameter 'kernel_coverage_block_list'. To limit the check to a list of subdomains, 'ONLY_LIST' is to be used (again, using the parameter 'kernel_coverage_block_list').

    Default:TRUE

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:FALSE, TRUE, OFF, ON, SKIP_LIST, ONLY_LIST

    Controllable:No

    Description:Controls, if and how a kernel subdomain coverage check is performed. With 'TRUE' or 'ON' all subdomains are checked (the default). Setting 'FALSE' or 'OFF' will disable the check for all subdomains. To exclude a predefined set of subdomains 'SKIP_LIST' is to be used, while the subdomains to skip are to be defined in the parameter 'kernel_coverage_block_list'. To limit the check to a list of subdomains, 'ONLY_LIST' is to be used (again, using the parameter 'kernel_coverage_block_list').

  • material_coverage_block_listList of subdomains for material coverage check. The meaning of this list is controlled by the parameter 'material_coverage_check' (whether this is the list of subdomains to be checked, not to be checked or not taken into account).

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

    Unit:(no unit assumed)

    Controllable:No

    Description:List of subdomains for material coverage check. The meaning of this list is controlled by the parameter 'material_coverage_check' (whether this is the list of subdomains to be checked, not to be checked or not taken into account).

  • material_coverage_checkTRUEControls, if and how a material subdomain coverage check is performed. With 'TRUE' or 'ON' all subdomains are checked (the default). Setting 'FALSE' or 'OFF' will disable the check for all subdomains. To exclude a predefined set of subdomains 'SKIP_LIST' is to be used, while the subdomains to skip are to be defined in the parameter 'material_coverage_block_list'. To limit the check to a list of subdomains, 'ONLY_LIST' is to be used (again, using the parameter 'material_coverage_block_list').

    Default:TRUE

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:FALSE, TRUE, OFF, ON, SKIP_LIST, ONLY_LIST

    Controllable:No

    Description:Controls, if and how a material subdomain coverage check is performed. With 'TRUE' or 'ON' all subdomains are checked (the default). Setting 'FALSE' or 'OFF' will disable the check for all subdomains. To exclude a predefined set of subdomains 'SKIP_LIST' is to be used, while the subdomains to skip are to be defined in the parameter 'material_coverage_block_list'. To limit the check to a list of subdomains, 'ONLY_LIST' is to be used (again, using the parameter 'material_coverage_block_list').

  • material_dependency_checkTrueSet to false to disable material dependency check

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to false to disable material dependency check

  • skip_nl_system_checkFalseTrue to skip the NonlinearSystem check for work to do (e.g. Make sure that there are variables to solve for).

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:True to skip the NonlinearSystem check for work to do (e.g. Make sure that there are variables to solve for).

Simulation Checks 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.

  • default_ghostingFalseWhether or not to use libMesh's default amount of algebraic and geometric ghosting

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to use libMesh's default amount of algebraic and geometric ghosting

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

Advanced Parameters

  • extra_tag_matricesExtra matrices to add to the system that can be filled by objects which compute residuals and Jacobians (Kernels, BCs, etc.) by setting tags on them. The outer index is for which nonlinear system the extra tag vectors should be added for

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Extra matrices to add to the system that can be filled by objects which compute residuals and Jacobians (Kernels, BCs, etc.) by setting tags on them. The outer index is for which nonlinear system the extra tag vectors should be added for

  • extra_tag_solutionsExtra solution vectors to add to the system that can be used by objects for coupling variable values stored in them.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Extra solution vectors to add to the system that can be used by objects for coupling variable values stored in them.

  • extra_tag_vectorsExtra vectors to add to the system that can be filled by objects which compute residuals and Jacobians (Kernels, BCs, etc.) by setting tags on them. The outer index is for which nonlinear system the extra tag vectors should be added for

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Extra vectors to add to the system that can be filled by objects which compute residuals and Jacobians (Kernels, BCs, etc.) by setting tags on them. The outer index is for which nonlinear system the extra tag vectors should be added for

Tagging Parameters

  • identify_variable_groups_in_nlTrueWhether to identify variable groups in nonlinear systems. This affects dof ordering

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to identify variable groups in nonlinear systems. This affects dof ordering

  • ignore_zeros_in_jacobianFalseDo not explicitly store zero values in the Jacobian matrix if true

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Do not explicitly store zero values in the Jacobian matrix if true

  • nl_sys_namesnl0 The nonlinear system names

    Default:nl0

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The nonlinear system names

  • previous_nl_solution_requiredFalseTrue to indicate that this calculation requires a solution vector for storing the previous nonlinear iteration.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:True to indicate that this calculation requires a solution vector for storing the previous nonlinear iteration.

  • use_nonlinearTrueDetermines whether to use a Nonlinear vs a Eigenvalue system (Automatically determined based on executioner)

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Determines whether to use a Nonlinear vs a Eigenvalue system (Automatically determined based on executioner)

Nonlinear System(S) Parameters

  • near_null_space_dimension0The dimension of the near nullspace

    Default:0

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The dimension of the near nullspace

  • null_space_dimension0The dimension of the nullspace

    Default:0

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The dimension of the nullspace

  • transpose_null_space_dimension0The dimension of the transpose nullspace

    Default:0

    C++ Type:unsigned int

    Unit:(no unit assumed)

    Controllable:No

    Description:The dimension of the transpose nullspace

Null Space Removal Parameters

  • parallel_barrier_messagingFalseDisplays messaging from parallel barrier notifications when executing or transferring to/from Multiapps (default: false)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Displays messaging from parallel barrier notifications when executing or transferring to/from Multiapps (default: false)

  • verbose_multiappsFalseSet to True to enable verbose screen printing related to MultiApps

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set to True to enable verbose screen printing related to MultiApps

  • verbose_setupfalseSet to 'true' to have the problem report on any object created. Set to 'extra' to also display all parameters.

    Default:false

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:false, true, extra

    Controllable:No

    Description:Set to 'true' to have the problem report on any object created. Set to 'extra' to also display all parameters.

Verbosity Parameters

References

No citations exist within this document.