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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4154 - (show annotations)
Tue Jan 22 09:30:23 2013 UTC (7 years, 2 months ago) by jfenwick
File MIME type: text/plain
File size: 3985 byte(s)
Round 1 of copyright fixes
1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
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 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15
16
17 /************************************************************************************/
18
19 /* Finley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line, Point */
20
21 /************************************************************************************/
22
23 #ifndef INC_FINLEY_QUADRATURE
24 #define INC_FINLEY_QUADRATURE
25
26 /************************************************************************************/
27
28 #include "Finley.h"
29
30 /************************************************************************************/
31
32 #define MAX_numQuadNodesLine 10
33
34 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 char* Name; /* the name in text form e.g. Line,Rec,... */
54 dim_t numDim; /* spatial dimension */
55 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 /************************************************************************************/
62
63 /* Interfaces: */
64
65
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 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 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
90
91
92 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 void Finley_Quad_makeNodesOnFace(dim_t, dim_t,double*,double*, Finley_Quad_getNodes);
100 Finley_QuadInfo* Finley_QuadInfo_getInfo(Finley_QuadTypeId id);
101
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