/[escript]/trunk/finley/src/Quadrature.h
ViewVC logotype

Annotation of /trunk/finley/src/Quadrature.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3911 - (hide annotations)
Thu Jun 14 01:01:03 2012 UTC (7 years, 9 months ago) by jfenwick
File MIME type: text/plain
File size: 3756 byte(s)
Copyright changes
1 jgs 82
2 ksteube 1312 /*******************************************************
3 ksteube 1811 *
4 jfenwick 3911 * Copyright (c) 2003-2012 by University of Queensland
5 ksteube 1811 * Earth Systems Science Computational Center (ESSCC)
6     * http://www.uq.edu.au/esscc
7     *
8     * Primary Business: Queensland, Australia
9     * Licensed under the Open Software License version 3.0
10     * http://www.opensource.org/licenses/osl-3.0.php
11     *
12     *******************************************************/
13 jgs 82
14 ksteube 1811
15 jgs 82 /**************************************************************/
16    
17 ksteube 1312 /* Finley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line, Point */
18 jgs 82
19     /**************************************************************/
20    
21 jgs 150 #ifndef INC_FINLEY_QUADRATURE
22     #define INC_FINLEY_QUADRATURE
23    
24     /**************************************************************/
25    
26     #include "Finley.h"
27    
28     /**************************************************************/
29    
30 jgs 82 #define MAX_numQuadNodesLine 10
31    
32 gross 2748 typedef enum {
33     PointQuad,
34     LineQuad,
35     TriQuad,
36     RecQuad,
37     TetQuad,
38     HexQuad,
39     NoQuad /* marks end of list */
40     } Finley_QuadTypeId;
41    
42     typedef void (Finley_Quad_getNodes) (dim_t,double*,double*);
43     typedef dim_t (Finley_Quad_getNumNodes) (dim_t);
44     typedef dim_t(Finley_Quad_getMacro)(dim_t numSubElements, int numQuadNodes, double* quadNodes, double* quadWeights,
45     dim_t numF, double* dFdv,
46     dim_t new_len, double* new_quadNodes, double* new_quadWeights,
47     double* new_dFfv );
48    
49     typedef struct Finley_QuadInfo {
50     Finley_QuadTypeId TypeId; /* the id */
51     char* Name; /* the name in text form e.g. Line,Rec,... */
52 caltinay 3639 dim_t numDim; /* spatial dimension */
53 gross 2748 dim_t numVertices; /* number of vertices of the element */
54     Finley_Quad_getNodes* getQuadNodes; /* function to set the quadrature points for a given order */
55     Finley_Quad_getNumNodes* getNumQuadNodes; /* function selects the number of quadrature nodes for a given accuracy order */
56     Finley_Quad_getMacro *getMacro; /* transfers a given quadrature scheme to a macro element structure */
57     } Finley_QuadInfo;
58    
59 jgs 82 /**************************************************************/
60    
61     /* Interfaces: */
62    
63 gross 2748
64     Finley_Quad_getMacro Finley_Quad_MacroPoint;
65     Finley_Quad_getMacro Finley_Quad_MacroLine;
66     Finley_Quad_getMacro Finley_Quad_MacroTri;
67     Finley_Quad_getMacro Finley_Quad_MacroRec;
68     Finley_Quad_getMacro Finley_Quad_MacroTet;
69     Finley_Quad_getMacro Finley_Quad_MacroHex;
70    
71    
72 jgs 82 Finley_Quad_getNodes Finley_Quad_getNodesTri;
73     Finley_Quad_getNodes Finley_Quad_getNodesTet;
74     Finley_Quad_getNodes Finley_Quad_getNodesRec;
75     Finley_Quad_getNodes Finley_Quad_getNodesHex;
76     Finley_Quad_getNodes Finley_Quad_getNodesLine;
77     Finley_Quad_getNodes Finley_Quad_getNodesPoint;
78     Finley_Quad_getNodes Finley_Quad_getNodesTriOnFace;
79     Finley_Quad_getNodes Finley_Quad_getNodesRecOnFace;
80     Finley_Quad_getNodes Finley_Quad_getNodesLineOnFace;
81     Finley_Quad_getNodes Finley_Quad_getNodesPointOnFace;
82 gross 2748 Finley_Quad_getNodes Finley_Quad_getNodesTriMacro;
83     Finley_Quad_getNodes Finley_Quad_getNodesTetMacro;
84     Finley_Quad_getNodes Finley_Quad_getNodesRecMacro;
85     Finley_Quad_getNodes Finley_Quad_getNodesHexMacro;
86     Finley_Quad_getNodes Finley_Quad_getNodesLineMacro;
87 jgs 82
88 gross 2748
89    
90 jgs 82 Finley_Quad_getNumNodes Finley_Quad_getNumNodesPoint;
91     Finley_Quad_getNumNodes Finley_Quad_getNumNodesLine;
92     Finley_Quad_getNumNodes Finley_Quad_getNumNodesTri;
93     Finley_Quad_getNumNodes Finley_Quad_getNumNodesRec;
94     Finley_Quad_getNumNodes Finley_Quad_getNumNodesTet;
95     Finley_Quad_getNumNodes Finley_Quad_getNumNodesHex;
96    
97 jgs 123 void Finley_Quad_makeNodesOnFace(dim_t, dim_t,double*,double*, Finley_Quad_getNodes);
98 gross 2748 Finley_QuadInfo* Finley_QuadInfo_getInfo(Finley_QuadTypeId id);
99 jgs 82
100     #endif /* #ifndef INC_FINLEY_QUADRATURE */
101    

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26