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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (hide annotations)
Mon Jun 26 01:46:34 2006 UTC (13 years, 8 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 jgs 150 /* $Id$ */
2    
3 dhawcroft 631
4     /*
5     ********************************************************************************
6 dhawcroft 633 * Copyright 2006 by ACcESS MNRF *
7 dhawcroft 631 * *
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 jgs 150 /**************************************************************/
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 bcumming 730 //#define PASO_MPI
30    
31 jgs 150 #include "Common.h"
32     #include "Options.h"
33     #include "SystemMatrix.h"
34 bcumming 730 #ifdef PASO_MPI
35     #include "Paso_MPI.h"
36     #endif
37 jgs 150
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 bcumming 730 SYSTEM_ERROR,
54     PASO_MPI_ERROR
55 jgs 150 };
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 bcumming 751 #ifdef PASO_MPI
72     bool_t Paso_MPI_noError( Paso_MPIInfo *mpi_info );
73     #endif
74    
75 jgs 150 #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