ESScript  Revision_
Quadrature.h
Go to the documentation of this file.
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,
20  Point
21 
22 *****************************************************************************/
23 
24 #ifndef __FINLEY_QUADRATURE_H__
25 #define __FINLEY_QUADRATURE_H__
26 
27 #include "Finley.h"
28 
29 #define MAX_numQuadNodesLine 10
30 
31 namespace finley {
32 
33 typedef enum {
40  NoQuad // marks end of list
41 } QuadTypeId;
42 
43 typedef void (Quad_getNodes) (int, double*, double*);
44 typedef int (Quad_getNumNodes) (int);
45 typedef int (Quad_getMacro) (int numSubElements, int numQuadNodes,
46  const double* quadNodes,
47  const double* quadWeights,
48  int numF, const double* dFdv,
49  int new_len, double* new_quadNodes,
50  double* new_quadWeights, double* new_dFfv);
51 
52 struct QuadInfo {
56  const char* Name;
58  int numDim;
68 };
69 
70 
71 /****** Interfaces ******/
72 
79 
95 
102 
103 void Quad_makeNodesOnFace(int, int, double*, double*, Quad_getNodes);
105 
106 } // namespace finley
107 
108 #endif // __FINLEY_QUADRATURE_H__
109