Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The calculation results of different systems are different, with a difference of several orders of magnitude #415

Open
Esseco opened this issue Oct 22, 2024 · 2 comments

Comments

@Esseco
Copy link

Esseco commented Oct 22, 2024

Hello, may I ask a question? I used CHGNet to run a 150ps MD on a certain crystal material, and the generated MD.traj file was converted into a CIF file using the ASE library. Then, I analyzed and calculated the MSD using pymatgen.diffusion.analyzer.
I found that the results calculated by my personal laptop's Windows, macOS, and Supercomputing Linux systems are all different, with a difference of several orders of magnitude.
The version used is chgnet=0.4.0 ase==3.23.0,pymatgen==2024.10.3,pymatgen analysis dispersion==2024.7.15,numpy=1.26.4.
English is not my native language; please excuse typing errors.

@shyuep
Copy link
Contributor

shyuep commented Oct 22, 2024

It depends on what kind of system you are studying and the actual diffusivity. If the diffusivity is low, a 150ps run is not going to result in converged results. Without more details, we can't reallyhelp.

@Esseco
Copy link
Author

Esseco commented Oct 23, 2024

hello, We are calculating a super diffusion system (sodium electric layered oxide), and the MSD of this system does not converge.
My question is to generate a CIF file using the same md.traj trajectory file, then analyze it using pymatgen.diffusion.analyzer, analyze it using different systems (Windows and Linux), and plot it.
The results obtained vary greatly. How can this problem be solved.
The code is as follows:

diff_analyzer1 = DiffusionAnalyzer.from_structures(
structures,
specie="Na",
temperature=1000.0,
time_step=2,
step_skip=100,
smoothed=False,
initial_structure=structures[0]
)
print(diff_analyzer1.diffusivity) # in cm^2/s
print(diff_analyzer1.conductivity) # in mS / cm

1
2

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

No branches or pull requests

2 participants