20 params.renameParam(
"variable",
"u",
"The diffusing specie concentration");
21 params.addClassDescription(
"Implements a flux boundary condition for use with a hybridized "
22 "discretization of the diffusion equation");
23 params.addParam<MooseFunctorName>(
24 "normal_gradient", 0,
"The prescribed value of the gradient dotted with the normal");
32 _normal_gradient(getFunctor<Real>(
"normal_gradient")),
33 _cached_side(
libMesh::invalid_uint)
58 for (
const auto qp : make_range(
_qrule->n_points()))
59 for (
const auto i : index_range(
_lm_re))
registerMooseObject("MooseApp", DiffusionLHDGPrescribedGradientBC)
Implements all the methods for assembling a hybridized local discontinuous Galerkin (LDG-H),...
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 MooseVariableFE< Real > & _u_var
DenseVector< Number > _scalar_re
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,...
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
const MooseArray< std::vector< Real > > & _lm_phi_face
DenseMatrix< Number > _scalar_scalar_jac
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.
DenseMatrix< Number > _lm_lm_jac
DenseMatrix< Number > _scalar_lm_jac
const std::vector< dof_id_type > & _u_dof_indices
DenseMatrix< Number > _scalar_vector_jac
static InputParameters validParams()
DenseMatrix< Number > _lm_vector_jac
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 MooseVariableFE< Real > & _u_face_var
DenseMatrix< Number > _vector_lm_jac
const MooseVariableFE< RealVectorValue > & _grad_u_var
Implements a fixed normal gradient boundary condition for use with a hybridized discretization of the...
DiffusionLHDGPrescribedGradientBC(const InputParameters ¶meters)
static InputParameters validParams()
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
unsigned int _cached_side
A cache variable to prevent multiple computations of Jacobians.
const Moose::Functor< Real > & _normal_gradient
Prescribed normal gradient along the boundary.
virtual void computeResidual() override
Compute this object's contribution to the residual.
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job.
virtual void jacobianSetup() override
Gets called just before the Jacobian is computed and before this object is asked to do its job.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes d-ivar-residual / d-jvar...
const unsigned int & _current_side
current side of the current element
const QBase *const & _qrule
active quadrature rule
const MooseArray< Real > & _JxW
transformed Jacobian weights
const Elem *const & _current_elem
current element
const MooseArray< Point > & _q_point
active quadrature points
Base class for deriving any boundary condition of a integrated type.
static InputParameters validParams()
const MooseArray< Point > & _normals
normals at quadrature points
void scalingFactor(const std::vector< Real > &factor)
Set the scaling factor for this variable.
Assembly & _assembly
Reference to this Kernel's assembly object.
void addJacobian(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
Add the provided residual derivatives into the Jacobian for the provided dof indices.
void addResiduals(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
Add the provided incoming residuals corresponding to the provided dof indices.
Moose::StateArg determineState() const
Create a functor state argument that corresponds to the implicit state of this object.
void resize(const unsigned int new_m, const unsigned int new_n)
void resize(const unsigned int n)
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
const unsigned int invalid_uint
Argument for requesting functor evaluation at quadrature point locations on an element side.