This contains a number of fixes to various things that broke:
Performance improvements by calling updateGRO instead of loading a new file caused issues with the caching of auxiliary systems in the solution insertion code. That caching has been reduced, and it now loads a new model when necessary to avoid those issues. This makes insertion beyond the first event slower than before, but the performance gain by using updateGRO after each step is still very much a net positive.
solute_density_profile function returns the calculated/cached value to avoid potential accidental accesses to invalid cache
Type annotation moved to comments to avoid compatibility issues with older python versions.
Prevent error in recursive_correct_paths when input_gro_file is set to ~ (None) for solution insertion (e.g. could be the case if use_self: true.
Fixed highest_z detection for first step of vacuum deposition when only substrate is present (returns 0 in this case)
Additionally:
Documentation added to defaults for system-specific parameters.
test.py updated to include new tests for solution insertion. Also switched to psutil.cpu_count in order to count physical cores rather than logical cores. Using the logical core count returned by multiprocessing.cpu_count causes issues for the MPI tests.
Added -h as an alternative option to --help
Added 2nd cycle to self insertion test to catch any issues that may cause.
All tests pass now.
Added psutil to dependencies, but not 100% sure if that's needed, or if there are other packages that may need adding.
This contains a number of fixes to various things that broke:
updateGRO
instead of loading a new file caused issues with the caching of auxiliary systems in the solution insertion code. That caching has been reduced, and it now loads a new model when necessary to avoid those issues. This makes insertion beyond the first event slower than before, but the performance gain by usingupdateGRO
after each step is still very much a net positive.solute_density_profile
function returns the calculated/cached value to avoid potential accidental accesses to invalid cacherecursive_correct_paths
wheninput_gro_file
is set to~
(None
) for solution insertion (e.g. could be the case ifuse_self: true
.highest_z
detection for first step of vacuum deposition when only substrate is present (returns 0 in this case)Additionally:
test.py
updated to include new tests for solution insertion. Also switched topsutil.cpu_count
in order to count physical cores rather than logical cores. Using the logical core count returned bymultiprocessing.cpu_count
causes issues for the MPI tests.-h
as an alternative option to--help
All tests pass now. Added
psutil
to dependencies, but not 100% sure if that's needed, or if there are other packages that may need adding.