Skip to content

March 2023

Wednesday 1st March

Good day, taught Laura a lot! had a decent sleep in after all this chaos.

Thursday 2nd March

Had a meeting with Katya and Laura about Laura’s project, and then taught in the afternnon. am exhausted

From meeting re Laura:

  • Start on lit review asap
  • What goals need to be covered, then work backwards from there
    • Focus on the broad issues, then explore the underlying issues
    • Keep description and properties of fluorophores to a minimum
  • Week 3: Aims
  • Week 6: Skills and knowledge
  • Week 8: Intro - draft after mid-sem (week 7)
  • Week 11: Overall reflection
  • Week 12: Report (in form of paper)
  • Week 13: presentation

Ask Sophie to schedule practice presentation.

Friday 3rd March

Finally a day where I’m not teaching!!! Hopefuly I can get some work done πŸ˜’

  • Redoing bsc jobs from an MP2 guess since they were behaving really weirdly with superci
  • r800 is still going…

From meeting

  • Case study of a single species with ESD in low polarity solvent
    • Currently re-opt s1 and s2 with calchess and angulargrid 6
    • Then Freqs of all states
    • Then ESD
  • +Deconvolution

I’ve written code additions for generation of an adiabatic hessian (hessian of other state at current state geom) and for ESD additions, and I’m waiting for some other jobs to finish before I can get these through.

Saturday 4th March

I’ve been pushing through the ESD jobs and have been trying to get all the other stalled opts up and running again.

Monday 6th March

For ESD stuff, I realised that I can use dirac deltas instead of gaussians as my output lineshape, which means I should be able to pick the most significant peaks. I could use a convolution and pass it over to find the most significant peak

I need to write a standalone deconvolution script for sophie:

Files to save out:

  • CSV of the three specra
    1. Processed/smoothed raw spectra
    2. Deriv space spectra
    3. Normalised spectra
  • CSV with deriv space fitted gaussians (loc, amp, sigma)
  • CSV with re-fitted gaussians (loc, amp, sigma)
  • TOML settings file with ALL the input parameters
  • Save image file

Tuesday 7th March

Well, I felt very drained today, but I found a way to process my ESD spectr, by Gaussian smoothing the spectra and then ofsetting the smoothed spectra by a certin amount. Any point above that line can be considered important

Wednesday 8th March

So I couldn’t sleep from like 4am, and ended up coding for the next three hours… The good thing is that the deconvolution notebook for Sophie is nearly done. I just need to write a function to export the data now.

That is done, and my module is ready for use!

I spent the afternoon helping Laura and Sophie get their work out, and managed to queue up a huge bunch of jobs to churn through.

Laura is currently calculating casscf freqs to see how good our geoms are.

Thursday 9th March

Didn’t manage to get a huge aount done today… Meeting with Katya and Laura, and I added another little feature to the deconvolution tool in order to allow for ftting of a small region, without clipping out the rest of the spectrum.

Sunday 12th March

NWChem 7.2.0 has finally been released which makes me think that I should possibly start exploring VEM/SMSSP results, but I think I’m starting to realise that TD-DFT results are absolutely meaningless for comparing to a spectrum, without either 0-0 energies, or ESD calculations.

For Laura:

I think Laura is going to need to compare 0-0 energies for her work


So in my hormonal/withdrawal mess this afternoon, while trying to distract myself in code, I managed to rsync all my files into the aether. All gone.

I grabbed what I could from Laura’s folder and and trying to just focus on getting some robust gas phase computations done for now. I’ve started with CASSCF opts, and have queued up wB97X-D opts for the opts that are complete.

Yes, I did email mcc-help to ask for them to restore my data from a backup, but I’m not sure how old it will be. I’m also working from a different directory in case they overwrite my current jobs when they restore the backup (however old it may be).

Monday-Tuesday 13-14th March

Teaching day today… then shit hit the fan in the evening interpersonally. I’m struggling a fair bit, but I’ll keep pushing through.

Wednesday 15th March

Okay, I have an emergency appointment with the GP at monash health and will hopefully get something to help with this stress/sleep.

We still haven’t heard anyhting back from TCI about procuring the asp, so I’ve decided to cull it from the dataset. I can’t find any other commercially avaialble thiophene based fluorophores, so I don’t think I’ll replace iot with another species.

Thursday 16th March

So I’m taking most of the day off today, but I did notice one thing in my spectra that needs addressing. In all the spectra Laura took yesterday, there were a lot of lower energy peaks that mirrored that of the primary transition, or existed as an individual gaussian. In reading, these can be attributed to three distinct scattering phenonmena:

  1. Rayleigh scattering (\(\lambda=\lambda_{excitation}\)) - This is simply scattering that happens at the same wavelength as the excitation source, and can be easily accounted for by making sure there’s a 10nm gap between excitation and emission recording. This appears as a single gaussian.
  2. Raman scattering (Stokes) (\(\lambda>\lambda_{excitation}\)) - This appears as a single gaussian and should be accounted for in the 10nm gap for Rayleigh scattering.
  3. Raman scattering (Stokes) (\(\lambda<\lambda_{excitation}\)) - This also appears as a single gaussian but is much more difficult, since the scattered light may overlap with the fluorescence spectrum. One way to account for this is the obtain a spectrum of JUST the solvent and subtract this from the flurescence spectrum.
  4. Second (and third) order diffractions - These appear as a copy of a part of the spectrum at a lower energy region, and include bot the fluorescence spectrum, and the three kinds of scattered light. This can mostly be accounted for by using emission filters to block out light that comes in from a greater angle to the diffraction grating. Setting the emiison filter on the Cary Elcipse from “Open” to “Auto” seems to do the trick.

Saturday 18th March


Running ESD for every job to identify transitions seems a tad extreme, but what if we use gs/es hessians to figure out a vibrational state-specific transition energy.

For this approach, we’d need:

  • GS hessian
  • nEq ES@R(GS) hessian

From these we should be able to figure out the excitation 0-0 transition (this will be different from the Eq/Eq 0-0 for Goerigk and Grimme) and the corresponding energies for each of the subsequent higher vibrational transitions.

We’re making heavy assumptions that the process will be adiabatic here though, and that the harmonic oscillator approach will hold.

To verify the harmonic oscillator, I’m running some anharmonic vibrational corrections using NWChem’s VSCF module. It’s slow, but we should be able to quantify some errors.

  • I’m trying to reduce costs by only calculating correctiosn for the diagonal ter,s, and I’m halving the resolution form 16 displacement steps to 8 (any lowere and I got weird errors)

Sunday 19th March

I realised that I made some errors in the above protocol that have since been ammended. Mostly that for this approach to work, both hessians need to be based on the starting geom (GS for excitation, ES for emission)

Also… HOLY CRAP is NWChem’s TDDFT module slow! Perhaps I ned to use a smaller grid and cheaper functional…

Monday 20th March

Teaching day. Nothing to report.

Tuesday 21st March

I’ve been feeling a bunch of burnout building, so I spent my day working on an API that runs on my home server and takes in job status updates to spit out a nicely formatted table of jobs, their cluster, status, and when their status last changed. I have it up and running and it looks good! (well, useful).

Screenshot 2023-03-22 at 10.07.53 am

It was pretty easy to write the Flask and SQL app, but the hard part (that took many hours) was getting to run as a subdomain using Apache.

Wednesday 22nd March

Another teaching day, so not much to report…

Thursday 23rd March

Burnout recovery day, just worked on compiling NWchem better

Friday-Sunday 24th-26th March

More burnout recovery today, but I realised a few important things while in the lab with Laura:

  1. Our nda sample may not be pure
  2. I’m going to need a solvent blank for EVERY fluorophore/solvent emission at every different excitation wavelength to account for raman scattering
  3. This means I need more cuvettes so that I don’t constantly have to empy and blank between each reading (Toby is going to order more)
    • This can’t really be mitigated with protocol work since I need to play with the excitation wavelength to get the correct peak and minimise scatter, so I need at least one more that I can get a solvent blank with.

Monday, Wednesday 27th-29th March

Another big teaching week, don’t expect too much from me

NWChem Testing (all performed with 8 cores 16GB on hi01)

identifier Crashes on test CPU Time Wall Time β¬‡οΈŽ efficiency
-f90 no 1166.0 1169.5 99.7%
-knl no 1207.2 1211.3 99.7%
- no 1280.5 1286.4 99.5%
- no
-mpipr no
-openib unstable

Questions I’m currently trying to answer

  • Can we use frequency calulations dierectly to think about the individual transitions?
  • How significant is anharmonicity in effecting transition energies?
    • Even if it’s significant in overall thermodynamic properties, do the errors cancel out when considering both GS and ES PES anharmonically?
  • In investigating 0-0 transition energies, what is the most correct formal approach?
    • Adiabatic 0-0 - R(initial) Eq → R(initial) nEq !! This approach is fundamentally flawed, as you will ALWAYS get negative frequencies !!
      • Using relaxed densities is probably important here though since the wfn will have time to relax
    • Equilibirated 0-0 - R(initial) Eq → R(final) Eq
      • This doesn’t give the distinct difference in abs and fluor 0-0 peaks though

Spectra that need re-taking

  • az
  • r800
  • nda
  • dapi
  • daa

Job Matrix

CAS (M3)

State Active Spaces Opt Freq FIC-CASPT2K SC-NEVPT2 QD-NEVPT2
s0 βœ… πŸƒ πŸƒ
s1+2 βœ… πŸƒ πŸƒ

DFT - Gas (MonARCH)

State Functional Opt Freq Pol Ex/Em ESD
s0 Ο‰B97X-D βœ… βœ… βœ… βœ…
s1+2 Ο‰B97X-D βœ… πŸƒ πŸƒ
s0 CAM-B3LYP βœ… βœ… N/A
s1+2 CAM-B3LYP βœ… πŸƒ N/A

DFT - n-Hexane

State Functional Opt Freq Pol SS VEM ESD
s0 Ο‰B97X-D
s1+2 Ο‰B97X-D
s1+2 CAM-B3LYP

To Run an ESD job:

  1. Calculate frequencies of GS and ES
  2. Run ESD Calcs for both states - both with eq solvaion
    • GS: ESD(ABS)
    • ES: ESD(FLUOR)

To do:

  • To read
    • Read Betaine 30 paper 10.1002/chem.201604619
  • Jobs to wr
    • Test QChem to figure out how to do VEM/cLR/LR/IBSF emission
  • Code
    • Write standalone deconvolution notebook
    • Write energy extractors
      • pullQChem_Freq
        • \(\Delta E_{ZPVE}\)
        • \(\Delta E_{elec}\)
        • Number of -ve freqs
        • Extend and test for CASSCF
      • Q-chem ex/em extractors
        • ss-ex
        • ss-em
        • lr-ex
        • lr-em
  • Documentation

    • Transfers documentation
    • Contact List
    • ORCA and QChem examples
    • Try lerping between states


    dateFormat D/M/YY
    title Adrea's PhD Plan
    %%excludes    weekends

    section Preparation
    Preliminary reading                     :active,                    5/4/22,     10/2/23
    Method "Play"                               :done,                      5/4/22,     10/6/22
    Software comparisons                    :done,                      10/6/22,    13/7/22
    Preliminary benchmarking            :done,                      12/7/22,    27/10/22
    Christmas break                             :crit,                      22/12/22,   3/1/23
    Dataset design                              :active,                    12/7/22,    18/12/22
    Experimental design                     :active,                    28/11/22,   27/1/23

    section IPR/Confirmation
    IPR writeup                   :ipr,                         19/12/22, 10/2/23
    IPR                           :milestone, ipr,  23/2/23,    0d
    Confirmation writeup                    :                                   29/3/23,    10/5/23
    Confirmation                                    :crit, milestone, 24/5/23,  0d

    section Dataset paper
    Data collection                             :dc,                            6/3/23,     12w
    Data processing                             :                                   6/3/23,     18w
    Writeup                                             :w, after dc,                           8w
  R&R break                                         :crit, after w,                         2w

    section Computational dataset analysis paper
  Computation                                       :                                   6/3/23,     30w
  Analysis                                          :                                   1/6/23,     20w
  Writeup                                               :                                   1/8/23,     20w
  Christmas break                               :crit,                      22/12/23,   3w

  section Solvent model extension/development
  Computation                                       :                                   9/1/24,     5/7/24
  Writeup                                               :                                   5/7/24,     6/9/24
  R&R break                                         :crit,                      6/9/24,     2w

  section Progress review
  Progress review writeup               :                                   14/3/24,    9/5/24
    Progress review                             :milestone,             23/5/24,    0d

  section Fourth paper (possibly benchmarking or deconvolution)
  Computation                                       :                                   27/9/24,    19/12/24
  Christmas break                               :crit,                      20/12/24,   2w
  Writeup                                               :                                   6/1/25,     3/3/25

    section End of PhD
    Final review writeup                    :                                   28/3/25,    9/5/25
    Final review                                    :milestone,             23/5/25,    0d
    Drop everyhting for thesis      :                                   25/4/25,    25/7/25
    Thesis submission                           :crit, milestone,   22/8/25,    0d

Code Object Structure

flowchart LR
    subgraph Legend
    5[/Data Types/]
    6[Hidden Code\n12000+ lines]:::backend
    7[User Facing Code\n3000+ lines]:::ui

    classDef backend fill:#bfbdbd;
    classDef ui fill:#fa4ba0;
    classDef db fill:#00f2ff;
flowchart TD
    a -- Output Files --> g
    g -- SLURM Scripts -->  
    a((HPC Clusters))
    subgraph Backend Code
    s[/Spectrum Object/]:::backend
    o[/PCM Models/]:::backend
    q[/Basis Sets/]:::backend
    s & m & n & o & p & r & q -.-> l[[Data Types]]:::backend -.- w
    g[[HPC Manager]]:::backend -.- w
    w[[Resources module]]:::backend

    c <-- Job Status --> v
    c -- QM Properties --> k

    subgraph Databases
    j[DB Manager]:::ui -.- b & e & k
    e[(Ξ”E/Ξ»/Ξ¦/Ο„ DB)]:::backend
    b[(Spectra DB)]:::backend 
    k[(Computational Results DB)]:::backend
    v[(Computational Progress DB)]:::backend
    v <--> j

    subgraph Experiment
    h[Spectra Importer]:::ui 
    i[Spectra Analyser/Plotter]:::ui
    t -- .txt files --> h
    d -- .csv files --> h

    c[Job Manager]:::ui 
    b <-- Fitted spectra --> i

    h -.- i -- Spectral Features --> e
    b <-- Fitted spectra --> h

    w -. Jobs -.- c
    w -.- j

    k & e --> u[Stats Scripts]:::ui

    classDef backend fill:#bfbdbd;
    classDef ui fill:#fa4ba0;
    classDef db fill:#00f2ff;