Rheolef  7.1
an efficient C++ finite element environment
dirichlet_hdg_average.icc
Go to the documentation of this file.
1 field dirichlet_hdg_average (field uh, field lambda_h) {
26  size_t k = uh.get_space().degree();
27  size_t d = uh.get_geo().dimension();
28  space Zh (uh.get_geo(), "P0");
29  trial zeta(Zh); test xi(Zh);
30  integrate_option iopt;
31  iopt.invert = true;
32  if (k >= 1) {
33  form inv_mz = integrate (zeta*xi, iopt);
34  iopt.set_order(2*k+2);
35  field lh = integrate (uh*xi, iopt);
36  return inv_mz*lh;
37  }
38  const space& Mh = lambda_h.get_space();
39  trial lambda (Mh); test mu (Mh);
40  form inv_ms = integrate("sides", lambda*mu, iopt);
41  field inv_sh = inv_ms*field(Mh,1);
42  field lh = integrate (on_local_sides(inv_sh*lambda_h*xi));
43  return (1./(d+1))*lh;
44 }
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
mkgeo_ball.d
int d
Definition: mkgeo_ball.sh:154
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_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