/usr/share/doc/rheolef-doc/examples/burgers_diffusion_operators.icc is in rheolef-doc 6.7-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | field lh (Float epsilon, Float t, const test& v) {
#ifdef NEUMANN
return field (v.get_vf_space(), 0);
#else // NEUMANN
size_t d = v.get_vf_space().get_geo().dimension();
size_t k = v.get_vf_space().degree();
Float beta = (k+1)*(k+d)/d;
return epsilon*integrate ("boundary",
beta*penalty()*g(epsilon,t)*v
- g(epsilon,t)*dot(grad_h(v),normal()));
#endif // NEUMANN
}
field gh (Float epsilon, Float t, const field& uh, const test& v) {
return - integrate (dot(compose(f,uh),grad_h(v)))
+ integrate ("internal_sides",
compose (phi, normal(), inner(uh), outer(uh))*jump(v))
+ integrate ("boundary",
compose (phi, normal(), uh, g(epsilon,t))*v);
}
|