/[escript]/trunk/paso/src/SystemMatrixPattern.h
ViewVC logotype

Contents of /trunk/paso/src/SystemMatrixPattern.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6651 - (show annotations)
Wed Feb 7 02:12:08 2018 UTC (19 months, 1 week ago) by jfenwick
File MIME type: text/plain
File size: 2399 byte(s)
Make everyone sad by touching all the files

Copyright dates update

1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2018 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16
17
18 /****************************************************************************/
19
20 /* Paso: system matrix pattern */
21
22 /****************************************************************************/
23
24 /* Copyrights by ACcESS Australia 2004,2005 */
25 /* Author: Lutz Gross, l.gross@uq.edu.au */
26
27 /****************************************************************************/
28
29 #ifndef __PASO_SYSTEMMATRIXPATTERN_H__
30 #define __PASO_SYSTEMMATRIXPATTERN_H__
31
32 #include "Coupler.h"
33 #include "Pattern.h"
34
35 #include <escript/Distribution.h>
36
37 namespace paso {
38
39 struct SystemMatrixPattern;
40 typedef boost::shared_ptr<SystemMatrixPattern> SystemMatrixPattern_ptr;
41 typedef boost::shared_ptr<const SystemMatrixPattern> const_SystemMatrixPattern_ptr;
42
43 PASO_DLL_API
44 struct SystemMatrixPattern : boost::enable_shared_from_this<SystemMatrixPattern>
45 {
46 // constructor
47 SystemMatrixPattern(int type, escript::Distribution_ptr output_distribution,
48 escript::Distribution_ptr input_distribution, Pattern_ptr mainPattern,
49 Pattern_ptr col_couplePattern, Pattern_ptr row_couplePattern,
50 Connector_ptr col_connector, Connector_ptr row_connector);
51
52 ~SystemMatrixPattern() {}
53
54 inline index_t getNumOutput() const {
55 return mainPattern->numOutput;
56 }
57
58 SystemMatrixPattern_ptr unrollBlocks(int type, dim_t output_block_size,
59 dim_t input_block_size);
60
61 int type;
62 escript::JMPI mpi_info;
63 Pattern_ptr mainPattern;
64 Pattern_ptr col_couplePattern;
65 Pattern_ptr row_couplePattern;
66 Connector_ptr col_connector;
67 Connector_ptr row_connector;
68 escript::Distribution_ptr output_distribution;
69 escript::Distribution_ptr input_distribution;
70 };
71
72
73 } // namespace paso
74
75 #endif // __PASO_SYSTEMMATRIXPATTERN_H__
76

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26