- variableThe name of the variable that this residual object operates on
C++ Type:NonlinearVariableName
Description:The name of the variable that this residual object operates on
 
ODETimeDerivative
The ODETimeDerivative 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.
# ODETimeDerivative
!syntax description /ScalarKernels/ODETimeDerivative
## Overview
!! Replace these lines with information regarding the ODETimeDerivative object.
## Example Input File Syntax
!! Describe and include an example of how to use the ODETimeDerivative object.
!syntax parameters /ScalarKernels/ODETimeDerivative
!syntax inputs /ScalarKernels/ODETimeDerivative
!syntax children /ScalarKernels/ODETimeDerivative
Returns the time derivative contribution to the residual for a scalar variable.
Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
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.
 - implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Options:
Description:Determines whether this object is calculated using an implicit or explicit form
 - 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
- extra_matrix_tagsThe extra tags for the matrices this Kernel should fill
C++ Type:std::vector<TagName>
Options:
Description:The extra tags for the matrices this Kernel should fill
 - extra_vector_tagsThe extra tags for the vectors this Kernel should fill
C++ Type:std::vector<TagName>
Options:
Description:The extra tags for the vectors this Kernel should fill
 - matrix_tagssystem timeThe tag for the matrices this Kernel should fill
Default:system time
C++ Type:MultiMooseEnum
Options:nontime, system, time
Description:The tag for the matrices this Kernel should fill
 - vector_tagstimeThe tag for the vectors this Kernel should fill
Default:time
C++ Type:MultiMooseEnum
Options:nontime, time
Description:The tag for the vectors this Kernel should fill
 
Tagging Parameters
Input Files
- (test/tests/misc/check_error/scalar_kernel_with_var.i)
 - (test/tests/time_integrators/scalar/scalar.i)
 - (test/tests/time_integrators/scalar/stiff.i)
 - (test/tests/kernels/bad_scaling_scalar_kernels/ill_conditioned_field_scalar_system.i)
 - (test/tests/outputs/variables/output_vars_hidden_shown_check.i)
 - (test/tests/outputs/variables/output_vars_test.i)
 - (examples/ex18_scalar_kernel/ex18_parsed.i)
 - (test/tests/postprocessors/scalar_coupled_postprocessor/scalar_coupled_postprocessor_test.i)
 - (test/tests/tag/scalar_tag_vector.i)
 - (test/tests/outputs/variables/output_vars_nonexistent.i)
 - (test/tests/kernels/ode/ode_sys_impl_test.i)
 - (test/tests/controls/conditional_functional_enable/conditional_function_enable.i)
 - (test/tests/scalar_kernels/ad_coupled_scalar/ad_coupled_scalar.i)
 - (examples/ex18_scalar_kernel/ex18.i)
 - (test/tests/time_integrators/actually_explicit_euler_verification/ee-ode.i)
 - (test/tests/postprocessors/scalar_variable/scalar_variable_pps.i)
 - (test/tests/controls/time_periods/scalarkernels/scalarkernels.i)
 - (test/tests/ics/function_scalar_ic/function_scalar_ic.i)
 - (test/tests/kernels/ode/parsedode_sys_impl_test.i)
 - (test/tests/bcs/periodic/no_add_scalar.i)
 - (test/tests/kernels/ode/parsedode_pp_test.i)
 - (test/tests/time_integrators/explicit_ssp_runge_kutta/explicit_ssp_runge_kutta.i)
 
(test/tests/misc/check_error/scalar_kernel_with_var.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  nx = 2
  ny = 2
[]
[Variables]
  [./u]
    order = FIRST
    family = LAGRANGE
  [../]
[]
[AuxVariables]
  [./v]
  [../]
[]
[Kernels]
  [./diff]
    type = Diffusion
    variable = u
  [../]
  [./rea]
    type = Reaction
    variable = u
  [../]
[]
[ScalarKernels]
  [./nope]
    type = ODETimeDerivative
    variable = u
  [../]
[]
[BCs]
  [./left]
    type = DirichletBC
    variable = u
    boundary = 1
    value = 0
  [../]
  [./right]
    type = DirichletBC
    variable = u
    boundary = 2
    value = 1
  [../]
[]
[Executioner]
  type = Transient
  solve_type = 'NEWTON'
[]
[Outputs]
  file_base = out
  exodus = true
[]
(test/tests/time_integrators/scalar/scalar.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 1
  ny = 1
  elem_type = QUAD4
[]
[Variables]
  [./n]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
[]
[ScalarKernels]
  [./dn]
    type = ODETimeDerivative
    variable = n
  [../]
  [./ode1]
    type = ParsedODEKernel
    function = '-n'
    variable = n
    # implicit = false
  [../]
[]
[Executioner]
  type = Transient
  [./TimeIntegrator]
    # type = ImplicitEuler
    # type = BDF2
    type = CrankNicolson
    # type = ImplicitMidpoint
    # type = LStableDirk2
    # type = LStableDirk3
    # type = LStableDirk4
    # type = AStableDirk4
    #
    # Explicit methods
    # type = ExplicitEuler
    # type = ExplicitMidpoint
    # type = Heun
    # type = Ralston
  [../]
  start_time = 0
  end_time = 1
  dt = 0.001
  dtmin = 0.001 # Don't allow timestep cutting
  solve_type = 'PJFNK'
  nl_max_its = 2
  nl_abs_tol = 1.e-12 # This is an ODE, so nl_abs_tol makes sense.
[]
[Functions]
  [./exact_solution]
    type = ParsedFunction
    value = exp(t)
  [../]
[]
[Postprocessors]
  [./error_n]
    # Post processor that computes the difference between the computed
    # and exact solutions.  For the exact solution used here, the
    # error at the final time should converge at O(dt^p), where p is
    # the order of the method.
    type = ScalarL2Error
    variable = n
    function = exact_solution
    # final is not currently supported for Postprocessor execute_on...
    # execute_on = 'final'
  [../]
[]
[Outputs]
  csv = true
[]
(test/tests/time_integrators/scalar/stiff.i)
# This is a linear model problem described in Frank et al, "Order
# results for implicit Runge-Kutta methods applied to stiff systems",
# SIAM J. Numerical Analysis, vol. 22, no. 3, 1985, pp. 515-534.
#
# Problems "PL" and "PNL" from page 527 of the paper:
# { dy1/dt = lambda*y1 + y2**p, y1(0) = -1/(lambda+p)
# { dy2/dt = -y2,               y2(0) = 1
#
# The exact solution is:
# y1 = -exp(-p*t)/(lambda+p)
# y2 = exp(-t)
#
# According to the following paragraph from the reference above, the
# p=1 version of this problem should not exhibit order reductions
# regardless of stiffness, while the nonlinear version (p>=2) will
# exhibit order reductions down to the "stage order" of the method for
# lambda large, negative.
# Use Dollar Bracket Expressions (DBEs) to set the value of LAMBDA in
# a single place.  You can also set this on the command line with
# e.g. LAMBDA=-4, but note that this does not seem to override the
# value set in the input file.  This is a bit different from the way
# that command line values normally work...
# Note that LAMBDA == Y2_EXPONENT is not allowed!
# LAMBDA = -10
# Y2_EXPONENT = 2
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 1
  ny = 1
  elem_type = QUAD4
[]
[Variables]
  [./y1]
    family = SCALAR
    order = FIRST
  [../]
  [./y2]
    family = SCALAR
    order = FIRST
  [../]
[]
[ICs]
  [./y1_init]
    type = FunctionScalarIC
    variable = y1
    function = y1_exact
  [../]
  [./y2_init]
    type = FunctionScalarIC
    variable = y2
    function = y2_exact
  [../]
[]
[ScalarKernels]
  [./y1_time]
    type = ODETimeDerivative
    variable = y1
  [../]
  [./y1_space]
    type = ParsedODEKernel
    variable = y1
    function = '-(${LAMBDA})*y1 - y2^${Y2_EXPONENT}'
    args = 'y2'
  [../]
  [./y2_time]
    type = ODETimeDerivative
    variable = y2
  [../]
  [./y2_space]
    type = ParsedODEKernel
    variable = y2
    function = 'y2'
  [../]
[]
[Executioner]
  type = Transient
  [./TimeIntegrator]
    type = LStableDirk2
  [../]
  start_time = 0
  end_time = 1
  dt = 0.125
  solve_type = 'PJFNK'
  nl_max_its = 6
  nl_abs_tol = 1.e-13
  nl_rel_tol = 1.e-32 # Force nl_abs_tol to be used.
  line_search = 'none'
[]
[Functions]
  [./y1_exact]
    type = ParsedFunction
    value = '-exp(-${Y2_EXPONENT}*t)/(lambda+${Y2_EXPONENT})'
    vars = 'lambda'
    vals = ${LAMBDA}
  [../]
  [./y2_exact]
    type = ParsedFunction
    value = exp(-t)
  [../]
[]
[Postprocessors]
  [./error_y1]
    type = ScalarL2Error
    variable = y1
    function = y1_exact
    execute_on = 'initial timestep_end'
  [../]
  [./error_y2]
    type = ScalarL2Error
    variable = y2
    function = y2_exact
    execute_on = 'initial timestep_end'
  [../]
  [./max_error_y1]
    # Estimate ||e_1||_{\infty}
    type = TimeExtremeValue
    value_type = max
    postprocessor = error_y1
    execute_on = 'initial timestep_end'
  [../]
  [./max_error_y2]
    # Estimate ||e_2||_{\infty}
    type = TimeExtremeValue
    value_type = max
    postprocessor = error_y2
    execute_on = 'initial timestep_end'
  [../]
  [./value_y1]
    type = ScalarVariable
    variable = y1
    execute_on = 'initial timestep_end'
  [../]
  [./value_y2]
    type = ScalarVariable
    variable = y2
    execute_on = 'initial timestep_end'
  [../]
  [./value_y1_abs_max]
    type = TimeExtremeValue
    value_type = abs_max
    postprocessor = value_y1
    execute_on = 'initial timestep_end'
  [../]
  [./value_y2_abs_max]
    type = TimeExtremeValue
    value_type = abs_max
    postprocessor = value_y2
    execute_on = 'initial timestep_end'
  [../]
[]
[Outputs]
  csv = true
[]
(test/tests/kernels/bad_scaling_scalar_kernels/ill_conditioned_field_scalar_system.i)
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 2
[]
[Variables]
  [./u]
  [../]
  [v]
    family = SCALAR
    initial_condition = 1
  []
[]
[Kernels]
  [./diff]
    type = Diffusion
    variable = u
  [../]
  [scalar]
    type = ScalarLagrangeMultiplier
    variable = u
    lambda = v
  []
[]
[BCs]
  [./left]
    type = DirichletBC
    variable = u
    boundary = left
    value = 0
  [../]
  [./right]
    type = DirichletBC
    variable = u
    boundary = right
    value = 1
  [../]
[]
[ScalarKernels]
  [reaction]
    type = ParsedODEKernel
    function = '10^20 * v'
    variable = v
  []
  [time]
    type = ODETimeDerivative
    variable = v
  []
[]
[Executioner]
  type = Transient
  num_steps = 1
  dtmin = 1
  solve_type = NEWTON
  petsc_options = '-pc_svd_monitor -ksp_view_pmat -snes_converged_reason -ksp_converged_reason'
  petsc_options_iname = '-pc_type -snes_stol'
  petsc_options_value = 'svd      0'
[]
[Outputs]
  exodus = true
[]
(test/tests/outputs/variables/output_vars_hidden_shown_check.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 10
  ny = 10
  elem_type = QUAD9
[]
[Variables]
  [./u]
    order = FIRST
    family = LAGRANGE
  [../]
  [./v]
    order = SECOND
    family = LAGRANGE
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[AuxVariables]
  [./elemental]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./elemental_restricted]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./nodal]
    order = FIRST
    family = LAGRANGE
  [../]
  [./nodal_restricted]
    order = FIRST
    family = LAGRANGE
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = u
  [../]
  [./diff_u]
    type = Diffusion
    variable = u
  [../]
  [./conv_u]
    type = CoupledForce
    variable = u
    v = v
  [../]
  [./diff_v]
    type = Diffusion
    variable = v
  [../]
[]
[AuxKernels]
  [./elemental]
    type = ConstantAux
    variable = elemental
    value = 1
  [../]
  [./elemental_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 1
  [../]
  [./nodal]
    type = ConstantAux
    variable = elemental
    value = 2
  [../]
  [./nodal_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 2
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ImplicitODEx
    variable = x
    y = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ImplicitODEy
    variable = y
    x = x
  [../]
[]
[BCs]
  active = 'left_u right_u left_v'
  [./left_u]
    type = DirichletBC
    variable = u
    boundary = 1
    value = 1
  [../]
  [./right_u]
    type = DirichletBC
    variable = u
    boundary = 3
    value = 9
  [../]
  [./left_v]
    type = DirichletBC
    variable = v
    boundary = 1
    value = 5
  [../]
  [./right_v]
    type = DirichletBC
    variable = v
    boundary = 2
    value = 2
  [../]
[]
[Postprocessors]
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = timestep_end
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = timestep_end
  [../]
[]
[Executioner]
  type = Transient
  solve_type = 'PJFNK'
  dt = 0.01
  num_steps = 10
[]
[Outputs]
  file_base = out_hidden
  exodus = true
  hide = 'u elemental nodal x'
  show = u
[]
(test/tests/outputs/variables/output_vars_test.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 10
  ny = 10
  elem_type = QUAD9
[]
[Variables]
  [./u]
    order = FIRST
    family = LAGRANGE
  [../]
  [./v]
    order = SECOND
    family = LAGRANGE
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[AuxVariables]
  [./elemental]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./elemental_restricted]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./nodal]
    order = FIRST
    family = LAGRANGE
  [../]
  [./nodal_restricted]
    order = FIRST
    family = LAGRANGE
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = u
  [../]
  [./diff_u]
    type = Diffusion
    variable = u
  [../]
  [./conv_u]
    type = CoupledForce
    variable = u
    v = v
  [../]
  [./diff_v]
    type = Diffusion
    variable = v
  [../]
[]
[AuxKernels]
  [./elemental]
    type = ConstantAux
    variable = elemental
    value = 1
  [../]
  [./elemental_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 1
  [../]
  [./nodal]
    type = ConstantAux
    variable = elemental
    value = 2
  [../]
  [./nodal_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 2
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ImplicitODEx
    variable = x
    y = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ImplicitODEy
    variable = y
    x = x
  [../]
[]
[BCs]
  active = 'left_u right_u left_v'
  [./left_u]
    type = DirichletBC
    variable = u
    boundary = 1
    value = 1
  [../]
  [./right_u]
    type = DirichletBC
    variable = u
    boundary = 3
    value = 9
  [../]
  [./left_v]
    type = DirichletBC
    variable = v
    boundary = 1
    value = 5
  [../]
  [./right_v]
    type = DirichletBC
    variable = v
    boundary = 2
    value = 2
  [../]
[]
[Postprocessors]
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = 'initial timestep_end'
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = 'initial timestep_end'
  [../]
[]
[Executioner]
  type = Transient
  solve_type = 'PJFNK'
  dt = 0.01
  num_steps = 1
[]
[Outputs]
  show = 'x u nodal elemental'
  [./out]
    type = Exodus
    elemental_as_nodal = true
    scalar_as_nodal = true
  [../]
[]
(examples/ex18_scalar_kernel/ex18_parsed.i)
#
# Example 18 modified to use parsed ODE kernels.
#
# The ParsedODEKernel takes function expressions in the input file and computes
# Jacobian entries via automatic differentiation. It allows for rapid development
# of new models without the need for code recompilation.
#
# This input file should produce the exact same result as ex18.i
#
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 10
  ny = 10
  elem_type = QUAD4
[]
[Functions]
  # ODEs
  [./exact_x_fn]
    type = ParsedFunction
    value = (-1/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
  [./exact_y_fn]
    type = ParsedFunction
    value = (2/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
[]
[Variables]
  [./diffused]
    order = FIRST
    family = LAGRANGE
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = diffused
  [../]
  [./diff]
    type = Diffusion
    variable = diffused
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  #
  # This parsed expression ODE Kernel behaves exactly as the ImplicitODEx kernel
  # in the main example. Checkout ImplicitODEx::computeQpResidual() in the
  # source code file ImplicitODEx.C to see the matching residual function.
  #
  # The ParsedODEKernel automaticaly generates the On- and Off-Diagonal Jacobian
  # entries.
  #
  [./ode1]
    type = ParsedODEKernel
    function = '-3*x - 2*y'
    variable = x
    args = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  #
  # This parsed expression ODE Kernel behaves exactly as the ImplicitODEy Kernel
  # in the main example.
  #
  [./ode2]
    type = ParsedODEKernel
    function = '-4*x - y'
    variable = y
    args = x
  [../]
[]
[BCs]
  [./right]
    type = ScalarDirichletBC
    variable = diffused
    boundary = 1
    scalar_var = x
  [../]
  [./left]
    type = ScalarDirichletBC
    variable = diffused
    boundary = 3
    scalar_var = y
  [../]
[]
[Postprocessors]
  # to print the values of x, y into a file so we can plot it
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = timestep_end
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = timestep_end
  [../]
  [./exact_x]
    type = FunctionValuePostprocessor
    function = exact_x_fn
    execute_on = timestep_end
  [../]
  [./exact_y]
    type = FunctionValuePostprocessor
    function = exact_y_fn
    execute_on = timestep_end
    point = '0 0 0'
  [../]
  # Measure the error in ODE solution for 'x'.
  [./l2err_x]
    type = ScalarL2Error
    variable = x
    function = exact_x_fn
  [../]
  # Measure the error in ODE solution for 'y'.
  [./l2err_y]
    type = ScalarL2Error
    variable = y
    function = exact_y_fn
  [../]
[]
[Executioner]
  type = Transient
  start_time = 0
  dt = 0.01
  num_steps = 10
  solve_type = 'PJFNK'
[]
[Outputs]
  file_base = 'ex18_out'
  exodus = true
[]
(test/tests/postprocessors/scalar_coupled_postprocessor/scalar_coupled_postprocessor_test.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  nx = 5
  ny = 5
  xmax = 1
  ymax = 1
  elem_type = QUAD4
[]
[Variables]
  [./u]
    initial_condition = 1
  [../]
  [./scalar_variable]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[Kernels]
  [./diff]
    type = Diffusion
    variable = u
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = scalar_variable
  [../]
[]
[BCs]
  [./leftDirichlet]
      type = DirichletBC
      variable = u
      boundary = 'left'
      value = 1
  [../]
  [./rightDirichlet]
      type = DirichletBC
      variable = u
      boundary = 'right'
      value = 0
  [../]
[]
[Postprocessors]
  [./totalFlux]
    type = ScalarCoupledPostprocessor
    variable = u
    coupled_scalar = scalar_variable
    boundary = left
  [../]
[]
[Executioner]
  type = Transient
  dt = 1
  num_steps = 1
  solve_type = JFNK
  l_max_its = 30
  l_tol = 1e-6
  nl_max_its = 20
  nl_rel_tol = 1e-5
[]
[Outputs]
  csv = true
[]
(test/tests/tag/scalar_tag_vector.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 1
  ny = 1
  elem_type = QUAD4
[]
[Variables]
  [./n]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
[]
[AuxVariables]
  [./tag_vector_var1]
    family = SCALAR
    order = FIRST
  [../]
  [./tag_vector_var2]
    family = SCALAR
    order = FIRST
  [../]
  [./tag_matrix_var2]
    family = SCALAR
    order = FIRST
  [../]
[]
[ScalarKernels]
  [./dn]
    type = ODETimeDerivative
    variable = n
    extra_matrix_tags = 'mat_tag1 mat_tag2'
    extra_vector_tags = 'vec_tag1'
  [../]
  [./ode1]
    type = ParsedODEKernel
    function = '-n'
    variable = n
    extra_matrix_tags = 'mat_tag1'
    extra_vector_tags = 'vec_tag1'
  [../]
  [./ode2]
    type = ParsedODEKernel
    function = '-n'
    variable = n
    vector_tags = 'vec_tag2'
    matrix_tags = 'mat_tag2'
  [../]
[]
[AuxScalarKernels]
  [./TagVectorAux]
    type = ScalarTagVectorAux
    variable = tag_vector_var1
    v = n
    vector_tag  = vec_tag1
    execute_on = timestep_end
  [../]
  [./TagVectorAux2]
    type = ScalarTagVectorAux
    variable = tag_vector_var2
    v = n
    vector_tag  = vec_tag2
    execute_on = timestep_end
  [../]
  [./TagMatrixAux2]
    type = ScalarTagMatrixAux
    variable = tag_matrix_var2
    v = n
    matrix_tag  = mat_tag2
    execute_on = timestep_end
  [../]
[]
[Problem]
  type = TagTestProblem
  test_tag_vectors =  'time nontime residual vec_tag1 vec_tag2'
  test_tag_matrices = 'mat_tag1 mat_tag2'
  extra_tag_matrices = 'mat_tag1 mat_tag2'
  extra_tag_vectors  = 'vec_tag1 vec_tag2'
[]
[Executioner]
  type = Transient
  start_time = 0
  num_steps = 10
  dt = 0.001
  dtmin = 0.001 # Don't allow timestep cutting
  solve_type = NEWTON
  nl_max_its = 2
  nl_abs_tol = 1.e-12 # This is an ODE, so nl_abs_tol makes sense.
[]
[Functions]
  [./exact_solution]
    type = ParsedFunction
    value = exp(t)
  [../]
[]
[Postprocessors]
  [./error_n]
    # Post processor that computes the difference between the computed
    # and exact solutions.  For the exact solution used here, the
    # error at the final time should converge at O(dt^p), where p is
    # the order of the method.
    type = ScalarL2Error
    variable = n
    function = exact_solution
    # final is not currently supported for Postprocessor execute_on...
    # execute_on = 'final'
  [../]
[]
[Outputs]
  csv = true
[]
(test/tests/outputs/variables/output_vars_nonexistent.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 10
  ny = 10
  elem_type = QUAD9
[]
[Variables]
  [./u]
    order = FIRST
    family = LAGRANGE
  [../]
  [./v]
    order = SECOND
    family = LAGRANGE
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[AuxVariables]
  [./elemental]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./elemental_restricted]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./nodal]
    order = FIRST
    family = LAGRANGE
  [../]
  [./nodal_restricted]
    order = FIRST
    family = LAGRANGE
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = u
  [../]
  [./diff_u]
    type = Diffusion
    variable = u
  [../]
  [./conv_u]
    type = CoupledForce
    variable = u
    v = v
  [../]
  [./diff_v]
    type = Diffusion
    variable = v
  [../]
[]
[AuxKernels]
  [./elemental]
    type = ConstantAux
    variable = elemental
    value = 1
  [../]
  [./elemental_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 1
  [../]
  [./nodal]
    type = ConstantAux
    variable = elemental
    value = 2
  [../]
  [./nodal_restricted]
    type = ConstantAux
    variable = elemental_restricted
    value = 2
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ImplicitODEx
    variable = x
    y = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ImplicitODEy
    variable = y
    x = x
  [../]
[]
[BCs]
  active = 'left_u right_u left_v'
  [./left_u]
    type = DirichletBC
    variable = u
    boundary = 1
    value = 1
  [../]
  [./right_u]
    type = DirichletBC
    variable = u
    boundary = 3
    value = 9
  [../]
  [./left_v]
    type = DirichletBC
    variable = v
    boundary = 1
    value = 5
  [../]
  [./right_v]
    type = DirichletBC
    variable = v
    boundary = 2
    value = 2
  [../]
[]
[Postprocessors]
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = timestep_end
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = timestep_end
  [../]
[]
[Executioner]
  type = Transient
  solve_type = 'PJFNK'
  dt = 0.01
  num_steps = 10
[]
[Outputs]
  file_base = out_nonexistent
  exodus = true
  show = 'u elemental nodal x foo1 foo2'
[]
(test/tests/kernels/ode/ode_sys_impl_test.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 2
  ny = 2
  elem_type = QUAD4
[]
[Functions]
  [./f_fn]
    type = ParsedFunction
    value = -4
  [../]
  [./bc_all_fn]
    type = ParsedFunction
    value = x*x+y*y
  [../]
  # ODEs
  [./exact_x_fn]
    type = ParsedFunction
    value = (-1/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
[]
# NL
[Variables]
  [./u]
    family = LAGRANGE
    order = FIRST
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = u
  [../]
  [./diff]
    type = Diffusion
    variable = u
  [../]
  [./uff]
    type = BodyForce
    variable = u
    function = f_fn
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ImplicitODEx
    variable = x
    y = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ImplicitODEy
    variable = y
    x = x
  [../]
[]
[BCs]
  [./all]
    type = FunctionDirichletBC
    variable = u
    boundary = '0 1 2 3'
    function = bc_all_fn
  [../]
[]
[Postprocessors]
  active = 'exact_x l2err_x x y'
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = 'initial timestep_end'
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = 'initial timestep_end'
  [../]
  [./exact_x]
    type = FunctionValuePostprocessor
    function = exact_x_fn
    execute_on = 'initial timestep_end'
    point = '0 0 0'
  [../]
  [./l2err_x]
    type = ScalarL2Error
    variable = x
    function = exact_x_fn
    execute_on = 'initial timestep_end'
  [../]
[]
[Executioner]
  type = Transient
  start_time = 0
  dt = 0.01
  num_steps = 100
  solve_type = 'PJFNK'
[]
[Outputs]
  exodus = true
[]
(test/tests/controls/conditional_functional_enable/conditional_function_enable.i)
# This tests controllability of the enable parameter of a MOOSE object via a
# conditional function.
#
# There are 2 scalar variables, {u, v}, with the ODEs:
#   du/dt = 1    u(0) = 0
#   v = u        v(0) = -10
# A control switches the ODE 'v = u' to the following ODE when u >= 1.99:
#   dv/dt = 2
#
# 5 time steps (of size dt = 1) will be taken, and the predicted values are as follows:
#      t     u     v
# ------------------
#      0     0   -10
#      1     1     1
#      2     2     2
#      3     3     4
#      4     4     6
#      5     5     8
u_initial = 0
u_growth = 1
u_threshold = 1.99
v_initial = -10
v_growth = 2
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 10
[]
[Variables]
  [./u]
    family = SCALAR
    order = FIRST
  [../]
  [./v]
    family = SCALAR
    order = FIRST
  [../]
[]
[ICs]
  [./u_ic]
    type = ScalarConstantIC
    variable = u
    value = ${u_initial}
  [../]
  [./v_ic]
    type = ScalarConstantIC
    variable = v
    value = ${v_initial}
  [../]
[]
[ScalarKernels]
  [./u_time]
    type = ODETimeDerivative
    variable = u
  [../]
  [./u_src]
    type = ParsedODEKernel
    variable = u
    function = '-${u_growth}'
  [../]
  [./v_time]
    type = ODETimeDerivative
    variable = v
    enable = false
  [../]
  [./v_src]
    type = ParsedODEKernel
    variable = v
    function = '-${v_growth}'
    enable = false
  [../]
  [./v_constraint]
    type = ParsedODEKernel
    variable = v
    args = 'u'
    function = 'v - u'
  [../]
[]
[Functions]
  [./conditional_function]
    type = ParsedFunction
    vars = 'u_sol'
    vals = 'u'
    value = 'u_sol >= ${u_threshold}'
  [../]
[]
[Controls]
  [./u_threshold]
    type = ConditionalFunctionEnableControl
    conditional_function = conditional_function
    enable_objects = 'ScalarKernel::v_time ScalarKernel::v_src'
    disable_objects = 'ScalarKernel::v_constraint'
    execute_on = 'INITIAL TIMESTEP_END'
  [../]
[]
[Executioner]
  type = Transient
  scheme = implicit-euler
  dt = 1
  num_steps = 5
  abort_on_solve_fail = true
  nl_rel_tol = 1e-8
  nl_abs_tol = 1e-8
[]
[Outputs]
  csv = true
[]
(test/tests/scalar_kernels/ad_coupled_scalar/ad_coupled_scalar.i)
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 10
[]
[Kernels]
  [diff]
    type = Diffusion
    variable = u
  []
  [time]
    type = TimeDerivative
    variable = u
  []
[]
[ScalarKernels]
  [time]
    type = ODETimeDerivative
    variable = v
  []
  [flux_sink]
    type = PostprocessorSinkScalarKernel
    variable = v
    postprocessor = scale_flux
  []
[]
[BCs]
  [right]
    type = DirichletBC
    value = 0
    variable = u
    boundary = 'right'
  []
  [left]
    type = ADMatchedScalarValueBC
    variable = u
    v = v
    boundary = 'left'
  []
[]
[Variables]
  [u][]
  [v]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  []
[]
[Postprocessors]
  [flux]
    type = SideFluxIntegral
    variable = u
    diffusivity = 1
    boundary = 'left'
    execute_on = 'initial nonlinear linear timestep_end'
  []
  [scale_flux]
    type = ScalePostprocessor
    scaling_factor = -1
    value = flux
    execute_on = 'initial nonlinear linear timestep_end'
  []
[]
[Executioner]
  type = Transient
  dt = .1
  end_time = 1
  solve_type = PJFNK
  nl_rel_tol = 1e-12
[]
[Outputs]
  exodus = true
[]
(examples/ex18_scalar_kernel/ex18.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 10
  ny = 10
  elem_type = QUAD4
[]
[Functions]
  # ODEs
  [./exact_x_fn]
    type = ParsedFunction
    value = (-1/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
  [./exact_y_fn]
    type = ParsedFunction
    value = (2/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
[]
[Variables]
  [./diffused]
    order = FIRST
    family = LAGRANGE
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = diffused
  [../]
  [./diff]
    type = Diffusion
    variable = diffused
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ImplicitODEx
    variable = x
    y = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ImplicitODEy
    variable = y
    x = x
  [../]
[]
[BCs]
  [./right]
    type = ScalarDirichletBC
    variable = diffused
    boundary = 1
    scalar_var = x
  [../]
  [./left]
    type = ScalarDirichletBC
    variable = diffused
    boundary = 3
    scalar_var = y
  [../]
[]
[Postprocessors]
  # to print the values of x, y into a file so we can plot it
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = timestep_end
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = timestep_end
  [../]
  [./exact_x]
    type = FunctionValuePostprocessor
    function = exact_x_fn
    execute_on = timestep_end
    point = '0 0 0'
  [../]
  [./exact_y]
    type = FunctionValuePostprocessor
    function = exact_y_fn
    execute_on = timestep_end
    point = '0 0 0'
  [../]
  # Measure the error in ODE solution for 'x'.
  [./l2err_x]
    type = ScalarL2Error
    variable = x
    function = exact_x_fn
  [../]
  # Measure the error in ODE solution for 'y'.
  [./l2err_y]
    type = ScalarL2Error
    variable = y
    function = exact_y_fn
  [../]
[]
[Executioner]
  type = Transient
  start_time = 0
  dt = 0.01
  num_steps = 10
  #Preconditioned JFNK (default)
  solve_type = 'PJFNK'
[]
[Outputs]
  exodus = true
[]
(test/tests/time_integrators/actually_explicit_euler_verification/ee-ode.i)
# Tests that ActuallyExplicitEuler works with scalar variables.
#
# The ODE and IC used are the following:
#   du/dt = 2,       u(0) = 0
# Thus the solution is u(t) = 2*t.
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 1
[]
[Variables]
  [./u]
    family = SCALAR
    order = FIRST
    initial_condition = 0
  [../]
[]
[ScalarKernels]
  [./time]
    type = ODETimeDerivative
    variable = u
  [../]
  [./source]
    type = ParsedODEKernel
    variable = u
    function = -2
  [../]
[]
[Executioner]
  type = Transient
  [./TimeIntegrator]
    type = ActuallyExplicitEuler
  [../]
  dt = 1
  num_steps = 5
[]
[Outputs]
  csv = true
[]
(test/tests/postprocessors/scalar_variable/scalar_variable_pps.i)
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 10
[]
[Kernels]
  [diff]
    type = Diffusion
    variable = u
  []
  [time]
    type = TimeDerivative
    variable = u
  []
[]
[ScalarKernels]
  [time]
    type = ODETimeDerivative
    variable = v
  []
  [flux_sink]
    type = PostprocessorSinkScalarKernel
    variable = v
    postprocessor = scale_flux
  []
[]
[BCs]
  [right]
    type = DirichletBC
    value = 0
    variable = u
    boundary = 'right'
  []
  [left]
    type = ADMatchedScalarValueBC
    variable = u
    v = v
    boundary = 'left'
  []
[]
[Variables]
  [u][]
  [v]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  []
[]
[Postprocessors]
  [flux]
    type = SideFluxIntegral
    variable = u
    diffusivity = 1
    boundary = 'left'
    execute_on = 'initial nonlinear linear timestep_end'
  []
  [scale_flux]
    type = ScalePostprocessor
    scaling_factor = -1
    value = flux
    execute_on = 'initial nonlinear linear timestep_end'
  []
  [reporter]
    type = ScalarVariable
    variable = v
    execute_on = 'initial timestep_end'
  []
[]
[Executioner]
  type = Transient
  dt = .1
  end_time = 1
  solve_type = PJFNK
  nl_rel_tol = 1e-12
[]
[Outputs]
  csv = true
[]
(test/tests/controls/time_periods/scalarkernels/scalarkernels.i)
# This tests controllability of the enable parameter of scalar kernels.
#
# There are 2 scalar variables, {u, v}, with the ODEs:
#   du/dt = 1    u(0) = 0
#   v = u        v(0) = -10
# A control switches the ODE 'v = u' to the following ODE when t >= 2:
#   dv/dt = 2
#
# 5 time steps (of size dt = 1) will be taken, and the predicted values are as follows:
#      t     u     v
# ------------------
#      0     0   -10
#      1     1     1
#      2     2     2
#      3     3     4
#      4     4     6
#      5     5     8
u_initial = 0
u_growth = 1
v_initial = -10
v_growth = 2
t_transition = 2
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 10
[]
[Variables]
  [./u]
    family = SCALAR
    order = FIRST
  [../]
  [./v]
    family = SCALAR
    order = FIRST
  [../]
[]
[ICs]
  [./u_ic]
    type = ScalarConstantIC
    variable = u
    value = ${u_initial}
  [../]
  [./v_ic]
    type = ScalarConstantIC
    variable = v
    value = ${v_initial}
  [../]
[]
[ScalarKernels]
  [./u_time]
    type = ODETimeDerivative
    variable = u
  [../]
  [./u_src]
    type = ParsedODEKernel
    variable = u
    function = '-${u_growth}'
  [../]
  [./v_time]
    type = ODETimeDerivative
    variable = v
    enable = false
  [../]
  [./v_src]
    type = ParsedODEKernel
    variable = v
    function = '-${v_growth}'
    enable = false
  [../]
  [./v_constraint]
    type = ParsedODEKernel
    variable = v
    args = 'u'
    function = 'v - u'
  [../]
[]
[Controls]
  [./time_period_control]
    type = TimePeriod
    end_time = ${t_transition}
    enable_objects = 'ScalarKernel::v_constraint'
    disable_objects = 'ScalarKernel::v_time ScalarKernel::v_src'
    execute_on = 'INITIAL TIMESTEP_END'
  [../]
[]
[Executioner]
  type = Transient
  scheme = implicit-euler
  dt = 1
  num_steps = 5
  abort_on_solve_fail = true
  nl_rel_tol = 1e-8
  nl_abs_tol = 1e-8
[]
[Outputs]
  csv = true
[]
(test/tests/ics/function_scalar_ic/function_scalar_ic.i)
[Mesh]
  # a dummy mesh
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 1
  ny = 1
  elem_type = QUAD4
[]
[Variables]
  [./n]
    family = SCALAR
    order = FIRST
  [../]
[]
[Functions]
  [./f]
    type = ParsedFunction
    value = cos(t)
  [../]
[]
[ICs]
  [./f]
    type = FunctionScalarIC
    variable = n
    function = f
  [../]
[]
[ScalarKernels]
  [./dn]
    type = ODETimeDerivative
    variable = n
  [../]
  [./ode1]
    type = ParsedODEKernel
    function = '-n'
    variable = n
  [../]
[]
[Executioner]
  type = Transient
  start_time = 0
  end_time = 1
  dt = 0.01
  scheme = bdf2
  solve_type = 'PJFNK'
  timestep_tolerance = 1e-12
[]
[Outputs]
  csv = true
[]
(test/tests/kernels/ode/parsedode_sys_impl_test.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 2
  ny = 2
  elem_type = QUAD4
[]
[Functions]
  [./f_fn]
    type = ParsedFunction
    value = -4
  [../]
  [./bc_all_fn]
    type = ParsedFunction
    value = x*x+y*y
  [../]
  # ODEs
  [./exact_x_fn]
    type = ParsedFunction
    value = (-1/3)*exp(-t)+(4/3)*exp(5*t)
  [../]
[]
# NL
[Variables]
  [./u]
    family = LAGRANGE
    order = FIRST
  [../]
  # ODE variables
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
  [./y]
    family = SCALAR
    order = FIRST
    initial_condition = 2
  [../]
[]
[Kernels]
  [./td]
    type = TimeDerivative
    variable = u
  [../]
  [./diff]
    type = Diffusion
    variable = u
  [../]
  [./uff]
    type = BodyForce
    variable = u
    function = f_fn
  [../]
[]
[ScalarKernels]
  [./td1]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ParsedODEKernel
    function = '-3*x - 2*y'
    variable = x
    args = y
  [../]
  [./td2]
    type = ODETimeDerivative
    variable = y
  [../]
  [./ode2]
    type = ParsedODEKernel
    function = '-4*x - y'
    variable = y
    args = x
  [../]
[]
[BCs]
  [./all]
    type = FunctionDirichletBC
    variable = u
    boundary = '0 1 2 3'
    function = bc_all_fn
  [../]
[]
[Postprocessors]
  active = 'exact_x l2err_x x y'
  [./x]
    type = ScalarVariable
    variable = x
    execute_on = 'initial timestep_end'
  [../]
  [./y]
    type = ScalarVariable
    variable = y
    execute_on = 'initial timestep_end'
  [../]
  [./exact_x]
    type = FunctionValuePostprocessor
    function = exact_x_fn
    execute_on = 'initial timestep_end'
    point = '0 0 0'
  [../]
  [./l2err_x]
    type = ScalarL2Error
    variable = x
    function = exact_x_fn
    execute_on = 'initial timestep_end'
  [../]
[]
[Executioner]
  type = Transient
  start_time = 0
  dt = 0.01
  num_steps = 100
  solve_type = 'PJFNK'
[]
[Outputs]
  file_base = ode_sys_impl_test_out
  exodus = true
[]
(test/tests/bcs/periodic/no_add_scalar.i)
# Test to make sure that periodic boundaries
# are not applied to scalar variables.
[Mesh]
  type = GeneratedMesh
  dim = 1
  nx = 20
[]
[Variables]
  [./c]
    [./InitialCondition]
      type = FunctionIC
      function = x
    [../]
  [../]
  [./scalar]
    family = SCALAR
  [../]
[]
[BCs]
  [./Periodic]
    [./all]
      auto_direction = x
    [../]
  [../]
[]
[Kernels]
  [./dt]
    type = TimeDerivative
    variable = c
  [../]
  [./diff]
    type = Diffusion
    variable = c
  [../]
[]
[ScalarKernels]
  [./scalar]
    type = ODETimeDerivative
    variable = scalar
  [../]
[]
[Executioner]
  type = Transient
  dt = 0.1
  num_steps = 3
[]
[Outputs]
  exodus = true
[]
(test/tests/kernels/ode/parsedode_pp_test.i)
[Mesh]
  type = GeneratedMesh
  dim = 2
  xmin = 0
  xmax = 1
  ymin = 0
  ymax = 1
  nx = 2
  ny = 2
  elem_type = QUAD4
[]
[Variables]
  [./x]
    family = SCALAR
    order = FIRST
    initial_condition = 0
  [../]
[]
[ScalarKernels]
  [./dt]
    type = ODETimeDerivative
    variable = x
  [../]
  [./ode1]
    type = ParsedODEKernel
    function = '-mytime'
    postprocessors = mytime
    variable = x
  [../]
[]
[Postprocessors]
  [./computed_x]
    type = ScalarVariable
    variable = x
    execute_on = 'initial timestep_end'
  [../]
  [./mytime]
    type = FunctionValuePostprocessor
    function = t
    execute_on = 'initial timestep_begin'
  [../]
  [./exact_x]
    type = FunctionValuePostprocessor
    function = '0.5*t^2'
    execute_on = 'initial timestep_end'
  [../]
  [./l2err_x]
    type = ScalarL2Error
    variable = x
    function = '0.5*t^2'
    execute_on = 'initial timestep_end'
  [../]
[]
[Executioner]
  type = Transient
  scheme = bdf2
  dt = 0.1
  num_steps = 10
  solve_type = 'NEWTON'
[]
[Outputs]
  file_base = ode_pp_test_out
  hide = 'x mytime'
  csv = true
[]
(test/tests/time_integrators/explicit_ssp_runge_kutta/explicit_ssp_runge_kutta.i)
# This test solves the following IVP:
#   du/dt = f(u(t), t),   u(0) = 1
#   f(u(t), t) = -u(t) + t^3 + 3t^2
# The exact solution is the following:
#   u(t) = exp(-t) + t^3
[Mesh]
  [./mesh]
    type = GeneratedMeshGenerator
    dim = 1
    nx = 1
  [../]
[]
[Variables]
  [./u]
    family = SCALAR
    order = FIRST
    initial_condition = 1
  [../]
[]
[ScalarKernels]
  [./time_derivative]
    type = ODETimeDerivative
    variable = u
  [../]
  [./source_part1]
    type = ParsedODEKernel
    variable = u
    function = 'u'
  [../]
  [./source_part2]
    type = PostprocessorSinkScalarKernel
    variable = u
    postprocessor = sink_pp
  [../]
[]
[Functions]
  [./sink_fn]
    type = ParsedFunction
    value = '-t^3 - 3*t^2'
  [../]
[]
[Postprocessors]
  [./sink_pp]
    type = FunctionValuePostprocessor
    function = sink_fn
    execute_on = 'LINEAR NONLINEAR'
  [../]
  [./l2_err]
    type = ScalarL2Error
    variable = u
    function = ${fparse exp(-0.5) + 0.5^3}
  [../]
[]
[Executioner]
  type = Transient
  [./TimeIntegrator]
    type = ExplicitSSPRungeKutta
    order = 1
  [../]
  end_time = 0.5
  dt = 0.1
[]
[Outputs]
  file_base = 'first_order'
  exodus = true
  [./csv]
    type = CSV
    show = 'u'
    execute_on = 'FINAL'
  [../]
[]