Computational Laboratory for Energy And Nanoscience

University Homepage | Department of Physics
University Homepage | Department of Electrical and Computer Engineering
Map it | City of Ottawa | Regional News | Local Weather | Government of Canada

Codes and Computing

genheas = Generate High Entropy Alloys Structures

genheas is a neural evolution structures (NESs) generation methodology combining artificial neural networks (ANNs) and evolutionary algorithms (EAs) to generate High Entropy Alloys (HEAs).

Unsupervised Hyperspectral Stimulated Raman Microscopy Image Enhancement: De-Noising and Segmentation via One-Shot Deep Learning

Unsupervised and supervised deep neural network models working with stimulated raman spectroscopy microscopes

ChemGymRL: Reinforcement learning environments for Chemistry and Physics Problems

Collection of OpenAIGym environments of model chemistry labs for developing new RL and Active learning algorithms for automated materials discovery.

Deep learning and high harmonic generation

We use CNN & autoencoders to demonstrate many potential applications of deep learning in the field of high harmonic generation with strong fields

Watch and Learn: transferable and generalized learning with physical law

Using RNN and EDNN to push the boundaries of what can be learned from a single set of observations

RUGAN = Regressive upscaling generative adversarial network

RUGAN is a form of generative machine learning that can learn to mimic measurements from experiments or computer simulation. In the same way that generative adversarial neural networks can learn to make synthetic images of cats, RUGAN can make synthetic observations that are numerically accurate. For some implementations see For details and an interesting use case, see our publication.

Extensive deep neural networks

EDNN are a form of neural network which can learn from small systems and be used at arbitrary scale. Here are some implimentations. For more info, see our publication.


Leucippus is a plugin for the popular ImageJ project which can extract positional and compositional information from nanoscale microscopy data using computer vision.

HASHKAT (Agent Based Simulation)

( HASHKAT is a dynamical network simulation tool designed to model the growth of and information propagation within an online social network. It is an agent-based, kinetic Monte Carlo engine capable of simulating online networks such as Facebook, Twitter, LinkedIn, etc. HASHKAT incorporates all elements of online social networks including multiple user profiles (e.g. standard users, organizations, celebrities, and bots), user messaging, trending topics, and advertising. Agents within the network make decisions (e.g. follow, unfollow, broadcast, and rebroadcast) based on a variety of user defined factors including geography, political affiliation, musical interests, and humour. HASHKAT allows for simulation of a realistic online social network, enabling users to test hypotheses for growth mechanisms and scenarios for information propagation. As it solves the forward problem, HASHKAT can be used with Big Data analytics tools to test data collection protocols and ensure inverse model validity.

Analysis scritps & codes we write


All of the above are hosted on They are free for use provided you cite us (see the README file for each repo for a paper reference if there is one, otherwise a weblink here is sufficient). To use them, simply type "git clone git://" into your terminal (assuming you're using Linux or OS X), where XXX is the name of the desired repo. In case you're wondering, from Wikipedia: "Git is a distributed revision control and source code management system with an emphasis on speed".

Codes we use

Here are a list of commercial and FOSS codes which we use in our research., VASP, CPMD, abinit, BerkeleyGW, VMD, caffe, Polymatic,,,,



CMR,, Quantum Simulation Databank, NIST QC Databank, Harvard Clean Energy Project Database, Materials Project, Quantum Machine Database

Useful neural network potentials and tutorials

Edit on GitHub
UOIT uOttawa uWaterloo UOIT