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 TensorMechanics master action, an action that sets up (aux)variables, (aux)kernels, and materials for mechanics probems. Let's see if we can examine what exactly a particular action block ([./block2]) in this file sets up.

Compile the tensor_mechanics module executable and run


./tensor_mechanics-opt -i test/tests/action/two_block_new.i Problem/type=DumpObjectsProblem Problem/dump_path=Modules/TensorMechanics/Master/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

[Modules/TensorMechanics/Master]
  # 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'
  [../]
[]
(modules/tensor_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_pathSyntax path of the action of which to dump the generated syntax

    C++ Type:std::string

    Options:

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

Required Parameters

  • material_coverage_checkTrueSet to false to disable material->subdomain coverage check

    Default:True

    C++ Type:bool

    Options:

    Description:Set to false to disable material->subdomain coverage check

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

    Default:True

    C++ Type:bool

    Options:

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

  • 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

    Options:

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

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

    C++ Type:FileNameNoExtension

    Options:

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

  • 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

    Options:

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

  • skip_additional_restart_dataFalseTrue to skip additional data in equation system for restart. It is useful for starting a transient calculation with a steady-state solution

    Default:False

    C++ Type:bool

    Options:

    Description:True to skip additional data in equation system for restart. It is useful for starting a transient calculation with a steady-state solution

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

    C++ Type:std::vector

    Options:

    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.

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

    Default:False

    C++ Type:bool

    Options:

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

  • null_space_dimension0The dimension of the nullspace

    Default:0

    C++ Type:unsigned int

    Options:

    Description:The dimension of the nullspace

  • rz_coord_axisYThe rotation axis (X | Y) for axisymetric coordinates

    Default:Y

    C++ Type:MooseEnum

    Options:X Y

    Description:The rotation axis (X | Y) for axisymetric coordinates

  • 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

    Options:

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

  • coord_typeXYZType of the coordinate system per block param

    Default:XYZ

    C++ Type:MultiMooseEnum

    Options:XYZ RZ RSPHERICAL

    Description:Type of the coordinate system per block param

  • 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

    Options:

    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

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

    Default:True

    C++ Type:bool

    Options:

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

  • transpose_null_space_dimension0The dimension of the transpose nullspace

    Default:0

    C++ Type:unsigned int

    Options:

    Description:The dimension of the transpose nullspace

  • near_null_space_dimension0The dimension of the near nullspace

    Default:0

    C++ Type:unsigned int

    Options:

    Description:The dimension of the near nullspace

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

    C++ Type:std::vector

    Options:

    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.

  • kernel_coverage_checkTrueSet to false to disable kernel->subdomain coverage check

    Default:True

    C++ Type:bool

    Options:

    Description:Set to false to disable kernel->subdomain coverage check

  • blockBlock IDs for the coordinate systems

    C++ Type:std::vector

    Options:

    Description:Block IDs for the coordinate systems

Optional Parameters

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

    C++ Type:std::vector

    Options:

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

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Options:

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files

References