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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/esys2/finley/src/finleyC/Quadrature.h revision 82 by jgs, Tue Oct 26 06:53:54 2004 UTC trunk/finley/src/Quadrature.h revision 2748 by gross, Tue Nov 17 07:32:59 2009 UTC
# Line 1  Line 1 
 /* $Id$ */  
1    
2  #ifndef INC_FINLEY_QUADRATURE  /*******************************************************
3  #define INC_FINLEY_QUADRATURE  *
4    * Copyright (c) 2003-2009 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    
# Line 9  Line 18 
18    
19  /**************************************************************/  /**************************************************************/
20    
21  /*   Copyrights by ACcESS Australia 2003 */  #ifndef INC_FINLEY_QUADRATURE
22  /*   Author: gross@access.edu.au */  #define INC_FINLEY_QUADRATURE
23  /*   Version: $Id$ */  
24    /**************************************************************/
25    
26    #include "Finley.h"
27    
28  /**************************************************************/  /**************************************************************/
29    
30  #define MAX_numQuadNodesLine 10  #define MAX_numQuadNodesLine 10
31    
32    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      dim_t numDim;                              /* spacial dimension */
53      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  /**************************************************************/  /**************************************************************/
60    
61  /*     Interfaces: */  /*     Interfaces: */
62    
63  typedef void (Finley_Quad_getNodes) (int,double*,double*);  
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  Finley_Quad_getNodes Finley_Quad_getNodesTri;  Finley_Quad_getNodes Finley_Quad_getNodesTri;
73  Finley_Quad_getNodes Finley_Quad_getNodesTet;  Finley_Quad_getNodes Finley_Quad_getNodesTet;
74  Finley_Quad_getNodes Finley_Quad_getNodesRec;  Finley_Quad_getNodes Finley_Quad_getNodesRec;
# Line 32  Finley_Quad_getNodes Finley_Quad_getNode Line 79  Finley_Quad_getNodes Finley_Quad_getNode
79  Finley_Quad_getNodes Finley_Quad_getNodesRecOnFace;  Finley_Quad_getNodes Finley_Quad_getNodesRecOnFace;
80  Finley_Quad_getNodes Finley_Quad_getNodesLineOnFace;  Finley_Quad_getNodes Finley_Quad_getNodesLineOnFace;
81  Finley_Quad_getNodes Finley_Quad_getNodesPointOnFace;  Finley_Quad_getNodes Finley_Quad_getNodesPointOnFace;
82    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    
88    
89    
 typedef int (Finley_Quad_getNumNodes) (int);  
90  Finley_Quad_getNumNodes Finley_Quad_getNumNodesPoint;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesPoint;
91  Finley_Quad_getNumNodes Finley_Quad_getNumNodesLine;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesLine;
92  Finley_Quad_getNumNodes Finley_Quad_getNumNodesTri;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesTri;
# Line 41  Finley_Quad_getNumNodes Finley_Quad_getN Line 94  Finley_Quad_getNumNodes Finley_Quad_getN
94  Finley_Quad_getNumNodes Finley_Quad_getNumNodesTet;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesTet;
95  Finley_Quad_getNumNodes Finley_Quad_getNumNodesHex;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesHex;
96    
97  void Finley_Quad_makeNodesOnFace(int, int,double*,double*, Finley_Quad_getNodes);  void Finley_Quad_makeNodesOnFace(dim_t, dim_t,double*,double*, Finley_Quad_getNodes);
98    Finley_QuadInfo* Finley_QuadInfo_getInfo(Finley_QuadTypeId id);
99    
100  #endif /* #ifndef INC_FINLEY_QUADRATURE */  #endif /* #ifndef INC_FINLEY_QUADRATURE */
101    
 /*  
  * $Log$  
  * Revision 1.1  2004/10/26 06:53:57  jgs  
  * Initial revision  
  *  
  * Revision 1.1.1.1  2004/06/24 04:00:40  johng  
  * Initial version of eys using boost-python.  
  *  
  *  
  */  

Legend:
Removed from v.82  
changed lines
  Added in v.2748

  ViewVC Help
Powered by ViewVC 1.1.26