/[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 150 by jgs, Thu Sep 15 03:44:45 2005 UTC trunk/finley/src/Quadrature.h revision 3911 by jfenwick, Thu Jun 14 01:01:03 2012 UTC
# Line 1  Line 1 
 /*  
  ******************************************************************************  
  *                                                                            *  
  *       COPYRIGHT  ACcESS 2003,2004,2005 -  All Rights Reserved              *  
  *                                                                            *  
  * This software is the property of ACcESS. No part of this code              *  
  * may be copied in any form or by any means without the expressed written    *  
  * consent of ACcESS.  Copying, use or modification of this software          *  
  * by any unauthorised person is illegal unless that person has a software    *  
  * license agreement with ACcESS.                                             *  
  *                                                                            *  
  ******************************************************************************  
 */  
1    
2  /**************************************************************/  /*******************************************************
3    *
4    * Copyright (c) 2003-2012 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    
 /*   Finley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line, Point */  
14    
15  /**************************************************************/  /**************************************************************/
16    
17  /*   Author: gross@access.edu.au */  /*   Finley: integration schemes for element shapes Tri, Quad, Hex, Tet, Line, Point */
 /*   Version: $Id$ */  
18    
19  /**************************************************************/  /**************************************************************/
20    
# Line 34  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 49  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 59  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.150  
changed lines
  Added in v.3911

  ViewVC Help
Powered by ViewVC 1.1.26