PAWpySeed Parallel C/Python package for numerical analysis of PAW DFT wavefunctions

- Main Page
- Classes
- Files

- File List
- File Members

projector.h
Go to the documentation of this file.
1
7 #ifndef PROJECTOR_H
8 #define PROJECTOR_H
9 #include "linalg.h"
10
15 ppot_t* get_projector_list(int num_els, int* labels, int* ls, double* wave_grids,
16 double* projectors, double* aewaves, double* pswaves, double* rmaxs, double grid_encut);
17
24 real_proj_site_t* projector_values(int num_sites, int* labels, double* coords,
25 double* lattice, double* reclattice, ppot_t* pps, int* fftg);
26
33 real_proj_site_t* smooth_pw_values(int num_N, int* Nlst, int* labels, double* coords,
34 double* lattice, double* reclattice, ppot_t* pps, int* fftg);
35
41 void onto_projector_helper(band_t* band, double complex* x, real_proj_site_t* sites,
42 int num_sites, double* lattice, double* reclattice, double* kpt, int num_cart_gridpts,
43 int* fftg, projection_t* projections);
44
45 void get_aug_freqs_helper(band_t* band, double complex* x, real_proj_site_t* sites,
46 int num_sites, double* lattice, double* reclattice, double* kpt, int num_cart_gridpts,
47 int* fftg, projection_t* projections);
48
52 void onto_projector(kpoint_t* kpt, int band_num, real_proj_site_t* sites, int num_sites,
53 int* G_bounds, double* lattice, double* reclattice, int num_cart_gridpts, int* fftg);
54
55 void onto_projector_ncl(kpoint_t* kpt, int band_num, real_proj_site_t* sites, int num_sites,
56 int* G_bounds, double* lattice, double* reclattice, int num_cart_gridpts, int* fftg);
57
61 void onto_smoothpw(kpoint_t* kpt, int band_num, real_proj_site_t* sites, int num_sites,
62 int* G_bounds, double* lattice, double* reclattice, int num_cart_gridpts, int* fftg);
63
64 void get_aug_freqs(kpoint_t* kpt, int band_num, real_proj_site_t* sites, int num_sites,
65 int* G_bounds, double* lattice, double* reclattice, int num_cart_gridpts, int* fftg);
66
72 void add_num_cart_gridpts(ppot_t* pp_ptr, double* lattice, int* fftg);
73
78 void make_pwave_overlap_matrices(ppot_t* pp_ptr);
79
83 void setup_projections(pswf_t* wf, ppot_t* pps, int num_elems,
84 int num_sites, int* fftg, int* labels, double* coords);
85
94 void overlap_setup_real(pswf_t* wf_R, pswf_t* wf_S,
95 int* labels_R, int* labels_S, double* coords_R, double* coords_S,
96 int* N_R, int* N_S, int* N_RS_R, int* N_RS_S, int num_N_R, int num_N_S, int num_N_RS);
97
98 void overlap_setup_recip(pswf_t* wf_R, pswf_t* wf_S,
99 int* labels_R, int* labels_S, double* coords_R, double* coords_S,
100 int* N_R, int* N_S, int* N_RS_R, int* N_RS_S, int num_N_R, int num_N_S, int num_N_RS);
101
106 void compensation_terms(double complex* overlap, int BAND_NUM, pswf_t* wf_S, pswf_t* wf_R,
107 int num_M, int num_N_R, int num_N_S, int num_N_RS,
108 int* M_R, int* M_S, int* N_R, int* N_S, int* N_RS_R, int* N_RS_S,
109 int* proj_labels, double* proj_coords, int* ref_labels, double* ref_coords,
110 int* fft_grid);
111
112 void compensation_terms_recip(double complex* overlap, int BAND_NUM, pswf_t* wf_S, pswf_t* wf_R,
113 int num_M, int num_N_R, int num_N_S, int num_N_RS,
114 int* M_R, int* M_S, int* N_R, int* N_S, int* N_RS_R, int* N_RS_S,
115 int* proj_labels, double* proj_coords, int* ref_labels, double* ref_coords,
116 int* fft_grid);
117
122 double* besselt(double* r, double* k, double* f, double encut, int N, int l);
123
124 #endif
125
add_num_cart_gridpts
void add_num_cart_gridpts(ppot_t *pp_ptr, double *lattice, int *fftg)
setup_projections
void setup_projections(pswf_t *wf, ppot_t *pps, int num_elems, int num_sites, int *fftg, int *labels, double *coords)
linalg.h
smooth_pw_values
real_proj_site_t * smooth_pw_values(int num_N, int *Nlst, int *labels, double *coords, double *lattice, double *reclattice, ppot_t *pps, int *fftg)
projector_values
real_proj_site_t * projector_values(int num_sites, int *labels, double *coords, double *lattice, double *reclattice, ppot_t *pps, int *fftg)
kpoint
Definition: utils.h:102
overlap_setup_recip
void overlap_setup_recip(pswf_t *wf_R, pswf_t *wf_S, int *labels_R, int *labels_S, double *coords_R, double *coords_S, int *N_R, int *N_S, int *N_RS_R, int *N_RS_S, int num_N_R, int num_N_S, int num_N_RS)
projection
Definition: utils.h:68
ppot
Definition: utils.h:48
pawpyseed.core.gaunt.f
f
Definition: gaunt.py:29
overlap_setup_real
void overlap_setup_real(pswf_t *wf_R, pswf_t *wf_S, int *labels_R, int *labels_S, double *coords_R, double *coords_S, int *N_R, int *N_S, int *N_RS_R, int *N_RS_S, int num_N_R, int num_N_S, int num_N_RS)
get_aug_freqs_helper
void get_aug_freqs_helper(band_t *band, double complex *x, real_proj_site_t *sites, int num_sites, double *lattice, double *reclattice, double *kpt, int num_cart_gridpts, int *fftg, projection_t *projections)
onto_smoothpw
void onto_smoothpw(kpoint_t *kpt, int band_num, real_proj_site_t *sites, int num_sites, int *G_bounds, double *lattice, double *reclattice, int num_cart_gridpts, int *fftg)
onto_projector_helper
void onto_projector_helper(band_t *band, double complex *x, real_proj_site_t *sites, int num_sites, double *lattice, double *reclattice, double *kpt, int num_cart_gridpts, int *fftg, projection_t *projections)
onto_projector_ncl
void onto_projector_ncl(kpoint_t *kpt, int band_num, real_proj_site_t *sites, int num_sites, int *G_bounds, double *lattice, double *reclattice, int num_cart_gridpts, int *fftg)
pawpyseed.core.quadrature.x
list x
Definition: quadrature.py:9
onto_projector
void onto_projector(kpoint_t *kpt, int band_num, real_proj_site_t *sites, int num_sites, int *G_bounds, double *lattice, double *reclattice, int num_cart_gridpts, int *fftg)
compensation_terms_recip
void compensation_terms_recip(double complex *overlap, int BAND_NUM, pswf_t *wf_S, pswf_t *wf_R, int num_M, int num_N_R, int num_N_S, int num_N_RS, int *M_R, int *M_S, int *N_R, int *N_S, int *N_RS_R, int *N_RS_S, int *proj_labels, double *proj_coords, int *ref_labels, double *ref_coords, int *fft_grid)
pswf
Definition: utils.h:113
compensation_terms
void compensation_terms(double complex *overlap, int BAND_NUM, pswf_t *wf_S, pswf_t *wf_R, int num_M, int num_N_R, int num_N_S, int num_N_RS, int *M_R, int *M_S, int *N_R, int *N_S, int *N_RS_R, int *N_RS_S, int *proj_labels, double *proj_coords, int *ref_labels, double *ref_coords, int *fft_grid)
band
Definition: utils.h:82
get_projector_list
ppot_t * get_projector_list(int num_els, int *labels, int *ls, double *wave_grids, double *projectors, double *aewaves, double *pswaves, double *rmaxs, double grid_encut)
make_pwave_overlap_matrices
void make_pwave_overlap_matrices(ppot_t *pp_ptr)
pawpyseed.core.rayleigh.k
int k
Definition: rayleigh.py:4
pawpyseed.core.rayleigh.r
r
Definition: rayleigh.py:38
besselt
double * besselt(double *r, double *k, double *f, double encut, int N, int l)
get_aug_freqs
void get_aug_freqs(kpoint_t *kpt, int band_num, real_proj_site_t *sites, int num_sites, int *G_bounds, double *lattice, double *reclattice, int num_cart_gridpts, int *fftg)
real_proj_site
Definition: utils.h:147