
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "_as_gen/tests_ci/run_test_sink_synchro.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download__as_gen_tests_ci_run_test_sink_synchro.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr__as_gen_tests_ci_run_test_sink_synchro.py:


CI test: sink state stays synchronized across MPI ranks through dump/reload
===========================================================================

Creates a tiny SPH setup with a few sinks and gas particles, checks sink sync,
evolves, dumps, reloads into a fresh context, and checks again.

.. GENERATED FROM PYTHON SOURCE LINES 8-251




.. rst-class:: sphx-glr-script-out

 .. code-block:: none

    SPH setup: generating particles ...  
    SPH setup: Nstep = 0 ( 0.0e+00 ) Ntotal = 0 ( 0.0e+00 rank min = 0.0e+00 max = 0.0e+00) rate = 0.000000e+00 N.s^-1  
    SPH setup: Nstep = 70 ( 7.0e+01 ) Ntotal = 70 ( 7.0e+01 rank min = 7.4e+04 max = 7.0e+01) rate = 7.000000e+01 N.s^-1  
    SPH setup: Nstep = 106 ( 1.1e+02 ) Ntotal = 176 ( 1.8e+02 rank min = 8.5e+04 max = 1.8e+02) rate = 1.760000e+02 N.s^-1  
    SPH setup: Nstep = 118 ( 1.2e+02 ) Ntotal = 294 ( 2.9e+02 rank min = 1.1e+05 max = 2.9e+02) rate = 2.940000e+02 N.s^-1  
    SPH setup: Nstep = 109 ( 1.1e+02 ) Ntotal = 403 ( 4.0e+02 rank min = 3.0e+05 max = 4.0e+02) rate = 4.030000e+02 N.s^-1  
    SPH setup: Nstep = 110 ( 1.1e+02 ) Ntotal = 513 ( 5.1e+02 rank min = 9.3e+04 max = 5.1e+02) rate = 5.130000e+02 N.s^-1  
    SPH setup: Nstep = 106 ( 1.1e+02 ) Ntotal = 619 ( 6.2e+02 rank min = 3.8e+05 max = 6.2e+02) rate = 6.190000e+02 N.s^-1  
    SPH setup: Nstep = 118 ( 1.2e+02 ) Ntotal = 737 ( 7.4e+02 rank min = 4.5e+05 max = 7.4e+02) rate = 7.370000e+02 N.s^-1  
    SPH setup: Nstep = 110 ( 1.1e+02 ) Ntotal = 847 ( 8.5e+02 rank min = 9.5e+04 max = 8.5e+02) rate = 8.470000e+02 N.s^-1  
    SPH setup: Nstep = 109 ( 1.1e+02 ) Ntotal = 956 ( 9.6e+02 rank min = 4.6e+05 max = 9.6e+02) rate = 9.560000e+02 N.s^-1  
    SPH setup: Nstep = 115 ( 1.2e+02 ) Ntotal = 1071 ( 1.1e+03 rank min = 3.8e+05 max = 1.1e+03) rate = 1.071000e+03 N.s^-1  
    SPH setup: Nstep = 121 ( 1.2e+02 ) Ntotal = 1192 ( 1.2e+03 rank min = 4.8e+05 max = 1.2e+03) rate = 1.192000e+03 N.s^-1  
    SPH setup: Nstep = 118 ( 1.2e+02 ) Ntotal = 1310 ( 1.3e+03 rank min = 1.1e+05 max = 1.3e+03) rate = 1.310000e+03 N.s^-1  
    SPH setup: Nstep = 119 ( 1.2e+02 ) Ntotal = 1429 ( 1.4e+03 rank min = 2.4e+05 max = 1.4e+03) rate = 1.429000e+03 N.s^-1  
    SPH setup: Nstep = 121 ( 1.2e+02 ) Ntotal = 1550 ( 1.6e+03 rank min = 5.9e+05 max = 1.6e+03) rate = 1.550000e+03 N.s^-1  
    SPH setup: Nstep = 121 ( 1.2e+02 ) Ntotal = 1671 ( 1.7e+03 rank min = 6.8e+05 max = 1.7e+03) rate = 1.671000e+03 N.s^-1  
    SPH setup: Nstep = 118 ( 1.2e+02 ) Ntotal = 1789 ( 1.8e+03 rank min = 5.5e+05 max = 1.8e+03) rate = 1.789000e+03 N.s^-1  
    SPH setup: Nstep = 119 ( 1.2e+02 ) Ntotal = 1908 ( 1.9e+03 rank min = 5.4e+05 max = 1.9e+03) rate = 1.908000e+03 N.s^-1  
    SPH setup: Nstep = 122 ( 1.2e+02 ) Ntotal = 2030 ( 2.0e+03 rank min = 7.6e+04 max = 2.0e+03) rate = 2.030000e+03 N.s^-1  
    SPH setup: Nstep = 120 ( 1.2e+02 ) Ntotal = 2150 ( 2.2e+03 rank min = 5.6e+05 max = 2.2e+03) rate = 2.150000e+03 N.s^-1  
    SPH setup: Nstep = 118 ( 1.2e+02 ) Ntotal = 2268 ( 2.3e+03 rank min = 4.9e+05 max = 2.3e+03) rate = 2.268000e+03 N.s^-1  
    SPH setup: Nstep = 63 ( 6.3e+01 ) Ntotal = 2331 ( 2.3e+03 rank min = 2.1e+05 max = 2.3e+03) rate = 2.331000e+03 N.s^-1  
    SPH setup: the generation step took : 0.019651065000000002 s  
    SPH setup: final particle count = 2331 beginning injection ...  
    Info: ---------------------------------------------                   [DataInserterUtility][rank=0] 
    Info: Compute load ...                                                [DataInserterUtility][rank=0] 
    Info: run scheduler step ...                                          [DataInserterUtility][rank=0] 
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.50 us    (57.2%)  
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2000.0 min = 2000.0 factor = 1
     - strategy "round robin" : max = 1900.0 min = 1900.0 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2000
        max = 2000
        avg = 2000
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 1.76 us    (0.0%)
       patch tree reduce : 1.52 us    (0.0%)
       gen split merge   : 952.00 ns  (0.0%)
       split / merge op  : 1/0
       apply split merge : 7.93 ms    (92.5%)
       LB compute        : 603.10 us  (7.0%)
       LB move op cnt    : 0
       LB apply          : 4.18 us    (0.0%)  
    Info: Compute load ...                                                [DataInserterUtility][rank=0] 
    Info: run scheduler step ...                                          [DataInserterUtility][rank=0] 
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.90 us    (54.4%)  
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2000.0 min = 2000.0 factor = 1
     - strategy "round robin" : max = 1900.0 min = 1900.0 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2000
        max = 2000
        avg = 2000
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 1.96 us    (0.5%)
       patch tree reduce : 2.83 us    (0.7%)
       gen split merge   : 761.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 381.00 ns  (0.1%)
       LB compute        : 377.85 us  (92.8%)
       LB move op cnt    : 0
       LB apply          : 1.80 us    (0.4%)  
    Info: patch count stable after 2 runs npatch = 8                      [DataInserterUtility][rank=0] 
    Info: ---------------------------------------------                   [DataInserterUtility][rank=0] 
    SPH setup: injected         2000 / 2331 =>  85.8% | ranks with patchs = 1 / 1  -> local loop <-  
    Info: ---------------------------------------------                   [DataInserterUtility][rank=0] 
    Info: Compute load ...                                                [DataInserterUtility][rank=0] 
    Info: run scheduler step ...                                          [DataInserterUtility][rank=0] 
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 7.29 us    (39.1%)  
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2331.0 min = 2331.0 factor = 1
     - strategy "round robin" : max = 2214.4 min = 2214.4 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2331
        max = 2331
        avg = 2331
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 1.66 us    (0.4%)
       patch tree reduce : 3.48 us    (0.9%)
       gen split merge   : 841.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.05 us    (0.3%)
       LB compute        : 377.94 us  (95.5%)
       LB move op cnt    : 0
       LB apply          : 3.92 us    (1.0%)  
    Info: patch count stable after 1 runs npatch = 8                      [DataInserterUtility][rank=0] 
    Info: ---------------------------------------------                   [DataInserterUtility][rank=0] 
    SPH setup: injected         2331 / 2331 => 100.0% | ranks with patchs = 1 / 1  <- global loop -> (msg count : 0)  
    SPH setup: the injection step took : 0.045794613000000005 s  
    Info: injection perf report:                                                    [SPH setup][rank=0]
    +======+====================+=======+=============+=============+=============+
    | rank | rank get (sum/max) |  MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+====================+=======+=============+=============+=============+
    | 0    |      0.00s / 0.00s | 0.00s |   4.2% 0.0% |     1.24 GB |     5.29 MB |
    +------+--------------------+-------+-------------+-------------+-------------+  
    SPH setup: the setup took : 0.072166034 s  
    Sinks are in sync !
    ---------------- t = 0, dt = 0 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2331.0 min = 2331.0 factor = 1
     - strategy "round robin" : max = 2214.4 min = 2214.4 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2331
        max = 2331
        avg = 2331
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.65 us    (0.9%)
       patch tree reduce : 1.74 us    (0.5%)
       gen split merge   : 651.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 371.00 ns  (0.1%)
       LB compute        : 360.90 us  (93.7%)
       LB move op cnt    : 0
       LB apply          : 2.30 us    (0.6%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.75 us    (47.6%)  
    Info: sink accretion :                                                          [sph::Sink][rank=0]
        id 0 deltas : mass=0.018999999999999906 r=(1.3877787807814457e-17,-1.5959796454644326e-19,0) v=(0.18645731108930325,-0.0009322865554465126,0) l=(0,0,8.50222023142003e-19)
        id 1 deltas : mass=0.02200000000000002 r=(0,0.00020958060681705581,0) v=(0.421455938697318,0.0012643678160919568,0) l=(0,0,-0.0010479030340852771)
        id 2 deltas : mass=0.017000000000000015 r=(-0.0005617977528089886,-0.0009368869122459988,-0.0001254809703081436) v=(0.6354307116104868,0,0) l=(0,-0.0003130750209188165,0.0023375328460538015)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 1.730061349693251
        patch 1 high interf/patch volume: 1.5783972125435533
        patch 2 high interf/patch volume: 1.5133333333333332
        patch 3 high interf/patch volume: 1.3568773234200742
        patch 4 high interf/patch volume: 1.5966101694915251
        patch 5 high interf/patch volume: 1.4597701149425286
        patch 6 high interf/patch volume: 1.4240282685512367
        patch 7 high interf/patch volume: 1.2936507936507935  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.05500000000000001 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 1.9938650306748458
        patch 1 high interf/patch volume: 1.8780487804878045
        patch 2 high interf/patch volume: 1.893333333333333
        patch 3 high interf/patch volume: 1.7806691449814123
        patch 4 high interf/patch volume: 1.8474576271186438
        patch 5 high interf/patch volume: 1.7432950191570882
        patch 6 high interf/patch volume: 1.7703180212014136
        patch 7 high interf/patch volume: 1.6825396825396823  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.06050000000000001 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 1.9938650306748458
        patch 1 high interf/patch volume: 1.8780487804878045
        patch 2 high interf/patch volume: 1.893333333333333
        patch 3 high interf/patch volume: 1.7806691449814123
        patch 4 high interf/patch volume: 1.8474576271186438
        patch 5 high interf/patch volume: 1.7432950191570882
        patch 6 high interf/patch volume: 1.7703180212014136
        patch 7 high interf/patch volume: 1.6825396825396823  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.06655000000000001 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 2.128834355828221
        patch 1 high interf/patch volume: 2.0313588850174216
        patch 2 high interf/patch volume: 2.0733333333333333
        patch 3 high interf/patch volume: 1.981412639405204
        patch 4 high interf/patch volume: 1.9966101694915255
        patch 5 high interf/patch volume: 1.9118773946360152
        patch 6 high interf/patch volume: 1.9187279151943462
        patch 7 high interf/patch volume: 1.8492063492063493  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.07320500000000002 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 2.4601226993865026
        patch 1 high interf/patch volume: 2.35191637630662
        patch 2 high interf/patch volume: 2.4400000000000004
        patch 3 high interf/patch volume: 2.3457249070631976
        patch 4 high interf/patch volume: 2.3491525423728814
        patch 5 high interf/patch volume: 2.2643678160919545
        patch 6 high interf/patch volume: 2.314487632508834
        patch 7 high interf/patch volume: 2.246031746031746  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.08052550000000003 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 3.131901840490797
        patch 1 high interf/patch volume: 2.9756097560975623
        patch 2 high interf/patch volume: 3.11
        patch 3 high interf/patch volume: 2.981412639405205
        patch 4 high interf/patch volume: 3.0169491525423733
        patch 5 high interf/patch volume: 2.8888888888888884
        patch 6 high interf/patch volume: 2.9752650176678443
        patch 7 high interf/patch volume: 2.8531746031746024  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.08857805000000003 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 3.4509202453987724
        patch 1 high interf/patch volume: 3.337979094076655
        patch 2 high interf/patch volume: 3.4599999999999995
        patch 3 high interf/patch volume: 3.3717472118959115
        patch 4 high interf/patch volume: 3.328813559322034
        patch 5 high interf/patch volume: 3.2413793103448274
        patch 6 high interf/patch volume: 3.31095406360424
        patch 7 high interf/patch volume: 3.2301587301587302  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.09743585500000004 unconverged cnt = 2273   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 4.233128834355829
        patch 1 high interf/patch volume: 4.142857142857143
        patch 2 high interf/patch volume: 4.113333333333332
        patch 3 high interf/patch volume: 4.040892193308551
        patch 4 high interf/patch volume: 4.13220338983051
        patch 5 high interf/patch volume: 4.057471264367816
        patch 6 high interf/patch volume: 4.053003533568904
        patch 7 high interf/patch volume: 3.9841269841269833  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.10717944050000006 unconverged cnt = 1086   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 4.469325153374233
        patch 1 high interf/patch volume: 4.383275261324042
        patch 2 high interf/patch volume: 4.346666666666668
        patch 3 high interf/patch volume: 4.301115241635688
        patch 4 high interf/patch volume: 4.345762711864408
        patch 5 high interf/patch volume: 4.283524904214559
        patch 6 high interf/patch volume: 4.300353356890459
        patch 7 high interf/patch volume: 4.261904761904761  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.11789738455000007 unconverged cnt = 55   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 5.588957055214724
        patch 1 high interf/patch volume: 5.508710801393732
        patch 2 high interf/patch volume: 5.673333333333333
        patch 3 high interf/patch volume: 5.639405204460967
        patch 4 high interf/patch volume: 5.48135593220339
        patch 5 high interf/patch volume: 5.421455938697317
        patch 6 high interf/patch volume: 5.664310954063605
        patch 7 high interf/patch volume: 5.642857142857144  
    Warning: smoothing length is not converged, rerunning the iterator ...    [Smoothinglength][rank=0]
         largest h = 0.12968712300500007 unconverged cnt = 2   
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.226993865030673
        patch 1 high interf/patch volume: 6.177700348432057
        patch 2 high interf/patch volume: 6.183333333333333
        patch 3 high interf/patch volume: 6.130111524163569
        patch 4 high interf/patch volume: 6.159322033898306
        patch 5 high interf/patch volume: 6.095785440613028
        patch 6 high interf/patch volume: 6.183745583038868
        patch 7 high interf/patch volume: 6.11904761904762  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.315,0.035,0)
        sum a = (-2.842170943040401e-14,5.684341886080802e-14,0)
        sum e = 113.65
        sum de = -98.96088366316451  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 1.02e-04 |
    |     force | 8.26e-06 |
    | sink_sink | 6.55e-06 |
    +-----------+----------+  
    Info: cfl dt = 6.551773540016008e-06 cfl multiplier : 0.01                     [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.3522e+03 | 2273 |      8 | 1.681e+00 | 0.0% |   2.2% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 0 (tsim/hr)                                             [sph::Model][rank=0] 
    ---------------- t = 0, dt = 6.551773540016008e-06 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2273.0 min = 2273.0 factor = 1
     - strategy "round robin" : max = 2159.3 min = 2159.3 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2273
        max = 2273
        avg = 2273
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 6.73 us    (1.5%)
       patch tree reduce : 3.95 us    (0.9%)
       gen split merge   : 812.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.38 us    (0.3%)
       LB compute        : 424.46 us  (93.9%)
       LB move op cnt    : 0
       LB apply          : 3.70 us    (0.8%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.08 us    (49.3%)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.2879999999999985
        patch 1 high interf/patch volume: 6.2057761732852
        patch 2 high interf/patch volume: 6.247148288973386
        patch 3 high interf/patch volume: 6.180887372013654
        patch 4 high interf/patch volume: 6.295774647887325
        patch 5 high interf/patch volume: 6.1875
        patch 6 high interf/patch volume: 6.247311827956988
        patch 7 high interf/patch volume: 6.166123778501629  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.314967581535043,0.03499492993291522,1.4489278344931484e-05)
        sum a = (1.7053025658242404e-13,1.1368683772161603e-13,-1.4210854715202004e-14)
        sum e = 113.64935776925222
        sum de = -97.13802261718962  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 3.44e-03 |
    |     force | 2.81e-04 |
    | sink_sink | 2.23e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.00022275667803016137 cfl multiplier : 0.34                    [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.0316e+04 | 2273 |      8 | 2.203e-01 | 0.0% |   2.2% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 0.10705009283971705 (tsim/hr)                           [sph::Model][rank=0] 
    ---------------- t = 6.551773540016008e-06, dt = 0.00022275667803016137 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2273.0 min = 2273.0 factor = 1
     - strategy "round robin" : max = 2159.3 min = 2159.3 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2273
        max = 2273
        avg = 2273
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 6.12 us    (1.9%)
       patch tree reduce : 4.17 us    (1.3%)
       gen split merge   : 772.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.08 us    (0.3%)
       LB compute        : 294.03 us  (91.6%)
       LB move op cnt    : 0
       LB apply          : 3.51 us    (1.1%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.67 us    (45.6%)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.2879999999999985
        patch 1 high interf/patch volume: 6.2057761732852
        patch 2 high interf/patch volume: 6.247148288973386
        patch 3 high interf/patch volume: 6.180887372013654
        patch 4 high interf/patch volume: 6.394366197183099
        patch 5 high interf/patch volume: 6.2875000000000005
        patch 6 high interf/patch volume: 6.322580645161289
        patch 7 high interf/patch volume: 6.2442996742671015  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.313897269462164,0.03482750060074424,0.0004927289342157148)
        sum a = (-2.842170943040401e-14,0,-1.1368683772161603e-13)
        sum e = 113.63481505754321
        sum de = -44.77941247604406  
    Warning: the corrector tolerance are broken the step will be re rerunned      [BasicGasSPH][rank=0]
        eps_v = 0.010106726402497119  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.3137755549084,0.03481355659818742,0.0004961998858912069)
        sum a = (-8.526512829121202e-14,-1.1368683772161603e-13,7.105427357601002e-14)
        sum e = 113.63355636261585
        sum de = -44.82531737945311  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 1.56e-03 |
    |     force | 2.31e-04 |
    | sink_sink | 1.83e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.00018328014262681863 cfl multiplier : 0.28                    [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 8.1758e+03 | 2273 |      8 | 2.780e-01 | 0.0% |   2.0% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 2.88446405607672 (tsim/hr)                              [sph::Model][rank=0] 
    ---------------- t = 0.0002293084515701774, dt = 0.00018328014262681863 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2273.0 min = 2273.0 factor = 1
     - strategy "round robin" : max = 2159.3 min = 2159.3 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2273
        max = 2273
        avg = 2273
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.71 us    (1.7%)
       patch tree reduce : 4.03 us    (1.2%)
       gen split merge   : 812.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.14 us    (0.3%)
       LB compute        : 320.08 us  (92.5%)
       LB move op cnt    : 0
       LB apply          : 3.45 us    (1.0%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.93 us    (49.2%)  
    Info: sink accretion :                                                          [sph::Sink][rank=0]
        id 1 deltas : mass=0.0010000000000000009 r=(-0.0002825733702763178,-2.5992748440797908e-05,-3.7616457445204277e-10) v=(0.01841672772468461,0.0001413780549717747,-3.266139183730546e-06) l=(1.4588956579124865e-08,-1.6035141770323956e-07,0.00012101999018001273)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.2879999999999985
        patch 1 high interf/patch volume: 6.2057761732852
        patch 2 high interf/patch volume: 6.247148288973386
        patch 3 high interf/patch volume: 6.178082191780823
        patch 4 high interf/patch volume: 6.394366197183099
        patch 5 high interf/patch volume: 6.2875000000000005
        patch 6 high interf/patch volume: 6.322580645161289
        patch 7 high interf/patch volume: 6.2442996742671015  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.31396950562196,0.0348528560707208,0.0004076315123698396)
        sum a = (1.1368683772161603e-13,5.684341886080802e-14,2.842170943040401e-14)
        sum e = 113.57799047577421
        sum de = -5.303555756092464  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 2.06e-03 |
    |     force | 4.30e-04 |
    | sink_sink | 3.40e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.00034020216026755444 cfl multiplier : 0.52                    [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.0442e+04 | 2272 |      8 | 2.176e-01 | 0.0% |   2.3% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 3.0325168172974064 (tsim/hr)                            [sph::Model][rank=0] 
    ---------------- t = 0.00041258859419699605, dt = 0.00034020216026755444 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2272.0 min = 2272.0 factor = 1
     - strategy "round robin" : max = 2158.4 min = 2158.4 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2272
        max = 2272
        avg = 2272
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.43 us    (1.6%)
       patch tree reduce : 3.73 us    (1.1%)
       gen split merge   : 772.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.35 us    (0.4%)
       LB compute        : 318.92 us  (91.9%)
       LB move op cnt    : 0
       LB apply          : 3.71 us    (1.1%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.31 us    (45.7%)  
    Info: sink accretion :                                                          [sph::Sink][rank=0]
        id 2 deltas : mass=0.0020000000000000018 r=(-0.0008964255531763344,-5.863973251565846e-05,0.000539681636615455) v=(0.06971160516554098,-0.0019102084936308272,-0.0003163294863295363) l=(3.085726827203e-05,0.0013353971433826657,0.00018828011072075535)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.2879999999999985
        patch 1 high interf/patch volume: 6.200000000000001
        patch 2 high interf/patch volume: 6.247148288973386
        patch 3 high interf/patch volume: 6.178082191780823
        patch 4 high interf/patch volume: 6.394366197183099
        patch 5 high interf/patch volume: 6.2875000000000005
        patch 6 high interf/patch volume: 6.322580645161289
        patch 7 high interf/patch volume: 6.2442996742671015  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.31283049048958,0.03456458697970308,0.0009308308956632247)
        sum a = (2.842170943040401e-14,-5.684341886080802e-14,-9.947598300641403e-14)
        sum e = 113.48480531280518
        sum de = 81.64648237715255  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 1.74e-03 |
    |     force | 5.61e-04 |
    | sink_sink | 4.46e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.0004464158410420693 cfl multiplier : 0.68                     [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.0520e+04 | 2270 |      8 | 2.158e-01 | 0.0% |   2.1% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 5.67558099453923 (tsim/hr)                              [sph::Model][rank=0] 
    Sinks are in sync !
    Info: Dumping state to sink_sync_test.sham                                            [SPH][rank=0] 
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 6.04 us    (42.5%)  
    Info: dump to sink_sync_test.sham                                           [Shamrock Dump][rank=0]
                  - took 757.27 us, bandwidth = 391.30 MB/s  
    Info: Loading state from dump sink_sync_test.sham                                     [SPH][rank=0] 
    Info: load dump from sink_sync_test.sham                                    [Shamrock Dump][rank=0]
                  - took 3.18 ms, bandwidth = 93.08 MB/s  
    Sinks are in sync !
    ---------------- t = 0.0007527907544645504, dt = 0.0004464158410420693 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2270.0 min = 2270.0 factor = 1
     - strategy "round robin" : max = 2156.5 min = 2156.5 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2270
        max = 2270
        avg = 2270
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.59 us    (1.0%)
       patch tree reduce : 1.88 us    (0.5%)
       gen split merge   : 691.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.03 us    (0.3%)
       LB compute        : 356.44 us  (94.8%)
       LB move op cnt    : 0
       LB apply          : 3.90 us    (1.0%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.76 us    (50.2%)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.2799999999999985
        patch 1 high interf/patch volume: 6.18909090909091
        patch 2 high interf/patch volume: 6.247148288973386
        patch 3 high interf/patch volume: 6.178082191780823
        patch 4 high interf/patch volume: 6.382456140350876
        patch 5 high interf/patch volume: 6.275
        patch 6 high interf/patch volume: 6.323741007194244
        patch 7 high interf/patch volume: 6.2442996742671015  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.312081509820906,0.034398086470381894,0.001239139736493644)
        sum a = (-5.684341886080802e-14,-1.1368683772161603e-13,-5.684341886080802e-14)
        sum e = 113.5488940143931
        sum de = 203.69591646895293  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 1.36e-03 |
    |     force | 6.48e-04 |
    | sink_sink | 5.13e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.000512654960520611 cfl multiplier : 0.7866666666666667        [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.0245e+04 | 2270 |      8 | 2.216e-01 | 0.0% |   2.0% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 7.252938349212515 (tsim/hr)                             [sph::Model][rank=0] 
    ---------------- t = 0.0011992065955066197, dt = 0.000512654960520611 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2270.0 min = 2270.0 factor = 1
     - strategy "round robin" : max = 2156.5 min = 2156.5 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2270
        max = 2270
        avg = 2270
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.89 us    (1.5%)
       patch tree reduce : 2.86 us    (0.7%)
       gen split merge   : 781.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.29 us    (0.3%)
       LB compute        : 357.53 us  (93.0%)
       LB move op cnt    : 0
       LB apply          : 3.79 us    (1.0%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.32 us    (50.3%)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.191999999999998
        patch 1 high interf/patch volume: 6.105454545454546
        patch 2 high interf/patch volume: 6.235741444866922
        patch 3 high interf/patch volume: 6.157534246575343
        patch 4 high interf/patch volume: 6.407017543859648
        patch 5 high interf/patch volume: 6.2906249999999995
        patch 6 high interf/patch volume: 6.384892086330936
        patch 7 high interf/patch volume: 6.302931596091206  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.311534138478002,0.03426965166609852,0.0014503792275798177)
        sum a = (1.1368683772161603e-13,1.1368683772161603e-13,1.1368683772161603e-13)
        sum e = 113.68959047010817
        sum de = 345.10529771530764  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 1.07e-03 |
    |     force | 7.04e-04 |
    | sink_sink | 5.52e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.0005523343280162558 cfl multiplier : 0.8577777777777778       [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 9.9890e+03 | 2270 |      8 | 2.272e-01 | 0.0% |   2.1% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 8.121300044211841 (tsim/hr)                             [sph::Model][rank=0] 
    ---------------- t = 0.0017118615560272306, dt = 0.0005523343280162558 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2270.0 min = 2270.0 factor = 1
     - strategy "round robin" : max = 2156.5 min = 2156.5 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2270
        max = 2270
        avg = 2270
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.61 us    (1.5%)
       patch tree reduce : 3.09 us    (0.8%)
       gen split merge   : 862.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.20 us    (0.3%)
       LB compute        : 323.66 us  (87.8%)
       LB move op cnt    : 0
       LB apply          : 22.74 us   (6.2%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.08 us    (51.0%)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.191999999999998
        patch 1 high interf/patch volume: 6.050909090909092
        patch 2 high interf/patch volume: 6.2015209125475295
        patch 3 high interf/patch volume: 6.0479452054794525
        patch 4 high interf/patch volume: 6.5069930069930075
        patch 5 high interf/patch volume: 6.340624999999999
        patch 6 high interf/patch volume: 6.458483754512637
        patch 7 high interf/patch volume: 6.32899022801303  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.31112113508086,0.034152626385041795,0.0015986545577838795)
        sum a = (2.842170943040401e-14,0,2.842170943040401e-14)
        sum e = 113.92267489801058
        sum de = 495.88335143179296  
    Warning: the corrector tolerance are broken the step will be re rerunned      [BasicGasSPH][rank=0]
        eps_v = 0.011840076446588807  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.310853913874283,0.034125058930421615,0.0015976128675086188)
        sum a = (2.842170943040401e-14,0,1.4210854715202004e-14)
        sum e = 113.92097020468077
        sum de = 496.19136441410507  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 4.26e-04 |
    |     force | 3.70e-04 |
    | sink_sink | 2.86e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.0002864278912784332 cfl multiplier : 0.4525925925925926       [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 8.3059e+03 | 2270 |      8 | 2.733e-01 | 0.0% |   2.2% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 7.275561900518538 (tsim/hr)                             [sph::Model][rank=0] 
    ---------------- t = 0.0022641958840434865, dt = 0.0002864278912784332 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2270.0 min = 2270.0 factor = 1
     - strategy "round robin" : max = 2156.5 min = 2156.5 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2270
        max = 2270
        avg = 2270
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.53 us    (1.4%)
       patch tree reduce : 3.37 us    (0.8%)
       gen split merge   : 742.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.08 us    (0.3%)
       LB compute        : 374.48 us  (93.6%)
       LB move op cnt    : 0
       LB apply          : 3.60 us    (0.9%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 2.56 us    (48.6%)  
    Info: sink accretion :                                                          [sph::Sink][rank=0]
        id 2 deltas : mass=0.0010000000000000009 r=(-0.000469680943618494,0.00023359018294974443,-0.000182285749249729) v=(0.036381111686466516,-0.004306088407587616,0.0038620997378118194) l=(1.361207817789772e-05,-0.0003530130357788252,-0.00048744190755523227)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 5.992
        patch 1 high interf/patch volume: 5.923636363636364
        patch 2 high interf/patch volume: 5.935361216730037
        patch 3 high interf/patch volume: 5.900343642611686
        patch 4 high interf/patch volume: 6.157342657342658
        patch 5 high interf/patch volume: 6.06875
        patch 6 high interf/patch volume: 6.12274368231047
        patch 7 high interf/patch volume: 6.061889250814333  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.312784944049035,0.034443709106043774,0.000827675429116298)
        sum a = (5.684341886080802e-14,5.684341886080802e-14,4.263256414560601e-14)
        sum e = 114.00394000559042
        sum de = 508.41597651169457  
    Warning: the corrector tolerance are broken the step will be re rerunned      [BasicGasSPH][rank=0]
        eps_v = 0.02576228461305771  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.312082770286487,0.03466477252947364,0.0008413994567690319)
        sum a = (0,5.684341886080802e-14,-1.4210854715202004e-14)
        sum e = 113.99499855347668
        sum de = 508.7006719363991  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 2.72e-04 |
    |     force | 2.59e-04 |
    | sink_sink | 1.99e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.00019897300678063906 cfl multiplier : 0.3175308641975309      [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 8.8292e+03 | 2269 |      8 | 2.570e-01 | 0.0% |   2.5% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 4.012402919549655 (tsim/hr)                             [sph::Model][rank=0] 
    ---------------- t = 0.0025506237753219196, dt = 0.00019897300678063906 ---------------- 
    Info: Summary (strategy = round robin):                                       [LoadBalance][rank=0]
     - strategy "psweep"      : max = 2269.0 min = 2269.0 factor = 1
     - strategy "round robin" : max = 2155.5 min = 2155.5 factor = 0.95  
    Info: Loadbalance stats :                                                     [LoadBalance][rank=0]
        npatch = 8
        min = 2269
        max = 2269
        avg = 2269
        efficiency = 100.00%  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 5.74 us    (1.6%)
       patch tree reduce : 3.32 us    (0.9%)
       gen split merge   : 851.00 ns  (0.2%)
       split / merge op  : 0/0
       apply split merge : 1.08 us    (0.3%)
       LB compute        : 327.88 us  (92.5%)
       LB move op cnt    : 0
       LB apply          : 3.56 us    (1.0%)  
    Info: Scheduler step timings :                                                  [Scheduler][rank=0]
       metadata sync     : 3.25 us    (49.1%)  
    Info: sink accretion :                                                          [sph::Sink][rank=0]
        id 0 deltas : mass=0.0029999999999998916 r=(-0.000356549430889877,0.00013789815003367392,-3.8900264204212893e-07) v=(0.036804037266496725,-0.0026049367562814285,-0.0002977115124496166) l=(1.5355132242207976e-05,-3.4042791169362646e-05,-0.0013917210465080327)  
    Warning: High interface/patch volume ratio.                                  [InterfaceGen][rank=0]
        This can lead to high mpi overhead, try to increase the patch split crit
        patch 0 high interf/patch volume: 6.016
        patch 1 high interf/patch volume: 5.941818181818182
        patch 2 high interf/patch volume: 5.984732824427481
        patch 3 high interf/patch volume: 5.951557093425607
        patch 4 high interf/patch volume: 6.234265734265736
        patch 5 high interf/patch volume: 6.153124999999999
        patch 6 high interf/patch volume: 6.198555956678701
        patch 7 high interf/patch volume: 6.143322475570033  
    Info: conservation infos :                                                     [sph::Model][rank=0]
        sum v = (23.313127792253574,0.034803506273773155,0.0005710137311530639)
        sum a = (5.684341886080802e-14,5.684341886080802e-14,-5.684341886080802e-14)
        sum e = 113.88531834450656
        sum de = 578.4716204698631  
    Info: CFL detail :                                                             [sph::Model][rank=0]
    +===========+==========+
    |    key    |  value   |
    +===========+==========+
    |   courant | 4.77e-04 |
    |     force | 4.43e-04 |
    | sink_sink | 3.37e-04 |
    +-----------+----------+  
    Info: cfl dt = 0.0003374001421506465 cfl multiplier : 0.5450205761316873       [sph::Model][rank=0] 
    Info: Timestep perf report:                                                    [sph::Model][rank=0]
    +======+============+======+========+===========+======+=============+=============+=============+
    | rank | rate (N/s) | Nobj | Npatch |   tstep   | MPI  | alloc d% h% | mem (max) d | mem (max) h |
    +======+============+======+========+===========+======+=============+=============+=============+
    | 0    | 1.0378e+04 | 2266 |      8 | 2.183e-01 | 0.0% |   2.2% 0.0% |     1.24 GB |     5.29 MB |
    +------+------------+------+--------+-----------+------+-------------+-------------+-------------+  
    Info: estimated rate : 3.2806423145786057 (tsim/hr)                            [sph::Model][rank=0] 
    Sinks are in sync !
    run_test_sink_synchro: OK
    Current sinks:
    [{'pos': (0.09877660057755726, -0.0003699820152028824, 0.000292858494405309), 'velocity': (-0.7909594697171893, -0.42835509420057705, 0.21579163220191747), 'sph_acceleration': (-2.788118606064703, 6.194080856496939, -3.386302543973059), 'ext_acceleration': (-371.6829482929875, -190.87247862152324, 85.76563352228862), 'mass': 1.0219999999999998, 'angular_momentum': (1.5355132242207976e-05, -3.4042791169362646e-05, -0.0013917210465080319), 'accretion_radius': 0.15}, {'pos': (-0.19723897477916802, 0.0992597386368148, 5.457513126197257e-05), 'velocity': (1.7840284522444005, -0.646223010107699, 0.03996740374797707), 'sph_acceleration': (40.13267477144062, -16.361891265380407, -1.2376352720798174), 'ext_acceleration': (456.6529453658143, -211.77602552231514, 16.18781052807078), 'mass': 0.523, 'angular_momentum': (1.4588956579124865e-08, -1.6035141770323956e-07, -0.0009268830439052644), 'accretion_radius': 0.15}, {'pos': (0.001919965581750201, -0.1466495904953547, 0.048938432104203365), 'velocity': (2.1365106397204268, 3.022034230508638, -0.9498166179408467), 'sph_acceleration': (4.433172833108257, 16.092200428397565, -6.362794011098259), 'ext_acceleration': (522.3351212189342, 1132.705683330991, -355.99519394799995), 'mass': 0.27, 'angular_momentum': (4.446934644992772e-05, 0.0006693090866850239, 0.0020383710492193246), 'accretion_radius': 0.15}]
    check_ref_dataset: OK
    Info: collected : 8 patches                                                [PatchScheduler][rank=0] 
    Current sums:  [np.float64(65.79475628688994), np.float64(-15.508903903707498), np.float64(-1.0412208430674998), np.float64(22613.455824802637), np.float64(-5.195701678016274), np.float64(15.008486573476972), np.float64(-19336.88835500463), np.float64(-2117.975619213131), np.float64(5826.038830234722), np.float64(245.85176557074223)]






|

.. code-block:: Python
   :lineno-start: 9


    import numpy as np

    import shamrock

    DUMP_NAME = "sink_sync_test.sham"


    def check_sinks_are_in_sync(ctx, model):
        s = str(model.get_sinks())
        # Collective: every rank must call this
        hist = shamrock.algs.all_string_histogram([s], delimiter="\n", hash_based=False)
        if len(hist) != 1:
            raise RuntimeError(f"sinks not in sync across ranks: {hist}")
        key, count = next(iter(hist.items()))
        if count != shamrock.sys.world_size():
            raise RuntimeError(
                f"expected count={shamrock.sys.world_size()}, got {count} for key={key!r}"
            )
        shamrock.sys.mpi_barrier()
        if shamrock.sys.world_rank() == 0:
            print("Sinks are in sync !")


    si = shamrock.UnitSystem()
    sicte = shamrock.Constants(si)
    codeu = shamrock.UnitSystem(
        unit_time=sicte.year(),
        unit_length=sicte.au(),
        unit_mass=sicte.sol_mass(),
    )
    ucte = shamrock.Constants(codeu)
    G = ucte.G()


    def build_model_with_sinks():
        ctx = shamrock.Context()
        ctx.pdata_layout_new()

        model = shamrock.get_Model_SPH(context=ctx, vector_type="f64_3", sph_kernel="M4")

        cfg = model.gen_default_config()
        cfg.set_self_gravity_none()
        cfg.set_artif_viscosity_Constant(alpha_u=1.0, alpha_AV=1.0, beta_AV=2.0)
        cfg.set_eos_isothermal(1.0)
        cfg.set_particle_mass(1e-3)
        cfg.set_boundary_periodic()
        cfg.set_show_cfl_detail(True)
        cfg.set_units(codeu)
        model.set_solver_config(cfg)

        model.set_cfl_cour(0.1)
        model.set_cfl_force(0.1)
        model.set_eta_sink(1.0)

        model.init_scheduler(1000, 1)

        # Very coarse HCP cube -> handful of SPH particles
        dr = 0.05
        bmin = (-0.6, -0.6, -0.6)
        bmax = (0.6, 0.6, 0.6)
        model.resize_simulation_box(bmin, bmax)

        setup = model.get_setup()
        gen = setup.make_generator_lattice_hcp(dr, bmin, bmax)
        setup.apply_setup(gen)

        eng = shamrock.algs.gen_seed(42)

        def vel_func(r):
            return (10.0, 0.0, 0.0)

        model.set_field_value_lambda_f64_3("vxyz", vel_func)

        # A few sinks (must be added after init_scheduler, on all ranks)
        model.add_sink(1.0, (0.1, 0.0, 0.0), (0.0, 0.05, 0.0), 0.15)
        model.add_sink(0.5, (-0.2, 0.1, 0.0), (0.0, -0.03, 0.0), 0.15)
        model.add_sink(0.25, (0.0, -0.15, 0.05), (0.02, 0.0, 0.0), 0.15)

        return ctx, model


    def check_ref_dataset(sinks):
        if shamrock.sys.world_rank() == 0:
            print("Current sinks:")
            print(sinks)

        ref_dataset = [
            {
                "pos": (0.09877660057755726, -0.0003699820152028823, 0.00029285849440530886),
                "velocity": (-0.7909594697171893, -0.42835509420057705, 0.2157916322019174),
                "sph_acceleration": (-2.7881186060647103, 6.194080856496935, -3.386302543973038),
                "ext_acceleration": (-371.6829482929875, -190.87247862152324, 85.76563352228864),
                "mass": 1.0219999999999998,
                "angular_momentum": (
                    1.5355132242207996e-05,
                    -3.404279116936264e-05,
                    -0.001391721046508032,
                ),
                "accretion_radius": 0.15,
            },
            {
                "pos": (-0.19723897477916802, 0.0992597386368148, 5.457513126197254e-05),
                "velocity": (1.7840284522444, -0.6462230101076988, 0.039967403747977054),
                "sph_acceleration": (40.132674771440605, -16.361891265380414, -1.2376352720798245),
                "ext_acceleration": (456.6529453658143, -211.77602552231514, 16.18781052807078),
                "mass": 0.523,
                "angular_momentum": (
                    1.4588956579124888e-08,
                    -1.6035141770323982e-07,
                    -0.0009268830439052644,
                ),
                "accretion_radius": 0.15,
            },
            {
                "pos": (0.0019199655817502001, -0.1466495904953547, 0.048938432104203365),
                "velocity": (2.1365106397204268, 3.0220342305086376, -0.9498166179408467),
                "sph_acceleration": (4.433172833108257, 16.09220042839757, -6.362794011098254),
                "ext_acceleration": (522.3351212189343, 1132.705683330991, -355.99519394799995),
                "mass": 0.27,
                "angular_momentum": (
                    4.4469346449927724e-05,
                    0.0006693090866850239,
                    0.0020383710492193246,
                ),
                "accretion_radius": 0.15,
            },
        ]

        errors = []

        if len(sinks) != len(ref_dataset):
            errors.append(f"sink count mismatch: got {len(sinks)}, expected {len(ref_dataset)}")
        else:
            for i, (got_sink, ref_sink) in enumerate(zip(sinks, ref_dataset)):
                for key, ref_val in ref_sink.items():
                    got_val = got_sink[key]
                    got_arr = np.asarray(got_val, dtype=float)
                    ref_arr = np.asarray(ref_val, dtype=float)
                    rtol = 1e-14 if key == "sph_acceleration" else 1e-15
                    if not np.all(np.isclose(got_arr, ref_arr, rtol=rtol, atol=1e-18)):
                        abs_diff = np.abs(got_arr - ref_arr)
                        with np.errstate(divide="ignore", invalid="ignore"):
                            rel_diff = np.where(ref_arr != 0, abs_diff / np.abs(ref_arr), abs_diff)
                        errors.append(
                            f"sink[{i}].{key} mismatch:\n"
                            f"  got={got_val}\n"
                            f"  ref={ref_val}\n"
                            f"  max abs diff={np.max(abs_diff)}\n"
                            f"  max rel diff={np.max(rel_diff)}"
                        )

        for err in errors:
            print(err)

        if errors:
            raise RuntimeError(f"check_ref_dataset failed with {len(errors)} error(s)")

        if shamrock.sys.world_rank() == 0:
            print("check_ref_dataset: OK")


    def main():
        ctx, model = build_model_with_sinks()

        check_sinks_are_in_sync(ctx, model)

        for _ in range(5):
            model.timestep()
        check_sinks_are_in_sync(ctx, model)

        sinks_before_dump = str(model.get_sinks())
        model.dump(DUMP_NAME)

        del model
        del ctx

        ctx2 = shamrock.Context()
        ctx2.pdata_layout_new()
        model2 = shamrock.get_Model_SPH(context=ctx2, vector_type="f64_3", sph_kernel="M4")
        model2.load_from_dump(DUMP_NAME)

        sinks_after_reload = str(model2.get_sinks())
        if sinks_before_dump != sinks_after_reload:
            raise RuntimeError(
                "sink content changed across dump/reload:\n"
                f"  before={sinks_before_dump!r}\n"
                f"  after ={sinks_after_reload!r}"
            )

        check_sinks_are_in_sync(ctx2, model2)

        for _ in range(5):
            model2.timestep()
        check_sinks_are_in_sync(ctx2, model2)

        if shamrock.sys.world_rank() == 0:
            print("run_test_sink_synchro: OK")

        check_ref_dataset(model2.get_sinks())

        dic = ctx2.collect_data()

        if shamrock.sys.world_rank() > 0:
            return

        assert 2266 == len(dic["xyz"])

        sum_pos = np.sum(dic["xyz"], axis=0)
        sum_vel = np.sum(dic["vxyz"], axis=0)
        sum_acc = np.sum(dic["axyz"], axis=0)
        sum_hpart = np.sum(dic["hpart"], axis=0)

        dat = np.concatenate([sum_pos, sum_vel, sum_acc, np.atleast_1d(sum_hpart)])
        print("Current sums: ", [dat[i] for i in range(len(dat))])

        ref_sums = [
            65.79475628688992,
            -15.508903903707498,
            -1.0412208430674998,
            22613.455824802637,
            -5.195701678016285,
            15.008486573476965,
            -19336.888355004605,
            -2117.975619213131,
            5826.038830234707,
            245.85176557074223,
        ]

        mismatch = False
        for i in range(len(dat)):
            if not np.isclose(dat[i], ref_sums[i], rtol=1e-12, atol=1e-18):
                abs_diff = np.abs(dat[i] - ref_sums[i])
                rel_diff = abs_diff / np.abs(ref_sums[i])
                print(f"sum[{i}] mismatch: got {dat[i]}, expected {ref_sums[i]}")
                print(f"  max abs diff={np.max(abs_diff)}")
                print(f"  max rel diff={np.max(rel_diff)}")
                mismatch = True
        if mismatch:
            raise RuntimeError("sums mismatch")


    main()


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (0 minutes 4.554 seconds)

**Estimated memory usage:**  161 MB


.. _sphx_glr_download__as_gen_tests_ci_run_test_sink_synchro.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: run_test_sink_synchro.ipynb <run_test_sink_synchro.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: run_test_sink_synchro.py <run_test_sink_synchro.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: run_test_sink_synchro.zip <run_test_sink_synchro.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
