/[escript]/trunk/paso/src/Paso.h
ViewVC logotype

Contents of /trunk/paso/src/Paso.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (show annotations)
Mon Jun 26 01:46:34 2006 UTC (13 years, 2 months ago) by bcumming
File MIME type: text/plain
File size: 2525 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 /* $Id$ */
2
3
4 /*
5 ********************************************************************************
6 * Copyright 2006 by ACcESS MNRF *
7 * *
8 * http://www.access.edu.au *
9 * Primary Business: Queensland, Australia *
10 * Licensed under the Open Software License version 3.0 *
11 * http://www.opensource.org/licenses/osl-3.0.php *
12 ********************************************************************************
13 */
14
15 /**************************************************************/
16
17 /* Paso finite element solver */
18
19 /**************************************************************/
20
21 /* Copyrights by ACcESS Australia, 2003,2004,2005 */
22 /* Author: gross@access.edu.au */
23
24 /**************************************************************/
25
26 #ifndef INC_PASO
27 #define INC_PASO
28
29 //#define PASO_MPI
30
31 #include "Common.h"
32 #include "Options.h"
33 #include "SystemMatrix.h"
34 #ifdef PASO_MPI
35 #include "Paso_MPI.h"
36 #endif
37
38 /**************************************************************/
39
40 enum Paso_ErrorCodeType {
41 NO_ERROR,
42 WARNING,
43 VALUE_ERROR,
44 TYPE_ERROR,
45 MEMORY_ERROR,
46 IO_ERROR,
47 ZERO_DIVISION_ERROR,
48 EOF_ERROR,
49 FLOATING_POINT_ERROR,
50 INDEX_ERROR,
51 OS_ERROR,
52 OVERFLOW_ERROR,
53 SYSTEM_ERROR,
54 PASO_MPI_ERROR
55 };
56
57 typedef enum Paso_ErrorCodeType Paso_ErrorCodeType;
58
59 /* interfaces */
60
61 double Paso_timer(void);
62 bool_t Paso_checkPtr(void*);
63 void Paso_resetError(void);
64 void Paso_setError(Paso_ErrorCodeType err,char* msg);
65 bool_t Paso_noError(void);
66 Paso_ErrorCodeType Paso_getErrorType(void);
67 char* Paso_getErrorMessage(void);
68 void Paso_solve(Paso_SystemMatrix* A, double* out, double* in, Paso_Options* options);
69 void Paso_solve_free(Paso_SystemMatrix* in);
70
71 #ifdef PASO_MPI
72 bool_t Paso_MPI_noError( Paso_MPIInfo *mpi_info );
73 #endif
74
75 #endif /* #ifndef INC_PASO */
76
77 /*
78 * $Log$
79 * Revision 1.2 2005/09/15 03:44:38 jgs
80 * Merge of development branch dev-02 back to main trunk on 2005-09-15
81 *
82 * Revision 1.1.2.2 2005/09/07 00:59:08 gross
83 * some inconsistent renaming fixed to make the linking work.
84 *
85 * Revision 1.1.2.1 2005/09/05 06:29:47 gross
86 * These files have been extracted from finley to define a stand alone libray for iterative
87 * linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but
88 * has not been tested yet.
89 *
90 *
91 */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26