ScaMaC  0.8.2
A Scalable Matrix Collection
scamac_matrix_Anderson.h
1 /* *** *** *** *** *** *** *** *** *** *** */
2 /* autogenerated by ScaMaC_build_generator */
3 /* Fri, 24 May 2019 12:40:36 +0200 */
4 /* *** *** *** *** *** *** *** *** *** *** */
5 #ifndef SCAMAC_MATRIX_ANDERSON_H
6 #define SCAMAC_MATRIX_ANDERSON_H
7 
8 #include "scamac_internal.h"
9 #include "scamac_sparserow.h"
10 #include "scamac_option_inc.h"
11 #include "scamac_rng.h"
12 
13 typedef struct {
14  int Lx;
15  int Ly;
16  int Lz;
17  double t;
18  double ranpot;
19  scamac_option_ty boundary_conditions;
20  scamac_rng_seed_ty seed;
21  scamac_option_ty sweep;
22 } scamac_matrix_Anderson_params_st;
23 
24 typedef struct {
25  scamac_ransrc_st * rng;
26 } scamac_matrix_Anderson_work_st;
27 
28 ScamacErrorCode scamac_matrix_Anderson_check(const scamac_matrix_Anderson_params_st * par, char ** desc);
29 ScamacErrorCode scamac_matrix_Anderson_tables_create(const scamac_matrix_Anderson_params_st * par, void ** tab, scamac_info_st * info);
30 ScamacErrorCode scamac_matrix_Anderson_work_alloc(const scamac_matrix_Anderson_params_st * par, const void * tab, scamac_matrix_Anderson_work_st ** ws);
31 ScamacErrorCode scamac_matrix_Anderson_work_free(scamac_matrix_Anderson_work_st * ws);
32 ScamacErrorCode scamac_matrix_Anderson_generate_row(const scamac_matrix_Anderson_params_st * par, const void * tab, scamac_matrix_Anderson_work_st * ws, ScamacIdx irow, ScamacFlag flag, scamac_sparserow_real_st * row);
33 ScamacErrorCode scamac_matrix_Anderson_coord(const scamac_matrix_Anderson_params_st * par, const void * tab, scamac_matrix_Anderson_work_st * ws, ScamacIdx idx, double * x, double * y, double * z, int * ilayer, ScamacIdx * iblock);
34 
35 #endif /* SCAMAC_MATRIX_ANDERSON_H */
Internal types and (macro) definitions.