2
using namespace rheolef;
4
#include "poiseuille.h"
5
int main(int argc, char**argv) {
6
environment rheolef (argc, argv);
8
string sys_coord = omega.coordinate_system_name();
9
Float c = omega.xmax()[1];
10
space Xh (omega, "P2", "vector");
11
Xh.block ("upstream");
14
Xh[1].block ("downstream");
15
space Qh (omega, "P1");
16
space Wh (omega["upstream"], "P2");
19
uh[0]["upstream"] = interpolate (Wh, u(c,sys_coord));
20
form a (Xh, Xh, "2D_D");
21
form b = - form(Xh, Qh, "div");
22
form mp (Qh, Qh, "mass");
23
solver_abtb stokes (a.uu(), b.uu(), mp.uu());
24
stokes.solve (-(a.ub()*uh.b()), -(b.ub()*uh.b()), uh.set_u(), ph.set_u());
25
dout << catchmark("inv_lambda") << 0 << endl
26
<< catchmark("u") << uh
27
<< catchmark("p") << ph;