Readme.orgを更新した。

This commit is contained in:
2023-04-23 14:57:52 +09:00
parent 58cbf1656a
commit 50055f387e
3 changed files with 89 additions and 152 deletions
+88 -111
View File
@@ -3,14 +3,14 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2022-08-31 水 19:16 --> <!-- 2023-04-23 日 14:57 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>dump2sq</title> <title>dump2sq</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="大窪 貴洋" /> <meta name="author" content="大窪 貴洋" />
<style type="text/css"> <meta name="generator" content="Org Mode" />
<!--/*--><![CDATA[/*><!--*/ <style>
#content { max-width: 60em; margin: auto; }
.title { text-align: center; .title { text-align: center;
margin-bottom: .2em; } margin-bottom: .2em; }
.subtitle { text-align: center; .subtitle { text-align: center;
@@ -31,8 +31,9 @@
#postamble p, #preamble p { font-size: 90%; margin: .2em; } #postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; } p.verse { margin-left: 3%; }
pre { pre {
border: 1px solid #ccc; border: 1px solid #e6e6e6;
box-shadow: 3px 3px 3px #eee; border-radius: 3px;
background-color: #f2f2f2;
padding: 8pt; padding: 8pt;
font-family: monospace; font-family: monospace;
overflow: auto; overflow: auto;
@@ -41,21 +42,21 @@
pre.src { pre.src {
position: relative; position: relative;
overflow: auto; overflow: auto;
padding-top: 1.2em;
} }
pre.src:before { pre.src:before {
display: none; display: none;
position: absolute; position: absolute;
background-color: white; top: -8px;
top: -10px; right: 12px;
right: 10px;
padding: 3px; padding: 3px;
border: 1px solid black; color: #555;
background-color: #f2f2f299;
} }
pre.src:hover:before { display: inline; margin-top: 14px;} pre.src:hover:before { display: inline; margin-top: 14px;}
/* Languages per Org manual */ /* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; } pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; } pre.src-awk:before { content: 'Awk'; }
pre.src-authinfo::before { content: 'Authinfo'; }
pre.src-C:before { content: 'C'; } pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */ /* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; } pre.src-clojure:before { content: 'Clojure'; }
@@ -190,37 +191,14 @@
{ font-size: 10px; font-weight: bold; white-space: nowrap; } { font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight .org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; } { background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; } .org-svg { }
/*]]>*/-->
</style> </style>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/htmlize.css"/> <link rel="stylesheet" type="text/css" href="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/css/readtheorg.css"/> <link rel="stylesheet" type="text/css" href="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/readtheorg.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <script src="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/bootstrap.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/lib/js/jquery.stickytableheaders.min.js"></script> <script type="text/javascript" src="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="https://fniessen.github.io/org-html-themes/src/readtheorg_theme/js/readtheorg.js"></script> <script type="text/javascript" src="https://amorphous.tf.chiba-u.jp/org-html-themes/org/lib/readtheorg.js"></script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.add("code-highlighted");
target.classList.add("code-highlighted");
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.remove("code-highlighted");
target.classList.remove("code-highlighted");
}
}
/*]]>*///-->
// @license-end
</script>
<script type="text/x-mathjax-config"> <script type="text/x-mathjax-config">
MathJax.Hub.Config({ MathJax.Hub.Config({
displayAlign: "center", displayAlign: "center",
@@ -241,37 +219,36 @@
} }
}); });
</script> </script>
<script type="text/javascript" <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
</head> </head>
<body> <body>
<div id="content"> <div id="content" class="content">
<h1 class="title">dump2sq</h1> <h1 class="title">dump2sq</h1>
<div id="table-of-contents"> <div id="table-of-contents" role="doc-toc">
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#orgeb837bb">はじめに</a></li> <li><a href="#org43fc4a9">はじめに</a></li>
<li><a href="#orge530adf">入力ファイル</a> <li><a href="#orgbfe6519">入力ファイル</a>
<ul> <ul>
<li><a href="#org6c95ed4">LAMMPS</a></li> <li><a href="#org92143b8">LAMMPS</a></li>
<li><a href="#orgcf443dd">XYZ</a></li> <li><a href="#org46a939b">XYZ</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org552aa9b">出力ファイル</a> <li><a href="#orgaa87222">出力ファイル</a>
<ul> <ul>
<li><a href="#org8f480d7">積算配位数</a></li> <li><a href="#org4bbc8de">積算配位数</a></li>
<li><a href="#org71f4deb">動径分布関数</a></li> <li><a href="#orgb1c1caa">動径分布関数</a></li>
<li><a href="#org04b4e35">構造因子</a></li> <li><a href="#org1aa9b90">構造因子</a></li>
<li><a href="#orgc6deece">原子散乱因子と中性子散乱長</a></li> <li><a href="#org73ec849">原子散乱因子と中性子散乱長</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org822ec7b">インストール</a></li> <li><a href="#org2fd5e8e">インストール</a></li>
<li><a href="#orgacb531f">使い方</a></li> <li><a href="#org101ea22">使い方</a></li>
<li><a href="#org2bf0441">misc</a> <li><a href="#orgf466f82">misc</a>
<ul> <ul>
<li><a href="#org021e9c0">coeffploter.py</a></li> <li><a href="#orgfdc1020">coeffploter.py</a></li>
<li><a href="#org21eefca">gr2sq.py</a></li> <li><a href="#orgda5455e">gr2sq.py</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@@ -281,9 +258,9 @@
<br /> <br />
</p> </p>
<div id="outline-container-orgeb837bb" class="outline-2"> <div id="outline-container-org43fc4a9" class="outline-2">
<h2 id="orgeb837bb">はじめに</h2> <h2 id="org43fc4a9">はじめに</h2>
<div class="outline-text-2" id="text-orgeb837bb"> <div class="outline-text-2" id="text-org43fc4a9">
<p> <p>
複数の時間ステップからなる時間ステップの構造データから、動径分布関数 複数の時間ステップからなる時間ステップの構造データから、動径分布関数
\(g(r)\) 、積算配位数 \(CN(r)\) 、構造因子 \(S(Q)\) を計算するプログラムです。 \(g(r)\) 、積算配位数 \(CN(r)\) 、構造因子 \(S(Q)\) を計算するプログラムです。
@@ -306,16 +283,16 @@ Triclinicなセルでも計算できます。原子ペア毎の\(S(Q)\) を計
</div> </div>
</div> </div>
<div id="outline-container-orge530adf" class="outline-2"> <div id="outline-container-orgbfe6519" class="outline-2">
<h2 id="orge530adf">入力ファイル</h2> <h2 id="orgbfe6519">入力ファイル</h2>
<div class="outline-text-2" id="text-orge530adf"> <div class="outline-text-2" id="text-orgbfe6519">
<p> <p>
拡張子で入力ファイルのformatを判断しています。 拡張子で入力ファイルのformatを判断しています。
</p> </p>
</div> </div>
<div id="outline-container-org6c95ed4" class="outline-3"> <div id="outline-container-org92143b8" class="outline-3">
<h3 id="org6c95ed4">LAMMPS</h3> <h3 id="org92143b8">LAMMPS</h3>
<div class="outline-text-3" id="text-org6c95ed4"> <div class="outline-text-3" id="text-org92143b8">
<p> <p>
dumpコマンドで生成したファイルで、拡張子は.trajectryです。1ス dumpコマンドで生成したファイルで、拡張子は.trajectryです。1ス
テップ目で原子のならび決めて、2ステップ目以降は、同じ原子の並びとし テップ目で原子のならび決めて、2ステップ目以降は、同じ原子の並びとし
@@ -324,22 +301,22 @@ dumpコマンドで生成したファイルで、拡張子は.trajectryです。
のため、以下のようにdumpとdump_modifyで元素記号の出力し、idでsortし のため、以下のようにdumpとdump_modifyで元素記号の出力し、idでsortし
ておく必要があります。 ておく必要があります。
</p> </p>
<pre class="example" id="org88f2c0e"> <pre class="example" id="org3682e1f">
dump 1 all custom 10 hoge.lammpstrj id type element x y z dump 1 all custom 10 hoge.lammpstrj id type element x y z
dump_modify 1 element Si O sort id dump_modify 1 element Si O sort id
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-orgcf443dd" class="outline-3"> <div id="outline-container-org46a939b" class="outline-3">
<h3 id="orgcf443dd">XYZ</h3> <h3 id="org46a939b">XYZ</h3>
<div class="outline-text-3" id="text-orgcf443dd"> <div class="outline-text-3" id="text-org46a939b">
<p> <p>
xyz形式で、拡張子は.xyzまたは.10です。す。1行目に原子数、2行目に xyz形式で、拡張子は.xyzまたは.10です。す。1行目に原子数、2行目に
Step数と、格子定数を記述しておきます。alpha, beta, gammaがない場合 Step数と、格子定数を記述しておきます。alpha, beta, gammaがない場合
は、90, 90, 90とします。3行目以降にデータがならびます。2ステップ目 は、90, 90, 90とします。3行目以降にデータがならびます。2ステップ目
以降も同じ形式でデータを並べます。 以降も同じ形式でデータを並べます。
</p> </p>
<pre class="example" id="org334c727"> <pre class="example" id="org29c0781">
420 420
Step 225837 18.4116484 18.4116484 18.4116484 90 90 90 Step 225837 18.4116484 18.4116484 18.4116484 90 90 90
Si 10.560073 17.438902 6.614775 Si 10.560073 17.438902 6.614775
@@ -353,41 +330,41 @@ O 17.812448 0.110128 0.3462461
</div> </div>
<div id="outline-container-org552aa9b" class="outline-2"> <div id="outline-container-orgaa87222" class="outline-2">
<h2 id="org552aa9b">出力ファイル</h2> <h2 id="orgaa87222">出力ファイル</h2>
<div class="outline-text-2" id="text-org552aa9b"> <div class="outline-text-2" id="text-orgaa87222">
<p> <p>
4つのファイルに拡張子を追加して出力します。basenameは、指定しなけれ 4つのファイルに拡張子を追加して出力します。basenameは、指定しなけれ
ば、インプットファイルと同じになります。 ば、インプットファイルと同じになります。
</p> </p>
</div> </div>
<div id="outline-container-org8f480d7" class="outline-3"> <div id="outline-container-org4bbc8de" class="outline-3">
<h3 id="org8f480d7">積算配位数</h3> <h3 id="org4bbc8de">積算配位数</h3>
<div class="outline-text-3" id="text-org8f480d7"> <div class="outline-text-3" id="text-org4bbc8de">
<p> <p>
拡張子はcnです。原子ペア毎の \(CN(r)\) が保存されています。 拡張子はcnです。原子ペア毎の \(CN(r)\) が保存されています。
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org71f4deb" class="outline-3"> <div id="outline-container-orgb1c1caa" class="outline-3">
<h3 id="org71f4deb">動径分布関数</h3> <h3 id="orgb1c1caa">動径分布関数</h3>
<div class="outline-text-3" id="text-org71f4deb"> <div class="outline-text-3" id="text-orgb1c1caa">
<p> <p>
拡張子はgrです。原子ペア毎の \(g(r)\) と全原子 \(G(r)\) が保存されています。 拡張子はgrです。原子ペア毎の \(g(r)\) と全原子 \(G(r)\) が保存されています。
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org04b4e35" class="outline-3"> <div id="outline-container-org1aa9b90" class="outline-3">
<h3 id="org04b4e35">構造因子</h3> <h3 id="org1aa9b90">構造因子</h3>
<div class="outline-text-3" id="text-org04b4e35"> <div class="outline-text-3" id="text-org1aa9b90">
<p> <p>
拡張子はsqです。原子ペア毎の \(S(Q)\) とX線と中性子で観測される \(S(Q)\) が保存されています。 拡張子はsqです。原子ペア毎の \(S(Q)\) とX線と中性子で観測される \(S(Q)\) が保存されています。
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgc6deece" class="outline-3"> <div id="outline-container-org73ec849" class="outline-3">
<h3 id="orgc6deece">原子散乱因子と中性子散乱長</h3> <h3 id="org73ec849">原子散乱因子と中性子散乱長</h3>
<div class="outline-text-3" id="text-orgc6deece"> <div class="outline-text-3" id="text-org73ec849">
<p> <p>
拡張子はcoeffです。中性子散乱長と原子散乱因子を出力します。原子散乱 拡張子はcoeffです。中性子散乱長と原子散乱因子を出力します。原子散乱
因子は、<a href="https://www.szfki.hu/~nphys/rmc++/downloads.html">xcoeff.f</a>から抽出しています。中性子散乱長は、<a href="https://www.ncnr.nist.gov/resources/n-lengths/">NIST</a>のデータを 因子は、<a href="https://www.szfki.hu/~nphys/rmc++/downloads.html">xcoeff.f</a>から抽出しています。中性子散乱長は、<a href="https://www.ncnr.nist.gov/resources/n-lengths/">NIST</a>のデータを
@@ -397,9 +374,9 @@ O 17.812448 0.110128 0.3462461
</div> </div>
</div> </div>
<div id="outline-container-org822ec7b" class="outline-2"> <div id="outline-container-org2fd5e8e" class="outline-2">
<h2 id="org822ec7b">インストール</h2> <h2 id="org2fd5e8e">インストール</h2>
<div class="outline-text-2" id="text-org822ec7b"> <div class="outline-text-2" id="text-org2fd5e8e">
<p> <p>
プログラムはCで作成しています。Cのコンパイラを準備してmakeしてください。 プログラムはCで作成しています。Cのコンパイラを準備してmakeしてください。
ダウンロードして単にmakeしてください。 ダウンロードして単にmakeしてください。
@@ -409,25 +386,25 @@ O 17.812448 0.110128 0.3462461
<a href="dump2sq-1.0.tar.gz">dump2sq-1.0.tar.gz</a> <a href="dump2sq-1.0.tar.gz">dump2sq-1.0.tar.gz</a>
</p> </p>
<pre class="example" id="org7d80d2a"> <pre class="example" id="org7f02d9b">
make make
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-orgacb531f" class="outline-2"> <div id="outline-container-org101ea22" class="outline-2">
<h2 id="orgacb531f">使い方</h2> <h2 id="org101ea22">使い方</h2>
<div class="outline-text-2" id="text-orgacb531f"> <div class="outline-text-2" id="text-org101ea22">
<p> <p>
並列計算のために、環境変数をセットしてスレッド数を指定しておく。 並列計算のために、環境変数をセットしてスレッド数を指定しておく。
</p> </p>
<pre class="example" id="org04f1aac"> <pre class="example" id="orga6c3daf">
export OMP_NUM_THREADS=4 export OMP_NUM_THREADS=4
</pre> </pre>
<p> <p>
example以下のglass.lammpstrjを引数で渡して実行してみます。 example以下のglass.lammpstrjを引数で渡して実行してみます。
</p> </p>
<pre class="example" id="org58222f0"> <pre class="example" id="org75e677e">
dump2sq example/glass.lammpstrj dump2sq example/glass.lammpstrj
</pre> </pre>
<p> <p>
@@ -435,7 +412,7 @@ dump2sq example/glass.lammpstrj
さの半分としています。プログラムが実行されると、次のように出力されて、 さの半分としています。プログラムが実行されると、次のように出力されて、
4つのファイルが出力されます。 4つのファイルが出力されます。
</p> </p>
<pre class="example" id="org53f3b1c"> <pre class="example" id="org3066764">
basename: example/glass basename: example/glass
Maximum cell length = 17.284100 Maximum cell length = 17.284100
Rmax = 8.642050 Rmax = 8.642050
@@ -464,7 +441,7 @@ example/glass.sq was generated.
値です。GRmaxは、セルサイズを超えても計算できますが、物理的な意味は 値です。GRmaxは、セルサイズを超えても計算できますが、物理的な意味は
ないでしょう。 ないでしょう。
</p> </p>
<pre class="example" id="org7cf8256"> <pre class="example" id="orgfe36c9f">
./dump2sq -h ./dump2sq -h
usage: dump2sq [options] inputfile usage: dump2sq [options] inputfile
inputfile format inputfile format
@@ -484,22 +461,22 @@ options:
</div> </div>
</div> </div>
<div id="outline-container-org2bf0441" class="outline-2"> <div id="outline-container-orgf466f82" class="outline-2">
<h2 id="org2bf0441">misc</h2> <h2 id="orgf466f82">misc</h2>
<div class="outline-text-2" id="text-org2bf0441"> <div class="outline-text-2" id="text-orgf466f82">
</div> </div>
<div id="outline-container-org021e9c0" class="outline-3"> <div id="outline-container-orgfdc1020" class="outline-3">
<h3 id="org021e9c0">coeffploter.py</h3> <h3 id="orgfdc1020">coeffploter.py</h3>
<div class="outline-text-3" id="text-org021e9c0"> <div class="outline-text-3" id="text-orgfdc1020">
<p> <p>
元素を指定して、原子散乱因子と中性子散乱長をプロットする。 元素を指定して、原子散乱因子と中性子散乱長をプロットする。
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org21eefca" class="outline-3"> <div id="outline-container-orgda5455e" class="outline-3">
<h3 id="org21eefca">gr2sq.py</h3> <h3 id="orgda5455e">gr2sq.py</h3>
<div class="outline-text-3" id="text-org21eefca"> <div class="outline-text-3" id="text-orgda5455e">
<p> <p>
Qの刻みを変えて再計算するために、dump2sqで生成したgrファイルから Qの刻みを変えて再計算するために、dump2sqで生成したgrファイルから
S(Q)を計算しなおす。結晶のパターンを計算するために、\(2\theta\) で\(Q\) S(Q)を計算しなおす。結晶のパターンを計算するために、\(2\theta\) で\(Q\)
@@ -515,8 +492,8 @@ defaultで波長は、CuのK alpha線の1.54183 Åとしている。
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: 大窪 貴洋</p> <p class="author">Author: 大窪 貴洋</p>
<p class="date">Created: 2022-08-31 水 19:16</p> <p class="date">Created: 2023-04-23 日 14:57</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>
</html> </html>
+1 -1
View File
@@ -1053,7 +1053,7 @@ for a in args.atoms:
ax[1].plot(df["Q"], df[f"b {a}"], label=a) ax[1].plot(df["Q"], df[f"b {a}"], label=a)
ax[0].legend(loc='lower left', bbox_to_anchor=(1, 1), ncol=4) ax[0].legend(loc='lower left', bbox_to_anchor=(1, 1), ncol=4)
ax[0].set_xlabel("$Q/{\\rm \\AA^{-1}}$") ax[0].set_xlabel("$Q/{\\rm \\AA^{-1}}$")
ax[0].set_ylabel("$F$, XRD") ax[0].set_ylabel("$f$, XRD")
ax[1].set_xlabel("$Q/{\\rm \\AA^{-1}}$") ax[1].set_xlabel("$Q/{\\rm \\AA^{-1}}$")
ax[1].set_ylabel("$b$, ND") ax[1].set_ylabel("$b$, ND")
-40
View File
@@ -1,40 +0,0 @@
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
# total ND
fig, ax = plt.subplots(nrows=2, sharex=True)
d = np.loadtxt("test.sq")
ax[0].plot(d[:, 0], d[:, -1], "-", label="dump2sq")
d = np.loadtxt("rmcp_total_nd.sq")
ax[0].plot(d[:, 0], d[:, 1], "-", label="rmc")
ax[0].legend(loc="best")
# total XRD
d = np.loadtxt("test.sq")
ax[1].plot(d[:, 0], d[:, -2], "-", label="dump2sq")
d = np.loadtxt("rmcp_total_xrd.sq")
ax[1].plot(d[:, 0], d[:, 1], "-", label="rmc")
ax[1].legend(loc="best")
# ppcf
rmc = np.loadtxt("rmcp.ppcf")
dum = np.loadtxt("test.gr")
fig, ax = plt.subplots(nrows=rmc.shape[1]-1, sharex=True)
for i in range(1, rmc.shape[1]):
ax[i-1].plot(dum[:, 0], dum[:, i], label="dump2sq")
ax[i-1].plot(rmc[:, 0], rmc[:, i], label="rmp")
# ppcf
rmc = np.loadtxt("rmcp.psq")
dum = np.loadtxt("test.sq")
fig, ax = plt.subplots(nrows=rmc.shape[1]-1, sharex=True)
for i in range(1, rmc.shape[1]):
ax[i-1].plot(dum[:, 0], dum[:, i], label="dump2sq")
ax[i-1].plot(rmc[:, 0], rmc[:, i], label="rmp")
plt.show()