Loading...
Searching...
No Matches
stokes_dirichlet_dg.icc
Go to the documentation of this file.
void stokes_dirichlet_dg (const space& Xh, const space& Qh,
form& a, form& b, form& c, form& mp, field& lh, field& kh,
integrate_option iopt = integrate_option())
{
size_t k = Xh.degree();
size_t d = Xh.get_geo().dimension();
Float beta = (k+1)*(k+d)/Float(d);
trial u (Xh), p (Qh);
test v (Xh), q (Qh);
a = integrate (2*ddot(Dh(u),Dh(v)), iopt)
+ integrate ("sides", beta*penalty()*dot(jump(u),jump(v))
- 2*dot(jump(u),average(Dh(v)*normal()))
- 2*dot(jump(v),average(Dh(u)*normal())), iopt);
lh = integrate (dot(f(),v), iopt)
+ integrate ("boundary", beta*penalty()*dot(g(),v)
- 2*dot(g(),Dh(v)*normal()), iopt);
b = integrate (dot(u,grad_h(q)), iopt)
+ integrate ("internal_sides", - dot(average(u),normal())*jump(q), iopt);
kh = integrate ("boundary", dot(g(),normal())*q, iopt);
c = integrate ("internal_sides", h_local()*jump(p)*jump(q), iopt);
mp = integrate (p*q, iopt);
}
lh
field lh(Float epsilon, Float t, const test &v)
Definition burgers_diffusion_operators.icc:25
Float
see the Float page for the full documentation
field
see the field page for the full documentation
form
see the form page for the full documentation
space
see the space page for the full documentation
test
see the test page for the full documentation
trial
see the test page for the full documentation
d
size_t d
Definition neumann-laplace-lambda.cc:28
stokes_dirichlet_dg
void stokes_dirichlet_dg(const space &Xh, const space &Qh, form &a, form &b, form &c, form &mp, field &lh, field &kh, integrate_option iopt=integrate_option())
Definition stokes_dirichlet_dg.icc:25
f
Definition cavity_dg.h:29
g
Definition cavity_dg.h:25
p
Definition sphere.icc:25
u
Definition leveque.h:25