kpenev / poet

Documentation at:
https://kpenev.github.io/poet/
Mozilla Public License 2.0
10 stars 0 forks source link

Assertion Error while running evolution with breaks #29

Open ruskin23 opened 4 years ago

ruskin23 commented 4 years ago

The attached evolution code will generate the following assertion error: cfile_12_withbreaks: /home/ruskin/projects/poet/poet_src/Evolve/DissipatingZone.cpp:128: virtual void Evolve::DissipatingZone::check_locks_consistency() const: Assertion __lock || (__lock.lock_direction() * __other_lock.lock_direction( )== -1) || ( __lock.spin_frequency_multiplier() == 1 && ( __lock.orbital_frequency_multiplier() == __lock.lock_direction() * max_abs_orb_mult ) && __other_lock.orbital_frequency_multiplier() == 1 && __other_lock.spin_frequency_multiplier() == 0 && __other_lock.lock_direction() == 1)' failed.

Code: cfile_12_withbreaks.txt

ruskin23 commented 4 years ago

After backtracking with gdb I checked which assertion was failing. The value of __lock.lock_direction() * __other_lock.lock_direction( ) is 1 while the assert statement says it should be -1

kpenev commented 4 years ago

Two questions that could narrow this down:

  1. Does the error occur at the very first time the secondary is created?
  2. Does changing the initial orbital period or the disk lock period assumed for the primary or the secondary affect the error?