henriquemiranda / phononwebsite Goto Github PK
View Code? Open in Web Editor NEWVisualise lattice vibrations
Home Page: http://henriquemiranda.github.io/phononwebsite/
License: BSD 3-Clause "New" or "Revised" License
Visualise lattice vibrations
Home Page: http://henriquemiranda.github.io/phononwebsite/
License: BSD 3-Clause "New" or "Revised" License
Thank you very much for this amazing website!
There seems to be a size issue for large structures / yamls / many eigenvectors when uploading custom band.yamls, e.g., if the structure contains 500-1000 atoms. If one clicks "browse" and selects a large band.yaml, the phonon website does not respond at all (not even an error message).
Best,
Roman
Add an advanced menu with different options to fine tune the visualization.
Hi,
I am hoping to check the phonon displacement patterns from a quantum espresso calculation.
I have downloaded setup.py, or tried using "gh repo clone" to download the scripts. However, setup.py returns "error: package directory 'phononweb' does not exist". "gh repo clone henriquemiranda/phononwebsite" returns "GraphQL: Could not resolve to a Repository with the name 'henriquemiranda/phononwebsite'. (repository)".
Am I missing something here and what should I do to download the files?
Many thanks in advance!
The list of materials from the different databases should appear in the same list.
There should be a button to select the materials and databases.
Hello!
Thank you for providing such a great website!
Is it possible to export a POSCAR file? I see you mentioned this function before.
Thank you very much!
Hi,
I find phononwebsite really neat and cool!
I am wondering whether it is possible to show modes with imaginary frequencies.
Sometimes it is very helpful to visualize those eigenvectors.
It seems that phononwebsite can only show modes with positive frequencies.
The re-scaling of the eigenvectors with the sqrt of the masses for phonopy should be done in the phonopy interface only.
The interfaces should try to read the masses from the files and only otherwise get the mass from the atomic number
if ibrav =0 ,when i use the scripts, it report that ValueError: Coordinate format (crystal) in input file not known,how to resolve it
MoNbB4.txt
Right now, we can only click a point in the phonon band structure plot. This method is not very good when modes are degenerate.
Is it possible to choose a specific k-point index and band index (like the "Repetitions" box)?
Thank you!
I have been looking for a method for displaying phonon modes from various packages and your contribution has really impressed me. The ability to easily select the mode ad the position in reciprocal space is fantastic.
Would it be difficult to also display a box showing the unit cell? I realise there are lots of issues as this would probably need to be selected as an option on the interface, but it would help enormously in understanding some of the longer range vibrations, relative to a small unit cell.
The export movie sometimes does not work.
The reason is probably related to some race condition when calling the ccapture external library used to capture the videos.
The user can click on any point and generate a POSCAR or a .xsf file with the supercell selected in the visualization displaced according to the phonon mode.
In principle, the supercell should be chosen automatically to be commensurate with the selected phonon mode.
The algorithm is described in the literature and already implemented in many open-source codes, one just needs to translate it to javascript and make it usable from the interface.
Is the ibrav=1 implemented?
Thanks for addressing the unit cell display so quickly. I have been using your website/code to look at some phonon modes at the gamma point for molecular systems and came across things could perhaps be improved. I attach two yaml files to illustrate what I was trying to do.
band.yaml has the gamma point modes for cysteine. In typical VASP fashion the POSCAR file has atoms in it which break up the molecular bonding in the unit cell. There should be just four molecules in the unit cell.
I generated a cif file from the POSCAR I used and read it into mercury which I used to give 4 molecular structures. Saving this as a cif file I was then able to change the band.yaml file to band_mercury.yaml which now has 4 whole molecule in it. As long as the atom numbering stays the same as in the original then the displacements are still correct.
However, the current method you use for identifying bonds does not identify all of the bonds in this system. I modified vibcrystal.js slightly to accommodate a slightly more flexible bonding algorithm.
// scale_factor added by JK
scale_factor = 1.3
for (i=0;i<combinations.length;i++) {
a = combinations[i][0];
b = combinations[i][1];
ad = a.position;
bd = b.position;
//if the separation is smaller than the sum of the bonding radius create a bond
length = ad.distanceTo(bd)
if (length < scale_factor*(covalent_radii[a.atom_number]+covalent_radii[b.atom_number]) || length < this.nndist + 0.2 ) {
this.bonds.push( [ad,bd,length] );
// scale_factor added by JK
scale_factor = 1.3
for (i=0;i<combinations.length;i++) {
a = combinations[i][0];
b = combinations[i][1];
ad = a.position;
bd = b.position;
//if the separation is smaller than the sum of the bonding radius create a bond
length = ad.distanceTo(bd)
if (length < scale_factor*(covalent_radii[a.atom_number]+covalent_radii[b.atom_number]) || length < this.nndist + 0.2 ) {
this.bonds.push( [ad,bd,length] );
The factor of 1.3 might be a bit large, but it had the correct behaviour for the case I was looking at.
I realise that you probably envisioned looking at phonons for materials with smaller unit cells. But It seemed to me that there are two changes that would benefit the package for molecular systems.
I hope you don't mind these comments. My interest stems from some work I am doing on Infrared and THz absorption in molecular systems. Please have a look at https://github.com/JohnKendrick/PDielec
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.