def get_tetrahedra_integration_weight(omegas, tetrahedra_omegas, function='I'): """Returns integration weights Parameters ---------- omegas : float or list of float values Energy(s) at which the integration weight(s) are computed. tetrahedra_omegas : ndarray of list of list Energies at vertices of 24 tetrahedra shape=(24, 4) dytpe='double' function : str, 'I' or 'J' 'J' is for intetration and 'I' is for its derivative. """ if isinstance(omegas, float): return phonoc.tetrahedra_integration_weight( omegas, np.array(tetrahedra_omegas, dtype='double', order='C'), function) else: integration_weights = np.zeros(len(omegas), dtype='double') phonoc.tetrahedra_integration_weight_at_omegas( integration_weights, np.array(omegas, dtype='double'), np.array(tetrahedra_omegas, dtype='double', order='C'), function) return integration_weights
def get_tetrahedra_integration_weight(omegas, tetrahedra_omegas, function='I'): if isinstance(omegas, float): return phonoc.tetrahedra_integration_weight( omegas, np.array(tetrahedra_omegas, dtype='double', order='C'), function) else: integration_weights = np.zeros(len(omegas), dtype='double') phonoc.tetrahedra_integration_weight_at_omegas( integration_weights, np.array(omegas, dtype='double'), np.array(tetrahedra_omegas, dtype='double', order='C'), function) return integration_weights
def get_tetrahedra_integration_weight(omegas, tetrahedra_omegas, function="I"): if isinstance(omegas, float): return phonoc.tetrahedra_integration_weight( omegas, np.array(tetrahedra_omegas, dtype="double", order="C"), function ) else: integration_weights = np.zeros(len(omegas), dtype="double") phonoc.tetrahedra_integration_weight_at_omegas( integration_weights, np.array(omegas, dtype="double"), np.array(tetrahedra_omegas, dtype="double", order="C"), function, ) return integration_weights