-
Notifications
You must be signed in to change notification settings - Fork 14
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
LAMMPS input files for examples would be helpful #18
Comments
Yes, this can be a good suggestion for new users that want to calculate thermal coefficient. |
Hi @bernstei, thanks for your comment. In any case, if you are computing the heat flux with LAMMPS using the Once you have defined a heat current
If the numbers look wrong (e.g. the integral seems to converge to a wrong value), it might be a problem of units. Otherwise, you can go ahead and perform the cepstral analysis. Resampling and choosing a low enough FSTAR are important for the final result, but this should not be too far off already. |
Thanks - I've been using the command line routine so far, but I'll try to set up python like the silica example and take a look at what you suggest. |
is |
Here is the command line output
I'm also attaching the PSD and the autocorrelation plots, as suggested in the a-SiO2 sample and your comment above. I'm still looking into the units when comparing your and my autocorrelation, but any other suggestions you have would be welcome. |
Yes if units are set correctly it should give you a thermal conductivity in W/m K. However, there is something weird in your autocorrelation plot.
|
I was able to get good agreement in the autocorrelation-based kappa only if I multiply the integral by DT_FS. If I check the actual values, it is not actually an integral but a discrete sum, and I don't see anyplace else where the time step factor is applied. I am now able to get more or less good agreement between compute_gkintegral and my own implementation. It's not perfect - for some reason compute_acf() returns values that are very close to mine for small time lag, but become increasingly smaller as lag increases. The autocorrelation plot has so many traces because I'm using 16 independent runs, including all 3*16 columns as c_flux[N] N=1..48. I'm still looking into the comparison with cepstral analysis. |
You are actually right: you should multiply by the time step The function
Ok I see. Having a look at your psd spectrum there might be some difficulty due to the sharp peak at near zero frequency. However you seem to have a big amount of data, which surely helps. |
Thanks - now I'm getting pretty good agreement, as long as I set the correction factor to 2. Is there a heuristic for figuring out what's a good value for that parameter? |
Also, should I expect the command line's psd and resampled_psd to vary at all? They don't seem to:
|
You should plot either L0 or kappa as a function of P*, with the functions: If your system has a particularly slow convergence (as it might, due to the sharp peak at near-zero frequency), the convergence of L0 or kappa will likely be slow, and the P* chosen might be too low. So you can try to double it with the correction factor. This will increase the statistical error, but will probably reduce the bias.
You should plot them: the frequency resolution of this data is 8e-4 THz. You want to see if the features of the low-frequency region of spectrum are reproduced by the |
I think it would be useful for users who are trying to use this package for their own input to have the LAMMPS input files corresponding to the examples provided here. I'm trying to do exactly that, and getting terrible disagreement between my conventional autocorrelation integration analysis and the cepstrum-based output. I don't know if I'm somehow generating bad data, and if I had the LAMMPS structures and potentials (and things like the time step used for the MD), I could check if my problem is somehow inherent to my system, or merely the way I'm setting up the heat flux equilibration and sampling, for example.
The text was updated successfully, but these errors were encountered: