Skip to content

Infrared calculation for bulk systems#1122

Open
ChiCheng45 wants to merge 16 commits intoprotosfrom
bulkinfrared
Open

Infrared calculation for bulk systems#1122
ChiCheng45 wants to merge 16 commits intoprotosfrom
bulkinfrared

Conversation

@ChiCheng45
Copy link
Copy Markdown
Collaborator

@ChiCheng45 ChiCheng45 commented Jan 26, 2026

Description of work
Infrared calculation for bulk systems where molecules are not available.

The idea is

where

now we must define what we mean by $j$ close to $i$. I do the following, for each time step I run the minimum image to get all atoms close to $i$. I define $j$ to be close to $i$ if it has been within a specific distance from $i$ at any time across the trajectory.

Closes #650

@ChiCheng45 ChiCheng45 marked this pull request as draft January 26, 2026 16:37
@ChiCheng45
Copy link
Copy Markdown
Collaborator Author

ChiCheng45 commented Jan 28, 2026

Here are the results using DFTB water trajectory using a cutoff of 0.7, 0.5, and 0.2 nm cutoff. Note that the DFTB trajectory is very short so I think the larger cutoff introduces more noise which I think could be reduced with a longer trajectory. Short cutoff should produce results similar to the molecular IR calculation.

Screenshot 2026-01-28 at 15 09 22 Screenshot 2026-01-28 at 15 09 39 Screenshot 2026-01-28 at 15 09 55

@ChiCheng45
Copy link
Copy Markdown
Collaborator Author

@MBartkowiakSTFC do you have any good test system you want to try this on?

@ChiCheng45 ChiCheng45 self-assigned this Jan 28, 2026
@MBartkowiakSTFC
Copy link
Copy Markdown
Collaborator

@MBartkowiakSTFC do you have any good test system you want to try this on?

I'd suggest the SrTiO3 trajectory, since it is a crystal. Start with charges close to Sr:+1.2, Ti: +0.3, O: -0.5.

Comment thread MDANSE/Src/MDANSE/Framework/Configurators/DistCutoffConfigurator.py Outdated
Comment thread MDANSE/Src/MDANSE/Framework/Configurators/DistCutoffConfigurator.py Outdated
Comment thread MDANSE/Src/MDANSE/Framework/Configurators/DistCutoffConfigurator.py Outdated
Comment thread MDANSE/Src/MDANSE/Framework/Configurators/DistHistCutoffConfigurator.py Outdated
Comment thread MDANSE/Src/MDANSE/Framework/Jobs/InfraredBulk.py Outdated
Comment thread MDANSE_GUI/Src/MDANSE_GUI/InputWidgets/DistCutoffWidget.py Outdated
Comment thread MDANSE_GUI/Src/MDANSE_GUI/InputWidgets/FloatWidget.py Outdated
Comment thread MDANSE_GUI/Src/MDANSE_GUI/InputWidgets/FloatWidget.py Outdated
Comment thread MDANSE/Src/MDANSE/MolecularDynamics/Configuration.py Outdated
@ChiCheng45
Copy link
Copy Markdown
Collaborator Author

ChiCheng45 commented Jan 29, 2026

@MBartkowiakSTFC do you have any good test system you want to try this on?

I'd suggest the SrTiO3 trajectory, since it is a crystal. Start with charges close to Sr:+1.2, Ti: +0.3, O: -0.5.

I think there should be issues with periodic systems but anyway here is the result using STO16_80K from one drive. Don't know if that looks any good or not.
Screenshot 2026-01-29 at 12 12 21

Here is the derivative dipole correlation function, the trajectory is probably too short.
Screenshot 2026-01-29 at 12 14 57

Here is the DOS of the same trajectory for reference.
Screenshot 2026-01-29 at 12 11 36

@ChiCheng45 ChiCheng45 marked this pull request as ready for review February 3, 2026 09:15
Copy link
Copy Markdown
Collaborator

@oerc0122 oerc0122 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just a couple of minor things.

Comment thread MDANSE/Src/MDANSE/Framework/Configurators/DistCutoffConfigurator.py Outdated
Comment thread MDANSE/Src/MDANSE/Framework/Jobs/InfraredBulk.py Outdated
Comment thread MDANSE_GUI/Src/MDANSE_GUI/InputWidgets/FloatWidget.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Implement infrared spectrum calculation for bulk systems

4 participants