Rheolef  7.2
an efficient C++ finite element environment
inertia.h
Go to the documentation of this file.
1 template<class W, class U, class V>
26 form inertia (W w, U u, V v,
27  integrate_option iopt = integrate_option())
28 {
29  return
30  integrate (dot(grad_h(u)*w,v) + 0.5*div_h(w)*dot(u,v), iopt)
31  + integrate ("boundary", - 0.5*dot(w,normal())*dot(u,v), iopt)
32  + integrate ("internal_sides",
33  - dot(average(w),normal())*dot(jump(u),average(v))
34  - 0.5*dot(jump(w),normal())
35  *(dot(average(u),average(v)) + 0.25*dot(jump(u),jump(v))), iopt);
36 }
38  integrate_option iopt = integrate_option())
39 {
40  return integrate("boundary", - 0.5*dot(g(),normal())*dot(g(),v), iopt);
41 }
u_exact g
see the field page for the full documentation
see the form page for the full documentation
see the test page for the full documentation
form inertia(W w, U u, V v, integrate_option iopt=integrate_option())
Definition: inertia.h:26
field inertia_fix_rhs(test v, integrate_option iopt=integrate_option())
Definition: inertia.h:37
rheolef::details::is_vec dot
std::enable_if< details::has_field_rdof_interface< 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
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:211
std::enable_if< details::has_field_rdof_interface< 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
details::field_expr_v2_nonlinear_terminal_function< details::normal_pseudo_function< Float > > normal()
normal: see the expression page for the full documentation
Definition: leveque.h:25