Hamaker2 is a Java/Swing desktop application to predict the stability of colloidal suspensions within DLVO theory. It features a variety of interaction models for electrostatic, dispersion and steric interactions and can easily be extended via plugin models.
This project was originally developed in NetBeans using an Ant-based build. It has since been migrated to Maven to make it easier to build, package, and maintain outside of a specific IDE.
When publishing results obtained using the Hamaker software package, please cite the following reference:
U. Aschauer; O. Burgos-Montes; R. Moreno; P. Bowen, Journal of Dispersion Science and Technology, 32(4), 470-479 (2011).
The full user manual (theoretical background, built-in interaction models, and a guide to writing your own plug-in models) is available at doc/manual.md.
- Java 21 or later (JDK, not just a JRE — needed to build; any modern JRE 21+ works to just run it)
- Maven 3.6+
mvn clean packageThis produces a runnable jar with all dependencies bundled:
target/Hamaker2-jar-with-dependencies.jar
java -jar target/Hamaker2-jar-with-dependencies.jarPre-built binaries are not signed and may require you to bypass system security.
src/main/java/hamaker2/ Application source code
pom.xml Maven build configuration
| Library | Purpose |
|---|---|
| JFreeChart | 2D charting |
| JOGL | Java bindings for OpenGL (3D rendering) |
| Swing Layout Extensions | Legacy layout manager used by NetBeans-generated GUI forms |
- GUI forms were built with NetBeans's GUI builder (Matisse) and use the legacy
org.jdesktop.layoutpackage rather than the modernjavax.swing.GroupLayout. If you edit forms in NetBeans, this should continue to work as-is; editing generated// GEN-BEGIN/// GEN-ENDblocks by hand in another IDE is not recommended. - The project can still be opened directly in NetBeans (File → Open Project) since it's a standard Maven project.
MIT