Escript
Revision_4320
Main Page
Namespaces
Classes
Files
File List
File Members
finley
src
finley/src/IndexList.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
/* Finley: Converting an element list into a matrix shape */
20
21
/************************************************************************************/
22
23
#ifndef INC_FINLEY_INDEXLIST
24
#define INC_FINLEY_INDEXLIST
25
26
#include "
Finley.h
"
27
#include "
ElementFile.h
"
28
#include "
Mesh.h
"
29
30
/* structure to build system matrix */
31
32
#define INDEXLIST_LENGTH 85
33
34
typedef
struct
Finley_IndexList
{
35
index_t
index
[
INDEXLIST_LENGTH
];
36
dim_t
n
;
37
struct
Finley_IndexList
*
extension
;
38
}
Finley_IndexList
;
39
void
Finley_IndexList_insertElements
(
Finley_IndexList
* index_list,
Finley_ElementFile
* elements,
40
bool_t
reduce_row_order,
index_t
* row_map,
41
bool_t
reduce_col_order,
index_t
* col_map);
42
void
Finley_IndexList_insertIndex
(
Finley_IndexList
*,
index_t
);
43
void
Finley_IndexList_toArray
(
Finley_IndexList
*,
index_t
*,
index_t
,
index_t
,
index_t
);
44
dim_t
Finley_IndexList_count
(
Finley_IndexList
*,
index_t
,
index_t
);
45
void
Finley_IndexList_free
(
Finley_IndexList
*);
46
Paso_Pattern
*
Finley_IndexList_createPattern
(
dim_t
n0,
dim_t
n
,
Finley_IndexList
* index_list,
index_t
range_min,
index_t
range_max,
index_t
index_offset);
47
void
Finley_IndexList_insertElementsWithRowRange
(
Finley_IndexList
* index_list,
index_t
firstRow,
index_t
lastRow,
48
Finley_ElementFile
* elements,
index_t
* row_map,
index_t
* col_map);
49
void
Finley_IndexList_insertElementsWithRowRangeNoMainDiagonal
(
Finley_IndexList
* index_list,
index_t
firstRow,
index_t
lastRow,
50
Finley_ElementFile
* elements,
index_t
* row_map,
index_t
* col_map);
51
52
53
54
55
#endif
/* #ifndef INC_FINLEY_INDEXLIST */
Generated on Fri Mar 15 2013 14:07:50 for Escript by
1.8.1.2