18#include "libmesh/vector_value.h"
65 DenseVector<Number> & vector_re);
75 DenseMatrix<Number> & vector_vector_jac,
76 DenseMatrix<Number> & vector_scalar_jac);
88 const Elem *
const current_elem,
90 DenseVector<Number> & scalar_re);
100 DenseMatrix<Number> & scalar_vector_jac);
116 DenseVector<Number> & vector_re);
127 DenseMatrix<Number> & vector_lm_jac);
139 DenseVector<Number> & scalar_re);
148 DenseMatrix<Number> & scalar_vector_jac,
149 DenseMatrix<Number> & scalar_scalar_jac,
150 DenseMatrix<Number> & scalar_lm_jac);
162 DenseVector<Number> & lm_re);
171 DenseMatrix<Number> & lm_vec_jac,
172 DenseMatrix<Number> & lm_scalar_jac,
173 DenseMatrix<Number> & lm_lm_jac);
182 const Elem *
const current_elem,
183 const unsigned int current_side,
185 DenseVector<Number> & vector_re);
196 const Elem *
const current_elem,
197 const unsigned int current_side,
199 DenseVector<Number> & scalar_re);
208 DenseMatrix<Number> & scalar_vector_jac,
209 DenseMatrix<Number> & scalar_scalar_jac);
221 DenseVector<Number> & re);
229 DenseMatrix<Number> & ke);
An interface for accessing Moose::Functors for systems that care about automatic differentiation,...
Implements all the methods for assembling a hybridized local discontinuous Galerkin (LDG-H),...
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 ...
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.
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> + <\tau * (u - \hat{u}) * n * n,...
const std::vector< dof_id_type > & _qu_dof_indices
DenseMatrix< Number > _lm_scalar_jac
DenseMatrix< Number > _vector_scalar_jac
const MooseArray< std::vector< Real > > & _scalar_phi
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, \hat{u}), or stated simply this routine can be u...
const SystemBase & _dhah_sys
A reference to the nonlinear system used for coupling checks.
const MooseVariableFE< Real > & _u_var
DenseVector< Number > _scalar_re
const FEProblemBase & _dhah_fe_problem
A reference to the finite element problem used for coupling checks.
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
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: -<\hat{u}, n*v> where \hat{u} is the trace of the...
const MooseArray< Number > & _u_sol
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, \mu> + <\tau * (u - \hat{u}) * n * n,...
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 ...
DenseVector< Number > _lm_re
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: -<\hat{u}, n*v> where \hat{u} is the trace of the...
const std::vector< dof_id_type > & _lm_u_dof_indices
const MooseArray< libMesh::Gradient > & _qu_sol
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 MooseArray< std::vector< Real > > & _lm_phi_face
const MooseArray< std::vector< RealVectorValue > > & _grad_scalar_phi
DenseMatrix< Number > _scalar_scalar_jac
const MooseArray< std::vector< Real > > & _div_vector_phi
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, \mu> + <\tau * (u - \hat{u}) * n * n,...
const Elem * _cached_elem
A data member used for determining when to compute the Jacobian.
DenseVector< Number > _vector_re
DenseMatrix< Number > _vector_vector_jac
const MooseArray< Number > & _lm_u_sol
const MaterialProperty< Real > & _diff
The diffusivity.
const MooseObject & _moose_obj
A reference to our associated MooseObject for error reporting.
DenseMatrix< Number > _lm_lm_jac
DenseMatrix< Number > _scalar_lm_jac
const TransientInterface & _ti
Reference to transient interface.
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...
const std::vector< dof_id_type > & _u_dof_indices
DenseMatrix< Number > _scalar_vector_jac
static InputParameters validParams()
const MooseArray< std::vector< RealVectorValue > > & _vector_phi
DenseMatrix< Number > _lm_vector_jac
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 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.
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> + <\tau * (u - \hat{u}) * n * n,...
const Real _tau
Our stabilization coefficient.
const MooseVariableFE< Real > & _u_face_var
const MooseArray< std::vector< Real > > & _scalar_phi_face
DenseMatrix< Number > _vector_lm_jac
const MooseVariableFE< RealVectorValue > & _grad_u_var
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
An interface for accessing Materials.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Every object that can be built by the factory should be derived from this class.
Class for stuff related to variables.
Class for scalar variables (they are different).
This is a wrapper that forwards calls to the implementation, which can be switched out at any time wi...
Base class for a system (of equations)
Interface for objects that needs transient capabilities.