- Finally dealing with saddle points in the charge density.
- Opt -> Arg in arguments
- added a parse_filetype function.
- Took VoxelMap out of the box in bca.
- Added a method for calculating the Laplacian at a point.
- Added way to calculate the error in the partitioning from the Laplacian.
- Voronoi now stores the volume of the Voronoi cell.
- Removed clap as a dependancy.
- Changed the flags for file type to -f --file_type from -t --type.
- Changed the short flag for threads to -t from -J.
- Removed indicatif and atomic-counter as dependancies.
- Removed regex from dependancies.
- Progress bars are now created inside functions and whether they are shown is optional.
- Added a new silent flag: -x --silent.
- Removed the need of passing a density to the calculate_bader_volume_radius function.
- Changed the name of calculate_bader_volume_radius to calculate_bader_volumes_and_radii.
- Changed AtomVoxelMap to VoxelMap as there are no longer two VoxelMap variants.
- removed the VoxelMap triat.
- Changed the name of VoxelMap.boundary_iter() to VoxelMap.weight_iter().
- Added VoxelMap.maxima_len() and VoxelMap.weight_len().
- Removed anyhow for the error management.
- Changed the return of invert_lattice to Option as there is only one way it can fail.
- Removed index deletion in maxima finding.
- Removed the option to run at higher verbosities, will instead throw an error if maxima is far from atom.
- Added flag to pass to bca to control the distance at which the maxima distance error is thrown.
- Now runs with 1E-6 vacuum tolerance as default.
- Reduced memory usage of VoxelMap.
- Split out sum_bader_densities to calculate_bader_density and calculate_bader_volume_radius
- Updated dependancies and fixed the breaking changes associated with them.
- Bumped the minimum rust version required.
- Moving to allow python bindings by separating functions and making structs more streamlined.
- Switch the entire analysis section to functions rather than a struct.
- Threaded charge summing, assigning maxima to atoms and the new maxima finding function.
- Lots of moving around of functions and changing outcomes, i.e, to_cartesian now returns cartesian coordinates.
- Updated to Clap v3.
- Created a VoxelMap Trait.
- Added a nearest neighbour function.
- VoxelMap now handles the running of the bader calculation, using VoxelMap::calc().
- Writing of the charge density is now suppported.
- Changed how the maxima and weights are stored for the boundary voxels.
- Memory optimisations (issue: #30).
- Progress bars changed to not show by default, stops drawing of default bar.
- Functions that create a progress bar (assign_atom, charge_sum) now take one as an argument.
- Moved analysis functions (assign_atom, charge_sum, atoms_charge_sum) to own structure.
- Simplified VoxelMap to remove the weight index map. Weight indices are stored as negative numbers.
- Removed Rayon (issue: #25).
- Moved writing output to own module in anticipation of removing prettytable-rs.
- Dropped ongrid and neargrid, weight method fast and superior.
- github username change so updated all the links.
- Density now no longer contains the density and so has been renamed Grid.
- Crossbeam is used for threading scopes.
- Changed program name from bader to bca (Bader charge analysis).
- Removed Prettytables.
- Overflow error when vacuum tolerance is so high that all charge is vacuum.
- Set up new target for releases that doesn't require GLibC.
- Removed parking_lot::Mutex from the main program.
- Set up Zenodo
- Corrected the total of the Assigning to Atoms progress bar.
- Fixed SegFault at high thread count by pre-allocating weight_map (issue: #19).
- Added a cap of 12 to the amount of threads distrubuted over by default.
- Added a lock to maxima_get() in VoxelMap and made a maxima_non_blocking_get(), unsure if this would ever be a problem due to the lock on index.pop() but better safe than sorry.
- More of the crate documented
- Documentation tests added for all partitioning methods and for using weight_store in VoxelMap.
- Added spin flag for allowing cubes have spin and density output.
- Complete revamp weight method, now very fast and scales well.
- No longer able to apply weighting of boundaries to all methods, just the weight method.
- '--weight, -w' now controls the weight tolerance allowing extremely small contributions to be discarded.
- '--spin, -s' has been added for spin output on cube files.
- I/O now has a trait for standardising implementation of new file types.
- I/O modules now contribute to the formating of ACF and BCF files (maybe units in future).
- VoxelMap now controls the population and processing of the voxel maps.
- Custom Lock introduced to speed up threading.
- Volume weighting logic error (issue: #5).
- Standardised the method description in help information.
- Changed the BCF.dat file to include atom number.