Hybrid Particle Swarm Optimization and Genetic Algorith (HPSOGA) implementation for global minimum search in molecular oxygen clusters
This repository contains the implementation of a HPSOGA used to explore the potential energy surface of molecular oxygen clusters and find their minimum-energy configurations.
The code was developed as part of the study:
"Molecular oxygen tetramer: multiplet structure and global minima"
The implementation provided in this repository is based on the Hybrid Particle Swarm Optimization and Genetic Algorithm with population partitioning (HPSOGA) originally proposed by:
Ali, A. F., & Tawhid, M. A. (2017).
A hybrid particle swarm optimization and genetic algorithm with population partitioning for large scale optimization problems.
Ain Shams Engineering Journal, 8(2), 191–206.
https://doi.org/10.1016/j.asej.2016.07.008This code implements only the HPSOGA optimization algorithm. It requires a function to evaluate the Potential Energy Surface (PES).
In this repository, the PES routine used is implemented in:
src/BaseDesacoplada.f95
This file is called by the optimizer during the energy evaluation step and is required for the program to run.
bin/ # Executable
inout/ # Input and output files
make/ # Makefile
src/ # Source code
README.md
General workflow:
- Define the input variables in
inout/data.inp - Adjust the search space in
inout/range.inpby setting hte range and presicion of each dimension. - If the executable is not available, run
makein htemake/directory to compile the program. The executable will be created inbin/ - Run the executable.
- Analyze the results in
inout/results/