1 |
/* |
2 |
******************************************************************************** |
3 |
* Copyright 2006,2007 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 |
/* Paso: system matrix pattern */ |
15 |
|
16 |
/**************************************************************/ |
17 |
|
18 |
/* Copyrights by ACcESS Australia 2004,2005,2007 */ |
19 |
/* Author: gross@access.edu.au */ |
20 |
|
21 |
/**************************************************************/ |
22 |
|
23 |
#ifndef INC_PASO_DISTRIBUTION |
24 |
#define INC_PASO_DISTRIBUTION |
25 |
|
26 |
#include "Common.h" |
27 |
#include "Paso_MPI.h" |
28 |
|
29 |
/**************************************************** |
30 |
describes the distribution of a vector stored |
31 |
on the local process |
32 |
****************************************************/ |
33 |
struct Paso_Distribution |
34 |
{ |
35 |
dim_t reference_counter; |
36 |
Paso_MPIInfo *mpi_info; |
37 |
index_t *first_component; /* process i has nodes with global indices |
38 |
first_component[i] to first_component[i]-1. */ |
39 |
dim_t numComponents; |
40 |
index_t firstComponent; |
41 |
dim_t myNumComponents; |
42 |
index_t myFirstComponent; |
43 |
}; |
44 |
|
45 |
typedef struct Paso_Distribution Paso_Distribution; |
46 |
|
47 |
/*************************************** |
48 |
Function prototypes |
49 |
***************************************/ |
50 |
|
51 |
Paso_Distribution* Paso_Distribution_alloc( Paso_MPIInfo *mpi_info, index_t* first_component, index_t m, index_t b); |
52 |
void Paso_Distribution_free( Paso_Distribution *in ); |
53 |
Paso_Distribution* Paso_Distribution_getReference( Paso_Distribution *in ); |
54 |
|
55 |
#endif |