Hi, An error reported by the Thorn Carpet occurred when I run a bns merger simulation in the unequal mass case when applying a certain grid structure, which reads: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ exec: Cactus/arrangements/Carpet/CarpetLib/src/bboxset2.hh:262: CarpetLib::bboxset2::bboxset<T, D> CarpetLib::bboxset2::bboxset<T, D>::binary_operator(const F&, const CarpetLib::bboxset2::bboxset<T, D>&) const [with F = CarpetLib::bboxset2::bboxset<T, D>::operator&(const CarpetLib::bboxset2::bboxset<T, D>&) const [with T = int; int D = 3]::<lambda(const bboxset1&, const bboxset1&)>; T = int; int D = 3]: Assertion `all(stride == other.stride)' failed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
However, I don't think the grid structure I applied in my simulation is peculiar:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CoordBase::xmin = -400 CoordBase::xmax = 400 CoordBase::ymin = -400 CoordBase::ymax = 400 CoordBase::zmin = 0 CoordBase::zmax = 400
CoordBase::spacing = "numcells" CoordBase::ncells_x = 40 CoordBase::ncells_y = 40 CoordBase::ncells_z = 20
...
CarpetRegrid2::num_centres = 3 CarpetRegrid2::regrid_every = 128 CarpetRegrid2::snap_to_coarse = "yes" CarpetRegrid2::freeze_unaligned_levels = "yes" CarpetRegrid2::freeze_unaligned_parent_levels = "yes"
# ----------- Region 1 -------------------- CarpetRegrid2::active_1 = "yes" CarpetRegrid2::num_levels_1 = 7 CarpetRegrid2::position_x_1 = -17.4316 CarpetRegrid2::position_y_1 = 0.0 CarpetRegrid2::radius_1[1] = 240.0 CarpetRegrid2::radius_1[2] = 120.0 CarpetRegrid2::radius_1[3] = 60.0 CarpetRegrid2::radius_1[4] = 30.0 CarpetRegrid2::radius_1[5] = 20.0 CarpetRegrid2::radius_1[6] = 15.0
# ----------- Region 2 -------------------- CarpetRegrid2::active_2 = "yes" CarpetRegrid2::num_levels_2 = 7 CarpetRegrid2::position_x_2 = 23.1912 CarpetRegrid2::position_y_2 = -0.0 CarpetRegrid2::radius_2[1] = 240.0 CarpetRegrid2::radius_2[2] = 120.0 CarpetRegrid2::radius_2[3] = 60.0 CarpetRegrid2::radius_2[4] = 30.0 CarpetRegrid2::radius_2[5] = 18.0 CarpetRegrid2::radius_2[6] = 14.0
# ----------- Region 3 -------------------- CarpetRegrid2::active_3 = "yes" CarpetRegrid2::num_levels_3 = 3 CarpetRegrid2::position_x_3 = 0
CarpetRegrid2::radius_3[1] = 240.0 CarpetRegrid2::radius_3[2] = 120.0 CarpetRegrid2::radius_3[3] = 66.0 CarpetRegrid2::radius_3[4] = 33.0 CarpetRegrid2::radius_x_3[5] = 18.0 CarpetRegrid2::radius_y_3[5] = 18.0 CarpetRegrid2::radius_z_3[5] = 15.0 CarpetRegrid2::radius_3[6] = 12.0 CarpetRegrid2::radius_3[7] = 8.0 # ----------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Though the resulotion is relatively low for test. I am wondering what the error indicates and I'm looking forward to addressing it with your help.
Thank you in advance, Jimmy
Hello Jimmy,
Sorry for the delay in responding.
The assert error you see (stride == other.stride) is triggered if Carpet tries to copy (but not interpolate) data between different refinement levels.
This should never happen, and the assert is there to catch bugs.
Unfortunately without more context it is not easy to say what may be the root cause.
The first step in trying to deduce the cause would be to take a look at the backtrace (in the files backtrace.*.txt) to see the call tree that lead to the assert failure.
Do you those files and could attach them to an email to this list?
The only thing in your parfile that is slightly unusual (but should work and I do not see how it would directly cause issues) is use of the
CarpetRegrid2::radius_x_3[5] = 18.0 CarpetRegrid2::radius_y_3[5] = 18.0 CarpetRegrid2::radius_z_3[5] = 15.0
rather than a single radius.
When does the error actually happen? Right at the beginning (and in that case, would you be fine to share the full parfile) or only after a long simulation time and to reproducible?
Yours, Roland
Hi, An error reported by the Thorn Carpet occurred when I run a bns merger simulation in the unequal mass case when applying a certain grid structure, which reads:
Cactus/arrangements/Carpet/CarpetLib/src/bboxset2.hh:262: CarpetLib::bboxset2::bboxset<T, D> CarpetLib::bboxset2::bboxset<T, D>::binary_operator(const F&, const CarpetLib::bboxset2::bboxset<T, D>D>&) const [with F = CarpetLib::bboxset2::bboxset<T, D>D>D>::operator&(const CarpetLib::bboxset2::bboxset<T, D>&) const D>D>D>[with T = int; int D = 3]::<lambda(const bboxset1&, const D>D>D>bboxset1&)>; T = int; int D = 3]: Assertion `all(stride == D>D>D>other.stride)' failed. D>D>D>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ However, I D>D>D>don't think the grid structure I applied in my simulation is D>D>D>peculiar:CoordBase::xmin = -400 CoordBase::xmax = 400 CoordBase::ymin = -400 CoordBase::ymax = 400 CoordBase::zmin = 0 CoordBase::zmax = 400
CoordBase::spacing = "numcells" CoordBase::ncells_x = 40 CoordBase::ncells_y = 40 CoordBase::ncells_z = 20
...
CarpetRegrid2::num_centres = 3 CarpetRegrid2::regrid_every = 128 CarpetRegrid2::snap_to_coarse = "yes" CarpetRegrid2::freeze_unaligned_levels = "yes" CarpetRegrid2::freeze_unaligned_parent_levels = "yes"
# ----------- Region 1 -------------------- CarpetRegrid2::active_1 = "yes" CarpetRegrid2::num_levels_1 = 7 CarpetRegrid2::position_x_1 = -17.4316 CarpetRegrid2::position_y_1 = 0.0 CarpetRegrid2::radius_1[1] = 240.0 CarpetRegrid2::radius_1[2] = 120.0 CarpetRegrid2::radius_1[3] = 60.0 CarpetRegrid2::radius_1[4] = 30.0 CarpetRegrid2::radius_1[5] = 20.0 CarpetRegrid2::radius_1[6] = 15.0
# ----------- Region 2 -------------------- CarpetRegrid2::active_2 = "yes" CarpetRegrid2::num_levels_2 = 7 CarpetRegrid2::position_x_2 = 23.1912 CarpetRegrid2::position_y_2 = -0.0 CarpetRegrid2::radius_2[1] = 240.0 CarpetRegrid2::radius_2[2] = 120.0 CarpetRegrid2::radius_2[3] = 60.0 CarpetRegrid2::radius_2[4] = 30.0 CarpetRegrid2::radius_2[5] = 18.0 CarpetRegrid2::radius_2[6] = 14.0
# ----------- Region 3 -------------------- CarpetRegrid2::active_3 = "yes" CarpetRegrid2::num_levels_3 = 3 CarpetRegrid2::position_x_3 = 0
CarpetRegrid2::radius_3[1] = 240.0 CarpetRegrid2::radius_3[2] = 120.0 CarpetRegrid2::radius_3[3] = 66.0 CarpetRegrid2::radius_3[4] = 33.0 CarpetRegrid2::radius_x_3[5] = 18.0 CarpetRegrid2::radius_y_3[5] = 18.0 CarpetRegrid2::radius_z_3[5] = 15.0 CarpetRegrid2::radius_3[6] = 12.0 CarpetRegrid2::radius_3[7] = 8.0 # -----------------------------------------
Though the resulotion is relatively low for test. I am wondering what the error indicates and I'm looking forward to addressing it with your help. Thank you in advance, Jimmy _______________________________________________ Users mailing list Users@einsteintoolkit.org https://urldefense.com/v3/__http://lists.einsteintoolkit.org/mailman/listinfo/users__;!!DZ3fjg!7J7ZLqS8Exs7ZbQTYF0L9KyJpqqXT7bswbvhND87I74UxEOlXSH9N9G4josTAHijv2Q584yrgN0eIFmqKYx3QQ$
users@lists.einsteintoolkit.org