PAWpySeed: pawpyseed.core.utils Namespace Reference

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

- Main Page
- Classes
- Files

- Namespace Members

Classes | Functions | Variables
pawpyseed.core.utils Namespace Reference

Main utilities file for the Python portion of the code. More...

## Classes
class | PAWpyError
class | PAWpyWarning

## Functions
def | cfunc_call (func, outsize, args)
def | check_spin (spin, nspin)
def | cdouble_to_numpy (arr, length)
def | cfloat_to_numpy (arr, length)
def | numpy_to_cdouble (arr)
def | numpy_to_cfloat (arr)
def | numpy_to_cint (arr)
def | el (site)

## Variables
| c_int_p = POINTER(c_int)
| c_float_p = POINTER(c_float)
| c_double_p = POINTER(c_double)
| MODULE_DIR = os.path.dirname(os.path.abspath(__file__))
| PAWC = CDLL(os.path.join(MODULE_DIR, "pawpy.so"))
| argtypes
| restype

## Detailed Description

Main utilities file for the Python portion of the code.

This files stores 1) the PAWC ctypes module, which contains all of the C functions used to read and analyze PAW wavefunctions, 2) converter functions than transfer data from numpy arrays to C pointers and vice versa, 3) cfunc_call, which is used to conveniently call ctypes functions, and 4) a few other utilties employed mainly by the wavefunction classes.

## Function Documentation

def pawpyseed.core.utils.cdouble_to_numpy | ( |  | arr,
|  |  | length
| ) |  |

    Convert a pointer to length doubles
    in C to a numpy array of np.float64.
    Frees the pointer.

def pawpyseed.core.utils.cfloat_to_numpy | ( |  | arr,
|  |  | length
| ) |  |

    Convert a pointer to length floats
    in C to a numpy array of np.float64.
    Frees the pointer.

def pawpyseed.core.utils.cfunc_call | ( |  | func,
|  |  | outsize,
|  |  | args
| ) |  |

    converts args to C types and passes them to the C
    function func

def pawpyseed.core.utils.check_spin | ( |  | spin,
|  |  | nspin
| ) |  |

    Utility to check if the spin input parameter to single_band_projection
    and similar functions is allowed given nspin of the wavefunction object
    being analyzed. Returns a new value of spin if spin must be changed,
    raises an error if spin is not allowed.

def pawpyseed.core.utils.el | ( |  | site | ) |

    Return the element symbol of a pymatgen
    site object

def pawpyseed.core.utils.numpy_to_cdouble | ( |  | arr | ) |

    Convert a numpy array to
    a C double array.

def pawpyseed.core.utils.numpy_to_cfloat | ( |  | arr | ) |

    Convert a numpy array to
    a C float array

def pawpyseed.core.utils.numpy_to_cint | ( |  | arr | ) |

    Convert a numpy array to
    a C int array.
    Casts each element to int

## Variable Documentation

pawpyseed.core.utils.argtypes

pawpyseed.core.utils.c_double_p = POINTER(c_double)

pawpyseed.core.utils.c_float_p = POINTER(c_float)

pawpyseed.core.utils.c_int_p = POINTER(c_int)

pawpyseed.core.utils.MODULE_DIR = os.path.dirname(os.path.abspath(__file__))

pawpyseed.core.utils.PAWC = CDLL(os.path.join(MODULE_DIR, "pawpy.so"))

pawpyseed.core.utils.restype