# Variables System

## Description

The Variables block within an input file is utilized to define the unknowns within a system of partial differential equations. These unknowns are often referred to as nonlinear variables within documentation. The nonlinear variables defined within this block are used by Kernel objects to define the equations for a simulation.

## Example

The following input file snippet demonstrates the creation of a single nonlinear variable that is used by two Kernel objects, refer to Example 2 for more details.

[Variables]
[convected]
order = FIRST
family = LAGRANGE
[]
[]

[Kernels]
[diff]
type = Diffusion
variable = convected
[]

[conv]
type = ExampleConvection
variable = convected
velocity = '0.0 0.0 1.0'
[]
[]

(examples/ex02_kernel/ex02.i)

## Input Parameters

• familyLAGRANGESpecifies the family of FE shape functions to use for this variable

Default:LAGRANGE

C++ Type:MooseEnum

Options:LAGRANGE MONOMIAL HERMITE SCALAR HIERARCHIC CLOUGH XYZ SZABAB BERNSTEIN L2_LAGRANGE L2_HIERARCHIC NEDELEC_ONE LAGRANGE_VEC

Description:Specifies the family of FE shape functions to use for this variable

• initial_conditionSpecifies the initial condition for this variable

C++ Type:double

Options:

Description:Specifies the initial condition for this variable

• inactiveIf specified blocks matching these identifiers will be skipped.

C++ Type:std::vector

Options:

Description:If specified blocks matching these identifiers will be skipped.

• active__all__ If specified only the blocks named will be visited and made active

Default:__all__

C++ Type:std::vector

Options:

Description:If specified only the blocks named will be visited and made active

• orderFIRSTSpecifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

Default:FIRST

C++ Type:MooseEnum

Options:CONSTANT FIRST SECOND THIRD FOURTH

Description:Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

• blockThe block id where this variable lives

C++ Type:std::vector

Options:

Description:The block id where this variable lives

### Optional Parameters

• scaling1Specifies a scaling factor to apply to this variable

Default:1

C++ Type:double

Options:

Description:Specifies a scaling factor to apply to this variable

• outputsVector of output names were you would like to restrict the output of variables(s) associated with this object

C++ Type:std::vector

Options:

Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object

• eigenFalseTrue to make this variable an eigen variable

Default:False

C++ Type:bool

Options:

Description:True to make this variable an eigen variable