Recent Releases of KMC_Lattice v2.0
KMC_Lattice v2.0 - Build System Update
This minor update adds clang compiler support to the makefile and updates the Travis CI build matrix to test clang compilation and improve detection of the compiler installed on the user's system. The Travis CI build matrix is also updated to use the Ubuntu Linux xenial or bionic distributions instead of trusty in order to fix a bug with code coverage reporting. There are no changes to the underlying code in this release.
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 5 years ago
KMC_Lattice v2.0 - MPI Calculate Pair Vector Average Update
This minor update provides a new utility function called MPI_calculatePairVectorAvg for calculating the average of distribution data coming from different processors.
For a complete listing of the new changes, see the Changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 7 years ago
KMC_Lattice v2.0 - JOSS Paper Correction
Corrected a small typo in the JOSS paper. No major changes from v2.0.0.
For a complete listing of the new changes, see the Changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 7 years ago
KMC_Lattice v2.0 - First Stable Release!
No major changes since v2.0.0-rc.2. Finalized v2.0.0 after feedback and minor revisions during the review stage of the JOSS paper submission.
For a complete listing of the new changes, see the Changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 7 years ago
KMC_Lattice v2.0 - Second Release Candidate
Major Updates: - Added paper draft to be submitted to the Journal of Open Source Software - Added link to newly updated repo, KMCLatticeexample, for a well-commented simple example
For a complete listing of the new changes, see the Changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 7 years ago
KMC_Lattice v2.0 - First Release Candidate
KMC_Lattice v2.0 has now left the beta stage and now has a stable feature set and public API.
Major Updates: - Added detailed changelog - Added instructions for new contributors - Added Utils functions using float data vectors for users that want to save memory compared to double vectors
For a complete listing of the new changes, see the Changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber about 7 years ago
KMC_Lattice v2.0 - BKL Algorithm and Utils Update
Major updates in this release:
- Updated header guards to have the KMC_Lattice project name
- Added KMC_Lattice namespace for all code and removed the Utils namespace
- Added Version class from Ising_OPV to store version information and allow version comparisons
- Updated README to add information about the Version class
- Implemented the BKL algorithm to determine which event pathway will occur
Event class: - Added new member variable called rate_constant to be used in the BKL algorithm to determine which event pathway will occur - Derived event classes will now need to define the calculateRateConstant function
Simulation class: - Added function determinePathway which implements the BKL algorithm - Added function getErrorStatus to return error status of the simulation
Utils file: - Updated many of the Utils functions from Ising_OPV - Removed importBooleanParam function and replaced it with the str2bool function - Added the calculateDensityHist function to calculate the density histogram / discrete probability distribution from a probability histogram
For a more detailed description of the new changes, see the primary commit changelog
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber about 7 years ago
KMC_Lattice v2.0 - Testing and Continuous Integration Update
Major updates in this release:
- Added the googletest submodule for unit testing
- Added Coveralls integration to monitor test coverage
- Added numerous code tests to reach high coverage of typical use conditions
- Added Travis CI integration for continuous integration tests that run build and unit tests with different GCC compilers and MPI implementations
- Added a default makefile that constructs a library archive object to be used by other packages
- Reorganized files and directories to keep everything tidy
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 7 years ago
KMC_Lattice v2.0 - Minor Update
Updates in this release:
- The Simulation and Lattice classes now contain getVolume functions so that users can determine the volume of the simulation box without calculating it externally.
- Implemented the use of const_iterators where appropriate to prevent developers from accidentally modifying the object referred to by the iterators.
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 8 years ago
KMC_Lattice v2.0 - Event Recalculation Algorithm Update
Updates in this release:
- Users can now select what KMC event recalculation algorithm they want to use, either the first reaction method, the selective recalculation method, or the full recalculation method
- Simplified usability through improved function and member variable names
- Simplified usability by simplifying the event execution time calculation
- Add system for storing and retrieving error messages
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber almost 8 years ago
KMC_Lattice v2.0 - First Beta Release!
Minor updates in this release:
- Removed the standard namespace from header files to prevent the standard namespace from automatically being applied to all files when including this package as part of a larger software package.
- Updated the Lattice class to use a long integer datatype for site indices to allow larger lattices.
- Added getN_events function to the Simulation class to return the number of events in the event list to allow detection of edge cases where there are no available events.
- Corrected bug in calculating the bin positions in the calculateProbabilityHist function within the Utils
Major changes since KMC_Lattice v1.0:
- Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required.
- The Event class now calculates and stores the execution time of the event instead of the wait time.
- Added functions to the Event and Site classes that enable the calculation of reaction events between two objects.
- Added new functions to the Simulation class and the Utils file that make it easier to build new simulation applications.
- The Event class now has a default function for calculating the execution time that can be overloaded in derived Event classes for implementing more complex mechanisms
- API documentation created with Doxygen
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber about 8 years ago
KMC_Lattice v2.0 - Minor Alpha Update
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
This minor update contains the addition of several new functions to the Utils namespace and Lattice class.
Major changes since KMC_Lattice v1.0:
- Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required.
- The Event class now calculates and stores the execution time of the event instead of the wait time.
- Added functions to the Event and Site classes that enable the calculation of reaction events between two objects.
- Added new functions to the Simulation class and the Utils file that make it easier to build new simulation applications.
- The Event class now has a default function for calculating the execution time that can be overloaded in derived Event classes for implementing more complex mechanisms
- API documentation created with Doxygen
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago
KMC_Lattice v2.0 - API Documentation Update
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
This update contains minor improvements throughout the codebase, a major refactoring of the Simulation class to separate out a new separate Lattice class, and complete API documentation using doxygen.
Major changes since KMC_Lattice v1.0:
- Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required.
- The Event class now calculates and stores the execution time of the event instead of the wait time.
- Added functions to the Event and Site classes that enable the calculation of reaction events between two objects.
- Added new functions to the Simulation class and the Utils file that make it easier to build new simulation applications.
- The Event class now has a default function for calculating the execution time that can be overloaded in derived Event classes for implementing more complex mechanisms
- API documentation created with Doxygen
This release was developed under the financial assistance award 70NANB14H012 from U.S. Department of Commerce, National Institute of Standards and Technology as part of the Center for Hierarchical Materials Design (CHiMaD).
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago
KMC_Lattice v2.0 - Utils, Bug Fix, and Cleanup Update
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
This update contains improvements to the Utils and fixes a rare bug in the Simulation class that occurred when there are no valid events for an object.
Major changes since KMC_Lattice v1.0: - Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required. - The Event class now calculates and stores the execution time of the event instead of the wait time. - Added functions to the Event and Site classes that enable the calculation of reaction events between two objects. - Added new functions to the Simulation class and the Utils file that make it easier to build new simulation applications. - The Event class now has a default function for calculating the execution time that can be overloaded in derived Event classes for implementing more complex mechanisms
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago
KMC_Lattice v2.0 - Event calculateExecutionTime Update
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
This update contains a change to how event execution times are calculated in order to simplify the implementation of derived Event classes.
Major changes since KMC_Lattice v1.0: - Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required. - The Event class now calculates and stores the execution time of the event instead of the wait time. - Added functions to the Event and Site classes that enable the calculation of reaction events between two objects. - Added new functions to the Simulation class that make it easier to build new simulation applications. - The Event class now has a default function for calculating the execution time that can be overloaded in derived Event classes for implementing more complex mechanisms
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago
KMC_Lattice v2.0 - Excimontec v0.1-alpha Release Update
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
This update contains new features, modifications, and bug fixes implemented during the development of Excimontec v0.1-alpha.
Major changes since KMC_Lattice v1.0: - Replaced boost random number generator usage with the standard random number generator introduced in C++11, so that the boost library is no longer required. - The Event class now calculates and stores the execution time of the event instead of the wait time. - Added functions to the Event and Site classes that enable the calculation of reaction events between two objects. - Added new functions to the Simulation class that make it easier to build new simulation applications.
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago
KMC_Lattice v2.0 - KMC_Lattice v1.0: First Release!
This object-oriented C++ software package contains a general framework for lattice kinetic Monte Carlo (KMC) simulations. This framework consists of a number of base classes and utility functions that must be extended to create a full operational KMC simulation. The goal of this package is to be robust and flexible so that users can easily develop KMC simulations for a wide variety of different scientific problems without the need to start from scratch. See the readme file for more information.
Scientific Software - Peer-reviewed
- C++
Published by MikeHeiber over 8 years ago