Escript
Revision_4320
Main Page
Namespaces
Classes
Files
File List
File Members
paso
src
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
40
Esys_MPIInfo
*
mpi_info
;
41
42
43
Paso_Pattern
*
mainPattern
;
44
Paso_Pattern
*
col_couplePattern
;
45
Paso_Pattern
*
row_couplePattern
;
46
Paso_Connector
*
col_connector
;
47
Paso_Connector
*
row_connector
;
48
Paso_Distribution
*
output_distribution
;
49
Paso_Distribution
*
input_distribution
;
50
51
dim_t
reference_counter
;
52
53
54
}
Paso_SystemMatrixPattern
;
55
56
57
/* interfaces: */
58
59
60
PASO_DLL_API
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
63
PASO_DLL_API
64
Paso_SystemMatrixPattern
*
Paso_SystemMatrixPattern_getReference
(
Paso_SystemMatrixPattern
*);
65
66
PASO_DLL_API
67
void
Paso_SystemMatrixPattern_free
(
Paso_SystemMatrixPattern
*);
68
69
Paso_SystemMatrixPattern
*
Paso_SystemMatrixPattern_unrollBlocks
(
Paso_SystemMatrixPattern
* pattern,
70
int
type,
dim_t
output_block_size,
dim_t
input_block_size);
71
index_t
Paso_SystemMatrixPattern_getNumOutput
(
Paso_SystemMatrixPattern
*);
72
73
#endif
/* #ifndef INC_PASO_SYSTEMPATTERN */
Generated on Fri Mar 15 2013 14:07:51 for Escript by
1.8.1.2