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

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

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

revision 474 by jgs, Mon Jan 30 04:23:44 2006 UTC revision 751 by bcumming, Mon Jun 26 01:46:34 2006 UTC
# Line 1  Line 1 
1  /*  /*
2   ******************************************************************************   ************************************************************
3   *                                                                            *   *          Copyright 2006 by ACcESS MNRF                   *
4   *       COPYRIGHT  ACcESS 2003,2004,2005 -  All Rights Reserved              *   *                                                          *
5   *                                                                            *   *              http://www.access.edu.au                    *
6   * This software is the property of ACcESS. No part of this code              *   *       Primary Business: Queensland, Australia            *
7   * may be copied in any form or by any means without the expressed written    *   *  Licensed under the Open Software License version 3.0    *
8   * consent of ACcESS.  Copying, use or modification of this software          *   *     http://www.opensource.org/licenses/osl-3.0.php       *
9   * by any unauthorised person is illegal unless that person has a software    *   *                                                          *
10   * license agreement with ACcESS.                                             *   ************************************************************
  *                                                                            *  
  ******************************************************************************  
11  */  */
12    
13  /* Version: $Id$ */  /* Version: $Id$ */
# Line 20  Line 18 
18  #define MAX_numDim 3  #define MAX_numDim 3
19    
20  #include "Finley.h"  #include "Finley.h"
21  #include "DataC.h"  #include "escript/DataC.h"
22    
23    #ifdef PASO_MPI
24    #include "Distribution.h"
25    #include "./paso/CommBuffer.h"
26    #endif
27    
28  struct Finley_NodeFile {  struct Finley_NodeFile {
29    #ifdef PASO_MPI
30      Paso_MPIInfo *MPIInfo;              /* MPI information */
31      Finley_NodeDistribution *degreeOfFreedomDistribution;  /* information about the distribution of degrees of freedom
32                                                  on this subdomain and over other subdomains */
33      Finley_NodeDistribution *reducedDegreeOfFreedomDistribution;
34      Paso_CommBuffer *CommBuffer;
35      Paso_CommBuffer *reducedCommBuffer;
36    #endif
37    dim_t numNodes;                      /* number of nodes */    dim_t numNodes;                      /* number of nodes */
38    dim_t numDim;                        /* spatial dimension */    dim_t numDim;                        /* spatial dimension */
39    index_t *Id;                         /* Id[i] is the id number of node i. this number is not really    index_t *Id;                         /* Id[i] is the id number of node i. this number is not really
# Line 50  struct Finley_NodeFile { Line 61  struct Finley_NodeFile {
61    index_t *toReduced;                  /* toReduced[i] is the node id in the reduced mesh. if toReduced[i]<0 it means that the node does not appear in the reduced mesh */    index_t *toReduced;                  /* toReduced[i] is the node id in the reduced mesh. if toReduced[i]<0 it means that the node does not appear in the reduced mesh */
62  };  };
63    
64    
65    
66  typedef struct Finley_NodeFile Finley_NodeFile;  typedef struct Finley_NodeFile Finley_NodeFile;
67    
68  Finley_NodeFile * Finley_NodeFile_alloc(dim_t);  #ifdef PASO_MPI
69    Finley_NodeFile* Finley_NodeFile_alloc(dim_t, Paso_MPIInfo *MPIInfo);
70    void Finley_NodeFile_allocTable(Finley_NodeFile*,dim_t);
71    #else
72    Finley_NodeFile* Finley_NodeFile_alloc(dim_t numDim);
73    void Finley_NodeFile_allocTable(Finley_NodeFile*,dim_t);
74    #endif
75    
76    /* Finley_NodeFile * Finley_NodeFile_alloc(dim_t); */
77  void Finley_NodeFile_dealloc(Finley_NodeFile*);  void Finley_NodeFile_dealloc(Finley_NodeFile*);
78  void Finley_NodeFile_setIdRange(index_t*,index_t*,Finley_NodeFile*);  void Finley_NodeFile_setIdRange(index_t*,index_t*,Finley_NodeFile*);
79  void Finley_NodeFile_scatter(index_t*,Finley_NodeFile*,Finley_NodeFile*);  void Finley_NodeFile_scatter(index_t*,Finley_NodeFile*,Finley_NodeFile*);
80  void Finley_NodeFile_gather(index_t*,Finley_NodeFile*,Finley_NodeFile*);  void Finley_NodeFile_gather(index_t*,Finley_NodeFile*,Finley_NodeFile*);
81  void Finley_NodeFile_setCoordinates(Finley_NodeFile*,escriptDataC*);  void Finley_NodeFile_setCoordinates(Finley_NodeFile*,escriptDataC*);
82  void Finley_NodeFile_copyTable(dim_t,Finley_NodeFile*,dim_t,dim_t,Finley_NodeFile*);  void Finley_NodeFile_copyTable(dim_t,Finley_NodeFile*,dim_t,dim_t,Finley_NodeFile*);
83  void Finley_NodeFile_allocTable(Finley_NodeFile*,dim_t);  
84  void Finley_NodeFile_deallocTable(Finley_NodeFile*);  void Finley_NodeFile_deallocTable(Finley_NodeFile*);
85    
86  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.26