@@ -509,11 +509,12 @@ void HamiltonianWidget::update_data_heisenberg()
509
509
510
510
// Exchange interaction (pairs)
511
511
exchange_n_pairs = Hamiltonian_Get_Exchange_N_Pairs ( state.get () );
512
- exchange_indices = std::vector<int [ 2 ] >( exchange_n_pairs );
513
- exchange_translations = std::vector<int [ 3 ] >( exchange_n_pairs );
512
+ exchange_indices = std::vector<std::array< int , 2 > >( exchange_n_pairs );
513
+ exchange_translations = std::vector<std::array< int , 3 > >( exchange_n_pairs );
514
514
exchange_magnitudes = std::vector<float >( exchange_n_pairs, 0 );
515
515
Hamiltonian_Get_Exchange_Pairs (
516
- state.get (), exchange_indices.data (), exchange_translations.data (), exchange_magnitudes.data () );
516
+ state.get (), (int ( * )[2 ])exchange_indices[0 ].data (), (int ( * )[3 ])exchange_translations.data (),
517
+ exchange_magnitudes.data () );
517
518
518
519
// DMI (shells)
519
520
dmi.resize ( 100 );
@@ -523,12 +524,13 @@ void HamiltonianWidget::update_data_heisenberg()
523
524
524
525
// DMI (pairs)
525
526
dmi_n_pairs = Hamiltonian_Get_DMI_N_Pairs ( state.get () );
526
- dmi_indices = std::vector<int [ 2 ] >( dmi_n_pairs );
527
- dmi_translations = std::vector<int [ 3 ] >( dmi_n_pairs );
527
+ dmi_indices = std::vector<std::array< int , 2 > >( dmi_n_pairs );
528
+ dmi_translations = std::vector<std::array< int , 3 > >( dmi_n_pairs );
528
529
dmi_magnitudes = std::vector<float >( dmi_n_pairs, 0 );
529
- dmi_normals = std::vector<float [ 3 ] >( dmi_n_pairs );
530
+ dmi_normals = std::vector<std::array< float , 3 > >( dmi_n_pairs );
530
531
// Hamiltonian_Get_DMI_Pairs(
531
- // state.get(), dmi_indices.data(), dmi_translations.data(), dmi_magnitudes.data() );
532
+ // state.get(), (int( * )[2])dmi_indices.data(), (int( * )[3])dmi_translations.data(), dmi_magnitudes.data(),
533
+ // (float( * )[3])dmi_normals );
532
534
533
535
// DDI
534
536
Hamiltonian_Get_DDI (
0 commit comments