christophersanborn / Radiative3D

Radiative transport in 3D Earth models
MIT License
10 stars 3 forks source link

New reportable event for phonons killed by NaNs and other pathologies. #8

Open christophersanborn opened 4 years ago

christophersanborn commented 4 years ago

Add to the report types (e.g. GEN, REF, CEL, SCT, TMO, etc) a new reportable event, NAN, and report and kill phonon in the following situations:

Note in latter case, it must be multiple consecutive zero-length moves, as reflection events, for example, produce legitimate "moves" where only the direction, not the location, are changed. (There's one known bug (#5) where a phonon gets stuck reflecting back and forth ad infinitum without actually moving anywhere...)

Additionally, add a counter so that at the end of simulation a report can be given of how many of these events occurred.

Related issues: #7 , #5

christophersanborn commented 4 years ago

Added this in commits bbd7f7b and 95689b2.

Assigned tag "INV" to this report type. (Instead of "NAN"). Catches the situations described above and also phonons that are stuck going really "slow" (defined as advancing less than a hundredth of a second over 128 Propagate() iterations), and also a max iteration trigger that will reject a phonon that exceed 2^20 iterations without hitting time-out.

Still need to add mention of this to the Manual. (So not closing issue just yet.)