Call for Postdoctoral Fellows

Join the Double Layer lab-hub as a postdoctoral fellow at the University of Latvia!

If you are a post-doc seeking independence through training skills and gaining knowledge in a supportive environment, then this post is for you. This is an opportunity to advance your career through Marie Skłodowska-Curie Actions’ (MSCA) by focusing on competencies, like academic writing, research methods, and supervision, that are essential for succeeding in academia or industry.

I suggest submitting one 10 page-long proposal to at least three calls on the 10 September 2025. The core application is for the MSCA postdoctoral fellowship which provides funding for up to 24 months of research and training. To get this prestigious grant one must gain more than 95% in the evaluation, yet passing the 85% threshold already opens the opportunity to be funded by the ERA Fellowships. Moreover, passing the 70% threshold makes you eligible to be funded by Latvia. Even more, there is a Latvian post-doc fellowship. Submitting to all these calls increases your chances to fulfill your research idea and advance your career. These fellowships include a salary (up to 3000 € net for MSCA in Latvia), research expenses, and, if applicable, family allowance.

CallSubmissionDecisionStartThresholdSuccessLink
Latvian 1May 2025Summer 2025Sept 202550%lzp.gov.lv
MSCASept 2025Feb 2026Mar–Dec 202695%16%, 1700PFec.europa.eu
ERA TalentsSept 2025Feb 2026Mar–Dec 202685%20PFec.europa.eu
Latvian 2March 2026May 2026Jun–Dec 202685%lzp.gov.lv

Why University of Latvia?

  • Great working conditions at a new campus (house of nature) in the heart of Riga.
  • Work-week of 40 hours from Monday to Friday and vacation.
  • Attention to work–life balance, safety, and DEI.
  • Systematic support during the process of application.

Why the Double Layer lab-hub?

  • Double Layer lab-hub is a place for modelling scalable chemical processes involving the electrical double layer.
  • It has a horizontal hierarchy and focuses on process-orientated research with attention to excellence and collaboration.

Why Vladislav Ivanistsev as a mentor?

  • Research experience related to the electrical double layer, see list of publications.
  • Experience in supervising dozens of postdocs and BSc–PhD students as well as mentoring over 100 members of the Estonian national team at the international Chemistry Olympiad.
  • Experience in obtaining MSCA PF and national grants.
  • Personal support during the process of application.

Further details

To be considered for the opportunity, you will undergo a pre-selection process based on your CV, project idea, and motivation letter. There are three main eligibility requirements:

  • You must hold a PhD and up-to 8 years of full-time research experience by the time of the application. Check the eligibility calculator.
  • Applicants of any nationality are welcome, but they must not have lived or worked in Latvia for more than 12 months during the 3 years leading up to the closing date of the call on 10 September 2025.
  • Applicants must choose the Chemistry Department at the university of Latvia as their host institution.

For any other further questions, please contact vladislav.ivanistsev@gmail.com

Uniting “simulants” over pizza

This semester I am co-organising a seminar on computer simulations (3 ECTS, LOTI.05.076). One of the aim is to gather and unite researchers from different institutes. Our common topic is using computers in research, so we are “simulants”, i.e. simulating reality via calculations. Some of core organisers are pictured in the centre, from left to right: Taavi Repän, Tauno Tiirats, Veronika Zadin, and Juhan Matthias Kahk.

My first talk was about running simulations on HPC, e.g. using apptainers. Probably because of free pizza there were two–three dozen of participants from institutes of Chemistry, Physics, and Technology, which is a surprisingly high number for the university of Tartu. It is a great start and I am looking forward to contribute more into strengthening collaboration between the institutes.

Colors in ASE

Updated colors for atoms in ASE in 2024 look like this:

For POV rendering there are several options: ASE2, ASE3, Glass, Glass2, Intermediate, JMOL, Pale, Simple, VMD. I like intermediate because it does not have an reflection and glare.

List of banned tells for GPT

1) Just watched Andy Stapleton youtube-video about echo technique for working with chatGPT. After that I have made my list of banned tells for GPT. Here it is.

Vibrant, Bustling, Vital, Out of the box, Underscores, Dive into, Reverberate, Delve, Hustle and bustle, Foster, Labyrinthine, Moist, Remnant, Nestled, Game changer, Symphony, Gossamer, Enigma, A testament to, Indelible, Meticulous, Meticulously, Navigating, Complexities, Realm, Understanding, Shall, Tailored, Underpins, Everchanging, Ever-evolving, Not only, Embark, Designed to enhance, It is advisable, Daunting, When it comes to, In the realm of, Amongst, Unlock the secrets, Unveil the secrets, Diving, Unleash, Harness, Tapestry, In summary, Take a dive into, Analogies to being a conductor or to music, Metropolis, Unless, Arguably, Ultimately, To put it simply, Promptly, In today's digital era, Subsequently, Leverage.

2) Previously I also used this prompt for working with LaTeX codes, but now I simply use texGPT in overleaf for quick drafting.

Start every sentence on a new line. Add line breaks after every 60 characters to make the text easier to read, but do not add these breaks within commented text. Preserve all original comments exactly as written, and do not delete anything unless explicitly instructed. Use British English and simple language, avoiding words that non-native speakers may not understand. Avoid typical ChatGPT phrases like "leveraging" or any overuse of sophisticated words, adjectives, or jargon. Do not use gerunds or adjectives excessively. Maintain the accuracy of content and avoid changes to technical terms.

3) When working within a project, I define instructions like this:

Prohibited words and phrases: I must avoid the following words and phrases, along with their derivatives: However, Additionally, Vibrant, Bustling, Vital, Out of the box, Underscores, Dive into, Reverberate, Delve, Hustle and bustle, Foster, Labyrinthine, Moist, Remnant, Nestled, Game changer, Symphony, Gossamer, Enigma, A testament to, Indelible, Meticulous, Meticulously, Navigating, Complexities, Realm, Understanding, Shall, Tailored, Underpins, Everchanging, Ever-evolving, Not only, Embark, Designed to enhance, It is advisable, Daunting, When it comes to, In the realm of, Amongst, Unlock the secrets, Unveil the secrets, Diving, Unleash, Harness, Tapestry, In summary, Take a dive into, Analogies to being a conductor or to music, Metropolis, Unless, Arguably, Ultimately, To put it simply, Promptly, In today's digital era, Subsequently, Tailored, and Leverage. 
I must avoid using "potential" in the sense of showing the capacity to develop into something in the future, because "electric potential" is a variable in Vlad's research. I must avoid "framework" in the sense of a basic structure underlying a computations, because "organic framework" is a material in Vlad's project. I must avoid using "capacity" and "capacitance" in sense of ability to do something, because similar terms are used in electrochemistry.

Faculty interview

Recently I have been preparing for an interview for a faculty position. As usual I watched a lot of videos, read some tutorials, chatted with GPT, and talked to people (to whom I am very grateful).

The most insightful video turned out to be by Wenhao Sun UM. See below. It is about having a solid research vision!

Besides I would highly recommend a youtube channel “Life in academia” of a very positive prof. Matthias Rillig.

P.S. Despite preparation, I have not anticipated even a single question.

My first presentation generated with AI

I am working on a presentation and use AI for the first time to draft some texts.

There are already existing solutions. Like plug-ins for google slides and copilot that works with powerpoint. I am using chatGPT and work in google slides.

Here is how I add some slides through app scripts:

function addSlide() {
    const presentationName = "ScientificActivities";
    const presentations = DriveApp.getFilesByName(presentationName);
    if (!presentations.hasNext()) return;

    const presentation = SlidesApp.openById(presentations.next().getId());
    const layouts = presentation.getMasters()[0].getLayouts();
    const targetLayout = layouts.find(layout => layout.getLayoutName() === "OBJECT");
    if (!targetLayout) return;

    const titleText = "Bridging Modelling and Scalable Chemical Processes"; // Edit title here
    const bodyText = "Assoc. Prof. Vladislav Ivaništšev"; // Edit body content here

    const newSlide = presentation.appendSlide(targetLayout);
    newSlide.getPlaceholder(SlidesApp.PlaceholderType.TITLE).asShape().getText().setText(titleText);
    newSlide.getPlaceholder(SlidesApp.PlaceholderType.BODY).asShape().getText().setText(bodyText);
}

Title and body can be generated by … within a long conversation with my personal research assistants. I enjoy the process because these skills will save me a lot of time in the future, although right now it took me some hours to get this simple code working. I have also used AI to find and download a dozen on logos of universities that I have visited (shown below). And it saved me time to get facts from my CV right into the slides.

Working with cubes

Working with cubes can be tedious. I need to show a change in electronic density of a MOF. For that I made two cubes for neutral and charged MOF. Then took their difference using cube_tools, like this.

import numpy as np
from cube_tools import cube

# Load the cube files using the cube class
cube1 = cube('mof_opt_0.0.cube')
cube2 = cube('mof_opt_2.0.cube')

# Subtract the data from cube1 from cube2
cube_diff = cube('mof_opt_2.0.cube')
cube_diff.data = cube2.data - cube1.data

# Get z-axis data and find indices where z > 13.3 (jellium density)
z_indices_above_threshold = np.where(cube_diff.Z > 13.3)[0]

# Remove densities above z = 13.3 by setting them to zero
for idx in z_indices_above_threshold:
    cube_diff.data[:, :, idx] = 0

# Save the modified cube data to a new file
cube_diff.write_cube('cdd.cube')

Once I have got the charge density difference and opened it in VMD, I realised that one part of my MOF is right at the border of a periodic cell, so that part of density was split. So, I used a terminal command to shift the cube like this “cube_tools -t -24 -36 0 cdd.cube”. I had to shift manually positions of the atoms by taking into account the voxels size. Next challenge was hiding half of my MOF to clear the view. So I used this tcl syntax in VMD:

vmd > mol clipplane normal 0 0 0 {1 0 0}
vmd > mol clipplane center 0 0 0 {3 0 0}
vmd > mol clipplane status 0 0 0 1
vmd > mol clipplane normal 0 1 0 {1 0 0}
vmd > mol clipplane center 0 1 0 {3 0 0} 
vmd > mol clipplane status 0 1 0 1
vmd > mol clipplane normal 0 2 0 {1 0 0}
vmd > mol clipplane center 0 2 0 {3 0 0}
vmd > mol clipplane status 0 2 0 1

Here is the result – density is almost homogeneously spread over my MOF upon charging.

Some tests with GFN2-xTB

GFN2-xTB [10.1021/acs.jctc.8b01176] is a strange model. I have been testing GFN1 and GFN2 on OOH adsorption on Pt(111). GFN1 from TBLITE with ASE works well. It converges and optimizes to meaningful structures. GFN2 however behaves odd in terms of convergence and optimization. For instance, O–H bond becomes broken. I have tested GFN2 also with xtb, for which the input is quite complicated in comparison to ASE inputs. Anyway, it worked only when I specified the periodic conditions in both xtb.inp and Pt-OOH.coord files. Then I executed xtb like this:

xtb Pt-OOH.coord --gfn2 --tblite --opt --periodic --input xtb.inp
Optimization of Pt(111)–OOH with GFN2-xTB (xtb) resulting in O–H bond dissociation.

P.S. You can see that Pt(111) surface corrugates in case of my 2×2 model. For wider models, the surface remains flat.

Set of useful soft for a PhD student

Today we installed some software on a laptop of our first year student:

  • Avogadro for quick drawing of chemical structures.
  • PovRay for rending high-quality figures.
  • Gimp for editing raster graphics.
  • Inkscape for editing vector graphics.
  • PDFGear for working with pdfs.
  • Zotero for bibliography management.

In case GPAW is ahead of ASE

When next time (like in 2024), GPAW refers to a beta-version of ASE to that

conda install -c conda-forge gpaw
conda remove --force ase
pip install --upgrade git+https://gitlab.com/ase/ase.git@master