19 params.addClassDescription(
"Implements an outflow boundary condition for use with a hybridized "
20 "discretization of the incompressible Navier-Stokes equations");
21 params.renameParam(
"variable",
"u",
"The x-component of velocity");
28 _cached_side(
libMesh::invalid_uint)
registerMooseObject("NavierStokesApp", NavierStokesLHDGOutflowBC)
const std::vector< dof_id_type > & _qu_dof_indices
const MooseVariableFE< Real > & _u_var
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)
const MooseArray< Number > & _u_sol
void vectorFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &vector_lm_jac)
const std::vector< dof_id_type > & _lm_u_dof_indices
const MooseArray< libMesh::Gradient > & _qu_sol
const Elem * _cached_elem
const MooseArray< Number > & _lm_u_sol
const std::vector< dof_id_type > & _u_dof_indices
const MooseVariableFE< Real > & _u_face_var
const MooseVariableFE< RealVectorValue > & _grad_u_var
const unsigned int & _current_side
const QBase *const & _qrule
const MooseArray< Real > & _JxW
const Elem *const & _current_elem
static InputParameters validParams()
const MooseArray< Point > & _normals
void scalingFactor(const std::vector< Real > &factor)
Implements all the methods for assembling a hybridized local discontinuous Galerkin (LDG-H),...
const MooseVariableFE< Real > & _v_var
DenseMatrix< Number > _v_v_jac
DenseVector< Number > _u_vel_re
static InputParameters validParams()
void pressureFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &p_lm_u_vel_jac, DenseMatrix< Number > &p_lm_v_vel_jac)
const std::vector< dof_id_type > & _lm_v_dof_indices
const std::vector< dof_id_type > & _qv_dof_indices
Containers for dof indices.
DenseVector< Number > _grad_v_vel_re
const MooseArray< Number > & _lm_v_sol
DenseMatrix< Number > _v_lm_v_jac
DenseMatrix< Number > _grad_v_lm_v_jac
const MooseArray< Gradient > & _qv_sol
local solutions at quadrature points
DenseMatrix< Number > _v_lm_u_jac
void scalarFaceJacobian(const unsigned int vel_component, 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, DenseMatrix< Number > &scalar_p_jac, DenseMatrix< Number > &scalar_lm_u_vel_jac, DenseMatrix< Number > &scalar_lm_v_vel_jac)
DenseVector< Number > _grad_u_vel_re
DenseMatrix< Number > _lm_v_lm_v_jac
DenseMatrix< Number > _u_u_jac
DenseMatrix< Number > _u_lm_u_jac
const std::vector< dof_id_type > & _p_dof_indices
DenseMatrix< Number > _v_p_jac
DenseMatrix< Number > _p_lm_u_jac
DenseMatrix< Number > _u_lm_v_jac
DenseVector< Number > _lm_v_vel_re
const MooseVariableFE< Real > & _v_face_var
const MooseVariableFE< Real > & _pressure_var
DenseMatrix< Number > _lm_v_p_jac
DenseMatrix< Number > _lm_u_lm_u_jac
DenseMatrix< Number > _lm_v_v_jac
DenseMatrix< Number > _grad_u_lm_u_jac
DenseMatrix< Number > _u_grad_u_jac
DenseMatrix< Number > _v_grad_v_jac
DenseVector< Number > _p_re
void lmFaceJacobian(const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac, DenseMatrix< Number > &lm_p_jac, DenseMatrix< Number > &lm_lm_u_vel_jac, DenseMatrix< Number > &lm_lm_v_vel_jac)
DenseMatrix< Number > _u_p_jac
DenseMatrix< Number > _p_lm_v_jac
DenseMatrix< Number > _lm_v_grad_v_jac
void scalarFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)
const MooseVariableFE< RealVectorValue > & _grad_v_var
DenseMatrix< Number > _lm_v_lm_u_jac
void pressureFaceResidual(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &pressure_re)
DenseMatrix< Number > _lm_u_grad_u_jac
const MooseArray< Number > & _v_sol
DenseVector< Number > _v_vel_re
void lmFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseVector< Number > &lm_re)
DenseVector< Number > _lm_u_vel_re
DenseMatrix< Number > _lm_u_p_jac
DenseMatrix< Number > _lm_u_lm_v_jac
const std::vector< dof_id_type > & _v_dof_indices
DenseMatrix< Number > _lm_u_u_jac
Implements an outflow boundary condition for use with a hybridized discretization of the incompressib...
static InputParameters validParams()
virtual void computeJacobian() override
virtual void computeOffDiagJacobian(unsigned int jvar) override
virtual void computeResidual() override
virtual void initialSetup() override
NavierStokesLHDGOutflowBC(const InputParameters ¶meters)
unsigned int _cached_side
A cache variable to prevent multiple computations of Jacobians.
virtual void jacobianSetup() override
void addJacobian(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
void addResiduals(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
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 Parallel::packed_range_* routines for a vecto...
const unsigned int invalid_uint