~ubuntu-branches/ubuntu/trusty/rheolef/trusty

« back to all changes in this revision

Viewing changes to doc/pexamples/transmission-mixed.cc

  • Committer: Package Import Robot
  • Author(s): Pierre Saramito
  • Date: 2012-04-06 09:12:21 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20120406091221-m58me99p1nxqui49
Tags: 6.0-1
* New upstream release 6.0 (major changes):
  - massively distributed and parallel support
  - full FEM characteristic method (Lagrange-Gakerkin method) support
  - enhanced users documentation 
  - source code supports g++-4.7 (closes: #667356)
* debian/control: dependencies for MPI distributed solvers added
* debian/rules: build commands simplified
* debian/librheolef-dev.install: man1/* to man9/* added
* debian/changelog: package description rewritted (closes: #661689)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "rheolef.h"
 
2
#include "rheolef/catchmark.h"
 
3
using namespace rheolef;
 
4
using namespace std;
 
5
int main(int argc, char**argv) {
 
6
  environment rheolef (argc, argv);
 
7
  const Float epsilon = 0.01;
 
8
  geo omega (argv[1]);
 
9
  space Xh (omega, "P1");
 
10
  Xh.block ("left");
 
11
  Xh.block ("right");
 
12
  space Qh (omega, "P0");
 
13
  field eta (Qh);
 
14
  eta ["east"] = 1;
 
15
  eta ["west"] = epsilon;
 
16
  field lh = riesz (Xh, field(Xh,1));
 
17
  form b = -form(Xh, Qh, "grad"); 
 
18
  form inv_m (Qh, Qh, "inv_mass", 1/eta); 
 
19
  form a = trans(b)*inv_m*b;
 
20
  solver sa (a.uu);
 
21
  uh.u = fact.solve (lh.u - a.ub*uh.b);
 
22
  cout << catchmark("epsilon") << epsilon << endl
 
23
       << catchmark("u")       << uh;
 
24
}