ESScript  Revision_4488
SystemMatrixPattern.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: system matrix pattern */
20 
21 /************************************************************************************/
22 
23 /* Copyrights by ACcESS Australia 2004,2005 */
24 /* Author: Lutz Gross, l.gross@uq.edu.au */
25 
26 /************************************************************************************/
27 
28 #ifndef INC_PASO_SYSTEMMATRIXPATTERN
29 #define INC_PASO_SYSTEMMATRIXPATTERN
30 
31 #include "Distribution.h"
32 #include "Pattern.h"
33 #include "Coupler.h"
34 
35 /************************************************************************************/
36 
37 typedef struct Paso_SystemMatrixPattern {
38  int type;
39 
41 
42 
50 
52 
53 
55 
56 
57 /* interfaces: */
58 
59 
61 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_alloc(int type, Paso_Distribution* output_distribution, Paso_Distribution* input_distribution, Paso_Pattern* mainPattern, Paso_Pattern* col_couplePattern, Paso_Pattern* row_couplePattern, Paso_Connector* col_connector, Paso_Connector* row_connector);
62 
65 
68 
70  int type, dim_t output_block_size,dim_t input_block_size);
72 
73 #endif /* #ifndef INC_PASO_SYSTEMPATTERN */