62 for (
unsigned int v=0; v<
n_vars; v++)
68 FEBase * side_fe =
nullptr;
70 const std::set<unsigned char> & elem_dims =
73 for (
const auto & dim : elem_dims)
95 FEBase * fe_fine =
nullptr;
98 FEBase * fe_coarse =
nullptr;
104 std::vector<std::vector<RealGradient>> dphi_coarse = fe_coarse->
get_dphi();
105 std::vector<std::vector<RealGradient>> dphi_fine = fe_fine->
get_dphi();
106 std::vector<Point> face_normals = fe_fine->
get_normals();
107 std::vector<Real> JxW_face = fe_fine->
get_JxW();
109 for (
unsigned int qp=0; qp != n_qp; ++qp)
119 const Number jump = (grad_fine - grad_coarse)*face_normals[qp];
123 error += JxW_face[qp] * jump2;
139 FEBase * fe_fine =
nullptr;
142 const std::string & var_name =
145 std::vector<std::vector<RealGradient>> dphi_fine = fe_fine->
get_dphi();
146 std::vector<Point> face_normals = fe_fine->
get_normals();
147 std::vector<Real> JxW_face = fe_fine->
get_JxW();
148 std::vector<Point> qface_point = fe_fine->
get_xyz();
157 qface_point[0], var_name).first)
168 for (
unsigned int qp=0; qp<n_qp; qp++)
171 const std::pair<bool,Real> flux_bc =
173 qface_point[qp], var_name);
177 libmesh_assert_equal_to (flux_bc.first,
true);
183 const Number jump = flux_bc.second - grad_fine*face_normals[qp];
193 error += JxW_face[qp]*jump2;
209 const std::string & var_name))
void attach_flux_bc_function(std::pair< bool, Real > fptr(const System &system, const Point &p, const std::string &var_name))
std::pair< bool, Real >(* _bc_function)(const System &system, const Point &p, const std::string &var_name)
const std::vector< Point > & get_xyz() const
std::unique_ptr< FEMContext > fine_context
The base class for all geometric element types.
virtual unsigned int n_quadrature_points() const =0
virtual void init_context(FEMContext &c) override
const unsigned int n_vars
virtual Real hmax() const
const std::vector< std::vector< OutputGradient > > & get_dphi() const
const std::vector< Point > & get_normals() const
virtual void internal_side_integration() override
Manages consistently variables, degrees of freedom, and coefficient vectors.
const std::vector< Real > & get_JxW() const
std::unique_ptr< FEMContext > coarse_context
Real weight(unsigned int var) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual unsigned short dim() const =0
virtual bool boundary_side_integration() override
unsigned int n_vars() const
bool integrate_boundary_sides
A geometric point in (x,y,z) space.
virtual ErrorEstimatorType type() const override
const std::set< unsigned char > & elem_dimensions() const