My Project
programmer's documentation
Loading...
Searching...
No Matches
cs_matrix_util.h
Go to the documentation of this file.
1#ifndef __CS_MATRIX_UTIL_H__
2#define __CS_MATRIX_UTIL_H__
3
4/*============================================================================
5 * Utilitary functions for sparse matrixes.
6 *============================================================================*/
7
8/*----------------------------------------------------------------------------
9 * Local headers
10 *----------------------------------------------------------------------------*/
11
12#include "cs_defs.h"
13
14#include "cs_halo.h"
15#include "cs_numbering.h"
16
17#include "cs_matrix.h"
18
19/*----------------------------------------------------------------------------*/
20
22
23/*============================================================================
24 * Macro definitions
25 *============================================================================*/
26
27/*============================================================================
28 * Type definitions
29 *============================================================================*/
30
31/*============================================================================
32 * Global variables
33 *============================================================================*/
34
35/*=============================================================================
36 * Public function prototypes
37 *============================================================================*/
38
39/*----------------------------------------------------------------------------
40 * Compute diagonal dominance metric.
41 *
42 * parameters:
43 * matrix <-- pointer to matrix structure
44 * dd --> diagonal dominance (normalized)
45 *----------------------------------------------------------------------------*/
46
47void
49 cs_real_t dd[]);
50
51/*----------------------------------------------------------------------------
52 * Dump a linear system matrix and right-hand side to file.
53 *
54 * parameters:
55 * matrix <-- pointer to matrix structure
56 * rhs <-- right hand side vector
57 * name <-- identifier string used in file name
58 *----------------------------------------------------------------------------*/
59
60void
62 const cs_real_t rhs[],
63 const char *name);
64
65/*----------------------------------------------------------------------------
66 * Log general info relative to matrix.
67 *
68 * parameters:
69 * matrix <-- pointer to matrix structure
70 * verbosity <-- verbosity level
71 *----------------------------------------------------------------------------*/
72
73void
75 int verbosity);
76
77/*----------------------------------------------------------------------------
78 * Test matrix dump operations.
79 *
80 * parameters:
81 * n_rows <-- number of local rows
82 * n_cols_ext <-- number of colmuns including ghost columns (array size)
83 * n_edges <-- local number of graph edges
84 * edges <-- graph edges connectivity
85 * halo <-- cell halo structure
86 * numbering <-- vectorization or thread-related numbering info, or NULL
87 *----------------------------------------------------------------------------*/
88
89void
91 cs_lnum_t n_cols_ext,
92 cs_lnum_t n_edges,
93 const cs_lnum_2_t *edges,
94 const cs_halo_t *halo,
95 const cs_numbering_t *numbering);
96
97/*----------------------------------------------------------------------------*/
98
100
101#endif /* __CS_MATRIX_UTIL_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
int cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition cs_defs.h:308
#define END_C_DECLS
Definition cs_defs.h:468
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:298
struct _cs_matrix_t cs_matrix_t
Definition cs_matrix.h:90
void matrix(const int *iconvp, const int *idiffp, const int *ndircp, const int *isym, const cs_real_t *thetap, const int *imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t da[], cs_real_t xa[])
Definition cs_matrix_building.c:111
void cs_matrix_dump_linear_system(const cs_matrix_t *matrix, const cs_real_t rhs[], const char *name)
Definition cs_matrix_util.c:1972
void cs_matrix_dump_test(cs_lnum_t n_rows, cs_lnum_t n_cols_ext, cs_lnum_t n_edges, const cs_lnum_2_t *edges, const cs_halo_t *halo, const cs_numbering_t *numbering)
Definition cs_matrix_util.c:2065
void cs_matrix_diag_dominance(const cs_matrix_t *matrix, cs_real_t dd[])
Definition cs_matrix_util.c:1909
void cs_matrix_log_info(const cs_matrix_t *matrix, int verbosity)
Log general info relative to matrix.
Definition cs_matrix_util.c:2020
Definition cs_halo.h:71
Definition cs_numbering.h:83