ESScript  Revision_
Distribution.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 
17 /************************************************************************************/
18 
19 /* Paso: distribution */
20 
21 /************************************************************************************/
22 
23 /* Author: Lutz Gross, l.gross@uq.edu.au */
24 
25 /************************************************************************************/
26 
27 #ifndef INC_PASO_DISTRIBUTION
28 #define INC_PASO_DISTRIBUTION
29 
30 #include "Common.h"
31 #include "esysUtils/Esys_MPI.h"
32 
33 /****************************************************
34  describes the distribution of a vector stored
35  on the local process
36 ****************************************************/
38 {
39  index_t *first_component; /* process i has nodes with global indices first_component[i+1] to first_component[i]. */
42 };
43 
45 
46 /***************************************
47  Function prototypes
48 **************************************/
49 
50 
53 
56 
59 
62 
65 
68 
71 
74 
77 
80 
82 dim_t Paso_Distribution_numPositives(const double* x, const Paso_Distribution *in, const dim_t block );
83 
84 #endif
85