/[escript]/trunk/dudley/src/Dudley.c
ViewVC logotype

Contents of /trunk/dudley/src/Dudley.c

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
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 /*
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
15 /* Finley finite element solver */
16
17 /**************************************************************/
18
19 /* Author: gross@access.edu.au */
20 /* Version: $Id$ */
21
22 /**************************************************************/
23
24 #include "Finley.h"
25
26 #ifdef PASO_MPI
27 int __g_nodeTag = FINLEY_NODE_TAG;
28 int __g_elementTag = FINLEY_ELEMENT_TAG;
29 #endif
30
31 /* This function returns a time mark */
32 double Finley_timer(void) {
33 return Paso_timer();
34 }
35
36 /* This function checks if the pointer ptr has a target. If not an
37 error is raised and TRUE is returned. */
38 bool_t Finley_checkPtr(void* arg) {
39 return Paso_checkPtr(arg);
40 }
41
42 /* reset the error to NO_ERROR */
43 void Finley_resetError(void) {
44 Paso_resetError();
45 }
46
47 /* sets an error */
48 void Finley_setError(Finley_ErrorCodeType err,char* msg) {
49 Paso_setError(err,msg);
50 }
51
52 /* 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 #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
80
81 /**************************************************************/
82
83
84 /*
85 * $Log$
86 * 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 * Revision 1.2 2005/07/08 04:07:50 jgs
93 * Merge of development branch back to main trunk on 2005-07-08
94 *
95 * 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 * 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