- source_variableThe variable to transfer from.
C++ Type:std::vector<VariableName>
Controllable:No
Description:The variable to transfer from.
- variableThe auxiliary variable to store the transferred values in.
C++ Type:std::vector<AuxVariableName>
Controllable:No
Description:The auxiliary variable to store the transferred values in.
MultiAppMeshFunctionTransfer
Performs a transfer of field data to/from postprocessor data within sub-applications at locations specified by the sub-application position. The transfer utilizes the finite element function of the master application, via a libMesh::MeshFunction
object, to perform the transfer.
Example Input File Syntax
The following examples demonstrate the use the MultiAppMeshFunctionTransfer for transferring data to (Listing 1) and from (Listing 2) sub-applications.
Listing 1: Example use of MultiAppMeshFunctionTransfer for transferring data to sub-applications.
[Transfers]
[to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/tosub.i)Listing 2: Example use of MultiAppMeshFunctionTransfer for transferring data from sub-applications.
[Transfers]
[from_sub]
source_variable = 'sub_u sub_u'
variable = 'transferred_u elemental_transferred_u'
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
[]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/fromsub.i)Input Parameters
- _called_legacy_paramsTrue
Default:True
C++ Type:bool
Controllable:No
- allow_skipped_adjustmentFalseIf set to true, the transfer skips adjustment when from or to postprocessor values are either zero or have different signs. If set to false, an error is thrown when encountering these conditions.
Default:False
C++ Type:bool
Controllable:No
Description:If set to true, the transfer skips adjustment when from or to postprocessor values are either zero or have different signs. If set to false, an error is thrown when encountering these conditions.
- check_multiapp_execute_onTrueWhen false the check between the multiapp and transfer execute on flags is not preformed.
Default:True
C++ Type:bool
Controllable:No
Description:When false the check between the multiapp and transfer execute on flags is not preformed.
- displaced_source_meshFalseWhether or not to use the displaced mesh for the source mesh.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to use the displaced mesh for the source mesh.
- displaced_target_meshFalseWhether or not to use the displaced mesh for the target mesh.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to use the displaced mesh for the target mesh.
- error_on_missFalseWhether or not to error in the case that a target point is not found in the source domain.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to error in the case that a target point is not found in the source domain.
- execute_onSAME_AS_MULTIAPPThe 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, SAME_AS_MULTIAPP, ALWAYS.
Default:SAME_AS_MULTIAPP
C++ Type:ExecFlagEnum
Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, SAME_AS_MULTIAPP, ALWAYS
Controllable:No
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, SAME_AS_MULTIAPP, ALWAYS.
- from_multi_appThe name of the MultiApp to receive data from
C++ Type:MultiAppName
Controllable:No
Description:The name of the MultiApp to receive data from
- from_postprocessors_to_be_preservedThe name of the Postprocessor in the from-app to evaluate an adjusting factor.
C++ Type:std::vector<PostprocessorName>
Controllable:No
Description:The name of the Postprocessor in the from-app to evaluate an adjusting factor.
- from_solution_tagThe tag of the solution vector to be transferred (default to the solution)
C++ Type:TagName
Controllable:No
Description:The tag of the solution vector to be transferred (default to the solution)
- to_multi_appThe name of the MultiApp to transfer the data to
C++ Type:MultiAppName
Controllable:No
Description:The name of the MultiApp to transfer the data to
- to_postprocessors_to_be_preservedThe name of the Postprocessor in the to-app to evaluate an adjusting factor.
C++ Type:std::vector<PostprocessorName>
Controllable:No
Description:The name of the Postprocessor in the to-app to evaluate an adjusting factor.
- to_solution_tagThe tag of the solution vector to be transferred to (default to the solution)
C++ Type:TagName
Controllable:No
Description:The tag of the solution vector to be transferred to (default to the solution)
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:Yes
Description:Set the enabled status of the MooseObject.
- 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
Controllable:No
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/problems/eigen_problem/eigensolvers/ne_coupled_picard.i)
- (test/tests/multiapps/grid-sequencing/fine.i)
- (test/tests/transfers/get_transfers_from_feproblem/master.i)
- (modules/external_petsc_solver/test/tests/external_petsc_problem/petsc_transient_as_master.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/fromsub.i)
- (test/tests/multiapps/picard_multilevel/fullsolve_multilevel/sub_level1.i)
- (test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard_subT.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/fromsub_target_displaced.i)
- (test/tests/multiapps/picard_multilevel/2level_picard/mutilevel_app.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/exec_on_mismatch.i)
- (test/tests/transfers/transfer_interpolation/master.i)
- (test/tests/multiapps/grid-sequencing/vi-coarse.i)
- (test/tests/transfers/multiapp_conservative_transfer/master_power_density.i)
- (test/tests/multiapps/grid-sequencing/vi-fine.i)
- (test/tests/multiapps/picard_multilevel/fullsolve_multilevel/master.i)
- (test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange.i)
- (test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange_conservative.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/tosub.i)
- (test/tests/restart/restart_transient_from_steady/restart_trans_with_sub.i)
- (tutorials/tutorial02_multiapps/step02_transfers/01_master_meshfunction.i)
- (modules/external_petsc_solver/test/tests/external_petsc_problem/moose_as_master.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/missing_master.i)
- (test/tests/restart/restart_transient_from_steady/steady_with_sub.i)
- (test/tests/transfers/multiapp_conservative_transfer/primary_skipped_adjuster.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/tosub_source_displaced.i)
- (modules/external_petsc_solver/test/tests/partition/moose_as_master.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/tosub_target_displaced.i)
- (test/tests/transfers/multiapp_conservative_transfer/master_conservative_transfer.i)
- (test/tests/transfers/multiapp_conservative_transfer/master_nearest_point.i)
- (test/tests/transfers/multiapp_conservative_transfer/primary_negative_adjuster.i)
- (test/tests/multiapps/picard_multilevel/2level_picard/sub_level1.i)
- (test/tests/transfers/multiapp_mesh_function_transfer/fromsub_source_displaced.i)
(test/tests/transfers/multiapp_mesh_function_transfer/tosub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[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]
positions = '.1 .1 0 0.6 0.6 0 0.6 0.1 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = tosub_sub.i
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/fromsub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[transferred_u]
[]
[elemental_transferred_u]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[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]
positions = '.099 .099 0 .599 .599 0 0.599 0.099 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = fromsub_sub.i
[]
[]
[Transfers]
[from_sub]
source_variable = 'sub_u sub_u'
variable = 'transferred_u elemental_transferred_u'
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
[]
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
# set this so that the Picard initial norm is not zero
initial_condition = 1
[../]
[]
[AuxVariables]
[./T]
order = FIRST
family = LAGRANGE
# set this so that the Picard initial norm is not zero
initial_condition = 1
[../]
[./power]
order = FIRST
family = LAGRANGE
[../]
[]
[Kernels]
[./diff]
type = DiffMKernel
variable = u
mat_prop = diffusion
offset = 0.0
[../]
[./rhs]
type = CoefReaction
variable = u
coefficient = -1.0
extra_vector_tags = 'eigen'
[../]
[]
[AuxKernels]
[./power_ak]
type = NormalizationAux
variable = power
source_variable = u
normalization = unorm
# this coefficient will affect the eigenvalue.
normal_factor = 10
execute_on = timestep_end
[../]
[]
[BCs]
[./homogeneous]
type = DirichletBC
variable = u
boundary = '0 1 2 3'
value = 0
[../]
[./eigenU]
type = EigenDirichletBC
variable = u
boundary = '0 1 2 3'
[../]
[]
[Materials]
[./dc]
type = VarCouplingMaterial
var = T
block = 0
base = 1.0
coef = 1.0
[../]
[]
[Executioner]
type = Eigenvalue
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
fixed_point_max_its = 10
fixed_point_rel_tol = 1e-6
[]
[Postprocessors]
[./unorm]
type = ElementIntegralVariablePostprocessor
variable = u
execute_on = linear
[../]
[]
[VectorPostprocessors]
[./eigenvalues]
type = Eigenvalues
execute_on = 'timestep_end'
[../]
[]
[Outputs]
csv = true
exodus =true
execute_on = 'timestep_end'
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
input_files = ne_coupled_picard_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./T_from_sub]
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
source_variable = T
variable = T
[../]
[./power_to_sub]
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
source_variable = power
variable = power
[../]
[]
(test/tests/multiapps/grid-sequencing/fine.i)
[Mesh]
type = GeneratedMesh
dim = 1
nx = 40
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[./diff]
type = Diffusion
variable = u
[../]
[rxn]
type = Reaction
variable = u
[]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 2
dt = 1
solve_type = 'PJFNK'
petsc_options = '-snes_monitor_solution'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[MultiApps]
[./coarse]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_begin
positions = '0 0 0'
input_files = coarse.i
[../]
[]
[Transfers]
[./mesh_function_begin]
type = MultiAppMeshFunctionTransfer
from_multi_app = coarse
source_variable = u
variable = u
execute_on = timestep_begin
[../]
[]
(test/tests/transfers/get_transfers_from_feproblem/master.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
# This test currently diffs when run in parallel with DistributedMesh enabled,
# most likely due to the fact that it uses some geometric search stuff.
# For more information, see #2121.
parallel_type = replicated
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = GetTransferUserObject
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
nl_rel_tol = 1e-10
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_end
positions = '0 0 0'
input_files = sub.i
[../]
[]
[Transfers]
[./nearest_node]
type = MultiAppNearestNodeTransfer
to_multi_app = sub
source_variable = u
variable = nearest_node
[../]
[./mesh_function]
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
source_variable = u
variable = mesh_function
[../]
[]
(modules/external_petsc_solver/test/tests/external_petsc_problem/petsc_transient_as_master.i)
[Mesh]
# It is a mirror of PETSc mesh (DMDA)
type = PETScDMDAMesh
[]
[AuxVariables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[Problem]
type = ExternalPETScProblem
sync_variable = u
[]
[Executioner]
type = Transient
num_steps = 10
[./TimeStepper]
type = ExternalPetscTimeStepper
[../]
[]
[AuxVariables]
[pid]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[pid_aux]
type = ProcessorIDAux
variable = pid
execute_on = 'INITIAL'
[]
[]
[Outputs]
exodus = true
[]
[MultiApps]
[./sub_app]
type = TransientMultiApp
input_files = 'moose_as_sub.i'
app_type = ExternalPetscSolverTestApp
[../]
[]
[Transfers]
[./tosub]
type = MultiAppMeshFunctionTransfer
to_multi_app = sub_app
source_variable = u
variable = v
[../]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/fromsub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[transferred_u]
[]
[elemental_transferred_u]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[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]
positions = '.099 .099 0 .599 .599 0 0.599 0.099 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = fromsub_sub.i
[]
[]
[Transfers]
[from_sub]
source_variable = 'sub_u sub_u'
variable = 'transferred_u elemental_transferred_u'
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
[]
[]
(test/tests/multiapps/picard_multilevel/fullsolve_multilevel/sub_level1.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
[]
[Variables]
[v]
[]
[]
[AuxVariables]
[u]
[]
[w]
[]
[]
[Kernels]
[time_derivative]
type = TimeDerivative
variable = v
[]
[diffusion]
type = Diffusion
variable = v
[]
[source]
type = CoupledForce
variable = v
v = u
[]
[]
[BCs]
[dirichlet0]
type = DirichletBC
variable = v
boundary = '0'
value = 0
[]
[dirichlet]
type = DirichletBC
variable = v
boundary = '2'
value = 100
[]
[]
[Postprocessors]
[avg_u]
type = ElementAverageValue
variable = u
execute_on = 'initial linear'
[]
[avg_v]
type = ElementAverageValue
variable = v
execute_on = 'initial linear'
[]
[avg_w]
type = ElementAverageValue
variable = w
execute_on = 'initial linear'
[]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
end_time = 0.1
dt = 0.02
[]
[MultiApps]
[level2-]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_level2.i
execute_on = 'timestep_end'
# sub_cycling = true
[]
[]
[Transfers]
[v_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = v
variable = v
to_multi_app = level2-
execute_on = 'timestep_end'
[]
[w_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = w
variable = w
from_multi_app = level2-
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
# print_linear_residuals = false
[]
(test/tests/problems/eigen_problem/eigensolvers/ne_coupled_picard_subT.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 10
ymin = 0
ymax = 10
elem_type = QUAD4
nx = 8
ny = 8
[]
[Variables]
[./T]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./power]
order = FIRST
family = LAGRANGE
initial_condition = 0.1
[../]
[]
[Kernels]
[./diff_T]
type = Diffusion
variable = T
[../]
[./src_T]
type = CoupledForce
variable = T
v = power
[../]
[]
[BCs]
[./homogeneousT]
type = DirichletBC
variable = T
boundary = '0 1 2 3'
value = 0
[../]
[]
[Executioner]
type = Steady
solve_type = PJFNK
nl_abs_tol = 1e-8
nl_rel_tol = 1e-6
fixed_point_max_its = 20
fixed_point_rel_tol = 1e-6
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
keep_solution_during_restore = true
input_files = ne_coupled_picard_subT_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./T_to_sub]
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
source_variable = T
variable = T
execute_on = timestep_end
[../]
[./power_from_sub]
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
source_variable = power
variable = power
execute_on = timestep_end
[../]
[]
[Outputs]
csv = true
exodus =true
execute_on = 'timestep_end'
[]
(test/tests/transfers/multiapp_mesh_function_transfer/fromsub_target_displaced.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./transferred_u]
[../]
[./elemental_transferred_u]
order = CONSTANT
family = MONOMIAL
[../]
[./x_disp]
initial_condition = -0.1
[../]
[./y_disp]
initial_condition = -0.1
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[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]
positions = '.099 .099 0 .599 .599 0 0.599 0.099 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = fromsub_sub.i
[../]
[]
[Transfers]
[./from_sub]
source_variable = sub_u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
displaced_target_mesh = true
[../]
[./elemental_from_sub]
source_variable = sub_u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
displaced_target_mesh = true
[../]
[]
(test/tests/multiapps/picard_multilevel/2level_picard/mutilevel_app.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[v]
initial_condition = 50
[]
[]
[Kernels]
[diffusion]
type = Diffusion
variable = u
[]
[source]
type = CoupledForce
variable = u
v = v
[]
[]
[BCs]
[dirichlet0]
type = DirichletBC
variable = u
boundary = '3'
value = 0
[]
[dirichlet]
type = DirichletBC
variable = u
boundary = '1'
value = 100
[]
[]
[Postprocessors]
[avg_u]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_begin timestep_end'
[]
[avg_v]
type = ElementAverageValue
variable = v
execute_on = 'initial timestep_begin timestep_end'
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
fixed_point_rel_tol = 1E-3
fixed_point_abs_tol = 1.0e-05
fixed_point_max_its = 2
accept_on_max_fixed_point_iteration = true
[]
[MultiApps]
[level1-]
type = FullSolveMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_level1.i
execute_on = 'timestep_end'
keep_solution_during_restore = true
[]
[]
[Transfers]
[u_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = u
variable = u
to_multi_app = level1-
execute_on = 'timestep_end'
[]
[v_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = v
variable = v
from_multi_app = level1-
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
[screen]
type = Console
execute_postprocessors_on= "timestep_end timestep_begin"
[]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/exec_on_mismatch.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[transferred_u]
[]
[elemental_transferred_u]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[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]
positions = '.099 .099 0 .599 .599 0 0.599 0.099 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = fromsub_sub.i
execute_on = 'initial timestep_begin'
[]
[]
[Transfers]
[from_sub]
source_variable = sub_u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
execute_on = 'initial timestep_end'
[]
[elemental_from_sub]
source_variable = sub_u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
[]
[]
(test/tests/transfers/transfer_interpolation/master.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
# This test currently diffs when run in parallel with DistributedMesh enabled,
# most likely due to the fact that it uses some geometric search stuff.
# For more information, see #2121.
parallel_type = replicated
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[UserObjects]
[./layered_average]
type = LayeredAverage
variable = u
direction = x
num_layers = 3
[../]
[]
[Executioner]
type = Transient
num_steps = 1
dt = 1
nl_rel_tol = 1e-10
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_end
positions = '0 0 0'
input_files = sub.i
sub_cycling = true
interpolate_transfers = true
output_sub_cycles = true
[../]
[]
[Transfers]
[./nearest_node]
type = MultiAppNearestNodeTransfer
to_multi_app = sub
source_variable = u
variable = nearest_node
[../]
[./mesh_function]
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
source_variable = u
variable = mesh_function
[../]
[./user_object]
type = MultiAppUserObjectTransfer
to_multi_app = sub
variable = user_object
user_object = layered_average
[../]
[./interpolation]
type = MultiAppInterpolationTransfer
to_multi_app = sub
source_variable = u
variable = interpolation
[../]
[]
(test/tests/multiapps/grid-sequencing/vi-coarse.i)
l=10
nx=40
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[./u_upper_bound]
type = ConstantBoundsAux
variable = bounds
bounded_variable = u
bound_type = upper
bound_value = ${l}
[../]
[./u_lower_bound]
type = ConstantBoundsAux
variable = bounds
bounded_variable = u
bound_type = lower
bound_value = 0
[../]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
[MultiApps]
[./coarser]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_begin
positions = '0 0 0'
input_files = vi-coarser.i
[../]
[]
[Transfers]
[./mesh_function_begin]
type = MultiAppMeshFunctionTransfer
from_multi_app = coarser
source_variable = u
variable = u
execute_on = timestep_begin
[../]
[]
(test/tests/transfers/multiapp_conservative_transfer/master_power_density.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmax = 1
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[AuxVariables]
[from_sub]
[]
[]
[Postprocessors]
[pwr0]
type = ElementIntegralVariablePostprocessor
block = 0
variable = power_density
[]
[pwr1]
type = ElementIntegralVariablePostprocessor
block = 1
variable = power_density
[]
[from_sub0]
type = ElementIntegralVariablePostprocessor
block = 0
variable = from_sub
execute_on = 'transfer'
[]
[from_sub1]
type = ElementIntegralVariablePostprocessor
block = 1
variable = from_sub
execute_on = 'transfer'
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
input_files = sub_power_density.i
positions = '0 0 0 0.5 0 0'
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = from_master
to_multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# N pps are specified on the master side, where N is the number of subapps
# 1 pp is specified on the subapp side
from_postprocessors_to_be_preserved = 'pwr0 pwr1'
to_postprocessors_to_be_preserved = 'from_master_pp'
[]
[from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = sink
variable = from_sub
from_multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# N pps are specified on the master side, where N is the number of subapps
# 1 pp is specified on the subapp side
to_postprocessors_to_be_preserved = 'from_sub0 from_sub1'
from_postprocessors_to_be_preserved = 'sink'
[]
[]
[Outputs]
exodus = true
[]
(test/tests/multiapps/grid-sequencing/vi-fine.i)
l=10
nx=80
num_steps=2
[Mesh]
type = GeneratedMesh
dim = 1
xmax = ${l}
nx = ${nx}
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[bounds][]
[]
[Bounds]
[./u_upper_bounds]
type = ConstantBoundsAux
variable = bounds
bounded_variable = u
bound_type = upper
bound_value = ${l}
[../]
[./u_lower_bounds]
type = ConstantBoundsAux
variable = bounds
bounded_variable = u
bound_type = lower
bound_value = 0
[../]
[]
[ICs]
[u]
type = FunctionIC
variable = u
function = 'x'
[]
[]
[Kernels]
[time]
type = TimeDerivative
variable = u
[]
[diff]
type = Diffusion
variable = u
[]
[ffn]
type = BodyForce
variable = u
function = 'if(x<5,-1,1)'
[]
[]
[BCs]
[left]
type = DirichletBC
boundary = left
value = 0
variable = u
[]
[right]
type = DirichletBC
boundary = right
value = ${l}
variable = u
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
num_steps = ${num_steps}
solve_type = NEWTON
dtmin = 1
petsc_options = '-snes_vi_monitor'
petsc_options_iname = '-snes_max_linear_solve_fail -ksp_max_it -pc_type -sub_pc_factor_levels -snes_linesearch_type -snes_type'
petsc_options_value = '0 30 asm 16 basic vinewtonrsls'
[]
[Outputs]
exodus = true
[csv]
type = CSV
execute_on = 'nonlinear timestep_end'
[]
[dof]
type = DOFMap
execute_on = 'initial'
[]
[]
[Debug]
show_var_residual_norms = true
[]
[Postprocessors]
active = 'upper_violations lower_violations'
[upper_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = ${fparse 10+1e-8}
comparator = 'greater'
[]
[lower_violations]
type = GreaterThanLessThanPostprocessor
variable = u
execute_on = 'nonlinear timestep_end'
value = -1e-8
comparator = 'less'
[]
[nls]
type = NumNonlinearIterations
[]
[cum_nls]
type = CumulativeValuePostprocessor
postprocessor = nls
[]
[]
[MultiApps]
[./coarse]
type = TransientMultiApp
app_type = MooseTestApp
execute_on = timestep_begin
positions = '0 0 0'
input_files = vi-coarse.i
[../]
[]
[Transfers]
[./mesh_function_begin]
type = MultiAppMeshFunctionTransfer
from_multi_app = coarse
source_variable = u
variable = u
execute_on = timestep_begin
[../]
[]
(test/tests/multiapps/picard_multilevel/fullsolve_multilevel/master.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[v]
initial_condition = 50
[]
[]
[Kernels]
[diffusion]
type = Diffusion
variable = u
[]
[source]
type = CoupledForce
variable = u
v = v
[]
[]
[BCs]
[dirichlet0]
type = DirichletBC
variable = u
boundary = '3'
value = 0
[]
[dirichlet]
type = DirichletBC
variable = u
boundary = '1'
value = 100
[]
[]
[Postprocessors]
[avg_u]
type = ElementAverageValue
variable = u
execute_on = 'initial linear'
[]
[avg_v]
type = ElementAverageValue
variable = v
execute_on = 'initial linear'
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
fixed_point_rel_tol = 1E-3
fixed_point_abs_tol = 1.0e-05
fixed_point_max_its = 12
[]
[MultiApps]
[level1-]
type = FullSolveMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_level1.i
execute_on = 'timestep_end'
# We have to make backups of the full tree in order to do a proper restore for the Picard iteration.
no_backup_and_restore = false
[]
[]
[Transfers]
[u_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = u
variable = u
to_multi_app = level1-
execute_on = 'timestep_end'
[]
[v_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = v
variable = v
from_multi_app = level1-
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
[]
(test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[power_density]
family = L2_LAGRANGE
order = FIRST
[]
[]
[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]
[pwr_avg]
type = ElementAverageValue
block = '0'
variable = power_density
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 = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = power_density
to_multi_app = sub
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
perf_graph = true
[]
(test/tests/transfers/multiapp_high_order_variable_transfer/master_L2_Lagrange_conservative.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[power_density]
family = L2_LAGRANGE
order = FIRST
[]
[]
[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]
[pwr_avg]
type = ElementAverageValue
block = '0'
variable = power_density
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
[]
[Postprocessors]
[./from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = power_density
[../]
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_L2_Lagrange_conservative.i
execute_on = 'timestep_end'
[]
[]
[Transfers]
[p_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = power_density
to_multi_app = sub
execute_on = 'timestep_end'
from_postprocessors_to_be_preserved = 'from_postprocessor'
to_postprocessors_to_be_preserved = 'pwr_density'
[]
[]
[Outputs]
exodus = true
perf_graph = true
[]
(test/tests/transfers/multiapp_mesh_function_transfer/tosub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[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]
positions = '.1 .1 0 0.6 0.6 0 0.6 0.1 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = tosub_sub.i
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
[]
[]
(test/tests/restart/restart_transient_from_steady/restart_trans_with_sub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Problem]
restart_file_base = steady_with_sub_out_cp/LATEST
skip_additional_restart_data = true
[]
[AuxVariables]
[Tf]
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2' # increase this function to drive transient
[]
[]
[Kernels]
[timedt]
type = TimeDerivative
variable = power_density
[]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[Postprocessors]
[pwr_avg]
type = ElementAverageValue
block = '0'
variable = power_density
execute_on = 'initial timestep_end'
[]
[temp_avg]
type = ElementAverageValue
variable = Tf
block = '0'
execute_on = 'initial timestep_end'
[]
[temp_max]
type = ElementExtremeValue
value_type = max
variable = Tf
block = '0'
execute_on = 'initial timestep_end'
[]
[temp_min]
type = ElementExtremeValue
value_type = min
variable = Tf
block = '0'
execute_on = 'initial timestep_end'
[]
[]
[Executioner]
type = Transient
start_time = 0
end_time = 3
dt = 1.0
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-7
fixed_point_rel_tol = 1e-7
fixed_point_abs_tol = 1e-07
fixed_point_max_its = 4
line_search = none
[]
[MultiApps]
[./sub]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = restart_trans_with_sub_sub.i
execute_on = 'timestep_end'
[../]
[]
[Transfers]
[p_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = power_density
to_multi_app = sub
execute_on = 'timestep_end'
[]
[t_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = temp
variable = Tf
from_multi_app = sub
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
[]
(tutorials/tutorial02_multiapps/step02_transfers/01_master_meshfunction.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[u]
[]
[]
[AuxVariables]
[tv]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[force]
type = BodyForce
variable = u
value = 1.
[]
[td]
type = TimeDerivative
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 0
[]
[]
[Executioner]
type = Transient
end_time = 2
dt = 0.2
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[MultiApps]
[sub_app]
type = TransientMultiApp
positions = '0 0 0'
input_files = '01_sub_meshfunction.i'
[]
[]
[Transfers]
[pull_v]
type = MultiAppMeshFunctionTransfer
# Transfer from the sub-app to this app
from_multi_app = sub_app
# The name of the variable in the sub-app
source_variable = v
# The name of the auxiliary variable in this app
variable = tv
[]
[push_u]
type = MultiAppMeshFunctionTransfer
# Transfer to the sub-app from this app
to_multi_app = sub_app
# The name of the variable in this app
source_variable = u
# The name of the auxiliary variable in the sub-app
variable = tu
[]
[]
(modules/external_petsc_solver/test/tests/external_petsc_problem/moose_as_master.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./v]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[./cf]
type = CoupledForce
coef = 10000
variable = u
v=v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 10
dt = 0.2
solve_type = 'PJFNK'
fixed_point_max_its = 10
fixed_point_rel_tol = 1e-8
fixed_point_abs_tol = 1e-9
nl_rel_tol = 1e-6
nl_abs_tol = 1e-12
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[Postprocessors]
[./picard_its]
type = NumFixedPointIterations
execute_on = 'initial timestep_end'
[../]
[]
[MultiApps]
[./sub_app]
type = TransientMultiApp
input_files = 'petsc_transient_as_sub.i'
app_type = ExternalPetscSolverApp
library_path = '../../../../external_petsc_solver/lib'
[../]
[]
[Transfers]
[./fromsub]
type = MultiAppMeshFunctionTransfer
from_multi_app = sub_app
source_variable = u
variable = v
[../]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/missing_master.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[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]
positions = '0.9 0.5 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = tosub_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
error_on_miss = true
[../]
[./elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
error_on_miss = true
[../]
[]
(test/tests/restart/restart_transient_from_steady/steady_with_sub.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[AuxVariables]
[Tf]
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[Postprocessors]
[pwr_avg]
type = ElementAverageValue
variable = power_density
execute_on = 'initial timestep_end'
[]
[temp_avg]
type = ElementAverageValue
variable = Tf
execute_on = 'initial final'
[]
[temp_max]
type = ElementExtremeValue
value_type = max
variable = Tf
execute_on = 'initial final'
[]
[temp_min]
type = ElementExtremeValue
value_type = min
variable = Tf
execute_on = 'initial final'
[]
[]
[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
fixed_point_rel_tol = 1E-7
fixed_point_abs_tol = 1.0e-07
fixed_point_max_its = 12
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = steady_with_sub_sub.i
execute_on = 'timestep_end'
[]
[]
[Transfers]
[p_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = power_density
to_multi_app = sub
execute_on = 'timestep_end'
[]
[t_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = temp
variable = Tf
from_multi_app = sub
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
checkpoint = true
execute_on = 'INITIAL TIMESTEP_END FINAL'
[]
(test/tests/transfers/multiapp_conservative_transfer/primary_skipped_adjuster.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[AuxVariables]
[var]
family = MONOMIAL
order = THIRD
[]
[]
[ICs]
[var_ic]
type = FunctionIC
variable = var
function = '-exp(x * y)'
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
input_files = secondary_negative_adjuster.i
execute_on = timestep_begin
[]
[]
[Postprocessors]
[from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = var
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = var
variable = var
to_multi_app = sub
from_postprocessors_to_be_preserved = 'from_postprocessor'
to_postprocessors_to_be_preserved = 'to_postprocessor'
allow_skipped_adjustment = true
[]
[]
[Outputs]
exodus = true
[]
(test/tests/transfers/multiapp_mesh_function_transfer/tosub_source_displaced.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
displacements = 'x_disp y_disp'
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./x_disp]
initial_condition = -0.1
[../]
[./y_disp]
initial_condition = -0.1
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[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]
positions = '.1 .1 0 0.6 0.6 0 0.6 0.1 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = tosub_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
#displaced_source_mesh = true
[../]
[./elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
#displaced_source_mesh = true
[../]
[]
(modules/external_petsc_solver/test/tests/partition/moose_as_master.i)
[Mesh]
[gmg]
type = DistributedRectilinearMeshGenerator
dim = 2
nx = 20
ny = 21
partition = square
[]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./v]
[../]
[pid]
family = MONOMIAL
order = CONSTANT
[]
[]
[AuxKernels]
[pid_aux]
type = ProcessorIDAux
variable = pid
execute_on = 'INITIAL'
[]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[./td]
type = TimeDerivative
variable = u
[../]
[./cf]
type = CoupledForce
coef = 10000
variable = u
v=v
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
num_steps = 10
dt = 0.2
solve_type = 'PJFNK'
fixed_point_max_its = 10
fixed_point_rel_tol = 1e-8
fixed_point_abs_tol = 1e-9
nl_rel_tol = 1e-6
nl_abs_tol = 1e-12
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
[Postprocessors]
[./picard_its]
type = NumFixedPointIterations
execute_on = 'initial timestep_end'
[../]
[]
[MultiApps]
[./sub_app]
type = TransientMultiApp
input_files = 'petsc_transient_as_sub.i'
app_type = ExternalPetscSolverApp
library_path = '../../../../external_petsc_solver/lib'
[../]
[]
[Transfers]
[./fromsub]
type = MultiAppMeshFunctionTransfer
from_multi_app = sub_app
source_variable = u
variable = v
[../]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/tosub_target_displaced.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[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]
positions = '.1 .1 0 0.6 0.6 0 0.6 0.1 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = tosub_sub.i
execute_on = timestep_end
[../]
[]
[Transfers]
[./to_sub]
source_variable = u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
displaced_target_mesh = true
[../]
[./elemental_to_sub]
source_variable = u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
to_multi_app = sub
displaced_target_mesh = true
[../]
[]
(test/tests/transfers/multiapp_conservative_transfer/master_conservative_transfer.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 20
ny = 20
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[./sub]
type = FullSolveMultiApp
input_files = sub_conservative_transfer.i
execute_on = timestep_end
[../]
[]
[Postprocessors]
[./from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = u
[../]
[]
[Transfers]
[./to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = u
variable = aux_u
to_multi_app = sub
from_postprocessors_to_be_preserved = 'from_postprocessor'
to_postprocessors_to_be_preserved = 'to_postprocessor'
[../]
[]
[Outputs]
exodus = true
[./console]
type = Console
execute_postprocessors_on = 'INITIAL nonlinear TIMESTEP_END'
[../]
[]
(test/tests/transfers/multiapp_conservative_transfer/master_nearest_point.i)
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 2
xmax = 1
ymax = 1
nx = 10
ny = 10
[]
[block1]
input = gen
type = SubdomainBoundingBoxGenerator
block_id = 1
bottom_left = '0.5 0 0'
top_right = '1 1 0'
[]
[]
[Variables]
[power_density]
[]
[]
[Functions]
[pwr_func]
type = ParsedFunction
value = '1e3*x*(1-x)+5e2'
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = power_density
[]
[coupledforce]
type = BodyForce
variable = power_density
function = pwr_func
[]
[]
[BCs]
[left]
type = DirichletBC
variable = power_density
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = power_density
boundary = right
value = 1e3
[]
[]
[AuxVariables]
[from_sub]
[]
[]
[VectorPostprocessors]
[from_nearest_point]
type = NearestPointIntegralVariablePostprocessor
variable = power_density
points = '0 0.5 0 1 0.5 0'
[]
[to_nearest_point]
type = NearestPointIntegralVariablePostprocessor
variable = from_sub
points = '0 0.5 0 1 0.5 0'
execute_on = 'transfer'
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
input_files = sub_nearest_point.i
positions = '0 0 0 0.5 0 0'
execute_on = timestep_end
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = power_density
variable = from_master
to_multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# 1 NearestPointIntegralVariablePostprocessor is specified on the master
# side with N points, where N is the number of subapps
# 1 pp is specified on the subapp side
from_postprocessors_to_be_preserved = 'from_nearest_point'
to_postprocessors_to_be_preserved = 'from_master_pp'
[]
[from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = sink
variable = from_sub
from_multi_app = sub
execute_on = timestep_end
# The following inputs specify what postprocessors should be conserved
# 1 NearestPointIntegralVariablePostprocessor is specified on the master
# with N points, where N is the number of subapps
# 1 pp is specified on the subapp side
to_postprocessors_to_be_preserved = 'to_nearest_point'
from_postprocessors_to_be_preserved = 'sink'
[]
[]
[Outputs]
csv = true
exodus = true
[]
(test/tests/transfers/multiapp_conservative_transfer/primary_negative_adjuster.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 1
ny = 1
[]
[Variables]
[u]
[]
[]
[Kernels]
[diff]
type = Diffusion
variable = u
[]
[]
[BCs]
[left]
type = DirichletBC
variable = u
boundary = left
value = 0
[]
[right]
type = DirichletBC
variable = u
boundary = right
value = 1
[]
[]
[AuxVariables]
[var]
family = MONOMIAL
order = THIRD
[]
[]
[ICs]
[var_ic]
type = FunctionIC
variable = var
function = '-exp(x * y)'
[]
[]
[Executioner]
type = Steady
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[MultiApps]
[sub]
type = FullSolveMultiApp
input_files = secondary_negative_adjuster.i
execute_on = timestep_end
[]
[]
[Postprocessors]
[from_postprocessor]
type = ElementIntegralVariablePostprocessor
variable = var
[]
[]
[Transfers]
[to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = var
variable = var
to_multi_app = sub
from_postprocessors_to_be_preserved = 'from_postprocessor'
to_postprocessors_to_be_preserved = 'to_postprocessor'
[]
[]
[Outputs]
exodus = true
[]
(test/tests/multiapps/picard_multilevel/2level_picard/sub_level1.i)
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
[]
[Variables]
[v]
[]
[]
[AuxVariables]
[u]
[]
[w]
[]
[]
[Kernels]
[time_derivative]
type = TimeDerivative
variable = v
[]
[diffusion]
type = Diffusion
variable = v
[]
[source]
type = CoupledForce
variable = v
v = u
[]
[]
[BCs]
[dirichlet0]
type = DirichletBC
variable = v
boundary = '0'
value = 0
[]
[dirichlet]
type = DirichletBC
variable = v
boundary = '2'
value = 100
[]
[]
[Postprocessors]
[avg_u]
type = ElementAverageValue
variable = u
execute_on = 'initial timestep_begin timestep_end'
[]
[avg_v]
type = ElementAverageValue
variable = v
execute_on = 'initial timestep_begin timestep_end'
[]
[avg_w]
type = ElementAverageValue
variable = w
execute_on = 'initial timestep_begin timestep_end'
[]
[]
[Executioner]
type = Transient
petsc_options_iname = '-pc_type -pc_hypre_type -ksp_gmres_restart '
petsc_options_value = 'hypre boomeramg 100'
end_time = 0.1
dt = 0.02
[]
[MultiApps]
[level2-]
type = TransientMultiApp
app_type = MooseTestApp
positions = '0 0 0'
input_files = sub_level2.i
execute_on = 'timestep_end'
[]
[]
[Transfers]
[v_to_sub]
type = MultiAppMeshFunctionTransfer
source_variable = v
variable = v
to_multi_app = level2-
execute_on = 'timestep_end'
[]
[w_from_sub]
type = MultiAppMeshFunctionTransfer
source_variable = w
variable = w
from_multi_app = level2-
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = true
perf_graph = true
[screen]
type = Console
execute_postprocessors_on= "timestep_end timestep_begin"
[]
[]
(test/tests/transfers/multiapp_mesh_function_transfer/fromsub_source_displaced.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./transferred_u]
[../]
[./elemental_transferred_u]
order = CONSTANT
family = MONOMIAL
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[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]
positions = '.099 .099 0 .599 .599 0 0.599 0.099 0'
type = TransientMultiApp
app_type = MooseTestApp
input_files = fromsub_sub.i
[../]
[]
[Transfers]
[./from_sub]
source_variable = sub_u
variable = transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
displaced_source_mesh = true
[../]
[./elemental_from_sub]
source_variable = sub_u
variable = elemental_transferred_u
type = MultiAppMeshFunctionTransfer
from_multi_app = sub
displaced_source_mesh = true
[../]
[]