- functionThe functions to set the scalar variable components.
C++ Type:std::vector<FunctionName>
Controllable:No
Description:The functions to set the scalar variable components.
- variableThe name of the variable that this kernel operates on
C++ Type:AuxVariableName
Controllable:No
Description:The name of the variable that this kernel operates on
FunctionScalarAux
Sets a value of a scalar variable based on a function.
The functions will be evaluated at the current time and the system origin (0,0,0).
Example syntax
In this example, this auxiliary scalar kernel is being used to convert a function output into a scalar variable, to verify the correctness of another system (parsed functions).
[AuxScalarKernels]
[./scalar_aux]
type = FunctionScalarAux
variable = scalar
function = func
[../]
[]
(test/tests/functions/parsed/scalar.i)Input Parameters
- execute_onLINEARThe 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, ALWAYS.
Default:LINEAR
C++ Type:ExecFlagEnum
Options:NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM, 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, ALWAYS.
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/misc/check_error/scalar_old_integrity_check.i)
- (test/tests/controls/time_periods/aux_scalar_kernels/control_different.i)
- (test/tests/kernels/ode/coupled_ode_td.i)
- (modules/peridynamics/test/tests/generalized_plane_strain/planestrain_prescribed_OSPD.i)
- (test/tests/outputs/nemesis/nemesis_scalar.i)
- (test/tests/variables/coupled_scalar/coupled_scalar_old.i)
- (test/tests/auxkernels/solution_scalar_aux/build.i)
- (test/tests/kernels/ode/coupled_ode_td_auxvar_ic_from_mesh.i)
- (test/tests/functions/parsed/scalar.i)
- (test/tests/controls/time_periods/aux_scalar_kernels/control.i)
- (test/tests/kernels/ode/coupled_ode_td_var_ic_from_mesh.i)
- (modules/tensor_mechanics/test/tests/generalized_plane_strain/plane_strain_prescribed.i)
- (test/tests/auxkernels/aux_scalar_deps/aux_scalar_deps.i)
- (test/tests/misc/check_error/scalar_dot_integrity_check.i)
- (test/tests/auxkernels/function_scalar_aux/function_scalar_aux.i)
(test/tests/functions/parsed/scalar.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./scalar]
family = SCALAR
initial_condition = 0
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxScalarKernels]
[./scalar_aux]
type = FunctionScalarAux
variable = scalar
function = func
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = u
boundary = left
function = left_bc
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Functions]
[./left_bc]
type = ParsedFunction
value = s
vals = scalar
vars = s
[../]
[./func]
type = ParsedFunction
value = t
[../]
[]
[Executioner]
type = Transient
num_steps = 5
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(test/tests/misc/check_error/scalar_old_integrity_check.i)
# Test that coupling a time derivative of a scalar variable (ScalarDotCouplingAux) and
# using a Steady executioner errors out
[Mesh]
type = GeneratedMesh
dim = 2
[]
[Functions]
[./a_fn]
type = ParsedFunction
value = t
[../]
[]
[AuxVariables]
[./v]
[../]
[./a]
family = SCALAR
order = FIRST
[../]
[]
[AuxScalarKernels]
[./a_sak]
type = FunctionScalarAux
variable = a
function = a_fn
[../]
[]
[AuxKernels]
[./ak_v]
type = CoupledScalarAux
variable = v
coupled = a
lag = OLD
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Steady
[]
(test/tests/controls/time_periods/aux_scalar_kernels/control_different.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./aux0]
family = SCALAR
[../]
[./aux1]
family = SCALAR
[../]
[]
[Functions]
[./func]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxScalarKernels]
[./scalar_aux0]
type = FunctionScalarAux
variable = aux0
function = func
[../]
[./scalar_aux1]
type = FunctionScalarAux
variable = aux1
function = func
[../]
[]
[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.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
csv = true
[]
[Controls]
[./damping_control]
type = TimePeriod
disable_objects = 'AuxScalarKernels/scalar_aux0 */scalar_aux1'
start_time = '0.25 0.45'
end_time = '0.55 0.75'
execute_on = 'initial timestep_begin'
[../]
[]
(test/tests/kernels/ode/coupled_ode_td.i)
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 1
nx = 1
[]
[Variables]
[./f]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[./f_times_mult]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[]
[ScalarKernels]
[./dT]
type = CoupledODETimeDerivative
variable = f
v = f_times_mult
[../]
[./src]
type = ParsedODEKernel
variable = f
function = '-1'
[../]
[./f_times_mult_1]
type = ParsedODEKernel
variable = f_times_mult
function = 'f_times_mult'
[../]
[./f_times_mult_2]
type = ParsedODEKernel
variable = f_times_mult
function = '-f * g'
args = 'f g'
[../]
[]
[AuxVariables]
[./g]
family = SCALAR
order = FIRST
[../]
[]
[Functions]
[./function_g]
type = ParsedFunction
value = '(1 + t)'
[../]
[]
[AuxScalarKernels]
[./set_g]
type = FunctionScalarAux
function = function_g
variable = g
execute_on = 'linear initial'
[../]
[]
[Postprocessors]
[./f]
type = ScalarVariable
variable = f
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 3
nl_abs_tol = 1e-9
[]
[Outputs]
csv = true
[]
(modules/peridynamics/test/tests/generalized_plane_strain/planestrain_prescribed_OSPD.i)
[GlobalParams]
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
[]
[Mesh]
type = PeridynamicsMesh
horizon_number = 3
[./gmg]
type = GeneratedMeshGenerator
dim = 2
nx = 4
ny = 4
[../]
[./gpd]
type = MeshGeneratorPD
input = gmg
retain_fe_mesh = false
[../]
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[]
[AuxVariables]
[./temp]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[./strain_zz]
[../]
[]
[Modules/Peridynamics/Mechanics/Master]
[./all]
formulation = ORDINARY_STATE
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[./strain_zz]
type = NodalRankTwoPD
variable = strain_zz
rank_two_tensor = total_strain
output_type = component
index_i = 2
index_j = 2
[../]
[]
[AuxScalarKernels]
[./scalar_strain_zz]
type = FunctionScalarAux
variable = scalar_strain_zz
function = scalar_strain_zz_func
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = '(1 - x) * t'
[../]
[./scalar_strain_zz_func]
type = PiecewiseLinear
xy_data = '0 0
1 7.901e-5
2 1.103021e-2'
[../]
[]
[BCs]
[./bottom_x]
type = DirichletBC
boundary = 1000
variable = disp_x
value = 0.0
[../]
[./bottom_y]
type = DirichletBC
boundary = 1000
variable = disp_y
value = 0.0
[../]
[]
[Materials]
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./force_density]
type = ComputeSmallStrainConstantHorizonMaterialOSPD
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
start_time = 0.0
end_time = 2.0
[]
[Outputs]
exodus = true
file_base = planestrain_prescribed_OSPD
[]
(test/tests/outputs/nemesis/nemesis_scalar.i)
[Mesh]
type = GeneratedMesh
dim = 1
xmin = 0
xmax = 1
nx = 4
[]
[Variables]
[./f]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[./f_times_mult]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[]
[ScalarKernels]
[./dT]
type = CoupledODETimeDerivative
variable = f
v = f_times_mult
[../]
[./src]
type = ParsedODEKernel
variable = f
function = '-1'
[../]
[./f_times_mult_1]
type = ParsedODEKernel
variable = f_times_mult
function = 'f_times_mult'
[../]
[./f_times_mult_2]
type = ParsedODEKernel
variable = f_times_mult
function = '-f * g'
args = 'f g'
[../]
[]
[AuxVariables]
[./g]
family = SCALAR
order = FIRST
[../]
[]
[Functions]
[./function_g]
type = ParsedFunction
value = '(1 + t)'
[../]
[]
[AuxScalarKernels]
[./set_g]
type = FunctionScalarAux
function = function_g
variable = g
execute_on = 'linear initial'
[../]
[]
[Postprocessors]
[./f]
type = ScalarVariable
variable = f
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 3
nl_abs_tol = 1e-9
[]
[Outputs]
nemesis = true
[]
(test/tests/variables/coupled_scalar/coupled_scalar_old.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Functions]
[./lin1_fn]
type = ParsedFunction
value = t
[../]
[./lin2_fn]
type = ParsedFunction
value = 't+1'
[../]
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./aux_scalar]
order = SECOND
family = SCALAR
[../]
[./coupled]
[../]
[./coupled_1]
[../]
[]
[ICs]
[./aux_scalar_ic]
variable = aux_scalar
values = '1.2 4.3'
type = ScalarComponentIC
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxKernels]
[./coupled]
type = CoupledScalarAux
variable = coupled
coupled = aux_scalar
[../]
[./coupled_1]
# Coupling to the "1" component of an aux scalar
type = CoupledScalarAux
variable = coupled_1
component = 1
coupled = aux_scalar
[../]
[]
[AuxScalarKernels]
[./aux_scalar_k]
type = FunctionScalarAux
variable = aux_scalar
function = 'lin1_fn lin2_fn'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 0
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 4
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(test/tests/auxkernels/solution_scalar_aux/build.i)
[Mesh]
type = GeneratedMesh
dim = 1
nx = 1
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[AuxVariables]
[./a]
family = SCALAR
order = FIRST
[../]
[]
[Functions]
[./a_fn]
type = ParsedFunction
value = '4 - t'
[../]
[]
[Kernels]
[./diff]
type = Diffusion
variable = u
[../]
[]
[AuxScalarKernels]
[./a_sk]
type = FunctionScalarAux
variable = a
function = a_fn
execute_on = 'initial timestep_begin'
[../]
[]
[BCs]
[./left]
type = DirichletBC
variable = u
boundary = left
value = 2
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 3
[../]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
nl_rel_tol = 1e-10
dt = 1
num_steps = 3
[]
[Outputs]
exodus = true
[]
(test/tests/kernels/ode/coupled_ode_td_auxvar_ic_from_mesh.i)
[Mesh]
type = FileMesh
file = 'coupled_ode_td_out.e'
[]
[Variables]
[./f]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[./f_times_mult]
family = SCALAR
order = FIRST
initial_condition = 1
[../]
[]
[ScalarKernels]
[./dT]
type = CoupledODETimeDerivative
variable = f
v = f_times_mult
[../]
[./src]
type = ParsedODEKernel
variable = f
function = '-1'
[../]
[./f_times_mult_1]
type = ParsedODEKernel
variable = f_times_mult
function = 'f_times_mult'
[../]
[./f_times_mult_2]
type = ParsedODEKernel
variable = f_times_mult
function = '-f * g'
args = 'f g'
[../]
[]
[AuxVariables]
[./g]
family = SCALAR
order = FIRST
initial_from_file_var = g
initial_from_file_timestep = 'LATEST'
[../]
[]
[Functions]
[./function_g]
type = ParsedFunction
value = '(1 + t)'
[../]
[]
[AuxScalarKernels]
[./set_g]
type = FunctionScalarAux
function = function_g
variable = g
execute_on = 'timestep_end'
[../]
[]
[Postprocessors]
[./f]
type = ScalarVariable
variable = f
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 3
nl_abs_tol = 1e-9
[]
[Outputs]
csv = true
[]
(test/tests/functions/parsed/scalar.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./scalar]
family = SCALAR
initial_condition = 0
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxScalarKernels]
[./scalar_aux]
type = FunctionScalarAux
variable = scalar
function = func
[../]
[]
[BCs]
[./left]
type = FunctionDirichletBC
variable = u
boundary = left
function = left_bc
[../]
[./right]
type = DirichletBC
variable = u
boundary = right
value = 1
[../]
[]
[Functions]
[./left_bc]
type = ParsedFunction
value = s
vals = scalar
vars = s
[../]
[./func]
type = ParsedFunction
value = t
[../]
[]
[Executioner]
type = Transient
num_steps = 5
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
exodus = true
[]
(test/tests/controls/time_periods/aux_scalar_kernels/control.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[]
[Variables]
[./u]
[../]
[]
[AuxVariables]
[./aux0]
family = SCALAR
[../]
[./aux1]
family = SCALAR
[../]
[]
[Functions]
[./func]
type = ParsedFunction
value = t
[../]
[]
[Kernels]
[./diff]
type = CoefDiffusion
variable = u
coef = 0.1
[../]
[./time]
type = TimeDerivative
variable = u
[../]
[]
[AuxScalarKernels]
[./scalar_aux0]
type = FunctionScalarAux
variable = aux0
function = func
[../]
[./scalar_aux1]
type = FunctionScalarAux
variable = aux1
function = func
[../]
[]
[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.1
solve_type = PJFNK
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[]
[Outputs]
csv = true
[]
[Controls]
[./damping_control]
type = TimePeriod
disable_objects = '*/scalar_aux0 */scalar_aux1'
start_time = 0.25
end_time = 0.75
execute_on = 'initial timestep_begin'
[../]
[]
(test/tests/kernels/ode/coupled_ode_td_var_ic_from_mesh.i)
[Mesh]
type = FileMesh
file = 'coupled_ode_td_out.e'
[]
[Variables]
[./f]
family = SCALAR
order = FIRST
initial_from_file_var = f
initial_from_file_timestep = 'LATEST'
[../]
[./f_times_mult]
family = SCALAR
order = FIRST
initial_from_file_var = f_times_mult
initial_from_file_timestep = 'LATEST'
[../]
[]
[ScalarKernels]
[./dT]
type = CoupledODETimeDerivative
variable = f
v = f_times_mult
[../]
[./src]
type = ParsedODEKernel
variable = f
function = '-1'
[../]
[./f_times_mult_1]
type = ParsedODEKernel
variable = f_times_mult
function = 'f_times_mult'
[../]
[./f_times_mult_2]
type = ParsedODEKernel
variable = f_times_mult
function = '-f * g'
args = 'f g'
[../]
[]
[AuxVariables]
[./g]
family = SCALAR
order = FIRST
[../]
[]
[Functions]
[./function_g]
type = ParsedFunction
value = '(1 + t)'
[../]
[]
[AuxScalarKernels]
[./set_g]
type = FunctionScalarAux
function = function_g
variable = g
execute_on = 'linear initial'
[../]
[]
[Postprocessors]
[./f]
type = ScalarVariable
variable = f
execute_on = 'initial timestep_end'
[../]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 3
nl_abs_tol = 1e-9
[]
[Outputs]
csv = true
[]
(modules/tensor_mechanics/test/tests/generalized_plane_strain/plane_strain_prescribed.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
block = 0
[]
[Mesh]
[./square]
type = GeneratedMeshGenerator
dim = 2
nx = 2
ny = 2
[../]
[]
[AuxVariables]
[./temp]
[../]
[./scalar_strain_zz]
order = FIRST
family = SCALAR
[../]
[./saved_x]
[../]
[./saved_y]
[../]
[]
[AuxKernels]
[./tempfuncaux]
type = FunctionAux
variable = temp
function = tempfunc
use_displaced_mesh = false
[../]
[]
[AuxScalarKernels]
[./strain_zz]
type = FunctionScalarAux
variable = scalar_strain_zz
function = scalar_strain_zz_func
[../]
[]
[Functions]
[./tempfunc]
type = ParsedFunction
value = '(1-x)*t'
[../]
[./scalar_strain_zz_func]
type = PiecewiseLinear
xy_data = '0 0
1 7.901e-5
2 1.103021e-2'
[../]
[]
[BCs]
[./bottomx]
type = DirichletBC
boundary = 0
variable = disp_x
value = 0.0
[../]
[./bottomy]
type = DirichletBC
boundary = 0
variable = disp_y
value = 0.0
[../]
[]
[Modules/TensorMechanics/Master]
[./all]
strain = SMALL
add_variables = true
temperature = temp
generate_output = 'stress_xx stress_xy stress_yy stress_zz strain_xx strain_xy strain_yy strain_zz'
planar_formulation = PLANE_STRAIN
eigenstrain_names = eigenstrain
save_in = 'saved_x saved_y'
[../]
[]
[Materials]
[./elastic_tensor]
type = ComputeIsotropicElasticityTensor
poissons_ratio = 0.3
youngs_modulus = 1e6
[../]
[./thermal_strain]
type = ComputeThermalExpansionEigenstrain
temperature = temp
thermal_expansion_coeff = 0.02
stress_free_temperature = 0.5
eigenstrain_name = eigenstrain
[../]
[./stress]
type = ComputeLinearElasticStress
[../]
[]
[Postprocessors]
[./react_z]
type = MaterialTensorIntegral
rank_two_tensor = stress
index_i = 2
index_j = 2
[../]
[]
[Executioner]
type = Transient
solve_type = PJFNK
line_search = none
# controls for linear iterations
l_max_its = 100
l_tol = 1e-4
# controls for nonlinear iterations
nl_max_its = 15
nl_rel_tol = 1e-10
nl_abs_tol = 1e-5
# time control
start_time = 0.0
dt = 1.0
dtmin = 1.0
end_time = 2.0
num_steps = 5000
[]
[Outputs]
exodus = true
[]
(test/tests/auxkernels/aux_scalar_deps/aux_scalar_deps.i)
#
# Testing a solution that is second order in space and first order in time
#
[Mesh]
type = GeneratedMesh
dim = 2
xmin = 0
xmax = 1
ymin = 0
ymax = 1
nx = 10
ny = 10
elem_type = QUAD4
[]
[AuxVariables]
[./a]
family = SCALAR
order = FIRST
[../]
[./b]
family = SCALAR
order = FIRST
[../]
[./c]
family = SCALAR
order = FIRST
[../]
[]
[Variables]
[./u]
order = FIRST
family = LAGRANGE
[../]
[]
[ICs]
[./a_ic]
type = ScalarConstantIC
variable = a
value = 0
[../]
[./b_ic]
type = ScalarConstantIC
variable = b
value = 2
[../]
[]
[Functions]
[./exact_fn]
type = ParsedFunction
value = t
[../]
[./a_fn]
type = ParsedFunction
value = t
[../]
[./b_fn]
type = ParsedFunction
value = (4-t)/2
[../]
[]
# NOTE: The execute_on = 'timestep_end' is crucial for this test. Without it
# the aux values would be updated during the residual formation and we would
# end up with the right value at the end of the time step. With this flag on,
# the dependencies has to be correct for this test to work. Otherwise the
# values of 'c' will be lagged.
[AuxScalarKernels]
[./c_saux]
type = QuotientScalarAux
variable = c
numerator = a
denominator = b
execute_on = 'timestep_end'
[../]
[./a_saux]
type = FunctionScalarAux
variable = a
function = a_fn
execute_on = 'timestep_end'
[../]
[./b_saux]
type = FunctionScalarAux
variable = b
function = b_fn
execute_on = 'timestep_end'
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Executioner]
type = Transient
scheme = 'implicit-euler'
solve_type = 'PJFNK'
start_time = 0.0
num_steps = 2
dt = 1
[]
[Outputs]
exodus = true
[]
(test/tests/misc/check_error/scalar_dot_integrity_check.i)
# Test that coupling a time derivative of a scalar variable (ScalarDotCouplingAux) and
# using a Steady executioner errors out
[Mesh]
type = GeneratedMesh
dim = 2
[]
[Functions]
[./a_fn]
type = ParsedFunction
value = t
[../]
[]
[AuxVariables]
[./v]
[../]
[./a]
family = SCALAR
order = FIRST
[../]
[]
[AuxScalarKernels]
[./a_sak]
type = FunctionScalarAux
variable = a
function = a_fn
[../]
[]
[AuxKernels]
[./ak_v]
type = ScalarDotCouplingAux
variable = v
v = a
[../]
[]
[Variables]
[./u]
[../]
[]
[Kernels]
[./td]
type = TimeDerivative
variable = u
[../]
[]
[Executioner]
type = Steady
[]
(test/tests/auxkernels/function_scalar_aux/function_scalar_aux.i)
#
# Testing a solution that is second order in space and first order in time
#
[Mesh]
type = GeneratedMesh
dim = 2
xmin = -1
xmax = 1
ymin = -1
ymax = 1
nx = 10
ny = 10
elem_type = QUAD9
[]
[AuxVariables]
[./x]
family = SCALAR
order = FIRST
[../]
[]
[Variables]
[./u]
order = SECOND
family = LAGRANGE
[./InitialCondition]
type = ConstantIC
value = 0
[../]
[../]
[]
[Functions]
[./forcing_fn]
type = ParsedFunction
value = ((x*x)+(y*y))-(4*t)
[../]
[./exact_fn]
type = ParsedFunction
value = t*((x*x)+(y*y))
[../]
[./x_fn]
type = ParsedFunction
value = t
[../]
[]
[AuxScalarKernels]
[./x_saux]
type = FunctionScalarAux
variable = x
function = x_fn
[../]
[]
[Kernels]
[./ie]
type = TimeDerivative
variable = u
[../]
[./diff]
type = Diffusion
variable = u
[../]
[./ffn]
type = BodyForce
variable = u
function = forcing_fn
[../]
[]
[BCs]
[./all]
type = FunctionDirichletBC
variable = u
boundary = '0 1 2 3'
function = exact_fn
[../]
[]
[Postprocessors]
[./l2_err]
type = ElementL2Error
variable = u
function = exact_fn
[../]
[./x]
type = ScalarVariable
variable = x
[../]
[]
[Executioner]
type = Transient
scheme = 'implicit-euler'
solve_type = 'PJFNK'
start_time = 0.0
num_steps = 5
dt = 0.25
[]
[Outputs]
exodus = true
[]