Recent Releases of MDCraft
MDCraft - MDCraft 1.3.2
Scientific Software - Peer-reviewed
- Python
Published by pw0908 about 1 year ago
MDCraft - MDCraft 1.2.0
This release is primarily for the Journal of Open Source Software review process.
Changelog
mdcraft.analysis module
mdcraft.analysis.reader submodule
- Added a LAMMPS dump reader that supports multithreaded reading and reading extra attributes.
Scientific Software - Peer-reviewed
- Python
Published by bbye98 over 1 year ago
MDCraft - MDCraft 1.1.0
In this release, there are a number of under-the-hood optimizations, new features, and bug fixes. As a result, there are unfortunately some backwards-incompatible changes despite this being a minor version update. Moving forward, these types of breaking changes will be minimized as much as possible, if not avoided completely, to adhere to semantic versioning guidelines.
Changelog
mdcraft.algorithm module
mdcraft.algorithm.accelerated submodule
- Rearranged and renamed functions.
- Added the Numba-accelerated functions
numba_histogram_bin_edgesandnumba_histogramfor histogramming discrete data. - Renamed the
dot_1d_1d,inner_2d_2d, andinner_parallel_2d_2dfunctions tonumba_dot,numba_inner, andnumba_inner_parallel, respectively. - Moved the
delta_fourier_transform_1d_1d,pythagorean_trigonometric_identity_1d,pythagorean_trigonometric_identity_1d_1d,cosine_sum_1d, andsine_sum_1dfunctions to theopenmm.analysis.structuresubmodule, and renamed them tonumba_delta_fourier_transform,numba_pythagorean_trigonometric_identity,numba_cross_pythagorean_trigonometric_identity,numba_cosine_sum, andnumba_sine_sum, respectively. - Combined and moved the
delta_fourier_transform_sum_2d_2d/delta_fourier_transform_sum_parallel_2d_2d,cosine_sum_2d/cosine_sum_parallel_2d,cosine_sum_inplace_2d/cosine_sum_inplace_parallel_2d,sine_sum_2d/sine_sum_parallel_2d, andsine_sum_inplace_2d/sine_sum_inplace_parallel_2dfunctions to themdcraft.analysis.structuresubmodule, and renamed them tonumba_delta_fourier_transform,cosine_column_sum,cosine_column_sum_inplace,sine_column_sum, andsine_column_sum_inplace, respectively.
- Added the Numba-accelerated functions
mdcraft.algorithm.topology submodule
- Added the
convert_cell_representationandreduce_box_vectorsfunctions for manipulating representations of triclinic simulation boxes.
mdcraft.algorithm.unit submodule
- Renamed the
get_scaling_factorsandget_lj_scaling_factorsfunctions toget_scale_factorsandget_lj_scale_factors, respectively.
mdcraft.algorithm.utility submodule
- Added the
is_lower_triangularfunction. Useful for checking if box vectors are in their reduced forms.
mdcraft.analysis module
- All units stored in the
results.unitsattribute of analysis classes are now accessed using keys without theresults.prefix. For example, the unit forprofile.DensityProfile.results.number_densitiesis now obtained usingprofile.DensityProfile.results.units["number_densities"]instead ofprofile.DensityProfile.results.units["results.number_densities"].
mdcraft.analysis.electrostatics submodule
- Fixed issue in the
DipoleMomentanalysis class where the wrong volumes are used for systems with varying dimensions.- Removed the
dimensionskeyword-only argument since it restricted the analysis to only constant-volume systems. Now, the system dimensions/volumes are obtained directly from the trajectory. - Renamed the
scaleskeyword-only argument to the more descriptivedim_scales.
- Removed the
mdcraft.analysis.polymer submodule
- Fixed an issue in the
EndToEndVectoranalysis class where the time lags inresults.timesare are determined incorrectly when specific frames are specified for the analysis. - Fixed two issues in the
Gyradiusanalysis class.- Fixed issue where the wrong volumes are used for systems with varying dimensions when
unwrap=True. - Removed the
dimensionskeyword-only argument since it restricted the analysis to only constant-volume systems. Now, the system dimensions are obtained directly from the trajectory. - Fixed issue where the wrong number of chains and chain lengths are used when
"residues" in groupings,unwrap=True, andparallel=True.
- Fixed issue where the wrong volumes are used for systems with varying dimensions when
- Refactored the
SingleChainStructureFactoranalysis class.- Removed the
unwrapkeyword-only argument since it is unnecessary to unwrap atom positions when the simulation system is cuboid. - Replaced the parallel implementation with a Numba-accelerated one similar to that used in the
mdcraft.analysis.structure.StructureFactoranalysis class.
- Removed the
mdcraft.analysis.profile submodule
- Refactored the
DensityProfileanalysis class.- Renamed the
scaleskeyword-only argument to the more descriptivedim_scales. - Removed the
dtkeyword-only argument. The times can now only be obtained directly from the trajectory. This change shouldn't pose any issues since the times are not explicitly used in the analysis. - Both serial and parallel implementations now use the Numba-accelerated
mdcraft.algorithm.accelerated.numba_histogramfunction for histogramming, which can provide a significant speedup for large trajectories. - The number density, charge density, and potential profiles are now stored in
dicts instead oflists for more logical access using axis labels, i.e."x","y", and"z", instead of axis indices, i.e.0,1, and2. This change also enables using different numbers of histogram bins in each dimension with the parallel implementation.
- Renamed the
mdcraft.analysis.structure submodule
- Replaced
numpy.histogramcall in theradial_histogramfunction with the Numba-acceleratedmdcraft.algorithm.accelerated.numba_histogramfor better performance. - Renamed the
x_iandx_jarguments in thecalculate_structure_factorfunction andRadialDistributionFunction.calculate_structure_factormethod tox_aandx_b, respectively, to avoid confusion with the notation used in the documentation. - Added the
generate_spherical_wavevectorsfunction, which supports non-cubic simulation systems and will be used in theStructureFactor,IntermediateScatteringFunction, andmdcraft.analysis.polymer.SingleChainStructureFactoranalysis classes in a future MDCraft release.
mdcraft.analysis.transport submodule
- Renamed the
calculate_electrophoretic_mobilityandcalculate_transference_numberfunctions tocalculate_electrophoretic_mobilitiesandcalculate_transference_numbers, respectively, to reflect the plural nature of the return values. - Refactored the
Onsageranalysis class.- Fixed an issue where the time lags in
results.timesare determined incorrectly when specific frames are specified for the analysis. - Renamed the
results.conductivitiesattribute toresults.conductivity. - Renamed the
calculate_electrophoretic_mobilityandcalculate_transference_numbermethods tocalculate_electrophoretic_mobilitiesandcalculate_transference_numbers, respectively, to reflect the plural nature of the return values.
- Fixed an issue where the time lags in
Scientific Software - Peer-reviewed
- Python
Published by bbye98 over 1 year ago
MDCraft - MDCraft 1.0.0
Initial release.
Scientific Software - Peer-reviewed
- Python
Published by bbye98 almost 2 years ago