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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (show annotations)
Mon Jun 26 01:46:34 2006 UTC (12 years, 10 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 /*
2 ************************************************************
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 */
12
13
14 #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 #include "paso/Paso.h"
28
29 /**************************************************************/
30 /*#define Finley_TRACE */
31 #define FINLEY_UNKNOWN -1
32 #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 #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 /* error codes */
50
51
52 typedef Paso_ErrorCodeType Finley_ErrorCodeType;
53
54 /* interfaces */
55
56 double Finley_timer(void);
57 bool_t Finley_checkPtr(void*);
58 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
65 #ifdef PASO_MPI
66 bool_t Finley_MPI_noError( Paso_MPIInfo *mpi_info );
67 #endif
68
69 #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