inertia.h

The inertia term of the Navier-Stokes equation with the discontinuous Galerkin method – di Pietro & Ern variant

template<class W, class U, class V>
form inertia (W w, U u, V v,
integrate_option iopt = integrate_option())
{
return
integrate (dot(grad_h(u)*w,v) + 0.5*div_h(w)*dot(u,v), iopt)
+ integrate ("boundary", - 0.5*dot(w,normal())*dot(u,v), iopt)
+ integrate ("internal_sides",
- dot(average(w),normal())*dot(jump(u),average(v))
- 0.5*dot(jump(w),normal())
*(dot(average(u),average(v)) + 0.25*dot(jump(u),jump(v))), iopt);
}
field inertia_fix_rhs (test v,
integrate_option iopt = integrate_option())
{
return integrate("boundary", - 0.5*dot(g(),normal())*dot(g(),v), iopt);
}
g
u_exact g
Definition: burgers_diffusion_exact.h:33
field
see the field page for the full documentation
form
see the form page for the full documentation
test
see the test page for the full documentation
inertia
form inertia(W w, U u, V v, integrate_option iopt=integrate_option())
Definition: inertia.h:26
inertia_fix_rhs
field inertia_fix_rhs(test v, integrate_option iopt=integrate_option())
Definition: inertia.h:37
rheolef::details::dot
rheolef::details::is_vec dot
rheolef::div_h
std::enable_if< details::is_field_convertible< Expr >::value,details::field_expr_v2_nonlinear_terminal_field< typename Expr::scalar_type,typename Expr::memory_type,details::differentiate_option::divergence >>::type div_h(const Expr &expr)
div_h(uh): see the expression page for the full documentation
Definition: field_expr_terminal.h:1069
rheolef::grad_h
std::enable_if< details::is_field_convertible< Expr >::value,details::field_expr_v2_nonlinear_terminal_field< typename Expr::scalar_type,typename Expr::memory_type,details::differentiate_option::gradient >>::type grad_h(const Expr &expr)
grad_h(uh): see the expression page for the full documentation
Definition: field_expr_terminal.h:949
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
rheolef::normal
details::field_expr_v2_nonlinear_terminal_function< details::normal_pseudo_function< Float > > normal()
normal: see the expression page for the full documentation
Definition: field_expr_terminal.h:439
u
Definition: leveque.h:25