- user_objectThe UserObject UserObject to get values from. Note that the UserObject _must_ implement the spatialValue() virtual function!
C++ Type:UserObjectName
Description:The UserObject UserObject to get values from. Note that the UserObject _must_ implement the spatialValue() virtual function!
- variableThe name of the variable that this object applies to
C++ Type:AuxVariableName
Description:The name of the variable that this object applies to
SpatialUserObjectAux

The SpatialUserObjectAux has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.
# SpatialUserObjectAux
!syntax description /AuxKernels/SpatialUserObjectAux
## Overview
!! Replace these lines with information regarding the SpatialUserObjectAux object.
## Example Input File Syntax
!! Describe and include an example of how to use the SpatialUserObjectAux object.
!syntax parameters /AuxKernels/SpatialUserObjectAux
!syntax inputs /AuxKernels/SpatialUserObjectAux
!syntax children /AuxKernels/SpatialUserObjectAux
!syntax description /AuxKernels/SpatialUserObjectAux
Input Parameters
- blockThe list of block ids (SubdomainID) that this object will be applied
C++ Type:std::vector
Options:
Description:The list of block ids (SubdomainID) that this object will be applied
- boundaryThe list of boundary IDs from the mesh where this boundary condition applies
C++ Type:std::vector
Options:
Description:The list of boundary IDs from the mesh where this boundary condition applies
- execute_onLINEAR 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, FINAL, CUSTOM, PRE_DISPLACE.
Default:LINEAR TIMESTEP_END
C++ Type:ExecFlagEnum
Options:NONE INITIAL LINEAR NONLINEAR TIMESTEP_END TIMESTEP_BEGIN FINAL CUSTOM PRE_DISPLACE
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, FINAL, CUSTOM, PRE_DISPLACE.
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.
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Options:
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Options:
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
Input Files
- test/tests/userobjects/layered_average/layered_average_interpolate.i
- test/tests/userobjects/layered_average/layered_average_block.i
- test/tests/userobjects/nearest_point_layered_side_average/nearest_point_layered_side_average.i
- test/tests/userobjects/layered_average/layered_average.i
- test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange_userobject.i
- test/tests/userobjects/layered_base_restartable/layered_base_restartable.i
- test/tests/userobjects/layered_average/layered_average_1d_displaced.i
- test/tests/userobjects/nearest_point_layered_average/nearest_point_layered_average.i
- test/tests/userobjects/layered_side_integral/layered_side_average.i
- test/tests/userobjects/layered_average/layered_average_bounds.i
- test/tests/userobjects/layered_average/layered_average_bounding_block.i
- test/tests/transfers/multiapp_userobject_transfer/sub.i
- test/tests/transfers/multiapp_userobject_transfer/tosub_master.i
- test/tests/transfers/multiapp_conservative_transfer/sub_userobject.i
- test/tests/transfers/multiapp_userobject_transfer/tosub_displaced_master.i
- test/tests/userobjects/layered_side_integral/layered_side_integral_test.i
- test/tests/userobjects/layered_average/block_restricted.i
- test/tests/userobjects/layered_integral/average_sample.i
- test/tests/userobjects/layered_integral/cumulative_layered_integral.i
- test/tests/userobjects/layered_side_integral/layered_side_flux_average.i
- test/tests/userobjects/layered_integral/layered_integral_test.i
- test/tests/userobjects/layered_average/layered_average_bounds_error.i
test/tests/userobjects/layered_average/layered_average_interpolate.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[./nodal_layered_average]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_average]
type = SpatialUserObjectAux
variable = layered_average
execute_on = timestep_end
user_object = average
[../]
[./nodal_layered_average]
type = SpatialUserObjectAux
variable = nodal_layered_average
execute_on = timestep_end
user_object = average
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[]
[UserObjects]
[./average]
type = LayeredAverage
variable = u
direction = y
num_layers = 19
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_average/layered_average_block.i
#
# The mesh consists of two blocks. Block 1 is from y=0 to y=2, and
# block 2 is from y=3 to y=4. Elements are 0.25 high. The solution
# is u = 4y.
#
# Two sets of LayeredAverage values are computed. In both cases, four
# layers are used. In 'unrestricted', the layers span the entire mesh.
# In 'restricted', the layers cover only block 1.
#
# For 'unrestricted', the result is a value of 2 from 0<y<1 , a value
# of 6 from 1<y<2, and a value of 14 from 3<y<4.
#
# For 'restricted', the result is a value of 1 from 0<y<0.5, a value of
# 3 from 0.5<y<1, a value of 5 from 1<y<1.5, and a value of 7 for y>1.5.
#
[Mesh]
file = layered_average_block.e
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./restricted]
order = CONSTANT
family = MONOMIAL
[../]
[./unrestricted]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./restricted]
type = SpatialUserObjectAux
variable = restricted
execute_on = timestep_end
user_object = restricted
[../]
[./unrestricted]
type = SpatialUserObjectAux
variable = unrestricted
execute_on = timestep_end
user_object = unrestricted
[../]
[]
[BCs]
[./ll]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./lu]
type = DirichletBC
variable = u
boundary = 2
value = 8
[../]
[./ul]
type = DirichletBC
variable = u
boundary = 3
value = 12
[../]
[./uu]
type = DirichletBC
variable = u
boundary = 4
value = 16
[../]
[]
[UserObjects]
[./restricted]
type = LayeredAverage
direction = y
num_layers = 4
variable = u
execute_on = linear
block = 1
[../]
[./unrestricted]
type = LayeredAverage
direction = y
num_layers = 4
variable = u
execute_on = linear
[../]
[]
[Executioner]
type = Transient
dt = 1
end_time = 1
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/nearest_point_layered_side_average/nearest_point_layered_side_average.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 40
ny = 10
nz = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./np_layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./np_layered_average]
type = SpatialUserObjectAux
variable = np_layered_average
execute_on = timestep_end
user_object = npla
boundary = 'bottom top'
[../]
[]
[UserObjects]
[./npla]
type = NearestPointLayeredSideAverage
direction = x
points='0.25 0 0.25 0.75 0 0.25 0.25 0 0.75 0.75 0 0.75'
num_layers = 10
variable = u
execute_on = linear
boundary = 'bottom top'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./one]
type = DirichletBC
variable = u
boundary = 'right back top'
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_average/layered_average.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_average]
type = SpatialUserObjectAux
variable = layered_average
execute_on = timestep_end
user_object = average
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[]
[UserObjects]
[./average]
type = LayeredAverage
variable = u
direction = y
num_layers = 2
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange_userobject.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
parallel_type = replicated
[]
[Variables]
[power_density]
family = L2_LAGRANGE
order = FIRST
[]
[]
[AuxVariables]
[./multi_layered_average]
family = LAGRANGE
order = FIRST
[../]
[]
[UserObjects]
[./multi_layered_average]
type = LayeredAverage
variable = power_density
direction = y
num_layers = 4
[../]
[]
[AuxKernels]
[./layered_aux]
type = SpatialUserObjectAux
variable = multi_layered_average
execute_on = 'nonlinear TIMESTEP_END'
user_object = multi_layered_average
[../]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Reaction
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[Postprocessors]
[layered_avg]
type = ElementAverageValue
block = '0'
variable = multi_layered_average
execute_on = 'initial timestep_end'
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
nl_abs_tol = 1e-8
nl_rel_tol = 1e-12
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_L2_Lagrange.i
execute_on = 'timestep_end'
[]
[]
[Transfers]
[p_to_sub]
type = MultiAppUserObjectTransfer
direction = to_multiapp
user_object = multi_layered_average
variable = power_density
multi_app = sub
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
perf_graph = true
[]
test/tests/userobjects/layered_base_restartable/layered_base_restartable.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 5
ny = 5
nz = 5
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./np_layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxKernels]
[./np_layered_average]
type = SpatialUserObjectAux
variable = np_layered_average
execute_on = 'timestep_begin'
user_object = npla
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 10
[../]
[./one]
type = DirichletBC
variable = u
boundary = 'right back top'
value = 12
[../]
[]
[UserObjects]
[./npla]
type = NearestPointLayeredAverage
direction = y
points = '0.25 0 0.25 0.75 0 0.25 0.25 0 0.75 0.75 0 0.75'
num_layers = 10
variable = u
execute_on = 'timestep_end'
[../]
[]
[Executioner]
type = Transient
num_steps = 8
dt = 0.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_average/layered_average_1d_displaced.i
# This tests that Layered user objects work with displaced meshes. Originally,
# the mesh is aligned with x-axis. Then we displace the mesh to be aligned with
# z-axis and sample along the z-direction.
[Mesh]
type = GeneratedMesh
dim = 1
nx = 5
elem_type = EDGE2
displacements = 'disp_x disp_y disp_z'
[]
[Functions]
[./left_fn]
type = ParsedFunction
value = 't + 1'
[../]
[./disp_x_fn]
type = ParsedFunction
value = '-x'
[../]
[./disp_z_fn]
type = ParsedFunction
value = 'x'
[../]
[]
[AuxVariables]
[./la]
family = MONOMIAL
order = CONSTANT
[../]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[]
[AuxKernels]
[./la_ak]
type = SpatialUserObjectAux
variable = la
user_object = la_uo
execute_on = TIMESTEP_END
use_displaced_mesh = true
[../]
[./disp_x_ak]
type = FunctionAux
variable = disp_x
function = 'disp_x_fn'
[../]
[./disp_y_ak]
type = ConstantAux
variable = disp_y
value = 0
[../]
[./disp_z_ak]
type = FunctionAux
variable = disp_z
function = 'disp_z_fn'
[../]
[]
[UserObjects]
[./la_uo]
type = LayeredAverage
direction = z
variable = u
num_layers = 5
execute_on = TIMESTEP_END
use_displaced_mesh = true
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = u
boundary = left
function = left_fn
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 0
[../]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 2
solve_type = NEWTON
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/nearest_point_layered_average/nearest_point_layered_average.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 10
ny = 10
nz = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./np_layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./np_layered_average]
type = SpatialUserObjectAux
variable = np_layered_average
execute_on = timestep_end
user_object = npla
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./one]
type = DirichletBC
variable = u
boundary = 'right back top'
value = 1
[../]
[]
[UserObjects]
[./npla]
type = NearestPointLayeredAverage
direction = y
num_layers = 10
variable = u
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_side_integral/layered_side_average.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 6
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_side_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[AuxKernels]
[./lsia]
type = SpatialUserObjectAux
variable = layered_side_average
boundary = right
user_object = layered_side_average
[../]
[]
[UserObjects]
[./layered_side_average]
type = LayeredSideAverage
direction = y
num_layers = 3
variable = u
execute_on = linear
boundary = right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_average/layered_average_bounds.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_average]
type = SpatialUserObjectAux
variable = layered_average
execute_on = timestep_end
user_object = average
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[]
[UserObjects]
[./average]
type = LayeredAverage
variable = u
direction = y
bounds = '0 0.2 0.5 1'
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_average/layered_average_bounding_block.i
#
# The mesh consists of two blocks. Block 1 has a height and width of 1 whereas
# block 2 has a height of 2 and width of 1. A gap of 1 exists between the two
# blocks in the x direction. Elements are 0.25 high and 1 wide. The solution
# in block 1 is u = y and block 2 is u = 4y.
#
# Two sets of LayeredAverage values are computed. In both cases, four
# layers are used. In 'bounding_block1', the LayeredAverage values are computed
# on block 1 using the bounds (dimensions of block 2). In 'bounding_block2',
# the LayeredAverage values are computed on block 2 using the bounds (dimensions
# of block 1).
#
# In 'bounding_block1', since the layers are defined by the dimensions of block
# 2 only two layers appear in block one. The values in block 1 are thus:
# 0.25 for 0<y<0.5 and 0.75 for 0.5<y<1.
#
# In 'bounding_block2', since the layers are defined by the dimensions of block
# 1 four layers appear in block two. Any place over and above the top of the
# uppermost layer is included in the uppermost layer. Therefore, the first 3
# layers are 1/4 of the height of block 1 (0.25) whereas the 4th layer has a
# height of 1/4 of block 1 (0.25) plus the additional region in block 2 outside
# the bounds of block 1 (1.0) for a total height of 1.24.
# The values in block 2 are thus:
# 0.5 from 0<y<0.25, 1.5 from 0.25<y<0.5, 2.5 from 0.5<y<0.75, and 5.5 from
# y>0.75.
#
#
[Mesh]
file = layered_average_bounding_block.e
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./bounding_block1]
order = CONSTANT
family = MONOMIAL
[../]
[./bounding_block2]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./bounding_block1]
type = SpatialUserObjectAux
block = 1
variable = bounding_block1
execute_on = timestep_end
user_object = bounding_block1
[../]
[./bounding_block2]
type = SpatialUserObjectAux
block = 2
variable = bounding_block2
execute_on = timestep_end
user_object = bounding_block2
[../]
[]
[BCs]
[./ll]
type = DirichletBC
variable = u
boundary = 1
value = 0
[../]
[./lu]
type = DirichletBC
variable = u
boundary = 2
value = 1
[../]
[./ul]
type = DirichletBC
variable = u
boundary = 3
value = 0
[../]
[./uu]
type = DirichletBC
variable = u
boundary = 4
value = 8
[../]
[]
[UserObjects]
[./bounding_block1]
type = LayeredAverage
direction = y
num_layers = 4
variable = u
execute_on = linear
block = 1
layer_bounding_block = 2
[../]
[./bounding_block2]
type = LayeredAverage
direction = y
num_layers = 4
block = 2
layer_bounding_block = 1
variable = u
execute_on = linear
[../]
[]
[Executioner]
type = Transient
dt = 1
end_time = 1
[]
[Outputs]
exodus = true
[]
test/tests/transfers/multiapp_userobject_transfer/sub.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 8
xmax = 0.1
ymax = 0.5
[]
[Variables]
[./u]
initial_condition = 1
[../]
[]
[AuxVariables]
[./layered_average_value]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Functions]
[./axial_force]
type = ParsedFunction
value = 1000*y
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[./force]
type = BodyForce
variable = u
function = axial_force
[../]
[]
[AuxKernels]
[./layered_aux]
type = SpatialUserObjectAux
variable = layered_average_value
execute_on = timestep_end
user_object = layered_average
[../]
[]
[BCs]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = LayeredAverage
variable = u
direction = y
num_layers = 4
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.001
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[Problem]
coord_type = rz
type = FEProblem
[]
test/tests/transfers/multiapp_userobject_transfer/tosub_master.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 20
nz = 20
# The MultiAppUserObjectTransfer object only works with ReplicatedMesh
parallel_type = replicated
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average_value]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_aux]
type = SpatialUserObjectAux
variable = layered_average_value
execute_on = timestep_end
user_object = layered_average
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = LayeredAverage
variable = u
direction = y
num_layers = 4
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[MultiApps]
[./sub_app]
execute_on = timestep_end
positions = '0.3 0.1 0.3 0.7 0.1 0.3'
type = TransientMultiApp
input_files = tosub_sub.i
app_type = MooseTestApp
[../]
[]
[Transfers]
[./layered_transfer]
direction = to_multiapp
user_object = layered_average
variable = multi_layered_average
type = MultiAppUserObjectTransfer
multi_app = sub_app
[../]
[./element_layered_transfer]
direction = to_multiapp
user_object = layered_average
variable = element_multi_layered_average
type = MultiAppUserObjectTransfer
multi_app = sub_app
[../]
[]
test/tests/transfers/multiapp_conservative_transfer/sub_userobject.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 4
ny = 8
xmax = 0.1
ymax = 0.5
[]
[Variables]
[./u]
initial_condition = 1
[../]
[]
[AuxVariables]
[./layered_average_value]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Postprocessors]
[./from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = layered_average_value
execute_on = 'nonlinear TIMESTEP_END'
[../]
[]
[Functions]
[./axial_force]
type = ParsedFunction
value = 1000*y
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[./force]
type = BodyForce
variable = u
function = axial_force
[../]
[]
[AuxKernels]
[./layered_aux]
type = SpatialUserObjectAux
variable = layered_average_value
execute_on = 'nonlinear TIMESTEP_END'
user_object = layered_average
[../]
[]
[BCs]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = LayeredAverage
variable = u
direction = y
num_layers = 4
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 0.001
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[Problem]
coord_type = rz
type = FEProblem
[]
test/tests/transfers/multiapp_userobject_transfer/tosub_displaced_master.i
[Mesh]
type = GeneratedMesh
dim = 3
nx = 20
ny = 20
nz = 20
# The MultiAppUserObjectTransfer object only works with ReplicatedMesh
parallel_type = replicated
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average_value]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_aux]
type = SpatialUserObjectAux
variable = layered_average_value
execute_on = timestep_end
user_object = layered_average
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = LayeredAverage
variable = u
direction = y
num_layers = 4
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[MultiApps]
[./sub_app]
execute_on = timestep_end
positions = '0 0 0'
type = TransientMultiApp
input_files = tosub_displaced_sub.i
app_type = MooseTestApp
[../]
[]
[Transfers]
[./layered_transfer]
direction = to_multiapp
user_object = layered_average
variable = multi_layered_average
type = MultiAppUserObjectTransfer
multi_app = sub_app
displaced_target_mesh = true
[../]
[./element_layered_transfer]
direction = to_multiapp
user_object = layered_average
variable = element_multi_layered_average
type = MultiAppUserObjectTransfer
multi_app = sub_app
displaced_target_mesh = true
[../]
[]
test/tests/userobjects/layered_side_integral/layered_side_integral_test.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 6
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_integral]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[AuxKernels]
[./liaux]
type = SpatialUserObjectAux
variable = layered_integral
boundary = right
user_object = layered_integral
[../]
[]
[UserObjects]
[./layered_integral]
type = LayeredSideIntegral
direction = y
num_layers = 3
variable = u
execute_on = linear
boundary = right
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/userobjects/layered_average/block_restricted.i
[Mesh]
[gen]
type = GeneratedMeshGenerator
nx = 10
ny = 10
dim = 2
[]
[middle]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
top_right = '0.6 0.6 0'
bottom_left = '0.4 0.4 0'
[]
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[master_app_var]
order = CONSTANT
family = MONOMIAL
block = '1'
[]
[]
[AuxKernels]
[layered_aux]
type = SpatialUserObjectAux
variable = master_app_var
execute_on = 'timestep_end'
user_object = master_uo
block = '1'
[]
[]
[UserObjects]
[master_uo]
type = LayeredAverage
direction = x
variable = 'u'
block = '1'
# Note: 'bounds' or 'num_layers' are provided as CLI args
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = 'left'
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = 'right'
value = 100
[]
[]
[Executioner]
type = Transient
nl_abs_tol = 1e-10
nl_rel_tol = 1e-10
petsc_options_iname = '-pc_type -pc_hypre_type'
num_steps = 1
petsc_options_value = 'hypre boomeramg'
l_tol = 1e-8
[]
[Postprocessors]
[u_avg]
type = ElementAverageValue
variable = 'u'
execute_on = 'initial timestep_end'
[]
[final_avg]
type = ElementAverageValue
variable = 'master_app_var'
execute_on = 'initial timestep_end'
block = '1'
[]
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_integral/average_sample.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 30
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_integral]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./liaux]
type = SpatialUserObjectAux
variable = layered_integral
execute_on = timestep_end
user_object = layered_integral
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[UserObjects]
[./layered_integral]
type = LayeredIntegral
direction = y
num_layers = 5
variable = u
execute_on = linear
sample_type = average
average_radius = 2
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_integral/cumulative_layered_integral.i
# ##########################################################
# This is a test of the UserObject System. The
# LayeredIntegral UserObject executes independently during
# the solve to compute a user-defined value. In this case
# an integral value in discrete layers along a vector
# in the domain. (Type: ElementalUserObject)
#
# @Requirement F6.40
# ##########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 6
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_integral]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./liaux]
type = SpatialUserObjectAux
variable = layered_integral
execute_on = timestep_end
user_object = layered_integral
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[UserObjects]
[./layered_integral]
type = LayeredIntegral
direction = y
num_layers = 3
variable = u
execute_on = linear
cumulative = true
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
test/tests/userobjects/layered_side_integral/layered_side_flux_average.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 6
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_side_flux_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[AuxKernels]
[./lsfa]
type = SpatialUserObjectAux
variable = layered_side_flux_average
boundary = top
user_object = layered_side_flux_average
[../]
[]
[Materials]
[./gcm]
type = GenericConstantMaterial
prop_values = 2
prop_names = diffusivity
boundary = 'right top'
[../]
[]
[UserObjects]
[./layered_side_flux_average]
type = LayeredSideFluxAverage
direction = y
diffusivity = diffusivity
num_layers = 1
variable = u
execute_on = linear
boundary = top
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = true
[]
[Debug]
show_material_props = true
[]
test/tests/userobjects/layered_integral/layered_integral_test.i
###########################################################
# This is a test of the UserObject System. The
# LayeredIntegral UserObject executes independently during
# the solve to compute a user-defined value. In this case
# an integral value in discrete layers along a vector
# in the domain. (Type: ElementalUserObject)
#
# @Requirement F6.40
###########################################################
[Mesh]
type = GeneratedMesh
dim = 2
nx = 6
ny = 6
nz = 6
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_integral]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./liaux]
type = SpatialUserObjectAux
variable = layered_integral
execute_on = timestep_end
user_object = layered_integral
[../]
[]
[BCs]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[]
[UserObjects]
[./layered_integral]
type = LayeredIntegral
direction = y
num_layers = 3
variable = u
execute_on = linear
[../]
[]
[Executioner]
type = Steady
[]
[Outputs]
file_base = out
exodus = true
[]
test/tests/userobjects/layered_average/layered_average_bounds_error.i
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./layered_average]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./layered_average]
type = SpatialUserObjectAux
variable = layered_average
execute_on = timestep_end
user_object = average
[../]
[]
[BCs]
[./top]
type = DirichletBC
variable = u
boundary = top
value = 1
[../]
[./bottom]
type = DirichletBC
variable = u
boundary = bottom
value = 0
[../]
[]
[UserObjects]
[./average]
type = LayeredAverage
variable = u
direction = y
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]