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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4347 - (hide annotations)
Tue Apr 2 04:58:44 2013 UTC (7 years ago) by jfenwick
File MIME type: text/plain
File size: 3991 byte(s)
Fixed some const char* conversions

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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26