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

« back to all changes in this revision

Viewing changes to nfem/basis/prism.icc

  • 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
 
#ifndef _RHEOLEF_PRISM_ICC
2
 
#define _RHEOLEF_PRISM_ICC
3
 
 
4
 
/*Class:prism
5
 
NAME: @code{prism} - Prism reference element
6
 
@cindex prism
7
 
@cindex reference element
8
 
DESCRIPTION:
9
 
@noindent
10
 
  The prism reference element is
11
 
@noindent
12
 
@example
13
 
        K = @{ 0 < x < 1 and 0 < y < 1-x and -1 < z < 1 @}
14
 
@end example
15
 
NUMBERING:
16
 
@noindent
17
 
The orientation is such that triedra (01, 02, 03) is direct
18
 
and all faces, see from exterior, are in the direct sens.  References: 
19
 
P. L. Georges, "Generation automatique de maillages",
20
 
page 24-, coll RMA, 16, Masson, 1994.
21
 
@noindent
22
 
@example
23
 
            z
24
 
          
25
 
            3 ---- 5
26
 
         '  | .    |
27
 
      4 .  '|      |
28
 
      |     |      |
29
 
      |     |      |
30
 
      |     0 . . .2     y
31
 
      |  '    .
32
 
      1 .  '
33
 
 
34
 
    x
35
 
@end example
36
 
END:*/
37
 
 
38
 
//<prism:
39
 
const size_t dimension = 3;
40
 
const Float  measure = 1;
41
 
const size_t n_vertex = 6;
42
 
const Float vertex [n_vertex][dimension] = {
43
 
        { 0, 0,-1 },
44
 
        { 1, 0,-1 },
45
 
        { 0, 1,-1 },
46
 
        { 0, 0, 1 },
47
 
        { 1, 0, 1 },
48
 
        { 0, 1, 1 } };
49
 
const size_t  n_face = 5;
50
 
const size_t face [n_face][4] = {
51
 
        { 0, 2, 1, size_t(-1) },
52
 
        { 0, 3, 5, 2 },
53
 
        { 0, 1, 4, 3 },
54
 
        { 3, 4, 5, size_t(-1) },
55
 
        { 1, 2, 5, 4 } };
56
 
const size_t  n_edge = 9;
57
 
const size_t edge [n_edge][2] = {
58
 
        { 0, 1 },
59
 
        { 1, 2 },
60
 
        { 2, 0 },
61
 
        { 0, 3 },
62
 
        { 1, 4 },
63
 
        { 2, 5 },
64
 
        { 3, 4 },
65
 
        { 4, 5 },
66
 
        { 5, 3 } };
67
 
//>prism:
68
 
#endif // _RHEOLEF_PRISM_ICC