Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
NestedRefineTemplates.hpp
Go to the documentation of this file.
00001 #ifndef TEMPLATES_HPP
00002 #define TEMPLATES_HPP
00003 
00004 #include "moab/NestedRefine.hpp"
00005 
00006 /*
00007  * This header contains the field values of the refinement patterns for
00008  * each entity types and their possible degrees. It also contains the permutations
00009  *  of the locally ordered vertices and half-facets on parent half-facets needed
00010  * for book-keeping purposes. The fields are described in the refPattern structure
00011  *  in NestedRefine class.
00012  *
00013  */
00014 
00015 namespace moab
00016 {
00017 
00018 const NestedRefine::refPatterns NestedRefine::refTemplates[9][MAX_DEGREE] = {
00019 
00020     // EDGE
00021     { // Deg 2
00022       /*    0------2------1    */
00023       /*           1            2         */
00024 
00025       { 1,
00026         0,
00027         0,
00028         1,
00029         2,
00030         { 2, 2 },
00031         { { 1.0 / 2.0, 0, 0 } },
00032         { { 0, 2 }, { 2, 1 } },
00033 
00034         { { 1, 0 }, { 2, 1 }, { 2, 0 } },
00035         { { 0, 0, 2, 0 }, { 1, 1, 0, 0 } },
00036 
00037         { {} },
00038         { {} },
00039         { { 1, 1 }, { 1, 2 } },
00040         { {} } },
00041 
00042       // Deg 3
00043       /*    0------2------3------1    */
00044       /*           1            2           3         */
00045 
00046       { 2,
00047         0,
00048         0,
00049         2,
00050         3,
00051         { 2, 3 },
00052         { { 1.0 / 3.0, 0, 0 }, { 2.0 / 3.0, 0, 0 } },
00053         { { 0, 2 }, { 2, 3 }, { 3, 1 } },
00054 
00055         { { 1, 0 }, { 3, 1 }, { 2, 0 }, { 3, 0 } },
00056         { { 0, 0, 2, 0 }, { 1, 1, 3, 0 }, { 2, 1, 0, 0 } },
00057 
00058         { {} },
00059         { {} },
00060         { { 1, 1 }, { 1, 3 } },
00061         { {} } },
00062 
00063       // Deg 5
00064       /*    0------2------3------4------5------1    */
00065       /*           1            2          3           4            5         */
00066 
00067       { 4,
00068         0,
00069         0,
00070         4,
00071         5,
00072         { 2, 5 },
00073         { { 1.0 / 5.0, 0, 0 }, { 2.0 / 5.0, 0, 0 }, { 3.0 / 5.0, 0, 0 }, { 4.0 / 5.0, 0, 0 } },
00074         { { 0, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 }, { 5, 1 } },
00075 
00076         { { 1, 0 }, { 5, 1 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 } },
00077         { { 0, 0, 2, 0 }, { 1, 1, 3, 0 }, { 2, 1, 4, 0 }, { 3, 1, 5, 0 }, { 4, 1, 0, 0 } },
00078 
00079         { {} },
00080         { {} },
00081         { { 1, 1 }, { 1, 5 } },
00082         { {} } } },
00083 
00084     // TRI
00085     { // Deg 2
00086       /*  2
00087          /  \
00088      5 /-- \ 4
00089        /_\/_\
00090       0   3  1   */
00091 
00092       { 1,
00093         0,
00094         0,
00095         3,
00096         4,
00097         { 3, 5 },
00098         { { 0.5, 0, 0 }, { 0.5, 0.5, 0 }, { 0, 0.5, 0 } },
00099         { { 0, 3, 5 }, { 3, 4, 5 }, { 3, 1, 4 }, { 5, 4, 2 } },
00100 
00101         { { 1, 0 }, { 3, 1 }, { 4, 2 }, { 3, 0 }, { 4, 1 }, { 1, 2 } },
00102         { { 0, 0, 2, 2, 0, 0 }, { 3, 2, 4, 0, 1, 1 }, { 0, 0, 0, 0, 2, 0 }, { 2, 1, 0, 0, 0, 0 } },
00103 
00104         { { 3 }, { 4 }, { 5 } },
00105         { {} },
00106         { { 2, 1, 3 }, { 2, 3, 4 }, { 2, 4, 1 } },
00107         { {} } },
00108 
00109       // Deg 3
00110       /*  2
00111           /_\
00112         7    6
00113        /_\/_\
00114       8   9    5
00115      /_\/_\/_\
00116     0   3   4   1
00117     */
00118 
00119       { 2,
00120         1,
00121         0,
00122         7,
00123         9,
00124         { 3, 9 },
00125         { { 1.0 / 3.0, 0, 0 },
00126           { 2.0 / 3.0, 0, 0 },
00127           { 2.0 / 3.0, 1.0 / 3.0, 0 },
00128           { 1.0 / 3.0, 2.0 / 3.0, 0 },
00129           { 0, 2.0 / 3.0, 0 },
00130           { 0, 1.0 / 3.0, 0 },
00131           { 1.0 / 3.0, 1.0 / 3.0, 0 } },
00132         { { 0, 3, 8 },
00133           { 3, 9, 8 },
00134           { 3, 4, 9 },
00135           { 4, 5, 9 },
00136           { 4, 1, 5 },
00137           { 8, 9, 7 },
00138           { 9, 6, 7 },
00139           { 9, 5, 6 },
00140           { 7, 6, 2 } },
00141 
00142         { { 1, 0 }, { 5, 1 }, { 9, 2 }, { 3, 0 }, { 5, 0 }, { 8, 1 }, { 9, 1 }, { 6, 2 }, { 1, 2 }, { 8, 0 } },
00143         { { 0, 0, 2, 2, 0, 0 },
00144           { 3, 2, 6, 0, 1, 1 },
00145           { 0, 0, 4, 2, 2, 1 },
00146           { 5, 2, 8, 0, 3, 1 },
00147           { 0, 0, 0, 0, 4, 0 },
00148           { 2, 1, 7, 2, 0, 0 },
00149           { 8, 2, 9, 0, 6, 1 },
00150           { 4, 1, 0, 0, 7, 0 },
00151           { 7, 1, 0, 0, 0, 0 } },
00152 
00153         { { 3, 4 }, { 5, 6 }, { 7, 8 } },
00154         { { 9 } },
00155         { { 3, 1, 3, 5 }, { 3, 5, 8, 9 }, { 3, 9, 6, 1 } },
00156         { {} } },
00157 
00158       // Deg 5
00159       /*    2
00160             /_\
00161           11  10
00162           /_\/_\
00163         12 19  9
00164         /_\/_\/_\
00165       13 20 18  8
00166       /_\/_\/_\/_\
00167     14 15 16 17  7
00168     /_\/_\/_\/_\/_\
00169    0   3   4   5   6   1
00170     */
00171 
00172       { 4,
00173         6,
00174         0,
00175         18,
00176         25,
00177         { 3, 20 },
00178         { { 1 / 5.0, 0, 0 },
00179           { 2 / 5.0, 0, 0 },
00180           { 3 / 5.0, 0, 0 },
00181           { 4 / 5.0, 0, 0 },
00182           { 4 / 5.0, 1 / 5.0, 0 },
00183           { 3 / 5.0, 2 / 5.0, 0 },
00184           { 2 / 5.0, 3 / 5.0, 0 },
00185           { 1 / 5.0, 4 / 5.0, 0 },
00186           { 0, 4 / 5.0, 0 },
00187           { 0, 3 / 5.0, 0 },
00188           { 0, 2 / 5.0, 0 },
00189           { 0, 1 / 5.0, 0 },
00190           { 1 / 5.0, 1 / 5.0, 0 },
00191           { 2 / 5.0, 1 / 5.0, 0 },
00192           { 3 / 5.0, 1 / 5.0, 0 },
00193           { 2 / 5.0, 2 / 5.0, 0 },
00194           { 1 / 5.0, 3 / 5.0, 0 },
00195           { 1 / 5.0, 2 / 5.0, 0 } },
00196 
00197         { { 0, 3, 14 },   { 3, 15, 14 },  { 3, 4, 15 },   { 4, 16, 15 },  { 4, 5, 16 },
00198           { 5, 17, 16 },  { 5, 6, 17 },   { 6, 7, 17 },   { 6, 1, 7 },    { 14, 15, 13 },
00199           { 15, 20, 13 }, { 15, 16, 20 }, { 16, 18, 20 }, { 16, 17, 18 }, { 17, 8, 18 },
00200           { 17, 7, 8 },   { 13, 20, 12 }, { 20, 19, 12 }, { 20, 18, 19 }, { 18, 9, 19 },
00201           { 18, 8, 9 },   { 12, 19, 11 }, { 19, 10, 11 }, { 19, 9, 10 },  { 11, 10, 2 } },
00202 
00203         { { 1, 0 },  { 9, 1 },  { 25, 2 }, { 3, 0 },  { 5, 0 },  { 7, 0 },  { 9, 0 },
00204           { 16, 1 }, { 21, 1 }, { 24, 1 }, { 25, 1 }, { 22, 2 }, { 17, 2 }, { 10, 2 },
00205           { 1, 2 },  { 12, 0 }, { 14, 0 }, { 16, 0 }, { 21, 0 }, { 24, 0 }, { 19, 0 } },
00206         { { 0, 0, 2, 2, 0, 0 },    { 3, 2, 10, 0, 1, 1 },   { 0, 0, 4, 2, 2, 0 },    { 5, 2, 12, 0, 3, 1 },
00207           { 0, 0, 6, 2, 4, 1 },    { 7, 2, 14, 0, 5, 1 },   { 0, 0, 8, 2, 6, 1 },    { 9, 2, 16, 0, 7, 1 },
00208           { 0, 0, 0, 0, 8, 1 },    { 2, 1, 11, 2, 0, 0 },   { 12, 2, 17, 0, 10, 1 }, { 4, 1, 13, 2, 11, 0 },
00209           { 14, 2, 19, 0, 12, 1 }, { 6, 1, 15, 2, 13, 1 },  { 16, 2, 21, 0, 14, 1 }, { 8, 1, 0, 0, 15, 0 },
00210           { 11, 1, 18, 2, 0, 0 },  { 19, 2, 22, 0, 17, 1 }, { 13, 1, 20, 2, 18, 0 }, { 21, 2, 24, 0, 19, 1 },
00211           { 15, 1, 0, 0, 20, 0 },  { 18, 1, 23, 2, 0, 0 },  { 24, 2, 25, 0, 22, 1 }, { 20, 1, 0, 0, 23, 0 },
00212           { 23, 1, 0, 0, 0, 0 } },
00213 
00214         { { 3, 4, 5, 6 }, { 7, 8, 9, 10 }, { 11, 12, 13, 14 } },
00215         { { 15, 16, 17, 18, 19, 20 } },
00216         { { 5, 1, 3, 5, 7, 9 }, { 5, 9, 16, 21, 24, 25 }, { 5, 25, 22, 17, 10, 1 } },
00217         { {} } }
00218 
00219     },
00220 
00221     // QUAD
00222     { // Deg 2
00223       /*
00224        3---6---2
00225        |       |      |
00226        7---8---5
00227        |       |      |
00228        0---4---1
00229        * */
00230 
00231       { 1,
00232         1,
00233         0,
00234         5,
00235         4,
00236         { 4, 8 },
00237         { { 0, -1, 0 }, { 1, 0, 0 }, { 0, 1, 0 }, { -1, 0, 0 }, { 0, 0, 0 } },
00238         { { 0, 4, 8, 7 }, { 4, 1, 5, 8 }, { 8, 5, 2, 6 }, { 7, 8, 6, 3 } },
00239 
00240         { { 1, 0 }, { 2, 1 }, { 3, 2 }, { 4, 3 }, { 2, 0 }, { 3, 1 }, { 4, 2 }, { 1, 3 }, { 3, 0 } },
00241         { { 0, 0, 2, 3, 4, 0, 0, 0 },
00242           { 0, 0, 0, 0, 3, 0, 1, 1 },
00243           { 2, 2, 0, 0, 0, 0, 4, 1 },
00244           { 1, 2, 3, 3, 0, 0, 0, 0 } },
00245 
00246         { { 4 }, { 5 }, { 6 }, { 7 } },
00247         { { 8 } },
00248         { { 2, 1, 2 }, { 2, 2, 3 }, { 2, 3, 4 }, { 2, 4, 1 } },
00249         { {} } },
00250 
00251       // Deg 3
00252       /*
00253        3---9---8---2
00254        |       |      |      |
00255      10---15--14--7
00256        |       |      |      |
00257      11---12--13--6
00258        |       |      |      |
00259        0---4---5---1
00260        * */
00261 
00262       { 2,
00263         4,
00264         0,
00265         12,
00266         9,
00267         { 4, 15 },
00268         { { -1.0 / 3.0, -1, 0 },
00269           { 1.0 / 3.0, -1, 0 },
00270           { 1, -1.0 / 3.0, 0 },
00271           { 1, 1.0 / 3.0, 0 },
00272           { 1.0 / 3.0, 1, 0 },
00273           { -1.0 / 3.0, 1, 0 },
00274           { -1, 1.0 / 3.0, 0 },
00275           { -1, -1.0 / 3.0, 0 },
00276           { -1.0 / 3.0, -1.0 / 3.0, 0 },
00277           { 1.0 / 3.0, -1.0 / 3.0, 0 },
00278           { 1.0 / 3.0, 1.0 / 3.0, 0 },
00279           { -1.0 / 3.0, 1.0 / 3.0, 0 } },
00280         { { 0, 4, 12, 11 },
00281           { 4, 5, 13, 12 },
00282           { 5, 1, 6, 13 },
00283           { 11, 12, 15, 10 },
00284           { 12, 13, 14, 15 },
00285           { 13, 6, 7, 14 },
00286           { 10, 15, 9, 3 },
00287           { 15, 14, 8, 9 },
00288           { 14, 7, 2, 8 } },
00289 
00290         { { 1, 0 },
00291           { 3, 1 },
00292           { 9, 2 },
00293           { 7, 3 },
00294           { 2, 0 },
00295           { 3, 0 },
00296           { 6, 1 },
00297           { 9, 1 },
00298           { 8, 2 },
00299           { 7, 2 },
00300           { 4, 3 },
00301           { 1, 3 },
00302           { 5, 0 },
00303           { 6, 0 },
00304           { 9, 0 },
00305           { 8, 0 } },
00306         { { 0, 0, 2, 3, 4, 0, 0, 0 },
00307           { 0, 0, 3, 3, 5, 0, 1, 1 },
00308           { 0, 0, 0, 0, 6, 0, 2, 1 },
00309           { 1, 2, 5, 3, 7, 0, 0, 0 },
00310           { 2, 2, 6, 3, 8, 0, 4, 1 },
00311           { 3, 2, 0, 0, 9, 0, 5, 1 },
00312           { 4, 2, 8, 3, 0, 0, 0, 0 },
00313           { 5, 2, 9, 3, 0, 0, 7, 1 },
00314           { 6, 2, 0, 0, 0, 0, 8, 1 } },
00315 
00316         { { 4, 5 }, { 6, 7 }, { 8, 9 }, { 10, 11 } },
00317         { { 12, 13, 14, 15 } },
00318         { { 3, 1, 2, 3 }, { 3, 3, 6, 9 }, { 3, 9, 8, 7 }, { 3, 7, 4, 1 } },
00319         { {} } },
00320 
00321       // Deg 5
00322       /*
00323         3---15---14---13 ---12 ---2
00324          |       |        |         |         |         |
00325        16---29---28---27 ---26---11
00326          |       |        |         |         |         |
00327        17---30---35---34 ---25 ---10
00328          |       |        |         |         |         |
00329        18---31---32---33 ---24 ---9
00330          |       |        |         |         |         |
00331        19---20---21---22 ---23 ---8
00332          |       |        |         |         |         |
00333          0--- 4---  5---  6 ---  7 --- 1
00334        * */
00335 
00336       { 4,
00337         16,
00338         0,
00339         32,
00340         25,
00341         { 4, 35 },
00342         { { -3 / 5.0, -1, 0 },       { -1 / 5.0, -1, 0 },       { 1 / 5.0, -1, 0 },       { 3 / 5.0, -1, 0 },
00343           { 1, -3 / 5.0, 0 },        { 1, -1 / 5.0, 0 },        { 1, 1 / 5.0, 0 },        { 1, 3 / 5.0, 0 },
00344           { 3 / 5.0, 1, 0 },         { 1 / 5.0, 1, 0 },         { -1 / 5.0, 1, 0 },       { -3 / 5.0, 1, 0 },
00345           { -1, 3 / 5.0, 0 },        { -1, 1 / 5.0, 0 },        { -1, -1 / 5.0, 0 },      { -1, -3 / 5.0, 0 },
00346           { -3 / 5.0, -3 / 5.0, 0 }, { -1 / 5.0, -3 / 5.0, 0 }, { 1 / 5.0, -3 / 5.0, 0 }, { 3 / 5.0, -3 / 5.0, 0 },
00347           { 3 / 5.0, -1 / 5.0, 0 },  { 3 / 5.0, 1 / 5.0, 0 },   { 3 / 5.0, 3 / 5.0, 0 },  { 1 / 5.0, 3 / 5.0, 0 },
00348           { -1 / 5.0, 3 / 5.0, 0 },  { -3 / 5.0, 3 / 5.0, 0 },  { -3 / 5.0, 1 / 5.0, 0 }, { -3 / 5.0, -1 / 5.0, 0 },
00349           { -1 / 5.0, -1 / 5.0, 0 }, { 1 / 5.0, -1 / 5.0, 0 },  { 1 / 5.0, 1 / 5.0, 0 },  { -1 / 5.0, 1 / 5.0, 0 } },
00350         { { 0, 4, 20, 19 },   { 4, 5, 21, 20 },   { 5, 6, 22, 21 },   { 6, 7, 23, 22 },   { 7, 1, 8, 23 },
00351           { 19, 20, 31, 18 }, { 20, 21, 32, 31 }, { 21, 22, 33, 32 }, { 22, 23, 24, 33 }, { 23, 8, 9, 24 },
00352           { 18, 31, 30, 17 }, { 31, 32, 35, 30 }, { 32, 33, 34, 35 }, { 33, 24, 25, 34 }, { 24, 9, 10, 25 },
00353           { 17, 30, 29, 16 }, { 30, 35, 28, 29 }, { 35, 34, 27, 28 }, { 34, 25, 26, 27 }, { 25, 10, 11, 26 },
00354           { 16, 29, 15, 3 },  { 29, 28, 14, 15 }, { 28, 27, 13, 14 }, { 27, 26, 12, 13 }, { 26, 11, 2, 12 } },
00355 
00356         { { 1, 0 },  { 5, 1 },  { 25, 2 }, { 21, 3 }, { 2, 0 },  { 3, 0 },  { 4, 0 },  { 5, 0 },  { 10, 1 },
00357           { 15, 1 }, { 20, 1 }, { 25, 1 }, { 24, 2 }, { 23, 2 }, { 22, 2 }, { 21, 2 }, { 16, 3 }, { 11, 3 },
00358           { 6, 3 },  { 1, 3 },  { 7, 0 },  { 8, 0 },  { 9, 0 },  { 10, 0 }, { 15, 0 }, { 20, 0 }, { 25, 0 },
00359           { 24, 0 }, { 23, 0 }, { 22, 0 }, { 17, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 19, 0 }, { 18, 0 } },
00360         { { 0, 0, 2, 3, 6, 0, 0, 0 },     { 0, 0, 3, 3, 7, 0, 1, 1 },     { 0, 0, 4, 3, 8, 0, 2, 1 },
00361           { 0, 0, 5, 3, 9, 0, 3, 1 },     { 0, 0, 0, 0, 10, 0, 4, 1 },    { 1, 2, 7, 3, 11, 0, 0, 0 },
00362           { 2, 2, 8, 3, 12, 0, 6, 1 },    { 3, 2, 9, 3, 13, 0, 7, 1 },    { 4, 2, 10, 3, 14, 0, 8, 1 },
00363           { 5, 2, 0, 0, 15, 0, 9, 1 },    { 6, 2, 12, 3, 16, 0, 0, 0 },   { 7, 2, 13, 3, 17, 0, 11, 1 },
00364           { 8, 2, 14, 3, 18, 0, 12, 1 },  { 9, 2, 15, 3, 19, 0, 13, 1 },  { 10, 2, 0, 0, 20, 0, 14, 1 },
00365           { 11, 2, 17, 3, 21, 0, 0, 0 },  { 12, 2, 18, 3, 22, 0, 16, 1 }, { 13, 2, 19, 3, 23, 0, 17, 1 },
00366           { 14, 2, 20, 3, 24, 0, 18, 1 }, { 15, 2, 0, 0, 25, 0, 19, 1 },  { 16, 2, 22, 3, 0, 0, 0, 0 },
00367           { 17, 2, 23, 3, 0, 0, 21, 1 },  { 18, 2, 24, 3, 0, 0, 22, 1 },  { 19, 2, 25, 3, 0, 0, 23, 1 },
00368           { 20, 2, 0, 0, 0, 0, 24, 1 } },
00369 
00370         { { 4, 5, 6, 7 }, { 8, 9, 10, 11 }, { 12, 13, 14, 15 }, { 16, 17, 18, 19 } },
00371         { { 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 } },
00372         { { 5, 1, 2, 3, 4, 5 }, { 5, 5, 10, 15, 20, 25 }, { 5, 25, 24, 23, 22, 21 }, { 5, 21, 16, 11, 6, 1 } },
00373         { {} } } },
00374 
00375     // TET_Combination1
00376     { // Degree 2
00377       { 1,
00378         0,
00379         0,
00380         6,
00381         8,
00382         { 4, 9 },
00383         { { 0.5, 0, 0 }, { 0.5, 0.5, 0 }, { 0, 0.5, 0 }, { 0, 0, 0.5 }, { 0.5, 0, 0.5 }, { 0, 0.5, 0.5 } },
00384         { { 0, 4, 6, 7 },
00385           { 4, 8, 6, 7 },
00386           { 4, 5, 6, 8 },
00387           { 6, 8, 5, 9 },
00388           { 6, 8, 9, 7 },
00389           { 4, 1, 5, 8 },
00390           { 6, 5, 2, 9 },
00391           { 7, 8, 9, 3 } },
00392 
00393         { { 1, 0 }, { 6, 1 }, { 7, 2 }, { 8, 2 }, { 6, 0 }, { 7, 1 }, { 1, 2 }, { 8, 0 }, { 8, 1 }, { 8, 2 } },
00394         { { 0, 0, 2, 2, 0, 0, 0, 0 },
00395           { 0, 0, 5, 0, 1, 1, 3, 2 },
00396           { 6, 2, 4, 3, 2, 3, 0, 0 },
00397           { 5, 3, 0, 0, 7, 0, 3, 1 },
00398           { 2, 1, 8, 3, 0, 0, 4, 0 },
00399           { 0, 0, 0, 0, 3, 0, 0, 0 },
00400           { 4, 2, 0, 0, 0, 0, 0, 0 },
00401           { 0, 0, 0, 0, 0, 0, 5, 1 } },
00402 
00403         { { 4 }, { 5 }, { 6 }, { 7 }, { 8 }, { 9 } },
00404         { {} },
00405         { { 4, 1, 2, 6, 8 }, { 4, 6, 4, 7, 8 }, { 4, 7, 5, 1, 8 }, { 4, 1, 3, 7, 6 } },
00406         { { 6, 0, 0 }, { 7, 1, 1 }, { 1, 2, 2 }, { 8, 0, 0 }, { 8, 1, 1 }, { 8, 2, 2 } } },
00407 
00408       // Degree 3
00409       { 2,
00410         1,
00411         0,
00412         16,
00413         27,
00414         { 4, 19 },
00415         { { 1 / 3.0, 0, 0 },
00416           { 2 / 3.0, 0, 0 },
00417           { 2 / 3.0, 1 / 3.0, 0 },
00418           { 1 / 3.0, 2 / 3.0, 0 },
00419           { 0, 2 / 3.0, 0 },
00420           { 0, 1 / 3.0, 0 },
00421           { 0, 0, 1 / 3.0 },
00422           { 0, 0, 2 / 3.0 },
00423           { 2 / 3.0, 0, 1 / 3.0 },
00424           { 1 / 3.0, 0, 2 / 3.0 },
00425           { 0, 2 / 3.0, 1 / 3.0 },
00426           { 0, 1 / 3.0, 2 / 3.0 },
00427           { 1 / 3.0, 0, 1 / 3.0 },
00428           { 1 / 3.0, 1 / 3.0, 1 / 3.0 },
00429           { 0, 1 / 3.0, 1 / 3.0 },
00430           { 1 / 3.0, 1 / 3.0, 0 } },
00431 
00432         { { 0, 4, 9, 10 },    { 4, 16, 9, 10 },   { 4, 19, 9, 16 },   { 9, 16, 19, 18 },  { 9, 16, 18, 10 },
00433           { 4, 5, 19, 16 },   { 5, 12, 19, 16 },  { 5, 6, 19, 12 },   { 19, 12, 6, 17 },  { 19, 12, 17, 16 },
00434           { 5, 1, 6, 12 },    { 19, 6, 7, 17 },   { 19, 17, 8, 18 },  { 19, 7, 8, 17 },   { 8, 17, 7, 14 },
00435           { 8, 17, 14, 18 },  { 8, 7, 2, 14 },    { 19, 16, 17, 18 }, { 9, 19, 8, 18 },   { 10, 16, 18, 11 },
00436           { 16, 13, 18, 11 }, { 16, 17, 18, 13 }, { 18, 13, 17, 15 }, { 18, 13, 15, 11 }, { 16, 12, 17, 13 },
00437           { 18, 17, 14, 15 }, { 11, 13, 15, 3 } },
00438 
00439         { { 1, 0 },  { 11, 1 }, { 17, 2 }, { 27, 2 }, { 6, 0 },  { 11, 0 }, { 12, 1 }, { 17, 1 }, { 19, 2 }, { 1, 2 },
00440           { 20, 0 }, { 27, 0 }, { 25, 1 }, { 27, 1 }, { 26, 2 }, { 27, 2 }, { 25, 0 }, { 26, 0 }, { 20, 2 }, { 6, 3 } },
00441         { { 0, 0, 2, 2, 0, 0, 0, 0 },     { 0, 0, 5, 0, 1, 1, 3, 2 },    { 6, 2, 4, 3, 2, 3, 0, 0 },
00442           { 5, 3, 18, 0, 19, 0, 3, 1 },   { 2, 1, 20, 3, 0, 0, 4, 0 },   { 0, 0, 7, 2, 3, 0, 0, 0 },
00443           { 0, 0, 10, 0, 6, 1, 8, 2 },    { 11, 2, 9, 3, 7, 3, 0, 0 },   { 10, 3, 0, 0, 12, 0, 8, 1 },
00444           { 7, 1, 25, 3, 18, 3, 9, 0 },   { 0, 0, 0, 0, 8, 0, 0, 0 },    { 9, 2, 0, 0, 14, 0, 0, 0 },
00445           { 18, 2, 16, 0, 19, 1, 14, 2 }, { 12, 2, 15, 3, 13, 3, 0, 0 }, { 16, 3, 0, 0, 17, 0, 14, 1 },
00446           { 13, 1, 26, 3, 0, 0, 15, 0 },  { 15, 2, 0, 0, 0, 0, 0, 0 },   { 4, 1, 22, 3, 13, 0, 10, 2 },
00447           { 4, 2, 13, 2, 0, 0, 0, 0 },    { 0, 0, 21, 2, 0, 0, 5, 1 },   { 0, 0, 24, 0, 20, 1, 22, 2 },
00448           { 25, 2, 23, 3, 21, 3, 18, 1 }, { 24, 3, 0, 0, 26, 0, 22, 1 }, { 21, 1, 27, 3, 0, 0, 23, 0 },
00449           { 0, 0, 0, 0, 22, 0, 10, 1 },   { 23, 2, 0, 0, 0, 0, 16, 1 },  { 0, 0, 0, 0, 0, 0, 24, 1 } },
00450 
00451         { { 4, 5 }, { 6, 7 }, { 8, 9 }, { 10, 11 }, { 12, 13 }, { 14, 15 } },
00452         { { 16 }, { 17 }, { 18 }, { 19 } },
00453         { { 9, 1, 2, 6, 7, 11, 20, 21, 25, 27 },
00454           { 9, 11, 9, 12, 15, 17, 25, 23, 26, 27 },
00455           { 9, 17, 16, 19, 5, 1, 26, 24, 20, 27 },
00456           { 9, 1, 3, 19, 14, 17, 6, 8, 12, 11 } },
00457         { { 6, 0, 0, 11, 0, 0 },
00458           { 12, 1, 1, 17, 1, 1 },
00459           { 19, 2, 2, 1, 2, 2 },
00460           { 20, 0, 0, 27, 0, 0 },
00461           { 25, 1, 1, 27, 1, 1 },
00462           { 26, 2, 2, 27, 2, 2 } } } },
00463 
00464     // TET_Combination2
00465     { // Degree 2
00466       { 1,
00467         0,
00468         0,
00469         6,
00470         8,
00471         { 4, 9 },
00472         { { 0.5, 0, 0 }, { 0.5, 0.5, 0 }, { 0, 0.5, 0 }, { 0, 0, 0.5 }, { 0.5, 0, 0.5 }, { 0, 0.5, 0.5 } },
00473         { { 0, 4, 6, 7 },
00474           { 4, 8, 9, 7 },
00475           { 4, 9, 8, 5 },
00476           { 4, 5, 6, 9 },
00477           { 6, 4, 9, 7 },
00478           { 4, 1, 5, 8 },
00479           { 6, 5, 2, 9 },
00480           { 7, 8, 9, 3 } },
00481 
00482         { { 1, 0 }, { 6, 1 }, { 7, 2 }, { 8, 2 }, { 6, 0 }, { 7, 1 }, { 1, 2 }, { 8, 0 }, { 8, 1 }, { 8, 2 } },
00483         { { 0, 0, 5, 0, 0, 0, 0, 0 },
00484           { 0, 0, 8, 3, 5, 1, 3, 3 },
00485           { 4, 0, 0, 0, 6, 2, 2, 3 },
00486           { 3, 0, 7, 0, 5, 3, 0, 0 },
00487           { 1, 1, 2, 2, 0, 0, 4, 2 },
00488           { 0, 0, 0, 0, 3, 2, 0, 0 },
00489           { 4, 1, 0, 0, 0, 0, 0, 0 },
00490           { 0, 0, 0, 0, 0, 0, 2, 1 } },
00491 
00492         { { 4 }, { 5 }, { 6 }, { 7 }, { 8 }, { 9 } },
00493         { {} },
00494         { { 4, 1, 2, 6, 8 }, { 4, 6, 3, 7, 8 }, { 4, 7, 5, 1, 8 }, { 4, 1, 4, 7, 6 } },
00495         { { 6, 0, 0 }, { 7, 1, 1 }, { 1, 2, 2 }, { 8, 0, 0 }, { 8, 1, 1 }, { 8, 2, 2 } } },
00496 
00497       // Degree 3
00498       { 2,
00499         1,
00500         0,
00501         16,
00502         27,
00503         { 4, 19 },
00504         { { 1 / 3.0, 0, 0 },
00505           { 2 / 3.0, 0, 0 },
00506           { 2 / 3.0, 1 / 3.0, 0 },
00507           { 1 / 3.0, 2 / 3.0, 0 },
00508           { 0, 2 / 3.0, 0 },
00509           { 0, 1 / 3.0, 0 },
00510           { 0, 0, 1 / 3.0 },
00511           { 0, 0, 2 / 3.0 },
00512           { 2 / 3.0, 0, 1 / 3.0 },
00513           { 1 / 3.0, 0, 2 / 3.0 },
00514           { 0, 2 / 3.0, 1 / 3.0 },
00515           { 0, 1 / 3.0, 2 / 3.0 },
00516           { 1 / 3.0, 0, 1 / 3.0 },
00517           { 1 / 3.0, 1 / 3.0, 1 / 3.0 },
00518           { 0, 1 / 3.0, 1 / 3.0 },
00519           { 1 / 3.0, 1 / 3.0, 0 } },
00520 
00521         { { 0, 4, 9, 10 },    { 4, 16, 18, 10 },  { 4, 18, 16, 19 },  { 4, 19, 9, 18 },   { 9, 4, 18, 10 },
00522           { 4, 5, 19, 16 },   { 5, 12, 17, 16 },  { 5, 17, 12, 6 },   { 5, 6, 19, 17 },   { 19, 5, 17, 16 },
00523           { 5, 1, 6, 12 },    { 19, 6, 7, 17 },   { 19, 17, 14, 18 }, { 19, 14, 17, 7 },  { 19, 7, 8, 14 },
00524           { 8, 19, 14, 18 },  { 8, 7, 2, 14 },    { 19, 16, 17, 18 }, { 9, 19, 8, 18 },   { 10, 16, 18, 11 },
00525           { 16, 13, 15, 11 }, { 16, 15, 13, 17 }, { 16, 17, 18, 15 }, { 18, 16, 15, 11 }, { 16, 12, 17, 13 },
00526           { 18, 17, 14, 15 }, { 11, 13, 15, 3 } },
00527 
00528         { { 1, 0 },  { 11, 1 }, { 17, 2 }, { 27, 2 }, { 6, 0 },  { 11, 0 }, { 12, 1 }, { 17, 1 }, { 19, 2 }, { 1, 2 },
00529           { 20, 0 }, { 27, 0 }, { 25, 1 }, { 27, 1 }, { 26, 2 }, { 27, 2 }, { 25, 0 }, { 26, 0 }, { 20, 2 }, { 6, 3 } },
00530         { { 0, 0, 5, 0, 0, 0, 0, 0 },     { 0, 0, 20, 3, 5, 1, 3, 3 },    { 4, 0, 18, 0, 6, 2, 2, 3 },
00531           { 3, 0, 19, 0, 5, 3, 0, 0 },    { 1, 1, 2, 2, 0, 0, 4, 2 },     { 0, 0, 10, 0, 3, 2, 0, 0 },
00532           { 0, 0, 25, 3, 10, 1, 8, 3 },   { 9, 0, 0, 0, 11, 2, 7, 3 },    { 8, 0, 12, 0, 10, 3, 0, 0 },
00533           { 6, 1, 7, 2, 18, 3, 9, 2 },    { 0, 0, 0, 0, 8, 2, 0, 0 },     { 9, 1, 0, 0, 14, 2, 0, 0 },
00534           { 18, 2, 26, 3, 16, 1, 14, 3 }, { 15, 0, 0, 0, 12, 2, 13, 3 },  { 14, 0, 17, 0, 16, 3, 0, 0 },
00535           { 19, 1, 13, 2, 0, 0, 15, 2 },  { 15, 1, 0, 0, 0, 0, 0, 0 },    { 3, 1, 23, 3, 13, 0, 10, 2 },
00536           { 4, 1, 16, 0, 0, 0, 0, 0 },    { 0, 0, 24, 0, 0, 0, 2, 1 },    { 0, 0, 27, 3, 24, 1, 22, 3 },
00537           { 23, 0, 0, 0, 25, 2, 21, 3 },  { 22, 0, 26, 0, 24, 3, 18, 1 }, { 20, 1, 21, 2, 0, 0, 23, 2 },
00538           { 0, 0, 0, 0, 22, 2, 7, 1 },    { 23, 1, 0, 0, 0, 0, 13, 1 },   { 0, 0, 0, 0, 0, 0, 21, 1 } },
00539 
00540         { { 4, 5 }, { 6, 7 }, { 8, 9 }, { 10, 11 }, { 12, 13 }, { 14, 15 } },
00541         { { 16 }, { 17 }, { 18 }, { 19 } },
00542         { { 9, 1, 2, 6, 7, 11, 20, 21, 25, 27 },
00543           { 9, 11, 8, 12, 14, 17, 25, 22, 26, 27 },
00544           { 9, 17, 16, 19, 5, 1, 26, 24, 20, 27 },
00545           { 9, 1, 4, 19, 15, 17, 6, 9, 12, 11 } },
00546         { { 6, 0, 0, 11, 0, 0 },
00547           { 12, 1, 1, 17, 1, 1 },
00548           { 19, 2, 2, 1, 2, 2 },
00549           { 20, 0, 0, 27, 0, 0 },
00550           { 25, 1, 1, 27, 1, 1 },
00551           { 26, 2, 2, 27, 2, 2 } } } },
00552 
00553     // TET_Combination3
00554     { // Degree 2
00555       { 1,
00556         0,
00557         0,
00558         6,
00559         8,
00560         { 4, 9 },
00561         { { 0.5, 0, 0 }, { 0.5, 0.5, 0 }, { 0, 0.5, 0 }, { 0, 0, 0.5 }, { 0.5, 0, 0.5 }, { 0, 0.5, 0.5 } },
00562         { { 0, 4, 6, 7 },
00563           { 4, 8, 5, 7 },
00564           { 7, 8, 5, 9 },
00565           { 7, 5, 6, 9 },
00566           { 4, 5, 6, 7 },
00567           { 4, 1, 5, 8 },
00568           { 6, 5, 2, 9 },
00569           { 7, 8, 9, 3 } },
00570 
00571         { { 1, 0 }, { 6, 1 }, { 7, 2 }, { 8, 2 }, { 6, 0 }, { 7, 1 }, { 1, 2 }, { 8, 0 }, { 8, 1 }, { 8, 2 } },
00572         { { 0, 0, 5, 2, 0, 0, 0, 0 },
00573           { 0, 0, 3, 3, 5, 0, 6, 2 },
00574           { 8, 3, 0, 0, 4, 0, 2, 1 },
00575           { 3, 2, 7, 0, 0, 0, 5, 1 },
00576           { 2, 2, 4, 3, 1, 1, 0, 0 },
00577           { 0, 0, 0, 0, 2, 3, 0, 0 },
00578           { 4, 1, 0, 0, 0, 0, 0, 0 },
00579           { 0, 0, 0, 0, 0, 0, 3, 0 } },
00580 
00581         { { 4 }, { 5 }, { 6 }, { 7 }, { 8 }, { 9 } },
00582         { {} },
00583         { { 4, 1, 2, 6, 8 }, { 4, 6, 3, 7, 8 }, { 4, 7, 4, 1, 8 }, { 4, 1, 5, 7, 6 } },
00584         { { 6, 0, 0 }, { 7, 1, 1 }, { 1, 2, 2 }, { 8, 0, 0 }, { 8, 1, 1 }, { 8, 2, 2 } } },
00585 
00586       // Degree 3
00587       { 2,
00588         1,
00589         0,
00590         16,
00591         27,
00592         { 4, 19 },
00593         { { 1 / 3.0, 0, 0 },
00594           { 2 / 3.0, 0, 0 },
00595           { 2 / 3.0, 1 / 3.0, 0 },
00596           { 1 / 3.0, 2 / 3.0, 0 },
00597           { 0, 2 / 3.0, 0 },
00598           { 0, 1 / 3.0, 0 },
00599           { 0, 0, 1 / 3.0 },
00600           { 0, 0, 2 / 3.0 },
00601           { 2 / 3.0, 0, 1 / 3.0 },
00602           { 1 / 3.0, 0, 2 / 3.0 },
00603           { 0, 2 / 3.0, 1 / 3.0 },
00604           { 0, 1 / 3.0, 2 / 3.0 },
00605           { 1 / 3.0, 0, 1 / 3.0 },
00606           { 1 / 3.0, 1 / 3.0, 1 / 3.0 },
00607           { 0, 1 / 3.0, 1 / 3.0 },
00608           { 1 / 3.0, 1 / 3.0, 0 } },
00609 
00610         { { 0, 4, 9, 10 },    { 4, 16, 19, 10 },  { 10, 16, 19, 18 }, { 10, 19, 9, 18 },  { 4, 19, 9, 10 },
00611           { 4, 5, 19, 16 },   { 5, 12, 6, 16 },   { 16, 12, 6, 17 },  { 16, 6, 19, 17 },  { 5, 6, 19, 16 },
00612           { 5, 1, 6, 12 },    { 19, 6, 7, 17 },   { 19, 17, 7, 18 },  { 18, 17, 7, 14 },  { 18, 7, 8, 14 },
00613           { 19, 7, 8, 18 },   { 8, 7, 2, 14 },    { 19, 16, 17, 18 }, { 9, 19, 8, 18 },   { 10, 16, 18, 11 },
00614           { 16, 13, 17, 11 }, { 11, 13, 17, 15 }, { 11, 17, 18, 15 }, { 16, 17, 18, 11 }, { 16, 12, 17, 13 },
00615           { 18, 17, 14, 15 }, { 11, 13, 15, 3 } },
00616 
00617         { { 1, 0 },  { 11, 1 }, { 17, 2 }, { 27, 2 }, { 6, 0 },  { 11, 0 }, { 12, 1 }, { 17, 1 }, { 19, 2 }, { 1, 2 },
00618           { 20, 0 }, { 27, 0 }, { 25, 1 }, { 27, 1 }, { 26, 2 }, { 27, 2 }, { 25, 0 }, { 26, 0 }, { 20, 2 }, { 6, 3 } },
00619         { { 0, 0, 5, 2, 0, 0, 0, 0 },     { 0, 0, 3, 3, 5, 0, 6, 2 },    { 20, 3, 18, 0, 4, 0, 2, 1 },
00620           { 3, 2, 19, 0, 0, 0, 5, 1 },    { 2, 2, 4, 3, 1, 1, 0, 0 },    { 0, 0, 10, 2, 2, 3, 0, 0 },
00621           { 0, 0, 8, 3, 10, 0, 11, 2 },   { 25, 3, 0, 0, 9, 0, 7, 1 },   { 8, 2, 12, 0, 18, 3, 10, 1 },
00622           { 7, 2, 9, 3, 6, 1, 0, 0 },     { 0, 0, 0, 0, 7, 3, 0, 0 },    { 9, 1, 0, 0, 13, 3, 0, 0 },
00623           { 18, 2, 14, 3, 16, 0, 12, 2 }, { 26, 3, 0, 0, 15, 0, 13, 1 }, { 14, 2, 17, 0, 0, 0, 16, 1 },
00624           { 13, 2, 15, 3, 19, 1, 0, 0 },  { 15, 1, 0, 0, 0, 0, 0, 0 },   { 3, 1, 24, 3, 13, 0, 9, 2 },
00625           { 4, 1, 16, 2, 0, 0, 0, 0 },    { 0, 0, 24, 2, 0, 0, 3, 0 },   { 0, 0, 22, 3, 24, 0, 25, 2 },
00626           { 27, 3, 0, 0, 23, 0, 21, 1 },  { 22, 2, 26, 0, 0, 0, 24, 1 }, { 21, 2, 23, 3, 20, 1, 18, 1 },
00627           { 0, 0, 0, 0, 21, 3, 8, 0 },    { 23, 1, 0, 0, 0, 0, 14, 0 },  { 0, 0, 0, 0, 0, 0, 22, 0 } },
00628 
00629         { { 4, 5 }, { 6, 7 }, { 8, 9 }, { 10, 11 }, { 12, 13 }, { 14, 15 } },
00630         { { 16 }, { 17 }, { 18 }, { 19 } },
00631         { { 9, 1, 2, 6, 7, 11, 20, 21, 25, 27 },
00632           { 9, 11, 8, 12, 14, 17, 25, 22, 26, 27 },
00633           { 9, 17, 15, 19, 4, 1, 26, 23, 20, 27 },
00634           { 9, 1, 5, 19, 16, 17, 6, 10, 12, 11 } },
00635         { { 6, 0, 0, 11, 0, 0 },
00636           { 12, 1, 1, 17, 1, 1 },
00637           { 19, 2, 2, 1, 2, 2 },
00638           { 20, 0, 0, 27, 0, 0 },
00639           { 25, 1, 1, 27, 1, 1 },
00640           { 26, 2, 2, 27, 2, 2 } } } },
00641 
00642     // PRISM
00643     {
00644         { 0, 0, 0, 0, 0, {}, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} } },  // deg 2
00645 
00646         { 0, 0, 0, 0, 0, {}, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} } }  // deg3
00647     },
00648 
00649     // KNIFE
00650     { { 0, 0, 0, 0, 0, {}, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} } },
00651       { 0, 0, 0, 0, 0, {}, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} }, { {} } } },
00652 
00653     // HEX
00654     { // Deg 2
00655       { 1,
00656         1,
00657         1,
00658         19,
00659         8,
00660         { 8, 26 },
00661         { { 0, -1, -1 },
00662           { 1, 0, -1 },
00663           { 0, 1, -1 },
00664           { -1, 0, -1 },
00665           { -1, -1, 0 },
00666           { 1, -1, 0 },
00667           { 1, 1, 0 },
00668           { -1, 1, 0 },
00669           { 0, -1, 1 },
00670           { 1, 0, 1 },
00671           { 0, 1, 1 },
00672           { -1, 0, 1 },
00673           { 0, -1, 0 },
00674           { 1, 0, 0 },
00675           { 0, 1, 0 },
00676           { -1, 0, 0 },
00677           { 0, 0, -1 },
00678           { 0, 0, 1 },
00679           { 0, 0, 0 } },
00680         { { 0, 8, 24, 11, 12, 20, 26, 23 },
00681           { 8, 1, 9, 24, 20, 13, 21, 26 },
00682           { 11, 24, 10, 3, 23, 26, 22, 15 },
00683           { 24, 9, 2, 10, 26, 21, 14, 22 },
00684           { 12, 20, 26, 23, 4, 16, 25, 19 },
00685           { 20, 13, 21, 26, 16, 5, 17, 25 },
00686           { 23, 26, 22, 15, 19, 25, 18, 7 },
00687           { 26, 21, 14, 22, 25, 17, 6, 18 } },
00688 
00689         { { 1, 0 }, { 2, 1 }, { 4, 2 }, { 3, 3 }, { 5, 5 }, { 6, 5 }, { 8, 5 }, { 7, 5 }, { 2, 0 },
00690           { 4, 1 }, { 3, 2 }, { 1, 3 }, { 5, 0 }, { 6, 1 }, { 8, 2 }, { 7, 3 }, { 6, 5 }, { 8, 5 },
00691           { 7, 5 }, { 5, 5 }, { 6, 0 }, { 8, 1 }, { 7, 2 }, { 5, 3 }, { 2, 4 }, { 8, 5 }, { 8, 0 } },
00692         { { 0, 0, 2, 3, 3, 0, 0, 0, 0, 0, 5, 4 },
00693           { 0, 0, 0, 0, 4, 0, 1, 1, 0, 0, 6, 4 },
00694           { 1, 2, 4, 3, 0, 0, 0, 0, 0, 0, 7, 4 },
00695           { 2, 2, 0, 0, 0, 0, 3, 1, 0, 0, 8, 4 },
00696           { 0, 0, 6, 3, 7, 0, 0, 0, 1, 5, 0, 0 },
00697           { 0, 0, 0, 0, 8, 0, 5, 1, 2, 5, 0, 0 },
00698           { 5, 2, 8, 3, 0, 0, 0, 0, 3, 5, 0, 0 },
00699           { 6, 2, 0, 0, 0, 0, 7, 1, 4, 5, 0, 0 } },
00700 
00701         { { 8 }, { 9 }, { 10 }, { 11 }, { 12 }, { 13 }, { 14 }, { 15 }, { 16 }, { 17 }, { 18 }, { 19 } },
00702         { { 20 }, { 21 }, { 22 }, { 23 }, { 24 }, { 25 } },
00703         { { 4, 1, 2, 6, 5 },
00704           { 4, 2, 4, 8, 6 },
00705           { 4, 4, 3, 7, 8 },
00706           { 4, 3, 1, 5, 7 },
00707           { 4, 1, 3, 4, 2 },
00708           { 4, 5, 6, 8, 7 } },
00709         { { 2, 0, 0 },
00710           { 4, 1, 1 },
00711           { 3, 2, 2 },
00712           { 1, 3, 3 },
00713           { 5, 0, 0 },
00714           { 6, 1, 1 },
00715           { 8, 2, 2 },
00716           { 7, 3, 3 },
00717           { 6, 0, 4 },
00718           { 8, 1, 5 },
00719           { 7, 2, 6 },
00720           { 5, 3, 7 } } },
00721 
00722       // Deg 3
00723       { 2,
00724         4,
00725         8,
00726         56,
00727         27,
00728         { 8, 63 },
00729         { { -1 / 3.0, -1, -1 },
00730           { 1 / 3.0, -1, -1 },
00731           { 1, -1 / 3.0, -1 },
00732           { 1, 1 / 3.0, -1 },
00733           { 1 / 3.0, 1, -1 },
00734           { -1 / 3.0, 1, -1 },
00735           { -1, 1 / 3.0, -1 },
00736           { -1, -1 / 3.0, -1 },
00737           { -1, -1, -1 / 3.0 },
00738           { -1, -1, 1 / 3.0 },
00739           { 1, -1, -1 / 3.0 },
00740           { 1, -1, 1 / 3.0 },
00741           { 1, 1, -1 / 3.0 },
00742           { 1, 1, 1 / 3.0 },
00743           { -1, 1, -1 / 3.0 },
00744           { -1, 1, 1 / 3.0 },
00745           { -1 / 3.0, -1, 1 },
00746           { 1 / 3.0, -1, 1 },
00747           { 1, -1 / 3.0, 1 },
00748           { 1, 1 / 3.0, 1 },
00749           { 1 / 3.0, 1, 1 },
00750           { -1 / 3.0, 1, 1 },
00751           { -1, 1 / 3.0, 1 },
00752           { -1, -1 / 3.0, 1 },
00753           { -1 / 3.0, -1, -1 / 3.0 },
00754           { 1 / 3.0, -1, -1 / 3.0 },
00755           { 1 / 3.0, -1, 1 / 3.0 },
00756           { -1 / 3.0, -1, 1 / 3.0 },
00757           { 1, -1 / 3.0, -1 / 3.0 },
00758           { 1, 1 / 3.0, -1 / 3.0 },
00759           { 1, 1 / 3.0, 1 / 3.0 },
00760           { 1, -1 / 3.0, 1 / 3.0 },
00761           { 1 / 3.0, 1, -1 / 3.0 },
00762           { -1 / 3.0, 1, -1 / 3.0 },
00763           { -1 / 3.0, 1, 1 / 3.0 },
00764           { 1 / 3.0, 1, 1 / 3.0 },
00765           { -1, 1 / 3.0, -1 / 3.0 },
00766           { -1, -1 / 3.0, -1 / 3.0 },
00767           { -1, -1 / 3.0, 1 / 3.0 },
00768           { -1, 1 / 3.0, 1 / 3.0 },
00769           { -1 / 3.0, -1 / 3.0, -1 },
00770           { -1 / 3.0, 1 / 3.0, -1 },
00771           { 1 / 3.0, 1 / 3.0, -1 },
00772           { 1 / 3.0, -1 / 3.0, -1 },
00773           { -1 / 3.0, -1 / 3.0, 1 },
00774           { 1 / 3.0, -1 / 3.0, 1 },
00775           { 1 / 3.0, 1 / 3.0, 1 },
00776           { -1 / 3.0, 1 / 3.0, 1 },
00777           { -1 / 3.0, -1 / 3.0, -1 / 3.0 },
00778           { 1 / 3.0, -1 / 3.0, -1 / 3.0 },
00779           { 1 / 3.0, 1 / 3.0, -1 / 3.0 },
00780           { -1 / 3.0, 1 / 3.0, -1 / 3.0 },
00781           { -1 / 3.0, -1 / 3.0, 1 / 3.0 },
00782           { 1 / 3.0, -1 / 3.0, 1 / 3.0 },
00783           { 1 / 3.0, 1 / 3.0, 1 / 3.0 },
00784           { -1 / 3.0, 1 / 3.0, 1 / 3.0 } },
00785 
00786         { { 0, 8, 48, 15, 16, 32, 56, 45 },   { 8, 9, 51, 48, 32, 33, 57, 56 },   { 9, 1, 10, 51, 33, 18, 36, 57 },
00787           { 15, 48, 49, 14, 45, 56, 59, 44 }, { 48, 51, 50, 49, 56, 57, 58, 59 }, { 51, 10, 11, 50, 57, 36, 37, 58 },
00788           { 14, 49, 13, 3, 44, 59, 41, 22 },  { 49, 50, 12, 13, 59, 58, 40, 41 }, { 50, 11, 2, 12, 58, 37, 20, 40 },
00789           { 16, 32, 56, 45, 17, 35, 60, 46 }, { 32, 33, 57, 56, 35, 34, 61, 60 }, { 33, 18, 36, 57, 34, 19, 39, 61 },
00790           { 45, 56, 59, 44, 46, 60, 63, 47 }, { 56, 57, 58, 59, 60, 61, 62, 63 }, { 57, 36, 37, 58, 61, 39, 38, 62 },
00791           { 44, 59, 41, 22, 47, 63, 42, 23 }, { 59, 58, 40, 41, 63, 62, 43, 42 }, { 58, 37, 20, 40, 62, 38, 21, 43 },
00792           { 17, 35, 60, 46, 4, 24, 52, 31 },  { 35, 34, 61, 60, 24, 25, 53, 52 }, { 34, 19, 39, 61, 25, 5, 26, 53 },
00793           { 46, 60, 63, 47, 31, 52, 55, 30 }, { 60, 61, 62, 63, 52, 53, 54, 55 }, { 61, 39, 38, 62, 53, 26, 27, 54 },
00794           { 47, 63, 42, 23, 30, 55, 29, 7 },  { 63, 62, 43, 42, 55, 54, 28, 29 }, { 62, 38, 21, 43, 54, 27, 6, 28 } },
00795 
00796         { { 1, 0 },  { 3, 1 },  { 9, 2 },  { 7, 3 },  { 19, 5 }, { 21, 5 }, { 27, 5 }, { 25, 5 }, { 2, 0 },  { 3, 0 },
00797           { 6, 1 },  { 9, 1 },  { 8, 2 },  { 7, 2 },  { 4, 3 },  { 1, 3 },  { 10, 0 }, { 19, 0 }, { 12, 1 }, { 21, 1 },
00798           { 18, 2 }, { 27, 2 }, { 16, 3 }, { 25, 3 }, { 20, 5 }, { 21, 5 }, { 24, 5 }, { 27, 5 }, { 26, 5 }, { 25, 5 },
00799           { 22, 5 }, { 19, 5 }, { 11, 0 }, { 12, 0 }, { 21, 0 }, { 20, 0 }, { 15, 1 }, { 18, 1 }, { 27, 1 }, { 24, 1 },
00800           { 17, 2 }, { 16, 2 }, { 25, 2 }, { 26, 2 }, { 13, 3 }, { 10, 3 }, { 19, 3 }, { 22, 3 }, { 5, 4 },  { 8, 4 },
00801           { 9, 4 },  { 6, 4 },  { 23, 5 }, { 24, 5 }, { 27, 5 }, { 26, 5 }, { 14, 4 }, { 15, 4 }, { 18, 4 }, { 17, 4 },
00802           { 23, 4 }, { 24, 4 }, { 27, 4 }, { 26, 4 } },
00803 
00804         { { 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 10, 4 },     { 0, 0, 3, 3, 5, 0, 1, 1, 0, 0, 11, 4 },
00805           { 0, 0, 0, 0, 6, 0, 2, 1, 0, 0, 12, 4 },     { 1, 2, 5, 3, 7, 0, 0, 0, 0, 0, 13, 4 },
00806           { 2, 2, 6, 3, 8, 0, 4, 1, 0, 0, 14, 4 },     { 3, 2, 0, 0, 9, 0, 5, 1, 0, 0, 15, 4 },
00807           { 4, 2, 8, 3, 0, 0, 0, 0, 0, 0, 16, 4 },     { 5, 2, 9, 3, 0, 0, 7, 1, 0, 0, 17, 4 },
00808           { 6, 2, 0, 0, 0, 0, 8, 1, 0, 0, 18, 4 },
00809 
00810           { 0, 0, 11, 3, 13, 0, 0, 0, 1, 5, 19, 4 },   { 0, 0, 12, 3, 14, 0, 10, 1, 2, 5, 20, 4 },
00811           { 0, 0, 0, 0, 15, 0, 11, 1, 3, 5, 21, 4 },   { 10, 2, 14, 3, 16, 0, 0, 0, 4, 5, 22, 4 },
00812           { 11, 2, 15, 3, 17, 0, 13, 1, 5, 5, 23, 4 }, { 12, 2, 0, 0, 18, 0, 14, 1, 6, 5, 24, 4 },
00813           { 13, 2, 17, 3, 0, 0, 0, 0, 7, 5, 25, 4 },   { 14, 2, 18, 3, 0, 0, 16, 1, 8, 5, 26, 4 },
00814           { 15, 2, 0, 0, 0, 0, 17, 1, 9, 5, 27, 4 },
00815 
00816           { 0, 0, 20, 3, 22, 0, 0, 0, 10, 5, 0, 0 },   { 0, 0, 21, 3, 23, 0, 19, 1, 11, 5, 0, 0 },
00817           { 0, 0, 0, 0, 24, 0, 20, 1, 12, 5, 0, 0 },   { 19, 2, 23, 3, 25, 0, 0, 0, 13, 5, 0, 0 },
00818           { 20, 2, 24, 3, 26, 0, 22, 1, 14, 5, 0, 0 }, { 21, 2, 0, 0, 27, 0, 23, 1, 15, 5, 0, 0 },
00819           { 22, 2, 26, 3, 0, 0, 0, 0, 16, 5, 0, 0 },   { 23, 2, 27, 3, 0, 0, 25, 1, 17, 5, 0, 0 },
00820           { 24, 2, 0, 0, 0, 0, 26, 1, 18, 5, 0, 0 } },
00821 
00822         { { 8, 9 },
00823           { 10, 11 },
00824           { 12, 13 },
00825           { 14, 15 },
00826           { 16, 17 },
00827           { 18, 19 },
00828           { 20, 21 },
00829           { 22, 23 },
00830           { 24, 25 },
00831           { 26, 27 },
00832           { 28, 29 },
00833           { 30, 31 } },
00834         { { 32, 33, 34, 35 },
00835           { 36, 37, 38, 39 },
00836           { 40, 41, 42, 43 },
00837           { 44, 45, 46, 47 },
00838           { 48, 49, 50, 51 },
00839           { 52, 53, 54, 55 } },
00840         { { 9, 1, 2, 3, 10, 11, 12, 19, 20, 21 },
00841           { 9, 3, 6, 9, 12, 15, 18, 21, 24, 27 },
00842           { 9, 9, 8, 7, 18, 17, 16, 27, 26, 25 },
00843           { 9, 7, 4, 1, 16, 13, 10, 25, 22, 19 },
00844           { 9, 1, 4, 7, 2, 5, 8, 3, 6, 9 },
00845           { 9, 19, 20, 21, 22, 23, 24, 25, 26, 27 } },
00846         { { 2, 0, 0, 3, 0, 0 },
00847           { 6, 1, 1, 9, 1, 1 },
00848           { 8, 2, 2, 7, 2, 2 },
00849           { 4, 3, 3, 1, 3, 3 },
00850           { 10, 0, 0, 19, 0, 0 },
00851           { 12, 1, 1, 21, 1, 1 },
00852           { 18, 2, 2, 27, 2, 2 },
00853           { 16, 3, 3, 25, 3, 3 },
00854           { 20, 0, 4, 21, 0, 4 },
00855           { 24, 1, 5, 27, 1, 5 },
00856           { 26, 2, 6, 25, 2, 6 },
00857           { 22, 3, 7, 19, 3, 7 } } } } };
00858 
00859 const NestedRefine::pmat NestedRefine::permutation[2] = {
00860     // MBTRI
00861     { 6,
00862       { { 0, 1, 2 }, { 1, 0, 2 }, { 2, 1, 0 }, { 0, 2, 1 }, { 2, 0, 1 }, { 1, 2, 0 } },
00863       { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 2, 1, 0 }, { 2, 0, 1 }, { 1, 2, 0 } },
00864       { 1, 0, 0, 0, 1, 1 },
00865       { { 1, 2, 3, 4 }, { 3, 2, 1, 4 }, { 4, 2, 3, 1 }, { 1, 2, 4, 3 }, { 4, 2, 1, 3 }, { 3, 2, 4, 1 } },
00866       { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
00867         { 5, 4, 3, 2, 1, 8, 7, 6, 9 },
00868         { 9, 7, 8, 4, 5, 6, 2, 3, 1 },
00869         { 1, 2, 6, 7, 9, 3, 4, 8, 5 },
00870         { 9, 7, 6, 2, 1, 8, 4, 3, 5 },
00871         { 5, 4, 8, 7, 9, 3, 2, 6, 1 } } },
00872 
00873     // MBQUAD
00874     { 8,
00875       { { 0, 1, 2, 3 },
00876         { 1, 0, 3, 2 },
00877         { 2, 1, 0, 3 },
00878         { 3, 2, 1, 0 },
00879         { 0, 3, 2, 1 },
00880         { 3, 0, 1, 2 },
00881         { 2, 3, 0, 1 },
00882         { 1, 2, 3, 0 } },
00883       { { 0, 1, 2, 3 },
00884         { 0, 3, 2, 1 },
00885         { 1, 0, 3, 2 },
00886         { 2, 1, 0, 3 },
00887         { 3, 2, 1, 0 },
00888         { 3, 0, 1, 2 },
00889         { 2, 3, 0, 1 },
00890         { 1, 2, 3, 0 } },
00891       { 1, 0, 0, 0, 0, 1, 1, 1 },
00892       { { 1, 2, 3, 4 },
00893         { 2, 1, 4, 3 },
00894         { 3, 2, 1, 4 },
00895         { 4, 3, 2, 1 },
00896         { 1, 4, 3, 2 },
00897         { 4, 1, 2, 3 },
00898         { 3, 4, 1, 2 },
00899         { 2, 3, 4, 1 } },
00900       { { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
00901         { 3, 2, 1, 6, 5, 4, 9, 8, 7 },
00902         { 9, 6, 3, 8, 5, 2, 7, 1 },
00903         { 7, 8, 9, 4, 5, 6, 1, 2, 3 },
00904         { 1, 4, 7, 2, 5, 8, 3, 6, 9 },
00905         { 7, 4, 1, 8, 5, 2, 9, 6, 3 },
00906         { 9, 8, 7, 6, 5, 4, 3, 2, 1 },
00907         { 3, 6, 9, 2, 5, 8, 1, 4, 7 } } } };
00908 
00909 const NestedRefine::intFEdge NestedRefine::intFacEdg[2][2] = {
00910     // MBTRI
00911     { { 3, { { 3, 4 }, { 4, 5 }, { 5, 3 } } },
00912       { 9, { { 8, 3 }, { 3, 9 }, { 9, 4 }, { 4, 5 }, { 5, 9 }, { 9, 8 }, { 7, 9 }, { 9, 6 }, { 6, 7 } } } },
00913 
00914     // MBQUAD
00915     { { 4, { { 4, 8 }, { 7, 8 }, { 8, 6 }, { 8, 5 } } },
00916       { 12,
00917         { { 4, 12 },
00918           { 12, 15 },
00919           { 15, 9 },
00920           { 5, 13 },
00921           { 13, 14 },
00922           { 14, 8 },
00923           { 11, 12 },
00924           { 12, 13 },
00925           { 13, 6 },
00926           { 10, 15 },
00927           { 15, 14 },
00928           { 14, 7 } } } } };
00929 
00930 }  // namespace moab
00931 
00932 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines