diff --git a/input.cc b/input.cc index a9f876464..38773dc7d 100644 --- a/input.cc +++ b/input.cc @@ -1446,9 +1446,7 @@ void setup_phixs_list() { assert_testmodeonly(tmpphixstart >= 0); const int newphixsstart = nbftableschanged * globals::NPHIXSPOINTS; if (globals::rank_in_node == 0) { - auto *blocktablestart = globals::allphixs + newphixsstart; - memcpy(blocktablestart, &tmpallphixs[tmpphixstart], globals::NPHIXSPOINTS * sizeof(float)); - std::copy_n(&tmpallphixs[tmpphixstart], globals::NPHIXSPOINTS, blocktablestart); + std::copy_n(&tmpallphixs[tmpphixstart], globals::NPHIXSPOINTS, &globals::allphixs[newphixsstart]); } globals::elements[element].ions[ion].levels[level].phixsstart = newphixsstart; @@ -1457,11 +1455,14 @@ void setup_phixs_list() { } } } else { + for (int i = 0; i < globals::nbfcontinua; i++) { + globals::allcont_nu_edge[i] = nonconstallcont[i].nu_edge; + } // phixs tables ordered by element, ion, level for (int element = 0; element < get_nelements(); element++) { const int nions = get_nions(element); for (int ion = 0; ion < nions; ion++) { - const int nlevels = get_ionisinglevels(element, ion); + const int nlevels = get_nlevels(element, ion); for (int level = 0; level < nlevels; level++) { const int nphixstargets = get_nphixstargets(element, ion, level); if (nphixstargets > 0) { @@ -1469,8 +1470,7 @@ void setup_phixs_list() { assert_testmodeonly(tmpphixstart >= 0); const int newphixsstart = nbftableschanged * globals::NPHIXSPOINTS; if (globals::rank_in_node == 0) { - auto *blocktablestart = globals::allphixs + newphixsstart; - memcpy(blocktablestart, &tmpallphixs[tmpphixstart], globals::NPHIXSPOINTS * sizeof(float)); + std::copy_n(&tmpallphixs[tmpphixstart], globals::NPHIXSPOINTS, &globals::allphixs[newphixsstart]); } globals::elements[element].ions[ion].levels[level].phixsstart = newphixsstart;