Rheolef  7.1
an efficient C++ finite element environment
dirichlet_hdg_average.icc

The Poisson problem by the hybrid discontinuous Galerkin method – local averaging function

size_t k = uh.get_space().degree();
size_t d = uh.get_geo().dimension();
space Zh (uh.get_geo(), "P0");
trial zeta(Zh); test xi(Zh);
integrate_option iopt;
iopt.invert = true;
if (k >= 1) {
form inv_mz = integrate (zeta*xi, iopt);
iopt.set_order(2*k+2);
field lh = integrate (uh*xi, iopt);
return inv_mz*lh;
}
const space& Mh = lambda_h.get_space();
trial lambda (Mh); test mu (Mh);
form inv_ms = integrate("sides", lambda*mu, iopt);
field inv_sh = inv_ms*field(Mh,1);
field lh = integrate (on_local_sides(inv_sh*lambda_h*xi));
return (1./(d+1))*lh;
}
form
see the form page for the full documentation
field
see the field page for the full documentation
rheolef::integrate
std::enable_if< details::is_field_expr_v2_nonlinear_arg< Expr >::value &&! is_undeterminated< Result >::value, Result >::type integrate(const geo_basic< T, M > &omega, const Expr &expr, const integrate_option &iopt, Result dummy=Result())
see the integrate page for the full documentation
Definition: integrate.h:202
space
see the space page for the full documentation
rheolef::on_local_sides
std::enable_if< details::is_field_expr_v2_variational_arg< Expr >::value,details::field_expr_quadrature_on_sides< Expr > >::type on_local_sides(const Expr &expr)
on_local_sides(expr): see the expression page for the full documentation
Definition: field_expr_quadrature.h:321
lh
field lh(Float epsilon, Float t, const test &v)
Definition: burgers_diffusion_operators.icc:25
test
see the test page for the full documentation
mkgeo_ball.d
d
Definition: mkgeo_ball.sh:154
mkgeo_contraction.mu
mu
Definition: mkgeo_contraction.sh:193
trial
see the test page for the full documentation
dirichlet_hdg_average
field dirichlet_hdg_average(field uh, field lambda_h)
Definition: dirichlet_hdg_average.icc:25
lambda
Definition: yield_slip_circle.h:34