70 Variable(
const std::vector<const MooseVariableFieldBase *> & variables,
const TagID tag)
94 Variable(
const std::vector<const MooseVariableBase *> & variables,
99 Variable(
const std::vector<MooseVariableBase *> & variables,
104 Variable(
const std::vector<const MooseVariableFieldBase *> & variables,
109 Variable(
const std::vector<MooseVariableFieldBase *> & variables,
114 Variable(
const std::vector<const MooseVariableScalar *> & variables,
119 Variable(
const std::vector<MooseVariableScalar *> & variables,
143 void init(
const std::vector<const MooseVariableBase *> & variables,
const TagID tag);
144 void init(
const std::vector<MooseVariableBase *> & variables,
const TagID tag)
146 init(std::vector<const MooseVariableBase *>(variables.begin(), variables.end()),
tag);
148 void init(
const std::vector<const MooseVariableFieldBase *> & variables,
const TagID tag)
150 init(std::vector<const MooseVariableBase *>(variables.begin(), variables.end()),
tag);
152 void init(
const std::vector<MooseVariableFieldBase *> & variables,
const TagID tag)
154 init(std::vector<const MooseVariableBase *>(variables.begin(), variables.end()),
tag);
156 void init(
const std::vector<const MooseVariableScalar *> & variables,
const TagID tag)
158 init(std::vector<const MooseVariableBase *>(variables.begin(), variables.end()),
tag);
160 void init(
const std::vector<MooseVariableScalar *> & variables,
const TagID tag)
162 init(std::vector<const MooseVariableBase *>(variables.begin(), variables.end()),
tag);
171 void init(
const std::vector<const MooseVariableBase *> & variables,
173 void init(
const std::vector<MooseVariableBase *> & variables,
175 void init(
const std::vector<const MooseVariableFieldBase *> & variables,
177 void init(
const std::vector<MooseVariableFieldBase *> & variables,
179 void init(
const std::vector<const MooseVariableScalar *> & variables,
181 void init(
const std::vector<MooseVariableScalar *> & variables,
std::array< Real, 2 > values
Interface for objects that needs coupling capabilities.
This class provides an interface for common operations on field variables of both FE and FV types wit...
Class for scalar variables (they are different).
KOKKOS_FUNCTION index_type size() const
Get the total array size.
The Kokkos variable object that carries the coupled variable and tag information.
Variable(const std::vector< const MooseVariableBase * > &variables, const TagID tag)
Constructor Initialize the variable with multiple MOOSE variables and vector tag ID.
void init(const std::vector< Real > &values, ScalarCoupleableKey)
bool _vector
Whether the variable is vector variable.
KOKKOS_FUNCTION unsigned int components() const
Get the number of components.
Variable(const std::vector< const MooseVariableScalar * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Variable(const MooseVariableBase &variable, const TagName &tag_name=Moose::SOLUTION_TAG)
Constructor Initialize the variable with a MOOSE variable and vector tag name.
void init(const std::vector< MooseVariableScalar * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Array< const MooseVariableBase * > _moose_var
MOOSE variable of each component.
void init(const std::vector< const MooseVariableBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Initialize the variable with multiple MOOSE variables and vector tag name.
void init(const std::vector< Real3 > &values, CoupleableKey)
Initialize the variable with default coupled vector values.
Variable(const std::vector< MooseVariableScalar * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
const MooseVariableScalar * mooseScalarVar(unsigned int comp=0)
KOKKOS_FUNCTION bool vector() const
Get whether the variable is vector variable.
void init(const std::vector< const MooseVariableScalar * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Variable(const MooseVariableBase &variable, const TagID tag)
Constructor Initialize the variable with a MOOSE variable and vector tag ID.
KOKKOS_FUNCTION bool old() const
Get whether the tag is old/older value.
KOKKOS_FUNCTION Real value(unsigned int comp=0) const
Get the default value of a component.
Variable(const std::vector< const MooseVariableBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Constructor Initialize the variable with multiple MOOSE variables and vector tag name.
bool _initialized
Whether the variable is initialized.
KOKKOS_FUNCTION unsigned int var(unsigned int comp=0) const
Get the variable number of a component.
KOKKOS_FUNCTION bool coupled() const
Get whether the variable is coupled.
bool _dot
Whether the tag is time derivative.
void init(const std::vector< const MooseVariableFieldBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
const MooseVariableBase * mooseVar(unsigned int comp=0)
Get the MOOSE variable of a component.
void init(const std::vector< MooseVariableFieldBase * > &variables, const TagID tag)
bool _old
Whether the tag is old/older value.
KOKKOS_FUNCTION bool nodal() const
Get whether the variable is nodal.
void init(const MooseVariableBase &variable, const TagName &tag_name=Moose::SOLUTION_TAG)
Initialize the variable with a MOOSE variable and vector tag name.
void init(const std::vector< MooseVariableBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
const MooseVariableFieldBase * mooseFieldVar(unsigned int comp=0)
void init(const std::vector< const MooseVariableBase * > &variables, const TagID tag)
Initialize the variable with multiple MOOSE variables and vector tag ID.
KOKKOS_FUNCTION TagID tag() const
Get the vector tag ID.
Array< unsigned int > _sys
System number of each component.
KOKKOS_FUNCTION Real3 vectorValue(unsigned int comp=0) const
Get the default vector value of a component.
bool _nodal
Whether the variable is nodal.
Variable(const std::vector< MooseVariableScalar * > &variables, const TagID tag)
Array< unsigned int > _var
Variable number of each component.
bool _scalar
Whether the variable is scalar.
KOKKOS_FUNCTION bool dot() const
Get whether the tag is time derivative.
Array< Real3 > _default_vector_value
Default vector value of each component when the variable is not coupled.
unsigned int _components
Number of components.
Array< Real > _default_value
Default value of each component when the variable is not coupled.
Variable(const std::vector< const MooseVariableFieldBase * > &variables, const TagID tag)
void init(const std::vector< MooseVariableBase * > &variables, const TagID tag)
Variable()=default
Default constructor.
KOKKOS_FUNCTION bool scalar() const
Get whether the variable is scalar.
Variable(const std::vector< const MooseVariableScalar * > &variables, const TagID tag)
bool _coupled
Whether the variable is coupled.
Variable(const std::vector< MooseVariableBase * > &variables, const TagID tag)
KOKKOS_FUNCTION bool initialized() const
Get whether the variable is initialized.
void init(const std::vector< MooseVariableScalar * > &variables, const TagID tag)
Variable(const std::vector< MooseVariableBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
KOKKOS_FUNCTION unsigned int sys(unsigned int comp=0) const
Get the system number of a component.
void init(const std::vector< MooseVariableFieldBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
void init(const std::vector< Real > &values, CoupleableKey)
Initialize the variable with default coupled values.
void init(const std::vector< const MooseVariableFieldBase * > &variables, const TagID tag)
void init(const std::vector< const MooseVariableScalar * > &variables, const TagID tag)
void init(const MooseVariableBase &variable, const TagID tag)
Initialize the variable with a MOOSE variable and vector tag ID.
Variable(const std::vector< const MooseVariableFieldBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Variable(const std::vector< MooseVariableFieldBase * > &variables, const TagName &tag_name=Moose::SOLUTION_TAG)
Variable(const std::vector< MooseVariableFieldBase * > &variables, const TagID tag)
Interface for objects that needs scalar coupling capabilities.
const TagID INVALID_TAG_ID
const TagName SOLUTION_TAG