/[escript]/branches/domexper/dudley/src/Dudley.c
ViewVC logotype

Annotation of /branches/domexper/dudley/src/Dudley.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 751 - (hide annotations)
Mon Jun 26 01:46:34 2006 UTC (12 years, 9 months ago) by bcumming
Original Path: trunk/finley/src/Finley.c
File MIME type: text/plain
File size: 2948 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 616 ************************************************************
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     /**************************************************************/
14    
15     /* Finley finite element solver */
16    
17     /**************************************************************/
18    
19 jgs 150 /* Author: gross@access.edu.au */
20     /* Version: $Id$ */
21 jgs 82
22     /**************************************************************/
23    
24     #include "Finley.h"
25    
26 bcumming 751 #ifdef PASO_MPI
27     int __g_nodeTag = FINLEY_NODE_TAG;
28     int __g_elementTag = FINLEY_ELEMENT_TAG;
29     #endif
30 jgs 82
31 jgs 150 /* This function returns a time mark */
32     double Finley_timer(void) {
33     return Paso_timer();
34     }
35 jgs 82
36     /* This function checks if the pointer ptr has a target. If not an
37     error is raised and TRUE is returned. */
38 jgs 150 bool_t Finley_checkPtr(void* arg) {
39     return Paso_checkPtr(arg);
40     }
41 jgs 82
42 jgs 150 /* reset the error to NO_ERROR */
43     void Finley_resetError(void) {
44     Paso_resetError();
45     }
46 jgs 82
47 jgs 150 /* sets an error */
48     void Finley_setError(Finley_ErrorCodeType err,char* msg) {
49     Paso_setError(err,msg);
50 jgs 82 }
51    
52 jgs 150 /* checks if there is no error */
53     bool_t Finley_noError(void) {
54     return Paso_noError();
55     }
56    
57     /* return the error code */
58     Finley_ErrorCodeType Finley_getErrorType(void) {
59     return Paso_getErrorType();
60     }
61    
62     /* return the error message */
63     char* Finley_getErrorMessage(void) {
64     return Paso_getErrorMessage();
65     }
66     /* return the error message */
67     void Finley_convertPasoError(void) {
68     /* nothing has to be done here */
69     }
70    
71 bcumming 730 #ifdef PASO_MPI
72     /* checks that there is no error accross all processes in a communicator */
73     /* NOTE : does not make guarentee consistency of error string on each process */
74     bool_t Finley_MPI_noError( Paso_MPIInfo *mpi_info )
75     {
76     return Paso_MPI_noError( mpi_info );
77     }
78     #endif
79 jgs 150
80 bcumming 730
81 jgs 82 /**************************************************************/
82    
83    
84     /*
85     * $Log$
86 jgs 150 * Revision 1.3 2005/09/15 03:44:22 jgs
87     * Merge of development branch dev-02 back to main trunk on 2005-09-15
88     *
89     * Revision 1.2.2.1 2005/09/07 06:26:18 gross
90     * the solver from finley are put into the standalone package paso now
91     *
92 jgs 123 * Revision 1.2 2005/07/08 04:07:50 jgs
93     * Merge of development branch back to main trunk on 2005-07-08
94 jgs 82 *
95 jgs 123 * Revision 1.1.1.1.2.1 2005/06/29 02:34:50 gross
96     * some changes towards 64 integers in finley
97     *
98     * Revision 1.1.1.1 2004/10/26 06:53:57 jgs
99     * initial import of project esys2
100     *
101 jgs 82 * Revision 1.2 2004/07/02 04:21:13 gross
102     * Finley C code has been included
103     *
104     * Revision 1.1.1.1 2004/06/24 04:00:40 johng
105     * Initial version of eys using boost-python.
106     *
107     *
108     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26