Prolong CSSAIMS test - #72
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #72 +/- ##
==========================================
+ Coverage 54.86% 55.25% +0.39%
==========================================
Files 42 42
Lines 6183 6162 -21
Branches 836 832 -4
==========================================
+ Hits 3392 3405 +13
+ Misses 2432 2399 -33
+ Partials 359 358 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
50eccb0 to
d9069fa
Compare
|
@yoricklassmann I've prolonged the CSSAIMS test. The good news is it no longer crashes. The bad news is that according to Codecov it still doesn't cover the code path in SelectionModule, and I don't understand why. I verified this by applying this diff and the test still passes diff --git a/src/modules/SelectionModule.f90 b/src/modules/SelectionModule.f90
index cb87f03..f3f123e 100644
--- a/src/modules/SelectionModule.f90
+++ b/src/modules/SelectionModule.f90
@@ -111,6 +111,7 @@ contains
! 2. Perform selections within those bundles
! 3. Convert the results into the original bundle.
if (glzStoStateSpecific) then
+ error stop 1
allocate (BundleSS(B1%NumStates))
call fill_state_bundles(B1, BundleSS)
|
|
Test now covers the 4S path. |
|
Yes CSSAIMS produces a lot of files!! But that is to be expected as it spawns continuously and selects whenever possible. Of course there is the LimitTraj keyword missing that controls the maximum number of TBFs before selection is initiated. |
| 24.50 0.017574451 0.015763823 0.033338273 0.017338433 0.006081354 0.023419787 | ||
| 24.75 0.017558772 0.015785077 0.033343849 0.017340726 0.006108653 0.023449379 | ||
| 25.00 0.017541423 0.015803855 0.033345278 0.017300367 0.006122008 0.023422375 | ||
| 25.25 NaN 0.015825055 NaN 0.017300750 0.006148630 0.023449380 |
There was a problem hiding this comment.
Hmm, there are still Nan values in the E.dat file.
There was a problem hiding this comment.
Do you have a clue where FMS_CGVTT is? It is called by the FMS_potentialB but I can't find it anywhere...
There was a problem hiding this comment.
The code that is calling it is commented out, no?
There was a problem hiding this comment.
You are absolutely correct, not sure why I didn't see that.
There was a problem hiding this comment.
So then my hunch would be that the NaNs are due to the dead TBFs being too plenty and on top of each other so the energy they contribute will overflow at some point. This might also explain why I didn't see any NaNs when I implemented CSSAIMS originally, where the graveyard is always empty.
There was a problem hiding this comment.
Oh my god! The DeadH matrix elements are initialized wrongly... Whenever a new trajectory is added to the graveyard one would need to calculate matrix elements between all dead trajectories, but no that's not what happens. They are simply left uninitialized.
There was a problem hiding this comment.
Thanks for figuring it out! 🙏 I'll have a closer look next week.
|
So I think we can't actually calculate the matrix elements for the trajectories in the graveyard as it stands currently. So what I've done is to initialize the matrix elements between a newcomer to the graveyard and the rest to 0. As you can see this doesn't affect the tests. |
That sounds reasonable, thanks! Also thanks for opening #74 |
No description provided.