forked from henriquemiranda/phononwebsite
-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
114 lines (102 loc) · 9.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html>
<html>
<head>
<title>TSS Physics - Home</title>
<!-- META TAGS about the Website-->
<meta name="author" content="Henrique Miranda, Raoul Weber">
<meta name="copyright" content="2015 Theoretical Solid-State Physics Group of University of Luxembourg">
<meta http-equiv="content-language" content="en">
<meta name="title" content="Theoretical Solid-State Physics">
<meta name="description" content="Interactive website for the visualization of phonons (lattice vibrations).">
<meta name="keywords" content="University of Luxembourg, theoretical solid-state physics, phonons, lattice vibrations, visualization of phonons, phonon dispersion">
<meta name="date" content="2014-07-25">
<!-- CSS Design-->
<link href="css/style.css" type="text/css" rel="stylesheet">
<!-- Meta tags symbols -->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<!-- google analytics-->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-72979639-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<header>
<ul class="navigation">
<li><a href="index.html">Home</a></font></li>
<li><a href="phonon.html">Phonons</a></font></li>
</ul>
</header>
<section>
<h1 id="phonon-website">Phonon website</h1>
<p>Visualize phonon vibrational modes.</p>
<p>This project aims to provide a simple way to visualize the lattice vibrations of different materials. The temperature of a material is related to the agitation of its atoms. The atoms can move in any of the three cartesian directions. Combining the different possible ways the atoms can vibrate we obtain the eigenvectors. Each mode has associated a frequency of vibration that is related with the forces between the atoms.</p>
<h1 id="how-to-use">How to use?</h1>
<p>In the phonon section you can click on any point in the dispersion relation and see an animation of how the atoms vibrate in that particular mode. By default you can visualize the phonon dispersion of some materials we calculated. If you want to see your own calculations, we currently support phonon calculations form <code>Abinit</code>, <code>Quantum Espresso</code> and <code>phononpy</code>.</p>
<h2 id="phonopy">phonopy</h2>
<p>You can visualize your own <code>phonopy</code> files by clicking on the <code>Choose files</code> button and selecting a <code>band.yaml</code> file. The following options should be present in the <code>band.conf</code> file:</p>
<pre><code>EIGENVECTORS = .TRUE.
BAND_CONNECTION = .TRUE.
BAND_LABELS = Gamma M K
BAND = (x1,y1,z1) (x2,y2,z2) (x3,y3,z3)</code></pre>
<p>This only works with the newer version of phonopy as new tags were added to 'band.yaml' to have information about the atomic positions and the supercell.</p>
<h2 id="abinit">Abinit</h2>
<p>To read a phonon dispersion form <code>Abinit</code> we provide some python scripts to convert the data to a <code>.json</code> format. You can obtain these scripts from the <a href="https://github.com/henriquemiranda/phononwebsite/">Github</a> page. To install them just do:</p>
<pre><code>python setup.py install --user</code></pre>
<p>In the folder where you ran <code>anaddb</code> you will find a netCDF file (if your <code>Abinit</code> version has netCDF compiled) with the name <code>anaddb.out_PHBST.nc</code>. To convert it to <code>.json</code> format just run:</p>
<pre><code>read_anaddb_phonon.py anaddb.out_PHBST.nc <name_of_your_material></code></pre>
<p>You can then select the resulting <code>.json</code> file with the <code>Choose files</code> button.</p>
<h2 id="quantum-espresso">Quantum Espresso</h2>
<p>To read a Quantum Espresso calculation you need two files <code><prefix>.scf</code> and <code><prefix>.modes</code>. The first one is the input file for <code>pw.x</code> the second one can be generated with <code>dynmat.x</code>. The file that should be used is the one set with the <code>'filout'</code> tag in the dynmat input file as in it the modes are normalized with the atomic masses. After installing the python scripts (as in the case of an <code>Abinit</code> calculation) you can obtain the <code>.json</code> files:</p>
<pre><code>read_qe_phonon.py prefix <name_of_your_material></code></pre>
<p>You can then select the resulting <code>.json</code> file with the <code>Choose files</code> button.</p>
<h1 id="features">Features</h1>
<p>You can export the lattice distorted according to the currently selected phonon mode to a <code>.xsf</code> or <code>POSCAR</code> file. The <code>phase</code> and <code>amplitude</code> sliders define a complex number that is multiplied by the phonon eigenvectors to obtain the displacements.</p>
<p>You can export a animated <code>.gif</code> with a particular mode using the <code>gif</code> button in the Export movie section.</p>
<p>If you want to share your own data with someone else you can add to the url tags with the following format:</p>
<pre><code>http://henriquemiranda.github.io/phononwebsite/phonon.html?tag1=a&tag2=b</code></pre>
<p>The available tags are:</p>
<pre><code>json = link to a json file
yaml = link to a yaml file
name = name of the material</code></pre>
<p>Here are some examples of what can be added to the website link:</p>
<ul>
<li><a href="http://henriquemiranda.github.io/phononwebsite/phonon.html?yaml=http://henriquemiranda.github.io/phononwebsite/tests/phonopy/band.yaml">?yaml=http://henriquemiranda.github.io/phononwebsite/tests/phonopy/band.yaml</a></li>
<li><a href="http://henriquemiranda.github.io/phononwebsite/phonon.html?json=http://henriquemiranda.github.io/phononwebsite/graphene/data.json">?json=http://henriquemiranda.github.io/phononwebsite/graphene/data.json</a></li>
</ul>
<p>You are free to use all the images generated with this website in your publications and presentations as long as you cite this work (a link to the website is enough). For the license terms of the data from <a href="http://phonondb.mtl.kyoto-u.ac.jp/">phonodb</a> please refer to their website.</p>
<p>In polar materials the LO-TO splitting is missing, we are working on adding these corrections.</p>
<h1 id="authors">Authors</h1>
<p>This project is the continuation of the work of Raoul Weber during an internship in the University of Luxembourg for 2 months in the Theoretical Solid State Physics group under the supervision of Ludger Wirtz and technical help from me.</p>
<p>I decided to continue the project by optimizing the implementation, cleaning up the design and replacing JSmol by a self made applet using Three.js and WebGL called VibCrystal. Currently the website works also as a web application which means the user can visualize his own calculations made with <code>phonopy</code>.</p>
<p>For more information about us and our work visit:<br /><a href="http://wwwen.uni.lu/">http://wwwen.uni.lu/</a></p>
<p>The original implementation by Raoul Weber:<br /><a href="http://tssphysics.jpsfs.com">http://tssphysics.jpsfs.com</a></p>
<p>My personal webpage:<br /><a href="http://henriquemiranda.github.io">http://henriquemiranda.github.io</a></p>
<p>Contact me:<br />miranda.henrique at gmail.com</p>
<h1 id="aknowledgments-funding">Aknowledgments & Funding</h1>
<p><a href="http://wwwen.uni.lu/recherche/fstc/physics_and_materials_science_research_unit/research_areas/theoretical_solid_state_physics">Ludger Wirtz</a> for the original idea and important scientific advices. <a href="http://atztogo.github.io">Atsushi Togo</a> the creator of <a href="http://atztogo.github.io/phonopy/">phonopy</a> for providing phonon dispersion data from his <a href="http://phonondb.mtl.kyoto-u.ac.jp/">phonodb</a> phonon database. <a href="http://jpsfs.com/">José Pedro Silva</a> for very helpful advices on technical issues and the best web technologies to use.</p>
<p>Fonds National de la Recherche Luxembourg (2013-present): <a href="http://www.fnr.lu/">http://www.fnr.lu/</a></p>
<p><img src="figures/fnr.jpg" style="width:60%;"></p>
<p>University of Luxembourg (2013-present): <a href="http://wwwen.uni.lu/">http://wwwen.uni.lu/</a></p>
<p><img src="figures/unilu.png" style="width:20%;"></p>
<h1 id="contribute">Contribute</h1>
<p>The project is still under development!</p>
<p>You can leave your suggestions and feature requests here:<br /><a href="https://github.com/henriquemiranda/phononwebsite/issues">https://github.com/henriquemiranda/phononwebsite/issues</a></p>
<p>If you would like to see some of your calculations published on this website please contact me.</p>
<h1 id="software-used-for-this-project">Software used for this project</h1>
<ul>
<li>The WebGL visualization is made using <code>Three.js</code>: <a href="http://threejs.org/">http://threejs.org/</a></li>
<li>The phonon dispersion is plotted using <code>highcharts</code>: <a href="http://www.highcharts.com/">http://www.highcharts.com/</a><br /></li>
<li>The export animation is provided using <code>CCapture.js</code>: <a href="https://github.com/spite/ccapture.js">https://github.com/spite/ccapture.js</a></li>
<li><p>The gif animation is uses <code>gif.js</code>: <a href="http://jnordberg.github.io/gif.js/">http://jnordberg.github.io/gif.js/</a></p></li>
<li><code>Abinit</code>: <a href="http://www.abinit.org/">http://www.abinit.org/</a></li>
<li><code>Quantum Espresso</code>: <a href="http://www.quantum-espresso.org/">http://www.quantum-espresso.org/</a></li>
<li><p><code>phonopy</code>: <a href="http://atztogo.github.io/phonopy/">http://atztogo.github.io/phonopy/</a></p></li>
</ul>
</section>
</body>
</html>