yu-mcal 0.1.6__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/PKG-INFO +11 -1
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/README.md +9 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/README_ja.md +9 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/mcal.html +135 -19
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_sources/index.rst.txt +13 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/genindex.html +4 -2
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/index.html +16 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/mcal.html +43 -16
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/modules.html +1 -0
- yu_mcal-0.2.1/docs/objects.inv +0 -0
- yu_mcal-0.2.1/docs/searchindex.js +1 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/index.rst +13 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/pyproject.toml +2 -1
- yu_mcal-0.2.1/requirements.txt +43 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/mcal.py +131 -18
- yu_mcal-0.2.1/uv.lock +2278 -0
- yu_mcal-0.1.6/docs/objects.inv +0 -0
- yu_mcal-0.1.6/docs/searchindex.js +0 -1
- yu_mcal-0.1.6/requirements.txt +0 -6
- yu_mcal-0.1.6/uv.lock +0 -1303
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/.gitignore +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/.python-version +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/LICENSE +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/.nojekyll +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/index.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/calculations/hopping_mobility_model.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/calculations/rcal.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/utils/cif_reader.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/utils/gaus_log_reader.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_modules/mcal/utils/gjf_maker.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_sources/mcal.calculations.rst.txt +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_sources/mcal.rst.txt +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_sources/mcal.utils.rst.txt +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_sources/modules.rst.txt +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/autodoc_pydantic.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/basic.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/debug.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/doctools.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/documentation_options.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/file.png +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/language_data.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/minus.png +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/plus.png +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/pygments.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/scripts/furo-extensions.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/scripts/furo.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/scripts/furo.js.LICENSE.txt +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/scripts/furo.js.map +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/searchtools.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/skeleton.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/sphinx_highlight.js +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/styles/furo-extensions.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/styles/furo-extensions.css.map +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/styles/furo.css +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/_static/styles/furo.css.map +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/mcal.calculations.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/mcal.utils.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/py-modindex.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs/search.html +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/Makefile +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/make.bat +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/conf.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/mcal.calculations.rst +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/mcal.rst +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/mcal.utils.rst +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/docs-src/source/modules.rst +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/__init__.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/calculations/__init__.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/calculations/hopping_mobility_model.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/calculations/rcal.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/constants/element_properties.csv +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/utils/__init__.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/utils/cif_reader.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/utils/gaus_log_reader.py +0 -0
- {yu_mcal-0.1.6 → yu_mcal-0.2.1}/src/mcal/utils/gjf_maker.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: yu-mcal
|
|
3
|
-
Version: 0.1
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Program for the calculation of mobility tensor for organic semiconductor crystals
|
|
5
5
|
Author: Koki Ozawa
|
|
6
6
|
Author-email: Hiroyuki Matsui <h-matsui@yz.yamagata-u.ac.jp>
|
|
@@ -40,6 +40,7 @@ Classifier: Topic :: Scientific/Engineering
|
|
|
40
40
|
Classifier: Topic :: Scientific/Engineering :: Chemistry
|
|
41
41
|
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
42
42
|
Requires-Python: >=3.9
|
|
43
|
+
Requires-Dist: matplotlib>=3.9.4
|
|
43
44
|
Requires-Dist: numpy>=2.0.2
|
|
44
45
|
Requires-Dist: pandas>=2.3.3
|
|
45
46
|
Requires-Dist: yu-tcal==3.1.0
|
|
@@ -57,6 +58,7 @@ Description-Content-Type: text/markdown
|
|
|
57
58
|
* Python 3.9 or newer
|
|
58
59
|
* NumPy
|
|
59
60
|
* Pandas
|
|
61
|
+
* Matplotlib
|
|
60
62
|
* yu-tcal==3.1.0
|
|
61
63
|
* Gaussian 09 or 16
|
|
62
64
|
|
|
@@ -157,6 +159,14 @@ Specify the number of unit cells to expand in each direction around the central
|
|
|
157
159
|
Save calculation results to a pickle file.
|
|
158
160
|
- **Example**: `mcal xxx.cif p -p`
|
|
159
161
|
|
|
162
|
+
#### `--plot-plane <plane>`
|
|
163
|
+
Plot mobility tensor as a 2D polar plot on specified crystallographic plane.
|
|
164
|
+
- **Available planes**: `ab`, `ac`, `ba`, `bc`, `ca`, `cb`
|
|
165
|
+
- **Default**: None (no plot generated)
|
|
166
|
+
- **Examples**:
|
|
167
|
+
- `mcal xxx.cif p --plot-plane ab` (plot on ab-plane)
|
|
168
|
+
- `mcal xxx.cif p --plot-plane bc` (plot on bc-plane)
|
|
169
|
+
|
|
160
170
|
### Diffusion Coefficient Calculation Methods
|
|
161
171
|
|
|
162
172
|
#### `--mc`
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* Python 3.9 or newer
|
|
11
11
|
* NumPy
|
|
12
12
|
* Pandas
|
|
13
|
+
* Matplotlib
|
|
13
14
|
* yu-tcal==3.1.0
|
|
14
15
|
* Gaussian 09 or 16
|
|
15
16
|
|
|
@@ -110,6 +111,14 @@ Specify the number of unit cells to expand in each direction around the central
|
|
|
110
111
|
Save calculation results to a pickle file.
|
|
111
112
|
- **Example**: `mcal xxx.cif p -p`
|
|
112
113
|
|
|
114
|
+
#### `--plot-plane <plane>`
|
|
115
|
+
Plot mobility tensor as a 2D polar plot on specified crystallographic plane.
|
|
116
|
+
- **Available planes**: `ab`, `ac`, `ba`, `bc`, `ca`, `cb`
|
|
117
|
+
- **Default**: None (no plot generated)
|
|
118
|
+
- **Examples**:
|
|
119
|
+
- `mcal xxx.cif p --plot-plane ab` (plot on ab-plane)
|
|
120
|
+
- `mcal xxx.cif p --plot-plane bc` (plot on bc-plane)
|
|
121
|
+
|
|
113
122
|
### Diffusion Coefficient Calculation Methods
|
|
114
123
|
|
|
115
124
|
#### `--mc`
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* Python 3.9以降
|
|
12
12
|
* NumPy
|
|
13
13
|
* Pandas
|
|
14
|
+
* Matplotlib
|
|
14
15
|
* yu-tcal==3.1.0
|
|
15
16
|
* Gaussian 09または16
|
|
16
17
|
|
|
@@ -111,6 +112,14 @@ Gaussianを実行せずに既存のlogファイルから結果を読み取りま
|
|
|
111
112
|
計算結果をpickleファイルに保存します。
|
|
112
113
|
- **例**: `mcal xxx.cif p -p`
|
|
113
114
|
|
|
115
|
+
#### `--plot-plane <plane>`
|
|
116
|
+
指定した結晶学的面上で移動度テンソルを2D極座標プロットで描画します。
|
|
117
|
+
- **利用可能な面**: `ab`, `ac`, `ba`, `bc`, `ca`, `cb`
|
|
118
|
+
- **デフォルト**: None(プロットは生成されません)
|
|
119
|
+
- **例**:
|
|
120
|
+
- `mcal xxx.cif p --plot-plane ab`(ab面にプロット)
|
|
121
|
+
- `mcal xxx.cif p --plot-plane bc`(bc面にプロット)
|
|
122
|
+
|
|
114
123
|
### 拡散係数計算手法
|
|
115
124
|
|
|
116
125
|
#### `--mc`
|
|
@@ -241,6 +241,9 @@
|
|
|
241
241
|
<span class="kn">from</span><span class="w"> </span><span class="nn">time</span><span class="w"> </span><span class="kn">import</span> <span class="n">time</span>
|
|
242
242
|
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">,</span> <span class="n">Literal</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">,</span> <span class="n">Union</span>
|
|
243
243
|
|
|
244
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib</span>
|
|
245
|
+
<span class="n">matplotlib</span><span class="o">.</span><span class="n">use</span><span class="p">(</span><span class="s1">'Agg'</span><span class="p">)</span>
|
|
246
|
+
<span class="kn">import</span><span class="w"> </span><span class="nn">matplotlib.pyplot</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">plt</span>
|
|
244
247
|
<span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
|
|
245
248
|
<span class="kn">from</span><span class="w"> </span><span class="nn">numpy.typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">NDArray</span>
|
|
246
249
|
<span class="kn">from</span><span class="w"> </span><span class="nn">tcal</span><span class="w"> </span><span class="kn">import</span> <span class="n">Tcal</span>
|
|
@@ -270,40 +273,41 @@
|
|
|
270
273
|
<span class="sd"> --------</span>
|
|
271
274
|
<span class="sd"> Basic usage:</span>
|
|
272
275
|
<span class="sd"> - Calculate p-type mobility for xxx crystal\n</span>
|
|
273
|
-
<span class="sd"> $
|
|
276
|
+
<span class="sd"> $ mcal xxx.cif p</span>
|
|
274
277
|
|
|
275
278
|
<span class="sd"> - Calculate n-type mobility for xxx crystal\n</span>
|
|
276
|
-
<span class="sd"> $
|
|
279
|
+
<span class="sd"> $ mcal xxx.cif n</span>
|
|
277
280
|
|
|
278
281
|
<span class="sd"> With resource options:</span>
|
|
279
282
|
<span class="sd"> - Use 8 CPUs and 16GB memory\n</span>
|
|
280
|
-
<span class="sd"> $
|
|
283
|
+
<span class="sd"> $ mcal xxx.cif p -c 8 -m 16</span>
|
|
281
284
|
|
|
282
285
|
<span class="sd"> - Use different calculation method (default is B3LYP/6-31G(d,p))\n</span>
|
|
283
|
-
<span class="sd"> $
|
|
286
|
+
<span class="sd"> $ mcal xxx.cif p -M "B3LYP/6-311G(d,p)"</span>
|
|
284
287
|
|
|
285
288
|
<span class="sd"> High-precision calculation:</span>
|
|
286
289
|
<span class="sd"> - Calculate all transfer integrals without speedup using moment of inertia and distance between centers of weight\n</span>
|
|
287
|
-
<span class="sd"> $
|
|
288
|
-
|
|
289
|
-
<span class="sd"> - Expand calculation range to 3x3x3 supercell\n</span>
|
|
290
|
-
<span class="sd"> $ python hop_mcal.py xxx.cif p --cellsize 1</span>
|
|
290
|
+
<span class="sd"> $ mcal xxx.cif p --fullcal</span>
|
|
291
291
|
|
|
292
292
|
<span class="sd"> - Expand calculation range to 5x5x5 supercell to widen transfer integral calculation range\n</span>
|
|
293
|
-
<span class="sd"> $
|
|
293
|
+
<span class="sd"> $ mcal xxx.cif p --cellsize 2</span>
|
|
294
294
|
|
|
295
295
|
<span class="sd"> Resume and save results:</span>
|
|
296
296
|
<span class="sd"> - Resume from existing calculations\n</span>
|
|
297
|
-
<span class="sd"> $
|
|
297
|
+
<span class="sd"> $ mcal xxx.cif p --resume</span>
|
|
298
298
|
|
|
299
299
|
<span class="sd"> - Save results to pickle file\n</span>
|
|
300
|
-
<span class="sd"> $
|
|
300
|
+
<span class="sd"> $ mcal xxx.cif p --pickle</span>
|
|
301
301
|
|
|
302
302
|
<span class="sd"> - Read results from existing pickle file\n</span>
|
|
303
|
-
<span class="sd"> $
|
|
303
|
+
<span class="sd"> $ mcal xxx_result.pkl p -rp</span>
|
|
304
304
|
|
|
305
305
|
<span class="sd"> - Read results from existing log files without running Gaussian\n</span>
|
|
306
|
-
<span class="sd"> $
|
|
306
|
+
<span class="sd"> $ mcal xxx.cif p -r</span>
|
|
307
|
+
|
|
308
|
+
<span class="sd"> Plot mobility tensor in 2D plane:</span>
|
|
309
|
+
<span class="sd"> - Plot mobility tensor in 2D plane (Examples: ab, ac, ba, bc, ca, cb (default is ab))\n</span>
|
|
310
|
+
<span class="sd"> $ python hop_mcal.py xxx.cif p --plot-plane ab</span>
|
|
307
311
|
|
|
308
312
|
<span class="sd"> Compare calculation methods:</span>
|
|
309
313
|
<span class="sd"> - Compare results using kinetic Monte Carlo and ODE methods\n</span>
|
|
@@ -356,6 +360,13 @@
|
|
|
356
360
|
<span class="n">help</span><span class="o">=</span><span class="s1">'use Ordinary Differential Equation method to calculate diffusion coefficient'</span><span class="p">,</span>
|
|
357
361
|
<span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</span><span class="p">,</span>
|
|
358
362
|
<span class="p">)</span>
|
|
363
|
+
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span>
|
|
364
|
+
<span class="s1">'--plot-plane'</span><span class="p">,</span>
|
|
365
|
+
<span class="n">help</span><span class="o">=</span><span class="s1">'plot mobility tensor in 2D plane (Examples: ab, ac, ba, bc, ca, cb (default is ab))'</span><span class="p">,</span>
|
|
366
|
+
<span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">,</span>
|
|
367
|
+
<span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
|
|
368
|
+
<span class="n">choices</span><span class="o">=</span><span class="p">[</span><span class="s1">'ab'</span><span class="p">,</span> <span class="s1">'ac'</span><span class="p">,</span> <span class="s1">'ba'</span><span class="p">,</span> <span class="s1">'bc'</span><span class="p">,</span> <span class="s1">'ca'</span><span class="p">,</span> <span class="s1">'cb'</span><span class="p">],</span>
|
|
369
|
+
<span class="p">)</span>
|
|
359
370
|
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span>
|
|
360
371
|
<span class="s1">'--resume'</span><span class="p">,</span>
|
|
361
372
|
<span class="n">help</span><span class="o">=</span><span class="s1">'resume calculation'</span><span class="p">,</span>
|
|
@@ -377,11 +388,11 @@
|
|
|
377
388
|
<span class="n">cif_path_without_ext</span> <span class="o">=</span> <span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">directory</span><span class="si">}</span><span class="s1">/</span><span class="si">{</span><span class="n">filename</span><span class="si">}</span><span class="s1">'</span>
|
|
378
389
|
|
|
379
390
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'----------------------------------------'</span><span class="p">)</span>
|
|
380
|
-
<span class="nb">print</span><span class="p">(</span><span class="s1">' mcal 0.1
|
|
391
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">' mcal 0.2.1 (2026/01/29) by Matsui Lab. '</span><span class="p">)</span>
|
|
381
392
|
<span class="nb">print</span><span class="p">(</span><span class="s1">'----------------------------------------'</span><span class="p">)</span>
|
|
382
393
|
|
|
383
394
|
<span class="k">if</span> <span class="n">args</span><span class="o">.</span><span class="n">read_pickle</span><span class="p">:</span>
|
|
384
|
-
<span class="n">read_pickle</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">file</span><span class="p">)</span>
|
|
395
|
+
<span class="n">read_pickle</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">file</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">plot_plane</span><span class="p">)</span>
|
|
385
396
|
<span class="n">exit</span><span class="p">()</span>
|
|
386
397
|
|
|
387
398
|
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Calculate as </span><span class="si">{</span><span class="n">args</span><span class="o">.</span><span class="n">osc_type</span><span class="si">}</span><span class="s1">-type organic semiconductor.'</span><span class="p">)</span>
|
|
@@ -589,6 +600,14 @@
|
|
|
589
600
|
<span class="s1">'mobility_vector'</span><span class="p">:</span> <span class="n">vector</span>
|
|
590
601
|
<span class="p">},</span> <span class="n">f</span><span class="p">)</span>
|
|
591
602
|
|
|
603
|
+
<span class="k">if</span> <span class="n">args</span><span class="o">.</span><span class="n">plot_plane</span><span class="p">:</span>
|
|
604
|
+
<span class="n">plot_mobility_2d</span><span class="p">(</span>
|
|
605
|
+
<span class="n">Path</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">cif_path_without_ext</span><span class="si">}</span><span class="s1">_result.pkl'</span><span class="p">),</span>
|
|
606
|
+
<span class="n">mu</span><span class="p">,</span>
|
|
607
|
+
<span class="n">cif_reader</span><span class="o">.</span><span class="n">lattice</span><span class="p">,</span>
|
|
608
|
+
<span class="n">args</span><span class="o">.</span><span class="n">plot_plane</span>
|
|
609
|
+
<span class="p">)</span>
|
|
610
|
+
|
|
592
611
|
<span class="n">Tcal</span><span class="o">.</span><span class="n">print_timestamp</span><span class="p">()</span>
|
|
593
612
|
<span class="n">end_time</span> <span class="o">=</span> <span class="n">time</span><span class="p">()</span>
|
|
594
613
|
<span class="n">elapsed_time</span> <span class="o">=</span> <span class="n">end_time</span> <span class="o">-</span> <span class="n">start_time</span>
|
|
@@ -988,6 +1007,85 @@
|
|
|
988
1007
|
|
|
989
1008
|
|
|
990
1009
|
|
|
1010
|
+
<div class="viewcode-block" id="plot_mobility_2d">
|
|
1011
|
+
<a class="viewcode-back" href="../../mcal.html#mcal.mcal.plot_mobility_2d">[docs]</a>
|
|
1012
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">plot_mobility_2d</span><span class="p">(</span>
|
|
1013
|
+
<span class="n">save_path</span><span class="p">:</span> <span class="n">Path</span><span class="p">,</span>
|
|
1014
|
+
<span class="n">mobility_tensor</span><span class="p">:</span> <span class="n">NDArray</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">],</span>
|
|
1015
|
+
<span class="n">lattice</span><span class="p">:</span> <span class="n">NDArray</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">],</span>
|
|
1016
|
+
<span class="n">plane</span><span class="p">:</span> <span class="n">Literal</span><span class="p">[</span><span class="s1">'ab'</span><span class="p">,</span> <span class="s1">'ac'</span><span class="p">,</span> <span class="s1">'ba'</span><span class="p">,</span> <span class="s1">'bc'</span><span class="p">,</span> <span class="s1">'ca'</span><span class="p">,</span> <span class="s1">'cb'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'ab'</span>
|
|
1017
|
+
<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
|
1018
|
+
<span class="w"> </span><span class="sd">"""Plot mobility tensor in 2D plane.</span>
|
|
1019
|
+
|
|
1020
|
+
<span class="sd"> Parameters</span>
|
|
1021
|
+
<span class="sd"> ----------</span>
|
|
1022
|
+
<span class="sd"> save_path : Path</span>
|
|
1023
|
+
<span class="sd"> Path to save the plot</span>
|
|
1024
|
+
<span class="sd"> mobility_tensor : NDArray[np.float64]</span>
|
|
1025
|
+
<span class="sd"> Mobility tensor</span>
|
|
1026
|
+
<span class="sd"> lattice : NDArray[np.float64]</span>
|
|
1027
|
+
<span class="sd"> Lattice vectors [Å]</span>
|
|
1028
|
+
<span class="sd"> plane : Literal['ab', 'ac', 'ba', 'bc', 'ca', 'cb']</span>
|
|
1029
|
+
<span class="sd"> Plane to plot, by default 'ab'</span>
|
|
1030
|
+
<span class="sd"> """</span>
|
|
1031
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Plot mobility in </span><span class="si">{</span><span class="n">plane</span><span class="si">}</span><span class="s2"> plane."</span><span class="p">)</span>
|
|
1032
|
+
<span class="n">angle_list</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">360</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
|
1033
|
+
<span class="n">mobility_values</span> <span class="o">=</span> <span class="p">[]</span>
|
|
1034
|
+
|
|
1035
|
+
<span class="n">a_vec</span> <span class="o">=</span> <span class="n">lattice</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
|
1036
|
+
<span class="n">b_vec</span> <span class="o">=</span> <span class="n">lattice</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
|
1037
|
+
<span class="n">c_vec</span> <span class="o">=</span> <span class="n">lattice</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
|
1038
|
+
<span class="k">if</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'ab'</span><span class="p">:</span>
|
|
1039
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">,</span> <span class="o">=</span> <span class="n">a_vec</span><span class="p">,</span> <span class="n">b_vec</span>
|
|
1040
|
+
<span class="k">elif</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'ba'</span><span class="p">:</span>
|
|
1041
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">,</span> <span class="o">=</span> <span class="n">b_vec</span><span class="p">,</span> <span class="n">a_vec</span>
|
|
1042
|
+
<span class="k">elif</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'bc'</span><span class="p">:</span>
|
|
1043
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">,</span> <span class="o">=</span> <span class="n">b_vec</span><span class="p">,</span> <span class="n">c_vec</span>
|
|
1044
|
+
<span class="k">elif</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'cb'</span><span class="p">:</span>
|
|
1045
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">,</span> <span class="o">=</span> <span class="n">c_vec</span><span class="p">,</span> <span class="n">b_vec</span>
|
|
1046
|
+
<span class="k">elif</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'ac'</span><span class="p">:</span>
|
|
1047
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">,</span> <span class="o">=</span> <span class="n">a_vec</span><span class="p">,</span> <span class="n">c_vec</span>
|
|
1048
|
+
<span class="k">elif</span> <span class="n">plane</span> <span class="o">==</span> <span class="s1">'ca'</span><span class="p">:</span>
|
|
1049
|
+
<span class="n">v1</span><span class="p">,</span> <span class="n">v2</span> <span class="o">=</span> <span class="n">c_vec</span><span class="p">,</span> <span class="n">a_vec</span>
|
|
1050
|
+
|
|
1051
|
+
<span class="c1"># Angle between the two specified crystal axes</span>
|
|
1052
|
+
<span class="n">second_axis_angle</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">rad2deg</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arccos</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">v1</span><span class="p">,</span> <span class="n">v2</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">v1</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">v2</span><span class="p">))))</span>
|
|
1053
|
+
<span class="nb">print</span><span class="p">(</span><span class="s1">'Crystal axis directions in the plotted plane:'</span><span class="p">)</span>
|
|
1054
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">plane</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="si">}</span><span class="s1">-axis: 0.0 deg'</span><span class="p">)</span>
|
|
1055
|
+
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">plane</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="si">}</span><span class="s1">-axis: </span><span class="si">{</span><span class="n">second_axis_angle</span><span class="si">:</span><span class="s1">.1f</span><span class="si">}</span><span class="s1"> deg'</span><span class="p">)</span>
|
|
1056
|
+
<span class="nb">print</span><span class="p">()</span>
|
|
1057
|
+
|
|
1058
|
+
<span class="c1"># Gram–Schmidt orthonormalization</span>
|
|
1059
|
+
<span class="n">e1</span> <span class="o">=</span> <span class="n">v1</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">v1</span><span class="p">)</span>
|
|
1060
|
+
<span class="n">e2</span> <span class="o">=</span> <span class="n">v2</span> <span class="o">-</span> <span class="n">np</span><span class="o">.</span><span class="n">dot</span><span class="p">(</span><span class="n">v2</span><span class="p">,</span> <span class="n">e1</span><span class="p">)</span> <span class="o">*</span> <span class="n">e1</span>
|
|
1061
|
+
<span class="n">e2</span> <span class="o">=</span> <span class="n">e2</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">linalg</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="n">e2</span><span class="p">)</span>
|
|
1062
|
+
|
|
1063
|
+
<span class="k">for</span> <span class="n">angle</span> <span class="ow">in</span> <span class="n">angle_list</span><span class="p">:</span>
|
|
1064
|
+
<span class="n">phi</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">deg2rad</span><span class="p">(</span><span class="n">angle</span><span class="p">)</span>
|
|
1065
|
+
<span class="n">direction</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> <span class="o">*</span> <span class="n">e1</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">phi</span><span class="p">)</span> <span class="o">*</span> <span class="n">e2</span>
|
|
1066
|
+
<span class="n">mobility_value</span> <span class="o">=</span> <span class="n">direction</span> <span class="o">@</span> <span class="n">mobility_tensor</span> <span class="o">@</span> <span class="n">direction</span>
|
|
1067
|
+
<span class="n">mobility_values</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">mobility_value</span><span class="p">)</span>
|
|
1068
|
+
|
|
1069
|
+
<span class="n">plt</span><span class="o">.</span><span class="n">rcParams</span><span class="p">[</span><span class="s1">'font.size'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">12</span>
|
|
1070
|
+
<span class="n">width_cm</span><span class="p">,</span> <span class="n">height_cm</span> <span class="o">=</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">8</span>
|
|
1071
|
+
<span class="n">width_inch</span><span class="p">,</span> <span class="n">height_inch</span> <span class="o">=</span> <span class="n">width_cm</span> <span class="o">/</span> <span class="mf">2.54</span><span class="p">,</span> <span class="n">height_cm</span> <span class="o">/</span> <span class="mf">2.54</span>
|
|
1072
|
+
|
|
1073
|
+
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">subplot_kw</span><span class="o">=</span><span class="p">{</span><span class="s1">'projection'</span><span class="p">:</span> <span class="s1">'polar'</span><span class="p">},</span> <span class="n">tight_layout</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="n">width_inch</span><span class="p">,</span> <span class="n">height_inch</span><span class="p">))</span>
|
|
1074
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_theta_zero_location</span><span class="p">(</span><span class="s1">'E'</span><span class="p">)</span>
|
|
1075
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">'--'</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
|
|
1076
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">deg2rad</span><span class="p">(</span><span class="n">angle_list</span><span class="p">),</span> <span class="n">mobility_values</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
|
|
1077
|
+
|
|
1078
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_rlim</span><span class="p">(</span><span class="n">bottom</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
|
|
1079
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mi">6</span><span class="p">))</span>
|
|
1080
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">tick_params</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s2">"x"</span><span class="p">,</span> <span class="n">pad</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
|
|
1081
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="sa">R</span><span class="s1">'Mobility [$\mathrm</span><span class="si">{cm}</span><span class="s1">^2 \mathrm</span><span class="si">{V}</span><span class="s1">^{-1} \mathrm</span><span class="si">{s}</span><span class="s1">^{-1}$]'</span><span class="p">)</span>
|
|
1082
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">set_label_coords</span><span class="p">(</span><span class="o">-</span><span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">)</span>
|
|
1083
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_rlabel_position</span><span class="p">(</span><span class="mi">90</span><span class="p">)</span>
|
|
1084
|
+
<span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">save_path</span><span class="o">.</span><span class="n">parent</span> <span class="o">/</span> <span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">save_path</span><span class="o">.</span><span class="n">stem</span><span class="si">}</span><span class="s2">_</span><span class="si">{</span><span class="n">plane</span><span class="si">}</span><span class="s2">.png"</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="mi">300</span><span class="p">,</span> <span class="n">bbox_inches</span><span class="o">=</span><span class="s1">'tight'</span><span class="p">)</span>
|
|
1085
|
+
<span class="n">plt</span><span class="o">.</span><span class="n">close</span><span class="p">()</span></div>
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
|
|
991
1089
|
<div class="viewcode-block" id="print_mobility">
|
|
992
1090
|
<a class="viewcode-back" href="../../mcal.html#mcal.mcal.print_mobility">[docs]</a>
|
|
993
1091
|
<span class="k">def</span><span class="w"> </span><span class="nf">print_mobility</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="n">NDArray</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">],</span> <span class="n">vector</span><span class="p">:</span> <span class="n">NDArray</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">],</span> <span class="n">sim_type</span><span class="p">:</span> <span class="n">Literal</span><span class="p">[</span><span class="s1">'MC'</span><span class="p">,</span> <span class="s1">'ODE'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">''</span><span class="p">):</span>
|
|
@@ -1093,14 +1191,24 @@
|
|
|
1093
1191
|
|
|
1094
1192
|
<div class="viewcode-block" id="read_pickle">
|
|
1095
1193
|
<a class="viewcode-back" href="../../mcal.html#mcal.mcal.read_pickle">[docs]</a>
|
|
1096
|
-
<span class="k">def</span><span class="w"> </span><span class="nf">read_pickle</span><span class="p">(</span
|
|
1194
|
+
<span class="k">def</span><span class="w"> </span><span class="nf">read_pickle</span><span class="p">(</span>
|
|
1195
|
+
<span class="n">file_name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
|
1196
|
+
<span class="n">plot_plane</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Literal</span><span class="p">[</span><span class="s1">'ab'</span><span class="p">,</span> <span class="s1">'ac'</span><span class="p">,</span> <span class="s1">'ba'</span><span class="p">,</span> <span class="s1">'bc'</span><span class="p">,</span> <span class="s1">'ca'</span><span class="p">,</span> <span class="s1">'cb'</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span>
|
|
1197
|
+
<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
|
1198
|
+
<span class="w"> </span><span class="sd">"""Read pickle file and plot mobility tensor in 2D plane.</span>
|
|
1199
|
+
|
|
1200
|
+
<span class="sd"> Parameters</span>
|
|
1201
|
+
<span class="sd"> ----------</span>
|
|
1202
|
+
<span class="sd"> file_name : str</span>
|
|
1203
|
+
<span class="sd"> Path to the pickle file</span>
|
|
1204
|
+
<span class="sd"> plot_plane : Optional[Literal['ab', 'ac', 'ba', 'bc', 'ca', 'cb']]</span>
|
|
1205
|
+
<span class="sd"> Plane to plot, by default None</span>
|
|
1206
|
+
<span class="sd"> """</span>
|
|
1097
1207
|
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Input File Name: </span><span class="si">{</span><span class="n">file_name</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
|
1098
1208
|
|
|
1099
1209
|
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
|
1100
1210
|
<span class="n">results</span> <span class="o">=</span> <span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">f</span><span class="p">)</span>
|
|
1101
1211
|
|
|
1102
|
-
<span class="c1"># print(results)</span>
|
|
1103
|
-
|
|
1104
1212
|
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'</span><span class="se">\n</span><span class="s1">Calculate as </span><span class="si">{</span><span class="n">results</span><span class="p">[</span><span class="s2">"osc_type"</span><span class="p">]</span><span class="si">}</span><span class="s1">-type organic semiconductor.'</span><span class="p">)</span>
|
|
1105
1213
|
|
|
1106
1214
|
<span class="n">print_reorg_energy</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="s1">'osc_type'</span><span class="p">],</span> <span class="n">results</span><span class="p">[</span><span class="s1">'reorganization'</span><span class="p">])</span>
|
|
@@ -1114,7 +1222,15 @@
|
|
|
1114
1222
|
|
|
1115
1223
|
<span class="n">print_tensor</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="s1">'mobility_tensor'</span><span class="p">],</span> <span class="n">msg</span><span class="o">=</span><span class="s2">"Mobility tensor (cm^2/Vs)"</span><span class="p">)</span>
|
|
1116
1224
|
|
|
1117
|
-
<span class="n">print_mobility</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="s1">'mobility_value'</span><span class="p">],</span> <span class="n">results</span><span class="p">[</span><span class="s1">'mobility_vector'</span><span class="p">])</span
|
|
1225
|
+
<span class="n">print_mobility</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="s1">'mobility_value'</span><span class="p">],</span> <span class="n">results</span><span class="p">[</span><span class="s1">'mobility_vector'</span><span class="p">])</span>
|
|
1226
|
+
|
|
1227
|
+
<span class="k">if</span> <span class="n">plot_plane</span><span class="p">:</span>
|
|
1228
|
+
<span class="n">plot_mobility_2d</span><span class="p">(</span>
|
|
1229
|
+
<span class="n">Path</span><span class="p">(</span><span class="n">file_name</span><span class="p">)</span><span class="o">.</span><span class="n">with_suffix</span><span class="p">(</span><span class="s1">''</span><span class="p">),</span>
|
|
1230
|
+
<span class="n">results</span><span class="p">[</span><span class="s1">'mobility_tensor'</span><span class="p">],</span>
|
|
1231
|
+
<span class="n">results</span><span class="p">[</span><span class="s1">'lattice'</span><span class="p">],</span>
|
|
1232
|
+
<span class="n">plot_plane</span><span class="p">,</span>
|
|
1233
|
+
<span class="p">)</span></div>
|
|
1118
1234
|
|
|
1119
1235
|
|
|
1120
1236
|
|
|
@@ -32,6 +32,7 @@ Requirements
|
|
|
32
32
|
* Python 3.9 or newer
|
|
33
33
|
* NumPy
|
|
34
34
|
* Pandas
|
|
35
|
+
* Matplotlib
|
|
35
36
|
* yu-tcal==3.1.0
|
|
36
37
|
* Gaussian 09 or 16
|
|
37
38
|
|
|
@@ -177,6 +178,18 @@ Save calculation results to a pickle file.
|
|
|
177
178
|
|
|
178
179
|
* **Example**: ``mcal xxx.cif p -p``
|
|
179
180
|
|
|
181
|
+
``--plot-plane <plane>``
|
|
182
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
183
|
+
|
|
184
|
+
Plot mobility tensor as a 2D polar plot on specified crystallographic plane.
|
|
185
|
+
|
|
186
|
+
* **Available planes**: ``ab``, ``ac``, ``ba``, ``bc``, ``ca``, ``cb``
|
|
187
|
+
* **Default**: None (no plot generated)
|
|
188
|
+
* **Examples**:
|
|
189
|
+
|
|
190
|
+
* ``mcal xxx.cif p --plot-plane ab`` (plot on ab-plane)
|
|
191
|
+
* ``mcal xxx.cif p --plot-plane bc`` (plot on bc-plane)
|
|
192
|
+
|
|
180
193
|
Diffusion Coefficient Calculation Methods
|
|
181
194
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
182
195
|
|
|
@@ -524,12 +524,14 @@
|
|
|
524
524
|
<li><a href="mcal.utils.html#mcal.utils.gjf_maker.GjfMaker.parent_dir">(mcal.utils.gjf_maker.GjfMaker attribute)</a>
|
|
525
525
|
</li>
|
|
526
526
|
</ul></li>
|
|
527
|
-
<li><a href="mcal.html#mcal.mcal.
|
|
527
|
+
<li><a href="mcal.html#mcal.mcal.plot_mobility_2d">plot_mobility_2d() (in module mcal.mcal)</a>
|
|
528
528
|
</li>
|
|
529
|
-
<li><a href="mcal.html#mcal.mcal.
|
|
529
|
+
<li><a href="mcal.html#mcal.mcal.print_mobility">print_mobility() (in module mcal.mcal)</a>
|
|
530
530
|
</li>
|
|
531
531
|
</ul></td>
|
|
532
532
|
<td style="width: 33%; vertical-align: top;"><ul>
|
|
533
|
+
<li><a href="mcal.html#mcal.mcal.print_reorg_energy">print_reorg_energy() (in module mcal.mcal)</a>
|
|
534
|
+
</li>
|
|
533
535
|
<li><a href="mcal.calculations.html#mcal.calculations.hopping_mobility_model.print_tensor">print_tensor() (in module mcal.calculations.hopping_mobility_model)</a>
|
|
534
536
|
|
|
535
537
|
<ul>
|
|
@@ -267,6 +267,7 @@ and determines mobility tensors considering anisotropy and path continuity.</p>
|
|
|
267
267
|
<li><p>Python 3.9 or newer</p></li>
|
|
268
268
|
<li><p>NumPy</p></li>
|
|
269
269
|
<li><p>Pandas</p></li>
|
|
270
|
+
<li><p>Matplotlib</p></li>
|
|
270
271
|
<li><p>yu-tcal==3.1.0</p></li>
|
|
271
272
|
<li><p>Gaussian 09 or 16</p></li>
|
|
272
273
|
</ul>
|
|
@@ -410,6 +411,20 @@ for transfer integral calculations.</p>
|
|
|
410
411
|
<li><p><strong>Example</strong>: <code class="docutils literal notranslate"><span class="pre">mcal</span> <span class="pre">xxx.cif</span> <span class="pre">p</span> <span class="pre">-p</span></code></p></li>
|
|
411
412
|
</ul>
|
|
412
413
|
</section>
|
|
414
|
+
<section id="plot-plane-plane">
|
|
415
|
+
<h5><code class="docutils literal notranslate"><span class="pre">--plot-plane</span> <span class="pre"><plane></span></code><a class="headerlink" href="#plot-plane-plane" title="Link to this heading">¶</a></h5>
|
|
416
|
+
<p>Plot mobility tensor as a 2D polar plot on specified crystallographic plane.</p>
|
|
417
|
+
<ul class="simple">
|
|
418
|
+
<li><p><strong>Available planes</strong>: <code class="docutils literal notranslate"><span class="pre">ab</span></code>, <code class="docutils literal notranslate"><span class="pre">ac</span></code>, <code class="docutils literal notranslate"><span class="pre">ba</span></code>, <code class="docutils literal notranslate"><span class="pre">bc</span></code>, <code class="docutils literal notranslate"><span class="pre">ca</span></code>, <code class="docutils literal notranslate"><span class="pre">cb</span></code></p></li>
|
|
419
|
+
<li><p><strong>Default</strong>: None (no plot generated)</p></li>
|
|
420
|
+
<li><p><strong>Examples</strong>:</p>
|
|
421
|
+
<ul>
|
|
422
|
+
<li><p><code class="docutils literal notranslate"><span class="pre">mcal</span> <span class="pre">xxx.cif</span> <span class="pre">p</span> <span class="pre">--plot-plane</span> <span class="pre">ab</span></code> (plot on ab-plane)</p></li>
|
|
423
|
+
<li><p><code class="docutils literal notranslate"><span class="pre">mcal</span> <span class="pre">xxx.cif</span> <span class="pre">p</span> <span class="pre">--plot-plane</span> <span class="pre">bc</span></code> (plot on bc-plane)</p></li>
|
|
424
|
+
</ul>
|
|
425
|
+
</li>
|
|
426
|
+
</ul>
|
|
427
|
+
</section>
|
|
413
428
|
</section>
|
|
414
429
|
<section id="diffusion-coefficient-calculation-methods">
|
|
415
430
|
<h4>Diffusion Coefficient Calculation Methods<a class="headerlink" href="#diffusion-coefficient-calculation-methods" title="Link to this heading">¶</a></h4>
|
|
@@ -653,6 +668,7 @@ mcal<span class="w"> </span>xxx.cif<span class="w"> </span>p<span class="w"> </s
|
|
|
653
668
|
</li>
|
|
654
669
|
<li><a class="reference internal" href="#output-settings">Output Settings</a><ul>
|
|
655
670
|
<li><a class="reference internal" href="#p-pickle"><code class="docutils literal notranslate"><span class="pre">-p,</span> <span class="pre">--pickle</span></code></a></li>
|
|
671
|
+
<li><a class="reference internal" href="#plot-plane-plane"><code class="docutils literal notranslate"><span class="pre">--plot-plane</span> <span class="pre"><plane></span></code></a></li>
|
|
656
672
|
</ul>
|
|
657
673
|
</li>
|
|
658
674
|
<li><a class="reference internal" href="#diffusion-coefficient-calculation-methods">Diffusion Coefficient Calculation Methods</a><ul>
|