15 #include "libmesh/point.h" 16 #include "libmesh/vector_value.h" 17 #include "libmesh/elem.h" 52 virtual void compute()
override;
61 virtual T
value(
const Point & p) = 0;
99 v += op1.col(i) * op2(i);
147 DenseVector<DataType>
_Fe;
149 DenseVector<DataType>
_Ue;
179 const std::vector<std::vector<ValueType>> *
_phi;
181 const std::vector<std::vector<GradientShapeType>> *
_dphi;
183 const std::vector<Real> *
_JxW;
193 template <
typename T>
Real dotHelper(const libMesh::RealGradient &op1, const libMesh::RealGradient &op2)
Helps perform multiplication of GradientTypes: a normal dot product for vectors and a contraction for...
DenseVector< DataType > _Fe
Linear b vector.
const Moose::CoordinateSystemType & _coord_sys
The coordinate system type for this problem, references the value in Assembly.
OutputTools< T >::OutputData DataType
std::vector< unsigned int > _side_dofs
Side/edge DOF indices.
const std::vector< std::vector< ValueType > > * _phi
pointers to shape functions
Keeps track of stuff related to assembling.
OutputTools< T >::OutputGradient GradientType
void setOtherCOneVertices()
set the temporary solution vector for node projections of non-Hermitian C1 variables ...
DenseMatrix< Real > _Ke
Matrix storage member.
This is a template class that implements the workhorse compute and computeNodal methods.
void choleskyAssembly(bool is_volume)
Assemble a small local system for cholesky solve.
std::vector< char > _dof_is_fixed
Whether the degree of freedom is fixed (true/false)
const Real & _current_elem_volume
the volume of the current element
virtual void computeNodal(const Point &p) override
Workhorse method for projecting the initial conditions for boundary restricted initial conditions...
std::vector< int > _free_dof
Stores the ids of the free dofs.
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
RealTensorValue RealTensor
const std::vector< Real > * _JxW
pointers to the Jacobian * quadrature weights for current element
static InputParameters validParams()
InitialConditionTempl< RealEigenVector > ArrayInitialCondition
Real dotHelper(const RealTensor &op1, const RealTensor &op2)
This class provides an interface for common operations on field variables of both FE and FV types wit...
InitialConditionBase serves as the abstract base class for InitialConditions and VectorInitialConditi...
unsigned int _qp
The current quadrature point, contains the "nth" node number when visiting nodes. ...
unsigned int _n_qp
The number of quadrature points for a given element.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
MooseVariableField< T > & _var
The variable that this initial condition is acting upon.
const std::vector< Point > * _xyz_values
pointers to the xyz coordinates of the quadrature points for the current element
const Node * _current_node
The current node if the point we are evaluating at also happens to be a node.
const std::vector< std::vector< GradientShapeType > > * _dphi
pointers to shape function gradients
OutputTools< T >::OutputShape ValueType
static InputParameters validParams()
InitialConditionTempl< Real > InitialCondition
void setCZeroVertices()
set the temporary solution vector for node projections of C0 variables
virtual T value(const Point &p)=0
The value of the variable at a point.
unsigned int _n
node counter
OutputTools< T >::OutputShapeGradient GradientShapeType
void setHermiteVertices()
set the temporary solution vector for node projections of Hermite variables
unsigned int _dim
the mesh dimension
dof_id_type _current_dof
The current dof being operated on.
InitialConditionTempl(const InputParameters ¶meters)
Constructor.
dof_id_type _free_dofs
The number of free dofs.
InitialConditionTempl< RealVectorValue > VectorInitialCondition
virtual void compute() override
Workhorse method for projecting the initial conditions for block initial conditions.
Eigen::Matrix< Real, Eigen::Dynamic, Moose::dim > RealVectorArrayValue
DenseVector< DataType > _Ue
Linear solution vector.
dof_id_type _nc
number of dofs per node per variable
MooseVariableFE< T > * _fe_var
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RealEigenVector dotHelper(const RealVectorArrayValue &op1, const libMesh::RealGradient &op2)
libMesh::FEContinuity _cont
The type of continuity, e.g. C0, C1.
void choleskySolve(bool is_volume)
Perform the cholesky solves for edge, side, and interior projections.
virtual MooseVariableFEBase & variable() override
retrieves the MOOSE variable that this initial condition acts upon
IntRange< T > make_range(T beg, T end)
const InputParameters & parameters() const
Get the parameters of the object.
std::vector< dof_id_type > _dof_indices
The global DOF indices.
const Elem *const & _current_elem
The current element we are on will retrieving values at specific points in the domain.
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
libMesh::FEGenericBase< ValueType > FEBaseType
T gradientComponent(GradientType grad, unsigned int i)
FEProblemBase & _fe_problem
virtual GradientType gradient(const Point &)
The gradient of the variable at a point.
virtual ~InitialConditionTempl()
unsigned int _n_nodes
The number of nodes for a given element.
const libMesh::FEType & _fe_type
The finite element type for the IC variable.
Assembly & _assembly
the finite element/volume assembly object