Skip to content

Latest commit

 

History

History
64 lines (43 loc) · 2.76 KB

README.md

File metadata and controls

64 lines (43 loc) · 2.76 KB

DOI build pytest codecov

Intellectual Property

MorphCT has been released under a GPL3 license (see LICENSE). Please read and cite our Molecular Simulations paper and our zenodo DOI if you use our code in your published work.


Code Description

The intention of this code is to form a modular, computational pipeline that can powerfully and coherently relate organic molecular morphology on the Angstrom lengthscale to electronic device performance over hundreds of nanometers.

MorphCT accomplishes this by:

  • Splitting a morphology into electronically-active chromophores that charge carriers (holes in the case of donor materials, electrons for acceptors) are likely to be delocalized along, and can perform quantized charge hops between.
  • Performing high-throughput, fast quantum chemical calculations (QCCs) to obtain the energetic landscape caused by conformational disorder, as well as electronic transfer integrals between chromophore pairs.
  • Using these calculated electronic properties as inputs into a kinetic Monte Carlo (KMC) algorithm to simulate the motion of charge carriers throughout the device, allowing carrier mobilities to be obtained (a good proxy for device performance)

Getting Started

Installation

To create a local environment with conda, run:

git clone [email protected]:cmelab/morphct.git
conda env create -f environment.yml
conda activate morphct

And to test your installation, run:

pytest

Using a container

To use MorphCT in a prebuilt container (using Singularity), run:

singularity pull docker://cmelab/morphct:latest
singularity exec morphct_latest.sif bash

Or using Docker, run:

docker pull cmelab/morphct:latest
docker run -it cmelab/morphct:latest

Running Jobs

Inputs

  • After setup, MorphCT requires the input molecular system (atomistic), and atomic indices of the chromophore (can be obtained via SMARTS matching).
  • Jupyter notebook examples are provided for the user in morphct/examples.