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

« back to all changes in this revision

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