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

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

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

revision 626 by elspeth, Thu Mar 23 02:16:36 2006 UTC revision 964 by gross, Tue Feb 13 05:10:26 2007 UTC
# Line 59  Line 59 
59  #include "Finley.h"  #include "Finley.h"
60  #include "NodeFile.h"  #include "NodeFile.h"
61  #include "ElementFile.h"  #include "ElementFile.h"
62  #include "SystemMatrixPattern.h"  #include "paso/SystemMatrixPattern.h"
63  #include "DataC.h"  #include "escript/DataC.h"
64    
65    #ifdef PASO_MPI
66    #include "paso/Paso_MPI.h"
67    #endif
68    
69  /**************************************************************/  /**************************************************************/
70    
# Line 68  Line 72 
72    
73  struct Finley_Mesh {  struct Finley_Mesh {
74    char* Name;                           /* the name of the mesh */    char* Name;                           /* the name of the mesh */
75    index_t order;                          /* integration order */    index_t order;                        /* integration order */
76    dim_t reference_counter;              /* counts the number of references to the mesh; */    dim_t reference_counter;              /* counts the number of references to the mesh; */
77    Finley_NodeFile* Nodes;               /* the table of the nodes */    Finley_NodeFile* Nodes;               /* the table of the nodes */
78    Finley_ElementFile* Elements;         /* the table of the elements */    Finley_ElementFile* Elements;         /* the table of the elements */
# Line 82  struct Finley_Mesh { Line 86  struct Finley_Mesh {
86    Paso_SystemMatrixPattern *FullReducedPattern;    Paso_SystemMatrixPattern *FullReducedPattern;
87    Paso_SystemMatrixPattern *ReducedFullPattern;    Paso_SystemMatrixPattern *ReducedFullPattern;
88    Paso_SystemMatrixPattern *ReducedReducedPattern;    Paso_SystemMatrixPattern *ReducedReducedPattern;
89    #ifdef PASO_MPI
90      Paso_MPIInfo *MPIInfo;
91    #endif
92  };  };
93    
94  typedef struct Finley_Mesh Finley_Mesh;  typedef struct Finley_Mesh Finley_Mesh;
# Line 97  typedef struct Finley_Mesh_findMatchingF Line 104  typedef struct Finley_Mesh_findMatchingF
104  /**************************************************************/  /**************************************************************/
105    
106  /*  interfaces: */  /*  interfaces: */
107    #ifndef PASO_MPI
108  Finley_Mesh* Finley_Mesh_alloc(char*,int,int);  Finley_Mesh* Finley_Mesh_alloc(char* name,dim_t numDim, index_t order);
109    #else
110    Finley_Mesh* Finley_Mesh_alloc(char* name,dim_t numDim, index_t order, Paso_MPIInfo *mpi_info);
111    void Finley_Mesh_resolveDegreeOfFreedomOrder( Finley_Mesh *in, bool_t doReduced );
112    void print_mesh_statistics( Finley_Mesh *out, bool_t reduced  );
113    void Finley_Mesh_prepareElementDistribution( Finley_Mesh *in );
114    #endif
115    /*Finley_Mesh* Finley_Mesh_alloc(char*,int,int);*/
116  Finley_Mesh* Finley_Mesh_reference(Finley_Mesh*);  Finley_Mesh* Finley_Mesh_reference(Finley_Mesh*);
117  void Finley_Mesh_dealloc(Finley_Mesh*);  void Finley_Mesh_dealloc(Finley_Mesh*);
118  dim_t Finley_Mesh_getDim(Finley_Mesh*);  dim_t Finley_Mesh_getDim(Finley_Mesh*);
# Line 109  Paso_SystemMatrixPattern* Finley_getPatt Line 123  Paso_SystemMatrixPattern* Finley_getPatt
123  Paso_SystemMatrixPattern* Finley_makePattern(Finley_Mesh *mesh,bool_t reduce_row_order, bool_t reduce_col_order);  Paso_SystemMatrixPattern* Finley_makePattern(Finley_Mesh *mesh,bool_t reduce_row_order, bool_t reduce_col_order);
124  void Finley_Mesh_write(Finley_Mesh*,char*);  void Finley_Mesh_write(Finley_Mesh*,char*);
125  Finley_Mesh* Finley_Mesh_read(char*,index_t);  Finley_Mesh* Finley_Mesh_read(char*,index_t);
126    Finley_Mesh* Finley_Mesh_readGmsh(char*,index_t, index_t, index_t, bool_t);
127  void Finley_Mesh_setCoordinates(Finley_Mesh*,escriptDataC*);  void Finley_Mesh_setCoordinates(Finley_Mesh*,escriptDataC*);
128    
129  void Finley_Mesh_prepare(Finley_Mesh* in);  void Finley_Mesh_prepare(Finley_Mesh* in);
130    bool_t Finley_Mesh_isPrepared(Finley_Mesh*);
131  void Finley_Mesh_prepareNodes(Finley_Mesh* in);  void Finley_Mesh_prepareNodes(Finley_Mesh* in);
132  void Finley_Mesh_improveColoring(Finley_Mesh* in);  void Finley_Mesh_improveColoring(Finley_Mesh* in);
133  void Finley_Mesh_optimizeElementDistribution(Finley_Mesh* in);  void Finley_Mesh_optimizeElementDistribution(Finley_Mesh* in);
# Line 128  int Finley_Mesh_findMatchingFaces_compar Line 144  int Finley_Mesh_findMatchingFaces_compar
144  void Finley_Mesh_findMatchingFaces(Finley_NodeFile*,Finley_ElementFile *,double,double, int*, int*,int*,int*);  void Finley_Mesh_findMatchingFaces(Finley_NodeFile*,Finley_ElementFile *,double,double, int*, int*,int*,int*);
145  void Finley_Mesh_print(Finley_Mesh *in);  void Finley_Mesh_print(Finley_Mesh *in);
146  void Finley_Mesh_saveDX(const char * filename_p, Finley_Mesh *mesh_p, const dim_t num_data,char* *names_p,escriptDataC* *data_pp);  void Finley_Mesh_saveDX(const char * filename_p, Finley_Mesh *mesh_p, const dim_t num_data,char* *names_p,escriptDataC* *data_pp);
147    #ifndef PASO_MPI
148  void Finley_Mesh_saveVTK(const char * filename_p, Finley_Mesh *mesh_p, const dim_t num_data,char* *names_p,escriptDataC* *data_pp);  void Finley_Mesh_saveVTK(const char * filename_p, Finley_Mesh *mesh_p, const dim_t num_data,char* *names_p,escriptDataC* *data_pp);
149    #else
150    void Finley_Mesh_saveVTK_MPIO(const char * filename_p, Finley_Mesh *mesh_p, const dim_t num_data,char*
151    *names_p,escriptDataC* *data_pp);
152    #endif
153    
154    
155    
156  #endif /* #ifndef INC_FINLEY_MESH */  #endif /* #ifndef INC_FINLEY_MESH */
157    

Legend:
Removed from v.626  
changed lines
  Added in v.964

  ViewVC Help
Powered by ViewVC 1.1.26