/[escript]/branches/domexper/dudley/src/Quadrature.h
ViewVC logotype

Contents of /branches/domexper/dudley/src/Quadrature.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3155 - (show annotations)
Mon Sep 6 00:35:43 2010 UTC (8 years, 7 months ago) by jfenwick
File MIME type: text/plain
File size: 2848 byte(s)
More gutting
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2010 by University of Queensland
5 * 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
14
15 /**************************************************************/
16
17 /* Dudley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line, Point */
18
19 /**************************************************************/
20
21 #ifndef INC_DUDLEY_QUADRATURE
22 #define INC_DUDLEY_QUADRATURE
23
24 /**************************************************************/
25
26 #include "Dudley.h"
27
28 /**************************************************************/
29
30 #define MAX_numQuadNodesLine 10
31
32 typedef enum {
33 PointQuad,
34 LineQuad,
35 TriQuad,
36 TetQuad,
37 NoQuad /* marks end of list */
38 } Dudley_QuadTypeId;
39
40 typedef void (Dudley_Quad_getNodes) (dim_t,double*,double*);
41 typedef dim_t (Dudley_Quad_getNumNodes) (dim_t);
42 typedef dim_t(Dudley_Quad_getMacro)(dim_t numSubElements, int numQuadNodes, double* quadNodes, double* quadWeights,
43 dim_t numF, double* dFdv,
44 dim_t new_len, double* new_quadNodes, double* new_quadWeights,
45 double* new_dFfv );
46
47 typedef struct Dudley_QuadInfo {
48 Dudley_QuadTypeId TypeId; /* the id */
49 char* Name; /* the name in text form e.g. Line,Rec,... */
50 dim_t numDim; /* spacial dimension */
51 dim_t numVertices; /* number of vertices of the element */
52 Dudley_Quad_getNodes* getQuadNodes; /* function to set the quadrature points for a given order */
53 Dudley_Quad_getNumNodes* getNumQuadNodes; /* function selects the number of quadrature nodes for a given accuracy order */
54 } Dudley_QuadInfo;
55
56 /**************************************************************/
57
58 /* Interfaces: */
59
60 Dudley_Quad_getNodes Dudley_Quad_getNodesTri;
61 Dudley_Quad_getNodes Dudley_Quad_getNodesTet;
62 Dudley_Quad_getNodes Dudley_Quad_getNodesLine;
63 Dudley_Quad_getNodes Dudley_Quad_getNodesPoint;
64 Dudley_Quad_getNodes Dudley_Quad_getNodesTriOnFace;
65 Dudley_Quad_getNodes Dudley_Quad_getNodesLineOnFace;
66 Dudley_Quad_getNodes Dudley_Quad_getNodesPointOnFace;
67
68 Dudley_Quad_getNumNodes Dudley_Quad_getNumNodesPoint;
69 Dudley_Quad_getNumNodes Dudley_Quad_getNumNodesLine;
70 Dudley_Quad_getNumNodes Dudley_Quad_getNumNodesTri;
71 Dudley_Quad_getNumNodes Dudley_Quad_getNumNodesTet;
72
73 void Dudley_Quad_makeNodesOnFace(dim_t, dim_t,double*,double*, Dudley_Quad_getNodes);
74 Dudley_QuadInfo* Dudley_QuadInfo_getInfo(Dudley_QuadTypeId id);
75
76 #endif /* #ifndef INC_DUDLEY_QUADRATURE */
77

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26