32 _neighbor_dof_indices_var(sys.
n_vars()),
33 _dg_terms_active(false)
35 unsigned int nv = sys.
n_vars();
44 for (
unsigned int i=0; i != nv; ++i)
52 for (
unsigned int j=0; j != nv; ++j)
62 for (
unsigned int i=0; i != nv; ++i)
92 std::vector<Point> qface_side_points;
93 std::vector<Point> qface_neighbor_points;
96 FEType neighbor_side_fe_type = pr.first;
98 qface_side_points = side_fe->
get_xyz();
101 neighbor_side_fe_type,
104 qface_neighbor_points);
106 pr.second->reinit(&
get_neighbor(), &qface_neighbor_points);
118 const unsigned int n_dofs = cast_int<unsigned int>
120 const unsigned int n_neighbor_dofs = cast_int<unsigned int>
132 unsigned int sub_dofs = 0;
137 const unsigned int n_dofs_var = cast_int<unsigned int>
141 (sub_dofs, n_dofs_var);
143 for (
unsigned int j=0; j != i; ++j)
145 const unsigned int n_dofs_var_j =
146 cast_int<unsigned int>
151 n_dofs_var, n_dofs_var_j);
154 n_dofs_var_j, n_dofs_var);
158 n_dofs_var, n_dofs_var_j);
161 n_dofs_var_j, n_dofs_var);
165 n_dofs_var, n_dofs_var_j);
168 n_dofs_var_j, n_dofs_var);
172 n_dofs_var, n_dofs_var_j);
175 n_dofs_var_j, n_dofs_var);
193 sub_dofs += n_dofs_var;
195 libmesh_assert_equal_to (sub_dofs, n_dofs);
Manages the family, order, etc. parameters for a given FE.
std::vector< dof_id_type > _neighbor_dof_indices
const std::vector< Point > & get_xyz() const
DenseVector< Number > _neighbor_residual
DenseMatrix< Number > _elem_elem_jacobian
void neighbor_side_fe_reinit()
void dof_indices(const Elem *const elem, std::vector< dof_id_type > &di) const
std::vector< std::vector< std::unique_ptr< DenseSubMatrix< Number > > > > _elem_elem_subjacobians
virtual void side_fe_reinit() override
void resize(const unsigned int n)
std::vector< std::vector< dof_id_type > > _neighbor_dof_indices_var
std::vector< FEAbstract * > _neighbor_side_fe_var
const unsigned int n_vars
unsigned char get_dim() const
virtual void side_fe_reinit()
const System & get_system() const
Manages consistently variables, degrees of freedom, and coefficient vectors.
DenseMatrix< Number > _neighbor_elem_jacobian
static Point inverse_map(const unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true)
const std::vector< dof_id_type > & get_dof_indices() const
DenseMatrix< Number > _elem_neighbor_jacobian
std::vector< std::vector< std::unique_ptr< DenseSubMatrix< Number > > > > _elem_neighbor_subjacobians
std::vector< std::map< FEType, std::unique_ptr< FEAbstract > > > _side_fe
const FEType & variable_type(const unsigned int i) const
std::vector< std::vector< std::unique_ptr< DenseSubMatrix< Number > > > > _neighbor_elem_subjacobians
DGFEMContext(const System &sys)
static std::unique_ptr< FEAbstract > build(const unsigned int dim, const FEType &type)
DenseMatrix< Number > _neighbor_neighbor_jacobian
void resize(const unsigned int new_m, const unsigned int new_n)
std::vector< std::unique_ptr< DenseSubVector< Number > > > _neighbor_subresiduals
unsigned int n_vars() const
std::map< FEType, std::unique_ptr< FEAbstract > > _neighbor_side_fe
const DofMap & get_dof_map() const
const Elem & get_neighbor() const
std::vector< std::vector< std::unique_ptr< DenseSubMatrix< Number > > > > _neighbor_neighbor_subjacobians