!JEiuNJLuxedbohAOuH:matrix.org

ASE

199 Members
Atomic Simulation Environment — https://wiki.fysik.dtu.dk/ase/ — Channel for discussions, support, and development of ASE3 Servers

Load older messages


SenderMessageTime
18 Jun 2024
@tomasusi:matrix.orgToma Susiyes so it does15:29:49
@tomasusi:matrix.orgToma Susicool15:29:50
@tomasusi:matrix.orgToma Susiwhat we need additionally though is to pick specific phonon modee15:30:06
@tomasusi:matrix.orgToma Susi * what we need additionally though is to pick specific phonon modes15:30:10
@tomasusi:matrix.orgToma Susithe reason is that the multislice simulation doesn't know anything about energy loss, so we need to have the "correct phonon energy" in the structures15:30:34
@flokno:matrix.orgFlorian Knoop
In reply to @tomasusi:matrix.org
shouldn't it be a convergence parameter?
there are ways to converge it but it's usually very fiddly https://github.com/tdep-developers/tdep-tutorials/tree/main/02_sampling/convergence/cutoff
15:30:43
@tomasusi:matrix.orgToma Susi
In reply to @tomasusi:matrix.org
the reason is that the multislice simulation doesn't know anything about energy loss, so we need to have the "correct phonon energy" in the structures
it's a clever way of avoiding describing quite theoretically demanding inelastic momentum-resolved scattering
15:31:31
@flokno:matrix.orgFlorian Knoop
In reply to @tomasusi:matrix.org
it's a clever way of avoiding describing quite theoretically demanding inelastic momentum-resolved scattering
I'd actually be interested to learn more about this
15:31:57
@flokno:matrix.orgFlorian Knoopafter spending a good deal of my postdoc on scattering theory (Raman)15:32:09
@askhl:matrix.orgAsk Hjorth Larsen Andrew Rosen: Throughout most non-catastrophic periods in history we had about two releases per year, and things were eventually automatic enough to do more than that. I think once/month is exaggerated though, we have hardly changed anything. Once per 2-3 months ought to be quite fine. Let's get at least a few notable changes like plugins and ruff. 15:38:33
@tomasusi:matrix.orgToma Susi
In reply to @flokno:matrix.org
I'd actually be interested to learn more about this
That's the original paper:
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.104.104301
15:49:01
@flokno:matrix.orgFlorian Knoop
In reply to @tomasusi:matrix.org
That's the original paper:
https://journals.aps.org/prb/abstract/10.1103/PhysRevB.104.104301
thanks!
15:57:41
@hasithv:matrix.orgHasith Vattikuti joined the room.22:07:18
@hasithv:matrix.orgHasith VattikutiWhen I view the dynamical matrix of a Phonons object, what exactly does the first index of D_N correspond to? I know that if we restrict ourselves to a 1x1x1 supercell, we have that each element is proportional to the partial of the potential of the system wrt the position of the i'th and j'th atom (as well as their masses) in the system. But how does a larger supercell change this?23:57:50
19 Jun 2024
@chronum:matrix.orgAnubhab HaldarThe j'th atom can be in one of the other unit cells of the supercell.00:54:40
@chronum:matrix.orgAnubhab HaldarI'm fairly certain N corresponds to the supercell counting index.00:54:57
@chronum:matrix.orgAnubhab HaldarI'd look at the phonopy paper/docs which should have a reasonable exposition on this.00:55:21
@askhl:matrix.orgAsk Hjorth Larsen Adam Jackson: Hi. Would you be able to continue review of the plugins MR? I can also do it later. 11:14:40
@ajjackson:matrix.orgAdam JacksonWill try to take another look in the next couple of days11:42:24
@hasithv:matrix.orgHasith Vattikuti
In reply to @chronum:matrix.org
I'm fairly certain N corresponds to the supercell counting index.
Yeah, I also figured that in D_N[i,j,k], i corresponds to the supercell number, but I can't seem to find the page on phonopy docs about ordering the supercell components into an index, and the paper hardly mentions supercells at all. Do you know where I can find this?
21:01:28
20 Jun 2024
@chronum:matrix.orgAnubhab HaldarI don't, unfortunately. At that point you're likely better off looking at ASE's source code.00:35:29
@hasithv:matrix.orgHasith Vattikuti
In reply to @chronum:matrix.org
I don't, unfortunately. At that point you're likely better off looking at ASE's source code.
Thanks for the suggestion, if anyone is curious, it looks like ASE orders the unit cells in the order of x,y,z
05:18:04
@hasithv:matrix.orgHasith VattikutiRedacted or Malformed Event06:11:35
@hasithv:matrix.orgHasith VattikutiRedacted or Malformed Event06:11:36
@hasithv:matrix.orgHasith VattikutiRedacted or Malformed Event06:12:08
@hasithv:matrix.orgHasith Vattikuti

Can I get a little help with this? I attached my code and output, and can provide anything else, I can also make this a gitlab issue if that would be more appropriate.

I set up three carbon atoms ~1.5 angstroms away from each other in a line on the x axis, and I expect the dynamical matrix to be of the form of a 9x9 matrix: [[2F, -F, 0], [-F, 2F, F], [0, -F, 2F]] where F=[[f, 0, 0], [0,0,0], [0,0,0]] (image attached). However, using the Phonons class, the dynamical matrix gives me only F--instead of 2F--in the upper left and lower right.

The way I set up the phonon calculation is to use a 3x1x1 supercell of non-periodic unit cells. Could this have somehow caused the deviation from the theoretical calculation?

Also there were some non-zero diagonal elements on F, which is strange since all the atoms were perfectly positioned along the x-axis (although they were usually only about a tenth of the value of f). Is this expected numerical error even though the setup was perfectly x-aligned?

Code:

from ase.phonons import Phonons
from ase import Atoms
from ase.optimize import BFGS

from gpaw import GPAW, PW

import numpy as np

# Defice atom positions and cell
atoms = Atoms("C3", positions=[(1.7432107, 0.75, 0.75), (3, 0.75, .75), (4.2567893, 0.75, 0.75)], pbc=[0,0,0])
atoms.set_cell((4.5, 3, 3))
atoms.center()

# Set the calculator
calc = GPAW(mode=PW(340), xc="PBE", txt="C3.txt", symmetry="off", convergence={'density': 1e-6, 'forces':1e-4})
atoms.calc = calc
print(atoms.get_potential_energy())
dyn = BFGS(atoms)
dyn.run()
print(atoms.get_potential_energy())

# Phonon calculations
ph = Phonons(atoms, calc, supercell=(3, 1, 1))
ph.run()
# ph.read(acoustic=True)
ph.read()
ph.clean()

np.set_printoptions(precision=1)
print(ph.D_N[0])

Output:

Pot_eng before BFGS: -13.911701139494758
      Step     Time          Energy          fmax
BFGS:    0 22:54:07      -13.911701        6.614344
BFGS:    1 22:54:10      -14.066930        5.722778
BFGS:    2 22:54:14      -14.284913        0.563426
BFGS:    3 22:54:16      -14.287304        0.044011
Pot_eng after BFGS: -14.287304483684558
Positions after BFGS:
[[1.04779882 1.5        1.5       ]
 [2.25       1.5        1.5       ]
 [3.45220118 1.5        1.5       ]]
-----
ph.D_N[0]:
[[ 9.7  0.   0.  -8.3  0.   0.   0.   0.   0. ]
 [ 0.  -1.3  0.   0.   1.   0.   0.  -0.4  0. ]
 [ 0.   0.  -1.3  0.   0.   1.   0.   0.  -0.4]
 [-8.3  0.   0.  16.9  0.   0.  -8.3  0.   0. ]
 [ 0.   1.   0.   0.  -1.5  0.   0.   1.   0. ]
 [ 0.   0.   1.   0.   0.  -1.5  0.   0.   1. ]
 [ 0.   0.   0.  -8.3  0.   0.   9.7  0.   0. ]
 [ 0.  -0.4  0.   0.   1.   0.   0.  -1.3  0. ]
 [ 0.   0.  -0.4  0.   0.   1.   0.   0.  -1.3]]
06:12:11
@hasithv:matrix.orgHasith Vattikutidynamical matrix.png
Download dynamical matrix.png
06:13:27
@rbw:matrix.orgRobert WarmbierPW mode doesn't understand non-periodic boundary conditions.07:34:25
@rbw:matrix.orgRobert WarmbierAnd ase.phonon also seems to have periodic boundary conditions hard-coded.07:36:20
@rbw:matrix.orgRobert WarmbierIf you want your system to be non-periodic, you need to use ase.vibrations and/or add plenty of 'vacuum' left and right of your carbons07:37:31

Show newer messages


Back to Room ListRoom Version: 5