/[escript]/branches/arrayview_from_1695_trunk/finley/src/ElementFile.h
ViewVC logotype

Diff of /branches/arrayview_from_1695_trunk/finley/src/ElementFile.h

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

revision 751 by bcumming, Mon Jun 26 01:46:34 2006 UTC revision 777 by gross, Wed Jul 12 08:54:45 2006 UTC
# Line 16  Line 16 
16  #define INC_FINLEY_ELEMENTFILE  #define INC_FINLEY_ELEMENTFILE
17    
18  #include "Finley.h"  #include "Finley.h"
19    #include "NodeFile.h"
20  #include "ReferenceElements.h"  #include "ReferenceElements.h"
21  #include "escript/DataC.h"  #include "escript/DataC.h"
22    
# Line 24  Line 25 
25  #include "Distribution.h"  #include "Distribution.h"
26  #endif  #endif
27    
28    struct Finley_ElementFile_Jacobeans {
29      Finley_Status_t status;               /* status of mesh when jacobeans where updated last time */
30      Finley_RefElement* ReferenceElement;  /* reference elemnt used to calculate jacobeans (this is a borrowd reference) */
31      double* volume;                       /* local volume */
32      double* DSDX;                         /* derivatives of shape functions in global coordinates at quadrature points*/
33    };
34    
35    typedef struct Finley_ElementFile_Jacobeans Finley_ElementFile_Jacobeans;
36    
37  struct Finley_ElementFile {  struct Finley_ElementFile {
38  #ifdef PASO_MPI  #ifdef PASO_MPI
39    Paso_MPIInfo *MPIInfo;    Paso_MPIInfo *MPIInfo;
# Line 73  struct Finley_ElementFile { Line 83  struct Finley_ElementFile {
83                                                /* Color[e]=e  for all e */                                                /* Color[e]=e  for all e */
84    index_t order;                   /* order of the element */    index_t order;                   /* order of the element */
85    
86    bool_t volume_is_valid;    /* true if volume and DvDV are valid */    Finley_ElementFile_Jacobeans* jacobeans;           /* element jacobeans */
87    double* volume;               /* local volume */    Finley_ElementFile_Jacobeans* jacobeans_reducedS;  /* element jacobeans for reduced order of shape function*/
88    double* DvDV;                 /* inverse jacobean of element parametrization at quadrature points*/    Finley_ElementFile_Jacobeans* jacobeans_reducedQ;  /* element jacobeans for reduced integration order*/
89    bool_t DSDV_is_valid;         /* true is DSDV is valid */    Finley_ElementFile_Jacobeans* jacobeans_reducedS_reducedQ;  /* element jacobeans for reduced integration order and  reduced order of shape function*/
90    double* DSDV;                 /* derivatives of shape functions in global coordinates at quadrature points*/  
   bool_t DSLinearDV_is_valid;   /* true if DSLinearDV is valid */  
   double* DSLinearDV;           /* derivatives of linear shape functions in gloabl coordinates at quadrature points*/  
   bool_t X_is_valid;            /* true if X is valid */  
   double* X;                    /* global coordniates of quadrature points */  
91  };  };
92    
93  typedef struct Finley_ElementFile Finley_ElementFile;  typedef struct Finley_ElementFile Finley_ElementFile;
# Line 97  void Finley_ElementFile_markBoundaryElem Line 103  void Finley_ElementFile_markBoundaryElem
103  #endif  #endif
104    
105  void Finley_ElementFile_dealloc(Finley_ElementFile*);  void Finley_ElementFile_dealloc(Finley_ElementFile*);
 void Finley_ElementFile_setCoordinates(Finley_ElementFile*,escriptDataC*);  
106  void Finley_ElementFile_improveColoring(Finley_ElementFile* in,dim_t numNodes,dim_t* degreeOfFreedom);  void Finley_ElementFile_improveColoring(Finley_ElementFile* in,dim_t numNodes,dim_t* degreeOfFreedom);
107  void Finley_ElementFile_optimizeDistribution(Finley_ElementFile** in);  void Finley_ElementFile_optimizeDistribution(Finley_ElementFile** in);
108  void Finley_ElementFile_setNodeRange(dim_t*,dim_t*,Finley_ElementFile*);  void Finley_ElementFile_setNodeRange(dim_t*,dim_t*,Finley_ElementFile*);
# Line 109  void Finley_ElementFile_copyTable(dim_t, Line 114  void Finley_ElementFile_copyTable(dim_t,
114  void Finley_ElementFile_allocTable(Finley_ElementFile*,dim_t);  void Finley_ElementFile_allocTable(Finley_ElementFile*,dim_t);
115  void Finley_ElementFile_deallocTable(Finley_ElementFile*);  void Finley_ElementFile_deallocTable(Finley_ElementFile*);
116  void Finley_ElementFile_prepare(Finley_ElementFile** in,dim_t numNodes,dim_t* degreeOfFreedom);  void Finley_ElementFile_prepare(Finley_ElementFile** in,dim_t numNodes,dim_t* degreeOfFreedom);
117    void Finley_ElementFile_setTags(Finley_ElementFile*,const int,escriptDataC*);
118    Finley_ElementFile_Jacobeans* Finley_ElementFile_Jacobeans_alloc(Finley_RefElement*);
119    void Finley_ElementFile_Jacobeans_dealloc(Finley_ElementFile_Jacobeans*);
120    Finley_ElementFile_Jacobeans* Finley_ElementFile_borrowJacobeans(Finley_ElementFile*, Finley_NodeFile*, bool_t, bool_t);
121    
122    
123  #endif /* #ifndef INC_FINLEY_ELEMENTFILE */  #endif /* #ifndef INC_FINLEY_ELEMENTFILE */
124    

Legend:
Removed from v.751  
changed lines
  Added in v.777

  ViewVC Help
Powered by ViewVC 1.1.26