18 #include "libmesh/vector_value.h" 88 const Elem *
const current_elem,
182 const Elem *
const current_elem,
183 const unsigned int current_side,
196 const Elem *
const current_elem,
197 const unsigned int current_side,
const FEProblemBase & _dhah_fe_problem
A reference to the finite element problem used for coupling checks.
const std::vector< dof_id_type > & _lm_u_dof_indices
const MooseArray< std::vector< Real > > & _scalar_phi_face
const MooseArray< Number > & _u_sol
const MooseArray< std::vector< Real > > & _scalar_phi
void scalarDirichletResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const Moose::Functor< Real > &dirichlet_value, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &scalar_re)
Weakly imposes a Dirichlet condition for the scalar field in the scalar field equation.
const MooseArray< std::vector< Real > > & _div_vector_phi
void vectorVolumeJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &vector_vector_jac, DenseMatrix< Number > &vector_scalar_jac)
Computes a local Jacobian matrix for the weak form: (q, v) + (u, div(v)) where q is the vector field ...
const std::vector< dof_id_type > & _u_dof_indices
Class for stuff related to variables.
void vectorFaceResidual(const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &vector_re)
Computes a local residual vector for the weak form: -<{u}, n*v> where {u} is the trace of the scalar ...
const Elem * _cached_elem
A data member used for determining when to compute the Jacobian.
const MooseArray< std::vector< Real > > & _lm_phi_face
DenseMatrix< Number > _vector_lm_jac
This is a wrapper that forwards calls to the implementation, which can be switched out at any time wi...
DenseMatrix< Number > _lm_vector_jac
const MooseArray< libMesh::Gradient > & _qu_sol
const MooseArray< std::vector< RealVectorValue > > & _grad_scalar_phi
Base class for a system (of equations)
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
An interface for accessing Moose::Functors for systems that care about automatic differentiation, e.g.
DenseMatrix< Number > _vector_vector_jac
const std::vector< dof_id_type > & _qu_dof_indices
DenseVector< Number > _vector_re
Interface for objects that needs transient capabilities.
const SystemBase & _dhah_sys
A reference to the nonlinear system used for coupling checks.
void scalarDirichletJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac)
Computes the Jacobian for a Dirichlet condition for the scalar field in the scalar field equation...
DenseMatrix< Number > _lm_scalar_jac
Every object that can be built by the factory should be derived from this class.
void vectorVolumeResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseVector< Number > &vector_re)
Computes a local residual vector for the weak form: (q, v) + (u, div(v)) where q is the vector field ...
DenseMatrix< Number > _scalar_vector_jac
static InputParameters validParams()
Implements all the methods for assembling a hybridized local discontinuous Galerkin (LDG-H)...
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
void scalarFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_lm_jac)
Computes a local Jacobian matrix for the weak form: -<Dq*n, w> + < * (u - {u}) * n * n...
DenseMatrix< Number > _scalar_lm_jac
void lmFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac)
Computes a local Jacobian matrix for the weak form: -<Dq*n, > + < * (u - {u}) * n * n...
void lmFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &lm_re)
Computes a local residual vector for the weak form: -<Dq*n, > + < * (u - {u}) * n * n...
void vectorDirichletResidual(const Moose::Functor< Real > &dirichlet_value, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &vector_re)
Weakly imposes a Dirichlet condition for the scalar field in the vector (gradient) equation...
const MaterialProperty< Real > & _diff
The diffusivity.
void scalarVolumeResidual(const MooseArray< Gradient > &vector_field, const Moose::Functor< Real > &source, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &scalar_re)
Computes a local residual vector for the weak form: (Dq, grad(w)) - (f, w) where D is the diffusivity...
void vectorFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &vector_lm_jac)
Computes a local Jacobian matrix for the weak form: -<{u}, n*v> where {u} is the trace of the scalar ...
const TransientInterface & _ti
Reference to transient interface.
const MooseVariableFE< Real > & _u_face_var
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real _tau
Our stabilization coefficient.
An interface for accessing Materials.
const MooseVariableFE< Real > & _u_var
const MooseObject & _moose_obj
A reference to our associated MooseObject for error reporting.
const MooseArray< Number > & _lm_u_sol
void createIdentityResidual(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const MooseArray< std::vector< Real >> &phi, const MooseArray< Number > &sol, DenseVector< Number > &re)
Creates residuals corresponding to the weak form (v, {u}), or stated simply this routine can be used ...
Class for scalar variables (they are different).
DenseMatrix< Number > _lm_lm_jac
DenseVector< Number > _lm_re
void scalarVolumeJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &scalar_vector_jac)
Computes a local Jacobian matrix for the weak form: (Dq, grad(w)) - (f, w) where D is the diffusivity...
DenseVector< Number > _scalar_re
const MooseArray< std::vector< RealVectorValue > > & _vector_phi
const MooseVariableFE< RealVectorValue > & _grad_u_var
void scalarFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)
Computes a local residual vector for the weak form: -<Dq*n, w> + < * (u - {u}) * n * n...
void createIdentityJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const MooseArray< std::vector< Real >> &phi, DenseMatrix< Number > &ke)
As above, but for the Jacobians.
const MooseArray< std::vector< RealVectorValue > > & _vector_phi_face
DenseMatrix< Number > _scalar_scalar_jac
DiffusionLHDGAssemblyHelper(const MooseObject *const moose_obj, MaterialPropertyInterface *const mpi, MooseVariableDependencyInterface *const mvdi, const TransientInterface *const ti, const FEProblemBase &fe_problem, SystemBase &sys, const THREAD_ID tid)
DenseMatrix< Number > _vector_scalar_jac