src/alge/cs_matrix.h File Reference

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Typedefs | Enumerations | Functions | Variables
cs_matrix.h File Reference
`#include "cs_defs.h"`
`#include "cs_halo.h"`
`#include "cs_numbering.h"`
`#include "cs_halo_perio.h"`
Include dependency graph for cs_matrix.h:

Go to the source code of this file.

## Typedefs
typedef struct _cs_matrix_structure_t | cs_matrix_structure_t
typedef struct _cs_matrix_t | cs_matrix_t
typedef struct _cs_matrix_variant_t | cs_matrix_variant_t

## Enumerations
enum | cs_matrix_type_t { CS_MATRIX_NATIVE, CS_MATRIX_CSR, CS_MATRIX_CSR_SYM, CS_MATRIX_MSR, CS_MATRIX_N_TYPES }
enum | cs_matrix_fill_type_t { CS_MATRIX_SCALAR, CS_MATRIX_SCALAR_SYM, CS_MATRIX_33_BLOCK_D, CS_MATRIX_33_BLOCK_D_SYM, CS_MATRIX_33_BLOCK, CS_MATRIX_N_FILL_TYPES }

## Functions
void | promav (const cs_int_t *isym, const cs_int_t *ibsize, const cs_int_t *iesize, const cs_int_t *iinvpe, const cs_real_t *dam, const cs_real_t *xam, cs_real_t *vx, cs_real_t *vy)
void | cs_matrix_initialize (void)
void | cs_matrix_finalize (void)
void | cs_matrix_update_mesh (void)
cs_matrix_structure_t * | cs_matrix_structure_create (cs_matrix_type_t type, bool have_diag, cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
cs_matrix_t * | cs_matrix_create_tuned (const cs_matrix_structure_t *ms, const cs_matrix_variant_t *mv)
void | cs_matrix_structure_destroy (cs_matrix_structure_t **ms)
cs_matrix_t * | cs_matrix_create (const cs_matrix_structure_t *ms)
void | cs_matrix_destroy (cs_matrix_t **matrix)
cs_lnum_t | cs_matrix_get_n_columns (const cs_matrix_t *matrix)
cs_lnum_t | cs_matrix_get_n_rows (const cs_matrix_t *matrix)
const int * | cs_matrix_get_diag_block_size (const cs_matrix_t *matrix)
void | cs_matrix_set_coefficients (cs_matrix_t *matrix, bool symmetric, const int *diag_block_size, const int *extra_diag_block_size, const cs_real_t *da, const cs_real_t *xa)
void | cs_matrix_set_coefficients_ni (cs_matrix_t *matrix, bool symmetric, const cs_real_t *da, const cs_real_t *xa)
void | cs_matrix_copy_coefficients (cs_matrix_t *matrix, bool symmetric, const int *diag_block_size, const int *extra_diag_block_size, const cs_real_t *da, const cs_real_t *xa)
void | cs_matrix_release_coefficients (cs_matrix_t *matrix)
void | cs_matrix_copy_diagonal (const cs_matrix_t *matrix, cs_real_t *restrict da)
const cs_real_t * | cs_matrix_get_diagonal (const cs_matrix_t *matrix)
void | cs_matrix_vector_multiply (cs_halo_rotation_t rotation_mode, const cs_matrix_t *matrix, cs_real_t *restrict x, cs_real_t *restrict y)
void | cs_matrix_vector_multiply_nosync (const cs_matrix_t *matrix, const cs_real_t *x, cs_real_t *restrict y)
void | cs_matrix_exdiag_vector_multiply (cs_halo_rotation_t rotation_mode, const cs_matrix_t *matrix, cs_real_t *restrict x, cs_real_t *restrict y)
cs_matrix_variant_t * | cs_matrix_variant_tuned (double t_measure, int n_fill_types, cs_matrix_fill_type_t fill_types[], double fill_weights[], int n_min_products, cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
void | cs_matrix_variant_destroy (cs_matrix_variant_t **mv)
cs_matrix_type_t | cs_matrix_variant_type (const cs_matrix_variant_t *mv)
void | cs_matrix_variant_test (cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)

## Variables
const char * | cs_matrix_type_name []
const char * | cs_matrix_type_fullname []
cs_matrix_t * | cs_glob_matrix_default
cs_matrix_structure_t * | cs_glob_matrix_default_struct

## Typedef Documentation

typedef struct _cs_matrix_structure_t cs_matrix_structure_t

typedef struct _cs_matrix_t cs_matrix_t

typedef struct _cs_matrix_variant_t cs_matrix_variant_t

## Enumeration Type Documentation

enum cs_matrix_fill_type_t

Enumerator
CS_MATRIX_SCALAR |
CS_MATRIX_SCALAR_SYM |
CS_MATRIX_33_BLOCK_D |
CS_MATRIX_33_BLOCK_D_SYM |
CS_MATRIX_33_BLOCK |
CS_MATRIX_N_FILL_TYPES |

enum cs_matrix_type_t

Enumerator
CS_MATRIX_NATIVE |
CS_MATRIX_CSR |
CS_MATRIX_CSR_SYM |
CS_MATRIX_MSR |
CS_MATRIX_N_TYPES |

## Function Documentation

void cs_matrix_copy_coefficients | ( | cs_matrix_t * | matrix,
|  | bool | symmetric,
|  | const int * | diag_block_size,
|  | const int * | extra_diag_block_size,
|  | const cs_real_t * | da,
|  | const cs_real_t * | xa
| ) |  |

void cs_matrix_copy_diagonal | ( | const cs_matrix_t * | matrix,
|  | cs_real_t *restrict | da
| ) |  |

cs_matrix_t* cs_matrix_create | ( | const cs_matrix_structure_t * | ms | ) |

cs_matrix_t* cs_matrix_create_tuned | ( | const cs_matrix_structure_t * | ms,
|  | const cs_matrix_variant_t * | mv
| ) |  |

void cs_matrix_destroy | ( | cs_matrix_t ** | matrix | ) |

void cs_matrix_exdiag_vector_multiply | ( | cs_halo_rotation_t | rotation_mode,
|  | const cs_matrix_t * | matrix,
|  | cs_real_t *restrict | x,
|  | cs_real_t *restrict | y
| ) |  |

void cs_matrix_finalize | ( | void |  | ) |

const int* cs_matrix_get_diag_block_size | ( | const cs_matrix_t * | matrix | ) |

const cs_real_t* cs_matrix_get_diagonal | ( | const cs_matrix_t * | matrix | ) |

cs_lnum_t cs_matrix_get_n_columns | ( | const cs_matrix_t * | matrix | ) |

cs_lnum_t cs_matrix_get_n_rows | ( | const cs_matrix_t * | matrix | ) |

void cs_matrix_initialize | ( | void |  | ) |

void cs_matrix_release_coefficients | ( | cs_matrix_t * | matrix | ) |

void cs_matrix_set_coefficients | ( | cs_matrix_t * | matrix,
|  | bool | symmetric,
|  | const int * | diag_block_size,
|  | const int * | extra_diag_block_size,
|  | const cs_real_t * | da,
|  | const cs_real_t * | xa
| ) |  |

void cs_matrix_set_coefficients_ni | ( | cs_matrix_t * | matrix,
|  | bool | symmetric,
|  | const cs_real_t * | da,
|  | const cs_real_t * | xa
| ) |  |

cs_matrix_structure_t* cs_matrix_structure_create | ( | cs_matrix_type_t | type,
|  | bool | have_diag,
|  | cs_lnum_t | n_cells,
|  | cs_lnum_t | n_cells_ext,
|  | cs_lnum_t | n_faces,
|  | const cs_gnum_t * | cell_num,
|  | const cs_lnum_t * | face_cell,
|  | const cs_halo_t * | halo,
|  | const cs_numbering_t * | numbering
| ) |  |

void cs_matrix_structure_destroy | ( | cs_matrix_structure_t ** | ms | ) |

void cs_matrix_update_mesh | ( | void |  | ) |

void cs_matrix_variant_destroy | ( | cs_matrix_variant_t ** | mv | ) |

void cs_matrix_variant_test | ( | cs_lnum_t | n_cells,
|  | cs_lnum_t | n_cells_ext,
|  | cs_lnum_t | n_faces,
|  | const cs_gnum_t * | cell_num,
|  | const cs_lnum_t * | face_cell,
|  | const cs_halo_t * | halo,
|  | const cs_numbering_t * | numbering
| ) |  |

cs_matrix_variant_t* cs_matrix_variant_tuned | ( | double | t_measure,
|  | int | n_fill_types,
|  | cs_matrix_fill_type_t | fill_types[],
|  | double | fill_weights[],
|  | int | n_min_products,
|  | cs_lnum_t | n_cells,
|  | cs_lnum_t | n_cells_ext,
|  | cs_lnum_t | n_faces,
|  | const cs_gnum_t * | cell_num,
|  | const cs_lnum_t * | face_cell,
|  | const cs_halo_t * | halo,
|  | const cs_numbering_t * | numbering
| ) |  |

cs_matrix_type_t cs_matrix_variant_type | ( | const cs_matrix_variant_t * | mv | ) |

void cs_matrix_vector_multiply | ( | cs_halo_rotation_t | rotation_mode,
|  | const cs_matrix_t * | matrix,
|  | cs_real_t *restrict | x,
|  | cs_real_t *restrict | y
| ) |  |

void cs_matrix_vector_multiply_nosync | ( | const cs_matrix_t * | matrix,
|  | const cs_real_t * | x,
|  | cs_real_t *restrict | y
| ) |  |

void promav | ( | const cs_int_t * | isym,
|  | const cs_int_t * | ibsize,
|  | const cs_int_t * | iesize,
|  | const cs_int_t * | iinvpe,
|  | const cs_real_t * | dam,
|  | const cs_real_t * | xam,
|  | cs_real_t * | vx,
|  | cs_real_t * | vy
| ) |  |

## Variable Documentation

cs_matrix_t* cs_glob_matrix_default

cs_matrix_structure_t* cs_glob_matrix_default_struct

const char* cs_matrix_type_fullname[]

const char* cs_matrix_type_name[]