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

Annotation of /trunk/finley/src/Finley.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (hide annotations)
Mon Jun 26 01:46:34 2006 UTC (13 years, 4 months ago) by bcumming
File MIME type: text/plain
File size: 1942 byte(s)
Changes relating to the MPI version of escript
The standard OpenMP version of escript is unchanged

- updated data types (Finley_Mesh, Finley_NodeFile, etc) to store meshes
  over multiple MPI processes.
- added CommBuffer code in Paso for communication of Data associated
  with distributed meshes
- updates in Finley and Escript to support distributed data and operations
  on distributed data (such as interpolation).
- construction of RHS in MPI, so that simple explicit schemes (such as
  /docs/examples/wave.py without IO and the Locator) can run in MPI.
- updated mesh generation for first order line, rectangle and brick
  meshes and second order line meshes in MPI.        
- small changes to trunk/SConstruct and trunk/scons/ess_options.py to
  build the MPI version, these changes are turned off by default.

1 jgs 150 /*
2 elspeth 626 ************************************************************
3     * Copyright 2006 by ACcESS MNRF *
4     * *
5     * http://www.access.edu.au *
6     * Primary Business: Queensland, Australia *
7     * Licensed under the Open Software License version 3.0 *
8     * http://www.opensource.org/licenses/osl-3.0.php *
9     * *
10     ************************************************************
11 jgs 150 */
12 jgs 82
13 jgs 150
14 jgs 82 #ifndef INC_FINLEY
15     #define INC_FINLEY
16    
17     /**************************************************************/
18    
19     /* Finley finite element solver */
20    
21     /**************************************************************/
22    
23     /* Version: $Id$ */
24    
25     /**************************************************************/
26    
27 robwdcock 682 #include "paso/Paso.h"
28 jgs 82
29     /**************************************************************/
30 bcumming 751 /*#define Finley_TRACE */
31 jgs 153 #define FINLEY_UNKNOWN -1
32 jgs 82 #define FINLEY_DEGREES_OF_FREEDOM 1
33     #define FINLEY_REDUCED_DEGREES_OF_FREEDOM 2
34     #define FINLEY_NODES 3
35     #define FINLEY_ELEMENTS 4
36     #define FINLEY_FACE_ELEMENTS 5
37     #define FINLEY_POINTS 6
38     #define FINLEY_CONTACT_ELEMENTS_1 7
39     #define FINLEY_CONTACT_ELEMENTS_2 8
40    
41 bcumming 751 #ifdef PASO_MPI
42     #define FINLEY_INIT_ITEMSIZE (sizeof(double)*8)
43     #define FINLEY_NODE_TAG 0;
44     #define FINLEY_ELEMENT_TAG 10000;
45     extern int __g_nodeTag;
46     extern int __g_elementTag;
47     #endif
48    
49 jgs 82 /* error codes */
50    
51    
52 jgs 150 typedef Paso_ErrorCodeType Finley_ErrorCodeType;
53    
54 jgs 82 /* interfaces */
55    
56     double Finley_timer(void);
57 jgs 123 bool_t Finley_checkPtr(void*);
58 jgs 150 void Finley_resetError(void);
59     void Finley_setError(Finley_ErrorCodeType err,char* msg);
60     bool_t Finley_noError(void);
61     Finley_ErrorCodeType Finley_getErrorType(void);
62     char* Finley_getErrorMessage(void);
63     void Finley_convertPasoError(void);
64 jgs 82
65 bcumming 730 #ifdef PASO_MPI
66     bool_t Finley_MPI_noError( Paso_MPIInfo *mpi_info );
67     #endif
68    
69 jgs 82 #endif /* #ifndef INC_FINLEY */
70    

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26