/[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

revision 1388 by trankine, Fri Jan 11 07:45:58 2008 UTC revision 3911 by jfenwick, Thu Jun 14 01:01:03 2012 UTC
# Line 1  Line 1 
1    
 /* $Id$ */  
   
2  /*******************************************************  /*******************************************************
3   *  *
4   *           Copyright 2003-2007 by ACceSS MNRF  * Copyright (c) 2003-2012 by University of Queensland
5   *       Copyright 2007 by University of Queensland  * Earth Systems Science Computational Center (ESSCC)
6   *  * http://www.uq.edu.au/esscc
7   *                http://esscc.uq.edu.au  *
8   *        Primary Business: Queensland, Australia  * Primary Business: Queensland, Australia
9   *  Licensed under the Open Software License version 3.0  * Licensed under the Open Software License version 3.0
10   *     http://www.opensource.org/licenses/osl-3.0.php  * http://www.opensource.org/licenses/osl-3.0.php
11   *  *
12   *******************************************************/  *******************************************************/
13    
14    
15  /**************************************************************/  /**************************************************************/
16    
# Line 30  Line 29 
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;                              /* spatial 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) (dim_t,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 45  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 dim_t (Finley_Quad_getNumNodes) (dim_t);  
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 55  Finley_Quad_getNumNodes Finley_Quad_getN Line 95  Finley_Quad_getNumNodes Finley_Quad_getN
95  Finley_Quad_getNumNodes Finley_Quad_getNumNodesHex;  Finley_Quad_getNumNodes Finley_Quad_getNumNodesHex;
96    
97  void Finley_Quad_makeNodesOnFace(dim_t, dim_t,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.3  2005/09/15 03:44:23  jgs  
  * Merge of development branch dev-02 back to main trunk on 2005-09-15  
  *  
  * Revision 1.2.2.1  2005/09/07 06:26:20  gross  
  * the solver from finley are put into the standalone package paso now  
  *  
  * Revision 1.2  2005/07/08 04:07:56  jgs  
  * Merge of development branch back to main trunk on 2005-07-08  
  *  
  * Revision 1.1.1.1.2.1  2005/06/29 02:34:55  gross  
  * some changes towards 64 integers in finley  
  *  
  * Revision 1.1.1.1  2004/10/26 06:53:57  jgs  
  * initial import of project esys2  
  *  
  * Revision 1.1.1.1  2004/06/24 04:00:40  johng  
  * Initial version of eys using boost-python.  
  *  
  *  
  */  

Legend:
Removed from v.1388  
changed lines
  Added in v.3911

  ViewVC Help
Powered by ViewVC 1.1.26