4545#include " shammodels/sph/math/q_ab.hpp"
4646#include " shammodels/sph/modules/BuildTrees.hpp"
4747#include " shammodels/sph/modules/ComputeEos.hpp"
48+ #include " shammodels/sph/modules/ComputeJ.hpp"
4849#include " shammodels/sph/modules/ComputeLoadBalanceValue.hpp"
4950#include " shammodels/sph/modules/ComputeLuminosity.hpp"
5051#include " shammodels/sph/modules/ComputeNeighStats.hpp"
5152#include " shammodels/sph/modules/ComputeOmega.hpp"
52- #include " shammodels/sph/modules/ComputeJ.hpp"
5353#include " shammodels/sph/modules/ConservativeCheck.hpp"
5454#include " shammodels/sph/modules/DiffOperator.hpp"
5555#include " shammodels/sph/modules/DiffOperatorDtDivv.hpp"
@@ -574,7 +574,8 @@ void shammodels::sph::Solver<Tvec, Kern>::init_solver_graph() {
574574
575575 storage.omega = std::make_shared<shamrock::solvergraph::Field<Tscal>>(1 , " omega" , " \\ Omega" );
576576
577- // torage.MagCurrentJ = std::make_shared<shamrock::solvergraph::Field<Tvec>>(1, "MagCurrentJ", "\\mathbf{J}");
577+ // torage.MagCurrentJ = std::make_shared<shamrock::solvergraph::Field<Tvec>>(1, "MagCurrentJ",
578+ // "\\mathbf{J}");
578579
579580 if (solver_config.has_field_alphaAV ()) {
580581 storage.alpha_av_updated = std::make_shared<shamrock::solvergraph::Field<Tscal>>(
@@ -591,8 +592,7 @@ void shammodels::sph::Solver<Tvec, Kern>::init_solver_graph() {
591592 = std::make_shared<shamrock::solvergraph::ExchangeGhostLayer>(storage.ghost_layout );
592593 storage.exchange_gz_positions
593594 = std::make_shared<shamrock::solvergraph::ExchangeGhostLayer>(storage.xyzh_ghost_layout );
594- storage.exchange_gz_J
595- = std::make_shared<shamrock::solvergraph::ExchangeGhostField<Tvec>>();
595+ storage.exchange_gz_J = std::make_shared<shamrock::solvergraph::ExchangeGhostField<Tvec>>();
596596}
597597
598598template <class Tvec , template <class > class Kern >
@@ -1187,7 +1187,6 @@ void shammodels::sph::Solver<Tvec, Kern>::sph_prestep(Tscal time_val, Tscal dt)
11871187 });
11881188 hnew_edge->set_refs (hnew_refs);
11891189
1190-
11911190 modules::NodeComputeOmega<Tvec, Kern> compute_omega{solver_config.gpart_mass };
11921191 compute_omega.set_edges (
11931192 storage.part_counts ,
@@ -1197,7 +1196,6 @@ void shammodels::sph::Solver<Tvec, Kern>::sph_prestep(Tscal time_val, Tscal dt)
11971196 storage.omega );
11981197 compute_omega.evaluate ();
11991198
1200-
12011199 if (solver_config.smoothing_length_config .is_density_based_neigh_lim ()) {
12021200 // if the h limiter is triggered, omega does not hold it's sense of dh/dr anymore
12031201 // so we set it to 1, this effectively is equivalent of disabling the energy correction
@@ -1559,15 +1557,15 @@ void shammodels::sph::Solver<Tvec, Kern>::update_J() {
15591557 using namespace shamrock ::patch;
15601558 PatchDataLayerLayout &pdl = scheduler ().pdl_old ();
15611559
1562- const u32 iB_on_rho = pdl.get_field_idx <Tvec>(" B/rho" );
1563- std::shared_ptr<shamrock::solvergraph::FieldRefs<Tvec>> B_on_rho_edge
1564- = std::make_shared<shamrock::solvergraph::FieldRefs<Tvec>>(" " , " " );
1560+ const u32 iB_on_rho = pdl.get_field_idx <Tvec>(" B/rho" );
1561+ std::shared_ptr<shamrock::solvergraph::FieldRefs<Tvec>> B_on_rho_edge
1562+ = std::make_shared<shamrock::solvergraph::FieldRefs<Tvec>>(" " , " " );
15651563
15661564 shamrock::solvergraph::DDPatchDataFieldRef<Tvec> B_on_rho_refs = {};
15671565 scheduler ().for_each_patchdata_nonempty ([&](const Patch p, PatchDataLayer &pdat) {
1568- auto &field = pdat.get_field <Tvec>(iB_on_rho);
1569- B_on_rho_refs.add_obj (p.id_patch , std::ref (field));
1570- });
1566+ auto &field = pdat.get_field <Tvec>(iB_on_rho);
1567+ B_on_rho_refs.add_obj (p.id_patch , std::ref (field));
1568+ });
15711569
15721570 B_on_rho_edge->set_refs (B_on_rho_refs);
15731571
@@ -1584,7 +1582,6 @@ void shammodels::sph::Solver<Tvec, Kern>::update_J() {
15841582 storage.MagCurrentJ );
15851583
15861584 computeJ.evaluate ();
1587-
15881585}
15891586
15901587// //////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1658,7 +1655,6 @@ void shammodels::sph::Solver<Tvec, Kern>::update_derivs() {
16581655 ext_forces.add_ext_forces ();
16591656}
16601657
1661-
16621658template <class Tvec , template <class > class Kern >
16631659bool shammodels::sph::Solver<Tvec, Kern>::apply_corrector(Tscal dt, u64 Npart_all) {
16641660 return false ;
@@ -1997,7 +1993,7 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
19971993 }
19981994
19991995 // communicate fields
2000- communicate_merge_ghosts_fields (); // problem: communicate before computing J
1996+ communicate_merge_ghosts_fields (); // problem: communicate before computing J
20011997
20021998 if (solver_config.has_field_alphaAV ()) {
20031999
@@ -2015,21 +2011,21 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
20152011 node_copy.evaluate ();
20162012 }
20172013
2018- // if (do_NIMHD){
2019- //
2020- // std::shared_ptr<shamrock::solvergraph::PatchDataLayerRefs> patchdatas
2021- // = std::make_shared<shamrock::solvergraph::PatchDataLayerRefs>(
2022- // "patchdata_layer_ref", "patchdata_layer_ref");
2023- //
2024- // auto node_set_edge = scheduler().get_node_set_edge_patchdata_layer_refs();
2025- // node_set_edge->set_edges(patchdatas);
2026- // node_set_edge->evaluate();
2027- //
2028- // shamrock::solvergraph::CopyPatchDataFieldFromLayer<Tvec> node_copy(
2029- // scheduler().get_layout_ptr_old(), "J");
2030- // node_copy.set_edges(patchdatas, storage.MagCurrentJ);
2031- // node_copy.evaluate();
2032- // }
2014+ // if (do_NIMHD){
2015+ //
2016+ // std::shared_ptr<shamrock::solvergraph::PatchDataLayerRefs> patchdatas
2017+ // = std::make_shared<shamrock::solvergraph::PatchDataLayerRefs>(
2018+ // "patchdata_layer_ref", "patchdata_layer_ref");
2019+ //
2020+ // auto node_set_edge = scheduler().get_node_set_edge_patchdata_layer_refs();
2021+ // node_set_edge->set_edges(patchdatas);
2022+ // node_set_edge->evaluate();
2023+ //
2024+ // shamrock::solvergraph::CopyPatchDataFieldFromLayer<Tvec> node_copy(
2025+ // scheduler().get_layout_ptr_old(), "J");
2026+ // node_copy.set_edges(patchdatas, storage.MagCurrentJ);
2027+ // node_copy.evaluate();
2028+ // }
20332029
20342030 if (solver_config.has_field_dtdivv ()) {
20352031
@@ -2078,7 +2074,7 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
20782074 // .update_curlB();
20792075 // }
20802076 update_artificial_viscosity (dt);
2081-
2077+
20822078 if (solver_config.has_field_alphaAV ()) {
20832079
20842080 shamrock::solvergraph::Field<Tscal> &comp_field_send
@@ -2124,15 +2120,14 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
21242120 storage.alpha_av_ghost .set (std::move (merged_field));
21252121 }
21262122
2127- if (do_NIMHD){
2123+ if (do_NIMHD) {
21282124
21292125 // communicate needed fields (B,b, hb): done just before
21302126
21312127 // compute J field
2132- logger::raw_ln (" @@@@@ before update J" );
2133- update_J ();
2134- logger::raw_ln (" @@@@@ after update J" );
2135-
2128+ logger::raw_ln (" @@@@@ before update J" );
2129+ update_J ();
2130+ logger::raw_ln (" @@@@@ after update J" );
21362131
21372132 // communicate J field
21382133 shamrock::solvergraph::Field<Tvec> &comp_field_send
@@ -2177,7 +2172,6 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
21772172
21782173 // we get J with ghosts !
21792174 storage.MagCurrentJ_ghost .set (std::move (merged_field));
2180-
21812175 }
21822176
21832177 // compute pressure
@@ -2462,16 +2456,15 @@ shammodels::sph::TimestepLog shammodels::sph::Solver<Tvec, Kern>::evolve_once()
24622456 = shambase::get_check_ref (storage.MagCurrentJ );
24632457
24642458 scheduler ().for_each_patchdata_nonempty ([&](Patch cur_p, PatchDataLayer &pdat) {
2465- sham::DeviceBuffer<Tvec> &buf_J
2466- = pdat.get_field <Tvec>(iJ).get_buf ();
2459+ sham::DeviceBuffer<Tvec> &buf_J = pdat.get_field <Tvec>(iJ).get_buf ();
24672460
24682461 sham::DeviceBuffer<Tvec> &buf_MagCurrentJ
24692462 = MagCurrentJ.get_field (cur_p.id_patch ).get_buf ();
24702463
24712464 auto &q = shamsys::instance::get_compute_scheduler ().get_queue ();
24722465 sham::EventList depends_list;
24732466
2474- auto J = buf_J.get_write_access (depends_list);
2467+ auto J = buf_J.get_write_access (depends_list);
24752468 auto MagCurrentJ = buf_MagCurrentJ.get_read_access (depends_list);
24762469
24772470 auto e = q.submit (depends_list, [&](sycl::handler &cgh) {
0 commit comments