PAWpySeed
Parallel C/Python package for numerical analysis of PAW DFT wavefunctions
Classes | Typedefs | Functions
momentum.h File Reference
#include <complex.h>
#include <math.h>
Include dependency graph for momentum.h:

Go to the source code of this file.

Classes

struct  transform_spline
 
struct  density_ft
 
struct  density_ft_elem
 

Typedefs

typedef struct transform_spline transform_spline_t
 
typedef struct density_ft density_ft_t
 
typedef struct density_ft_elem density_ft_elem_t
 

Functions

void free_transform_spline_list (transform_spline_t *transforms, int num_transforms)
 
void free_density_ft_list (density_ft_t *densities, int total_projs)
 
void free_density_ft_elem_list (density_ft_elem_t *elems, int num_elems)
 
float complex pseudo_momentum (int *GP, int *G_bounds, double *lattice, int *G1s, float complex *C1s, int num_waves1, int *G2s, float complex *C2s, int num_waves2, int *fftg)
 
void mul_partial_waves (double *product, int size, double *r, double *f1, double *f2)
 
void make_rho (double *rho, int size, double *grid, double *aewave1, double *pswave1, double *aewave2, double *pswave2)
 
density_ft_t spher_transforms (int size, double *r, double *f, int l1, int m1, int l2, int m2, double encut)
 
double complex spher_momentum (density_ft_t densities, double *G)
 
density_ft_elem_t get_transforms (ppot_t pp, double encut)
 
density_ft_elem_tget_all_transforms (pswf_t *wf, double encut)
 
double complex get_momentum_matrix_element (pswf_t *wf, int *labels, double *coords, int b1, int k1, int s1, int b2, int k2, int s2, int *GP, density_ft_elem_t *elems)
 
void get_momentum_matrix (double complex *matrix, int numg, int *igall, pswf_t *wf, int *labels, double *coords, int band1, int kpt1, int spin1, int band2, int kpt2, int spin2, density_ft_elem_t *transforms_list, double encut)
 
void momentum_grid_size (pswf_t *wf, double *nb1max, double *nb2max, double *nb3max, int *npmax, double encut)
 
int get_momentum_grid (int *igall, pswf_t *wf, double nb1max, double nb2max, double nb3max, double encut)
 
void grid_bounds (int *G_bounds, int *gdim, int *igall, int num_waves)
 
void list_to_grid_map (int *grid, int *G_bounds, int *gdim, int *igall, int num_waves)
 
void fill_grid (float complex *x, int *Gs, float complex *Cs, int *fftg, int numg)
 
void fullwf_reciprocal (double complex *Cs, int *igall, pswf_t *wf, int numg, int band_num, int kpt_num, int *labels, double *coords)
 
double complex kwave_value (double *x, double *wave, double **spline, int size, int l, int m, double *pos)
 
double complex quick_overlap (int *dG, double complex *C1s, double complex *C2s, int numg, int *Gs, int *gmap, int *G_bounds, int *gdim)
 

Detailed Description

Momentum matrix elements

Typedef Documentation

typedef struct density_ft density_ft_t

Function Documentation

void fill_grid ( float complex *  x,
int *  Gs,
float complex *  Cs,
int *  fftg,
int  numg 
)
void free_density_ft_elem_list ( density_ft_elem_t elems,
int  num_elems 
)
void free_density_ft_list ( density_ft_t densities,
int  total_projs 
)
void free_transform_spline_list ( transform_spline_t transforms,
int  num_transforms 
)
void fullwf_reciprocal ( double complex *  Cs,
int *  igall,
pswf_t wf,
int  numg,
int  band_num,
int  kpt_num,
int *  labels,
double *  coords 
)
density_ft_elem_t* get_all_transforms ( pswf_t wf,
double  encut 
)
int get_momentum_grid ( int *  igall,
pswf_t wf,
double  nb1max,
double  nb2max,
double  nb3max,
double  encut 
)
void get_momentum_matrix ( double complex *  matrix,
int  numg,
int *  igall,
pswf_t wf,
int *  labels,
double *  coords,
int  band1,
int  kpt1,
int  spin1,
int  band2,
int  kpt2,
int  spin2,
density_ft_elem_t transforms_list,
double  encut 
)
double complex get_momentum_matrix_element ( pswf_t wf,
int *  labels,
double *  coords,
int  b1,
int  k1,
int  s1,
int  b2,
int  k2,
int  s2,
int *  GP,
density_ft_elem_t elems 
)
density_ft_elem_t get_transforms ( ppot_t  pp,
double  encut 
)
void grid_bounds ( int *  G_bounds,
int *  gdim,
int *  igall,
int  num_waves 
)
double complex kwave_value ( double *  x,
double *  wave,
double **  spline,
int  size,
int  l,
int  m,
double *  pos 
)
void list_to_grid_map ( int *  grid,
int *  G_bounds,
int *  gdim,
int *  igall,
int  num_waves 
)
void make_rho ( double *  rho,
int  size,
double *  grid,
double *  aewave1,
double *  pswave1,
double *  aewave2,
double *  pswave2 
)
void momentum_grid_size ( pswf_t wf,
double *  nb1max,
double *  nb2max,
double *  nb3max,
int *  npmax,
double  encut 
)
void mul_partial_waves ( double *  product,
int  size,
double *  r,
double *  f1,
double *  f2 
)
float complex pseudo_momentum ( int *  GP,
int *  G_bounds,
double *  lattice,
int *  G1s,
float complex *  C1s,
int  num_waves1,
int *  G2s,
float complex *  C2s,
int  num_waves2,
int *  fftg 
)
double complex quick_overlap ( int *  dG,
double complex *  C1s,
double complex *  C2s,
int  numg,
int *  Gs,
int *  gmap,
int *  G_bounds,
int *  gdim 
)
double complex spher_momentum ( density_ft_t  densities,
double *  G 
)
density_ft_t spher_transforms ( int  size,
double *  r,
double *  f,
int  l1,
int  m1,
int  l2,
int  m2,
double  encut 
)