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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 969 - (hide annotations)
Tue Feb 13 23:02:23 2007 UTC (13 years ago) by ksteube
File MIME type: text/plain
File size: 2835 byte(s)
Parallelization using MPI for solution of implicit problems.

Parallelization for explicit problems has already been accomplished in
the main SVN branch.

This is incomplete and is not ready for use.


1 jgs 150 /* $Id$ */
2    
3 dhawcroft 631 /*
4     ********************************************************************************
5 dhawcroft 633 * Copyright 2006 by ACcESS MNRF *
6 dhawcroft 631 * *
7     * http://www.access.edu.au *
8     * Primary Business: Queensland, Australia *
9     * Licensed under the Open Software License version 3.0 *
10     * http://www.opensource.org/licenses/osl-3.0.php *
11     ********************************************************************************
12     */
13    
14 jgs 150 /**************************************************************/
15    
16     /* Paso: system matrix pattern */
17    
18     /**************************************************************/
19    
20     /* Copyrights by ACcESS Australia 2004,2005 */
21     /* Author: gross@access.edu.au */
22    
23     /**************************************************************/
24    
25     #ifndef INC_PASO_SYSTEMMATRIXPATTERN
26     #define INC_PASO_SYSTEMMATRIXPATTERN
27    
28 ksteube 969 #include "Paso_MPI.h"
29 jgs 150 #include "Common.h"
30    
31 ksteube 969 #ifdef PASO_MPI
32     #include "finley/Distribution.h"
33     #endif
34    
35 jgs 150 /**************************************************************/
36    
37 gross 415 #define PATTERN_FORMAT_DEFAULT 0
38     #define PATTERN_FORMAT_SYM 1
39     #define PATTERN_FORMAT_OFFSET1 2
40 jgs 150
41     typedef struct Paso_SystemMatrixPattern {
42 gross 415 int type;
43 jgs 150 dim_t n_ptr;
44     dim_t n_index;
45     index_t* ptr;
46     index_t* index;
47     dim_t len;
48     dim_t reference_counter;
49 ksteube 969 Paso_MPIInfo *MPIInfo;
50     #ifdef PASO_MPI
51     void *row_degreeOfFreedomDistribution; /* ksteube should be Finley_NodeDistribution instead of void */
52     void *col_degreeOfFreedomDistribution;
53     #endif
54     index_t numLocal;
55 jgs 150
56     } Paso_SystemMatrixPattern;
57    
58    
59     /* interfaces: */
60    
61 ksteube 969 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_alloc(int ,dim_t, index_t*,index_t*, Paso_MPIInfo*);
62 jgs 150 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_reference(Paso_SystemMatrixPattern*);
63     void Paso_SystemMatrixPattern_dealloc(Paso_SystemMatrixPattern*);
64     int Paso_comparIndex(const void *,const void *);
65     Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_getSubpattern(Paso_SystemMatrixPattern*,dim_t,index_t*,index_t*);
66     void Paso_SystemMatrixPattern_mis(Paso_SystemMatrixPattern* pattern_p, index_t* mis_marker);
67 gross 415 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_unrollBlocks(Paso_SystemMatrixPattern*,int, dim_t,dim_t);
68 jgs 150
69     #endif /* #ifndef INC_PASO_SYSTEMPATTERN */
70    
71     /*
72     * $Log$
73     * Revision 1.2 2005/09/15 03:44:38 jgs
74     * Merge of development branch dev-02 back to main trunk on 2005-09-15
75     *
76     * Revision 1.1.2.1 2005/09/05 06:29:47 gross
77     * These files have been extracted from finley to define a stand alone libray for iterative
78     * linear solvers on the ALTIX. main entry through Paso_solve. this version compiles but
79     * has not been tested yet.
80     *
81     *
82     */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26