Fix segfault

This commit is contained in:
Atsushi Togo 2022-12-23 14:23:47 +09:00
parent c4c54c73a7
commit 06bd1f0836
8 changed files with 17 additions and 18 deletions

View File

@ -44,7 +44,7 @@ jobs:
pip install -e . -vvv
- name: Run pytest
run: |
pytest --cov=./ --cov-report=xml test
pytest -v --cov=./ --cov-report=xml test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:

View File

@ -44,7 +44,7 @@ jobs:
pip install -e . -vvv
- name: Run pytest
run: |
pytest --cov=./ --cov-report=xml test
pytest -v --cov=./ --cov-report=xml test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:

View File

@ -922,7 +922,7 @@ static PyObject *py_get_isotope_strength(PyObject *self, PyObject *args) {
double *gamma;
double *frequencies;
long *ir_grid_points;
long *weights;
double *weights;
_lapack_complex_double *eigenvectors;
long *band_indices;
double *mass_variances;
@ -939,7 +939,7 @@ static PyObject *py_get_isotope_strength(PyObject *self, PyObject *args) {
frequencies = (double *)PyArray_DATA(py_frequencies);
eigenvectors = (_lapack_complex_double *)PyArray_DATA(py_eigenvectors);
ir_grid_points = (long *)PyArray_DATA(py_ir_grid_points);
weights = (long *)PyArray_DATA(py_weights);
weights = (double *)PyArray_DATA(py_weights);
band_indices = (long *)PyArray_DATA(py_band_indices);
mass_variances = (double *)PyArray_DATA(py_mass_variances);
num_band = (long)PyArray_DIMS(py_frequencies)[1];
@ -969,7 +969,7 @@ static PyObject *py_get_thm_isotope_strength(PyObject *self, PyObject *args) {
double *gamma;
double *frequencies;
long *ir_grid_points;
long *weights;
double *weights;
_lapack_complex_double *eigenvectors;
long *band_indices;
double *mass_variances;
@ -986,7 +986,7 @@ static PyObject *py_get_thm_isotope_strength(PyObject *self, PyObject *args) {
gamma = (double *)PyArray_DATA(py_gamma);
frequencies = (double *)PyArray_DATA(py_frequencies);
ir_grid_points = (long *)PyArray_DATA(py_ir_grid_points);
weights = (long *)PyArray_DATA(py_weights);
weights = (double *)PyArray_DATA(py_weights);
eigenvectors = (_lapack_complex_double *)PyArray_DATA(py_eigenvectors);
band_indices = (long *)PyArray_DATA(py_band_indices);
mass_variances = (double *)PyArray_DATA(py_mass_variances);

View File

@ -42,7 +42,7 @@
void iso_get_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const lapack_complex_double *eigenvectors,
const long num_grid_points, const long *band_indices, const long num_band,
const long num_band0, const double sigma, const double cutoff_frequency) {
@ -127,7 +127,7 @@ void iso_get_isotope_scattering_strength(
void iso_get_thm_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const lapack_complex_double *eigenvectors,
const long num_grid_points, const long *band_indices, const long num_band,
const long num_band0, const double *integration_weights,
@ -196,7 +196,7 @@ void iso_get_thm_isotope_scattering_strength(
sum_g_k += (a * a + b * b) * mass_variances[l] * dist;
}
}
gamma_ij[gp * num_band0 + j] = sum_g_k * weights[gp];
gamma_ij[i * num_band0 + j] = sum_g_k * weights[gp];
}
}
@ -205,9 +205,8 @@ void iso_get_thm_isotope_scattering_strength(
}
for (i = 0; i < num_grid_points; i++) {
gp = ir_grid_points[i];
for (j = 0; j < num_band0; j++) {
gamma[j] += gamma_ij[gp * num_band0 + j];
gamma[j] += gamma_ij[i * num_band0 + j];
}
}

View File

@ -39,13 +39,13 @@
void iso_get_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const lapack_complex_double *eigenvectors,
const long num_grid_points, const long *band_indices, const long num_band,
const long num_band0, const double sigma, const double cutoff_frequency);
void iso_get_thm_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const lapack_complex_double *eigenvectors,
const long num_grid_points, const long *band_indices, const long num_band,
const long num_band0, const double *integration_weights,

View File

@ -262,7 +262,7 @@ void ph3py_get_reducible_collision_matrix(
void ph3py_get_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const _lapack_complex_double *eigenvectors,
const long num_ir_grid_points, const long *band_indices,
const long num_band, const long num_band0, const double sigma,
@ -275,7 +275,7 @@ void ph3py_get_isotope_scattering_strength(
void ph3py_get_thm_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const _lapack_complex_double *eigenvectors,
const long num_ir_grid_points, const long *band_indices,
const long num_band, const long num_band0,

View File

@ -117,14 +117,14 @@ void ph3py_get_reducible_collision_matrix(
const double unit_conversion_factor, const double cutoff_frequency);
void ph3py_get_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const _lapack_complex_double *eigenvectors,
const long num_ir_grid_points, const long *band_indices,
const long num_band, const long num_band0, const double sigma,
const double cutoff_frequency);
void ph3py_get_thm_isotope_scattering_strength(
double *gamma, const long grid_point, const long *ir_grid_points,
const long *weights, const double *mass_variances,
const double *weights, const double *mass_variances,
const double *frequencies, const _lapack_complex_double *eigenvectors,
const long num_ir_grid_points, const long *band_indices,
const long num_band, const long num_band0,

View File

@ -269,7 +269,7 @@ class Isotope:
import phono3py._phono3py as phono3c
gamma = np.zeros(len(self._band_indices), dtype="double")
weights_in_bzgp = np.ones(len(self._grid_points), dtype="int_")
weights_in_bzgp = np.ones(len(self._grid_points), dtype="double")
if self._sigma is None:
self._set_integration_weights()
phono3c.thm_isotope_strength(