My Project
programmer's documentation
Functions
cs_matrix_default.c File Reference
#include "cs_defs.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include "bft_mem.h"
#include "bft_error.h"
#include "bft_printf.h"
#include "cs_base.h"
#include "cs_blas.h"
#include "cs_field.h"
#include "cs_halo.h"
#include "cs_halo_perio.h"
#include "cs_internal_coupling.h"
#include "cs_log.h"
#include "cs_mesh.h"
#include "cs_mesh_adjacencies.h"
#include "cs_numbering.h"
#include "cs_prototypes.h"
#include "cs_range_set.h"
#include "cs_timer.h"
#include "cs_matrix.h"
#include "cs_matrix_priv.h"
#include "cs_matrix_tuning.h"
#include "cs_matrix_default.h"
Include dependency graph for cs_matrix_default.c:

Functions

void cs_matrix_vector_native_multiply (bool symmetric, const int db_size[4], const int eb_size[4], cs_halo_rotation_t rotation_mode, int f_id, 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_tcs_matrix_default (bool symmetric, const int *diag_block_size, const int *extra_diag_block_size)
 
cs_matrix_tcs_matrix_msr (bool symmetric, const int *diag_block_size, const int *extra_diag_block_size)
 
cs_matrix_tcs_matrix_native (bool symmetric, const int *diag_block_size, const int *extra_diag_block_size)
 
void cs_matrix_set_variant (cs_matrix_fill_type_t fill_type, const cs_matrix_variant_t *mv)
 
void cs_matrix_set_tuning (cs_matrix_fill_type_t fill_type, int tune)
 
int cs_matrix_get_tuning (cs_matrix_fill_type_t fill_type)
 
void cs_matrix_set_tuning_runs (int n_min_products, double t_measure)
 
void cs_matrix_get_tuning_runs (int *n_min_products, double *t_measure)
 
const cs_gnum_tcs_matrix_get_block_row_g_id (cs_lnum_t n_rows, const cs_halo_t *halo)
 
cs_matrix_tcs_matrix_set_coefficients_coupled (const cs_field_t *f, cs_matrix_type_t type, bool symmetric, const int *diag_block_size, const int *extra_diag_block_size, const cs_real_t *da, const cs_real_t *xa)
 Assign coefficients to a matrix using a matrix assembler. More...
 

Function Documentation

◆ cs_matrix_default()

cs_matrix_t* cs_matrix_default ( bool  symmetric,
const int *  diag_block_size,
const int *  extra_diag_block_size 
)

◆ cs_matrix_finalize()

void cs_matrix_finalize ( void  )

◆ cs_matrix_get_block_row_g_id()

const cs_gnum_t* cs_matrix_get_block_row_g_id ( cs_lnum_t  n_rows,
const cs_halo_t halo 
)

◆ cs_matrix_get_tuning()

int cs_matrix_get_tuning ( cs_matrix_fill_type_t  fill_type)

◆ cs_matrix_get_tuning_runs()

void cs_matrix_get_tuning_runs ( int *  n_min_products,
double *  t_measure 
)

◆ cs_matrix_initialize()

void cs_matrix_initialize ( void  )

◆ cs_matrix_msr()

cs_matrix_t* cs_matrix_msr ( bool  symmetric,
const int *  diag_block_size,
const int *  extra_diag_block_size 
)

◆ cs_matrix_native()

cs_matrix_t* cs_matrix_native ( bool  symmetric,
const int *  diag_block_size,
const int *  extra_diag_block_size 
)

◆ cs_matrix_set_coefficients_coupled()

cs_matrix_t* cs_matrix_set_coefficients_coupled ( const cs_field_t f,
cs_matrix_type_t  type,
bool  symmetric,
const int *  diag_block_size,
const int *  extra_diag_block_size,
const cs_real_t da,
const cs_real_t xa 
)

Assign coefficients to a matrix using a matrix assembler.

Parameters
[in]fpointer to associated field
[in]typematrix type
[in]symmetricis matrix symmetric ?
[in]diag_block_sizeblock sizes for diagonal, or NULL
[in]extra_diag_block_sizeblock sizes for extra diagonal, or NULL
[in]dadiagonal values (NULL if zero)
[in]xaextradiagonal values (NULL if zero) casts as: xa[n_edges] if symmetric, xa[n_edges][2] if non symmetric
Returns
pointer to associated matrix structure

◆ cs_matrix_set_tuning()

void cs_matrix_set_tuning ( cs_matrix_fill_type_t  fill_type,
int  tune 
)

◆ cs_matrix_set_tuning_runs()

void cs_matrix_set_tuning_runs ( int  n_min_products,
double  t_measure 
)

◆ cs_matrix_set_variant()

void cs_matrix_set_variant ( cs_matrix_fill_type_t  fill_type,
const cs_matrix_variant_t mv 
)

◆ cs_matrix_update_mesh()

void cs_matrix_update_mesh ( void  )

◆ cs_matrix_vector_native_multiply()

void cs_matrix_vector_native_multiply ( bool  symmetric,
const int  db_size[4],
const int  eb_size[4],
cs_halo_rotation_t  rotation_mode,
int  f_id,
const cs_real_t dam,
const cs_real_t xam,
cs_real_t vx,
cs_real_t vy 
)