# 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.

TODO: mention FV variables and how they are similar+different

## 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

• 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

• 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 MONOMIAL_VEC

Description:Specifies the family of FE shape functions to use 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.

• isObjectActionTrueIndicates that this is a MooseObjectAction.

Default:True

C++ Type:bool

Options:

Description:Indicates that this is a MooseObjectAction.

• 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)

• scalingSpecifies a scaling factor to apply to this variable

C++ Type:std::vector

Options:

Description:Specifies a scaling factor to apply to this variable