18 #include "libmesh/tensor_tools.h" 19 #include "libmesh/vector_value.h" 20 #include "libmesh/tensor_value.h" 21 #include "libmesh/type_n_tensor.h" 22 #include "libmesh/fe_type.h" 23 #include "libmesh/dof_map.h" 24 #include "libmesh/enum_fe_family.h" 50 template <
typename OutputType>
82 const Elem *
const & elem);
84 bool isNodal()
const override {
return false; }
102 void setDofValues(
const DenseVector<OutputData> & values);
114 void getDofIndices(
const Elem * elem, std::vector<dof_id_type> & dof_indices)
const;
119 const std::vector<dof_id_type> &
dofIndices()
const;
235 template <
typename OutputType>
236 const std::vector<dof_id_type> &
242 template <
typename OutputType>
246 return dofIndices().size();
void initDofIndices(T &data, const Elem &elem)
unsigned int numberOfDofs() const
Get the number of dofs on the current element.
void clearDofIndices()
Clear the dof indices in the cache.
MooseVariableDataLinearFV(const MooseLinearVariableFV< OutputType > &var, SystemBase &sys, THREAD_ID tid, Moose::ElementType element_type, const Elem *const &elem)
Keeps track of stuff related to assembling.
Moose::ElementType _element_type
The element type this object is storing data for. This is either Element, Neighbor, or Lower.
const bool _displaced
Whether this variable is being calculated on a displaced system.
libMesh::TensorTools::DecrementRank< OutputShape >::type OutputShapeDivergence
MooseArray< OutputSecond > FieldVariableSecond
const Elem *const & _elem
The current elem.
MooseArray< OutputDivergence > FieldVariableDivergence
const libMesh::FEType & _fe_type
Reference to the variable's finite element type.
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
bool isNodal() const override
Base class for a system (of equations)
A structure for storing the various lists that contain the names of the items to be exported...
MooseArray< OutputType > FieldVariableCurl
MooseArray< OutputGradient > FieldVariableGradient
const MooseLinearVariableFV< OutputType > & _var
A const reference to the owning MooseLinearVariableFV object.
This data structure is used to store geometric and variable related metadata about each cell face in ...
MooseArray< OutputType > FieldVariableValue
Moose::DOFType< OutputType >::type OutputData
void setGeometry(Moose::GeometryType gm_type)
Set the geometry type before calculating variables values.
const unsigned int _var_num
The index of the variable in the system.
void computeValues()
Compute the variable values.
void getDofIndices(const Elem *elem, std::vector< dof_id_type > &dof_indices) const
Get the dof indices for an element.
libMesh::TensorTools::DecrementRank< OutputType >::type OutputDivergence
libMesh::TensorTools::IncrementRank< OutputShapeGradient >::type OutputShapeSecond
const libMesh::QBase * _qrule
Pointer to the quadrature rule.
bool hasDoFsOnNodes() const override
Whether this data is associated with a variable that has DoFs on nodes.
Moose::ShapeType< OutputType >::type OutputShape
const TimeIntegrator *const _time_integrator
Pointer to time integrator.
libMesh::TensorTools::IncrementRank< OutputGradient >::type OutputSecond
Class holding the data members for linear finite volume variables.
libMesh::FEContinuity getContinuity() const override
Return the variable continuity.
Base class for time integrators.
const Assembly & _assembly
Reference to the system assembly of the variable.
MooseArray< OutputData > DoFValue
void setDofValue(const OutputData &value, unsigned int index)
Set local DOF value at index to value .
virtual const MooseLinearVariableFV< OutputType > & var() const override
Get the corresponding variable.
void initializeSolnVars()
const Elem * _prev_elem
used to keep track of when dof indices are out of date
libMesh::TensorTools::IncrementRank< OutputType >::type OutputGradient
This class provides variable solution values for other classes/objects to bind to when looping over f...
std::vector< dof_id_type > _dof_indices
The dof indices for the current element.
const std::vector< dof_id_type > & initDofIndices()
Fetch and return the dof indices of this variable on the current element.
This class provides variable solution interface for linear finite volume problems.
libMesh::TensorTools::IncrementRank< OutputShape >::type OutputShapeGradient
void setDofValues(const DenseVector< OutputData > &values)
Set local DOF values to the entries of values .
const std::vector< dof_id_type > & dofIndices() const
Get the dof indices of the current element.