-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
862 lines (849 loc) · 76.7 KB
/
index.xml
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Kanrw</title>
<link>https://kanrw.github.io/</link>
<description>Recent content on Kanrw</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 03 Feb 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://kanrw.github.io/index.xml" rel="self" type="application/rss+xml" /><item>
<title>ABACUS简明手册</title>
<link>https://kanrw.github.io/p/abacus%E7%AE%80%E6%98%8E%E6%89%8B%E5%86%8C/</link>
<pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/p/abacus%E7%AE%80%E6%98%8E%E6%89%8B%E5%86%8C/</guid>
<description><blockquote>
<p><a class="link" href="https://abacus.ustc.edu.cn/main.htm" target="_blank" rel="noopener"
>Abacus</a>
<a class="link" href="https://abacus.ustc.edu.cn/manual/list.htm" target="_blank" rel="noopener"
>相关软件的手册</a>
<a class="link" href="https://xmywuqhxb0.feishu.cn/docx/KN3KdqbX6o9S6xxtbtCcD5YPnue" target="_blank" rel="noopener"
>新人使用注意事项</a></p>
</blockquote>
<h1 id="introduction">Introduction
</h1><p><code>ABACUS</code> 是一个可以选择平面波 pw 基组或者 LCAO 原子轨道基组进行 DFT 计算的软件包。</p>
<p>LCAO 基组的好处是相对平面波基组更小,因此计算的效率更高,虽然精度相对会低一点,相当于在计算速度和精度之间重新寻找了一个平衡点。</p>
<p>除此之外,由于使用原子轨道基,在一些特定的情况下,例如计算 BPVE 体光伏效应的时候,不用再使用 <code>wannier90</code> 拟合哈密顿量,减少了误差出现的可能性,优化工作流。</p>
<p>并且在这个生态下还有其他的软件可以方便的使用,例如 <code>DeePMD</code>、<code>PYATB</code> 等等。</p>
<p><strong><a class="link" href="https://bohrium-chat.dp.tech/#/chat" target="_blank" rel="noopener"
>Bohrium Chat</a> 有什么问题可以问他们社区的 GPT</strong>。</p>
<hr>
<p>下面是官方介绍</p>
<blockquote>
<p>ABACUS (Atomic-orbital Based Ab-initio Computation at UStc) is an open-source computer code package aiming for large-scale electronic-structure simulations from first principles, developed at the Key Laboratory of Quantum Information and Supercomputing Center, University of Science and Technology of China (USTC) - Computer Network and Information Center, Chinese of Academy (CNIC of CAS).</p>
</blockquote>
<p>ABACUS currently provides the following features and functionalities:</p>
<ol>
<li>Three types of supported basis sets: pw, LCAO, and LCAO-in-pw.</li>
<li>Ground-state total energy calculations using Kohn-Sham (KS) density functional theory (DFT) with local-density, generalized gradient approximations (LDA/GGAs), Meta-GGA (requires LIBXC, only for PW), and hybrid functionals (PBE0 and HSE06, only for LCAO and currently under test).</li>
<li>Geometry relaxations with Conjugated Gradient (CG), BFGS, and FIRE methods.</li>
<li>Semi-empirical van der Waals energy correction using the Grimme DFT-D2/D3 scheme.</li>
<li>NVT and NVE molecular dynamics simulation. AIMD, DP potential, LJ potential are supported.</li>
<li>Stress calculation and cell relaxation.</li>
<li>Electric polarization calculation using Berry Phase theory.</li>
<li>Interface to the Wannier90 package.</li>
<li>Real-time time dependent density functional theory (TDDFT).</li>
<li>Print-out of the electrostatic potential.</li>
<li>Mulliken charge analysis (only for LCAO).</li>
<li>Projected density of states (PDOS) (only for LCAO).</li>
<li>DFT+U calculation (only for LCAO).</li>
<li>&hellip;</li>
</ol>
<h1 id="how-to-submit">How to submit
</h1><p>Here is a simple script to submit the job.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-job.sh" data-lang="job.sh"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="c1">#SBATCH -J TASK</span>
</span></span><span class="line"><span class="cl"><span class="c1">#SBATCH -p sonmi_1 -N 1 -n 40</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">ulimit</span> -s unlimited
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">module load abacus
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;This program is running at&#39;</span> <span class="sb">`</span>hostname<span class="sb">`</span>
</span></span><span class="line"><span class="cl">mpirun -n <span class="si">${</span><span class="nv">SLURM_NPROCS</span><span class="si">}</span> abacus
</span></span></code></pre></td></tr></table>
</div>
</div><p>由于这个软件使用的是 <code>intel-2023</code> 编译器,因此在有些节点上可能无法使用。</p>
<h1 id="辅助软件-用于准备相应输入文件">辅助软件-用于准备相应输入文件
</h1><h2 id="atomkit"><code>atomkit</code>
</h2><p>和 <code>vaspkit</code> 是同一个开发组,使用方式也一样,以前用 <code>vaspkit</code> 的同学可以无缝衔接。但是 <code>atomkit</code> 还在测试中,需要加 qq 群获取安装包,有需要的可以联系管理员。
(或者我有空装到 <code>module</code> 中)</p>
<h2 id="dpdata"><code>dpdata</code>
</h2><p>![[dpdata-handbook#Introduction]]</p>
<h1 id="赝势和轨道文件-pseudo_dir-and-orbital_dir">赝势和轨道文件 <code>pseudo_dir</code> and <code>orbital_dir</code>
</h1><blockquote>
<p><a class="link" href="https://xmywuqhxb0.feishu.cn/docx/M6M2dJj4moBL05xaMtLc8sf1nub" target="_blank" rel="noopener"
>轨道文件的基本说明</a></p>
</blockquote>
<ul>
<li>在 INPUT 文件中用 <code>basis_type</code> 来确定是平面波基组(pw)还是原子轨道的线性组合(lcao),<strong>默认是前者</strong>,使用后者要在 STRU 文件中写入原子轨道基组的信息</li>
<li>ABACUS 没有 POTCAR 文件,而是将 POTCAR 文件变成地址调用,在 INPUT 中写好地址,STRU 文件中选择调用的具体文件名,轨道信息也是如此</li>
</ul>
<p>计算需要赝势库 <a class="link" href="https://abacus.ustc.edu.cn/pseudo/list.htm" target="_blank" rel="noopener"
>PSEUDOPOTENTIALS AND ORBITALS</a></p>
<p><img src="https://kanrw.github.io/Pasted%20image%2020240109171014.png"
loading="lazy"
></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">pseudo_dir /share/home/wangml/SG15_ONCV_v1.0_upf
</span></span><span class="line"><span class="cl">orbital_dir /share/home/wangml/SG15-Version1p0__StandardOrbitals-Version2p0
</span></span></code></pre></td></tr></table>
</div>
</div><ol>
<li>训练 DP 势需要先进行收敛性测试,需要下载的是包含所有轨道基组的包,而不是只包含推荐设置的 standard 的包。(<em>但是 <code>atomkit</code> 自动转换的 <code>STRU</code> 只能指定 standard 版本的轨道文件,如欲测试其他轨道文件,需手动修改</em>)</li>
<li>下载完成后通过轨道文件的名字判断该轨道的精度等级(以 Si 为例):![[Pasted image 20240126131643.png]]</li>
<li><strong>DZP 精度&lt;TZDP, DZP 效率优于 TZDP</strong></li>
<li>“Si_gga_6au_100Ry_2s2p1d. Orb”
1. <code>Si</code> : 元素名,需要确认和赝势中元素相同
2. <code>gga</code>:对应的赝势中的交换关联泛函版本,目前只提供了 GGA-PBE 的
3. <code>6au</code>:轨道截断半径,越小越快,越大越准,需要收敛性测试
4. <code>100Ry</code>:说明精度锚定的是 <code>ecutwfc = 100Ry</code> 的 PW 基组计算结果,作为参数设置推荐值,ecutwfc 不需要进行收敛性测试
5. <code>2s2p1d</code>:轨道文件中包含的轨道数量,越多越准,越少越快,不需要收敛性测试,只需要判断 scf 收敛的电子结构性质结果精度是否符合需求,一般来说 DZP 是够用的,不排除特例。</li>
</ol>
<p>和 PW 基组一样,对 k 点的收敛性测试也是需要的。</p>
<h1 id="input-files">Input Files
</h1><blockquote>
<p><a class="link" href="https://abacus.deepmodeling.com/en/latest/quick_start/input.html" target="_blank" rel="noopener"
>Brief Introduction of the Input Files — ABACUS documentation</a>
<a class="link" href="https://www.bilibili.com/video/BV1Bc41147vg/?spm_id_from=333.337.search-card.all.click&amp;vd_source=a927cbf9ea7106abc8e72b377926f35e" target="_blank" rel="noopener"
>周巍青:密度泛函理论与ABACUS简介_哔哩哔哩_bilibili</a></p>
</blockquote>
<h2 id="input-基本参数"><code>INPUT</code> 基本参数
</h2><p>需要注意,<strong>这个软件的单位和 <code>vasp</code> 不一样,例如 <code>ecutwfc</code></strong>。因此在<strong>进行参数转换的时候一定一定要慎重</strong>。</p>
<p>简单的 <code>INPUT</code> 文件如下所示</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">INPUT_PARAMETERS
</span></span><span class="line"><span class="cl">suffix MgO # the name of system
</span></span><span class="line"><span class="cl">ntype 2 # how many types of elements in the unit cell
</span></span><span class="line"><span class="cl">pseudo_dir ./
</span></span><span class="line"><span class="cl">orbital_dir ./
</span></span><span class="line"><span class="cl">ecutwfc 100 # Rydberg
</span></span><span class="line"><span class="cl">scf_thr 1e-4 # Rydberg
</span></span><span class="line"><span class="cl">basis_type lcao
</span></span><span class="line"><span class="cl">calculation scf # this is the key parameter telling abacus to do a scf calculation
</span></span><span class="line"><span class="cl">out_chg True
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<p><code>INPUT</code> 文件需要以 <code>INPUT_PARAMETERS</code> 先行词开头,该词前面的内容都会被忽略掉。输入参数有很多, 具体请查看手册,这里列举几种情况的输入文件怎么写。
下面整理一些常用的参数</p>
<table>
<thead>
<tr>
<th style="text-align: center">参数名</th>
<th style="text-align: center">取值 (VASP 中对应的取值))</th>
<th style="text-align: center">注释</th>
<th style="text-align: center">VASP</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">scf_thr</td>
<td style="text-align: center">实数</td>
<td style="text-align: center">电荷密度收敛条件,计算两次电子步的电荷密度差值,来确定是否退出电子迭代,与 vasp 中的 EDIFF 起到的作用一样</td>
<td style="text-align: center">EDIFF</td>
</tr>
<tr>
<td style="text-align: center">suffix</td>
<td style="text-align: center"></td>
<td style="text-align: center">系统名称</td>
<td style="text-align: center">SYSTEM</td>
</tr>
<tr>
<td style="text-align: center">ntype</td>
<td style="text-align: center">实数</td>
<td style="text-align: center">原子种类数,可以不设置,ABACUS 会根据 STRU 文件来自动确定原子种类会</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">pseudo_dir</td>
<td style="text-align: center"></td>
<td style="text-align: center">赝势文件地址</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">orbital_dir</td>
<td style="text-align: center"></td>
<td style="text-align: center">轨道文件地址(pw 基组可以不写)</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">ecutwfc</td>
<td style="text-align: center">如果选的是 lcao 基组,那么最好和轨道文件选取一致(看文件名)</td>
<td style="text-align: center">平面波的截断能,这里的单位是 Ry</td>
<td style="text-align: center">ENCUT</td>
</tr>
<tr>
<td style="text-align: center">basis_type</td>
<td style="text-align: center">lcao/pw</td>
<td style="text-align: center">基组的选取</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">calculation</td>
<td style="text-align: center">Tip 1</td>
<td style="text-align: center">计算的类型</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">init_chg</td>
<td style="text-align: center">Tip 2</td>
<td style="text-align: center">初始电荷密度的设置</td>
<td style="text-align: center">ICHARG</td>
</tr>
<tr>
<td style="text-align: center">init_wfc</td>
<td style="text-align: center">Tip 2</td>
<td style="text-align: center">初始波函数的设置,只有选了 pw 基组才需要设置 w</td>
<td style="text-align: center">ISTART</td>
</tr>
<tr>
<td style="text-align: center">out_chg</td>
<td style="text-align: center">T/F</td>
<td style="text-align: center">是否输出电荷密度文件</td>
<td style="text-align: center">LCHARG</td>
</tr>
<tr>
<td style="text-align: center">out_wfc_pw</td>
<td style="text-align: center">0/1/2</td>
<td style="text-align: center">是否输出波函数</td>
<td style="text-align: center">LWAVE</td>
</tr>
<tr>
<td style="text-align: center">scf_nmax</td>
<td style="text-align: center"></td>
<td style="text-align: center">电子步的最大值</td>
<td style="text-align: center">NELM</td>
</tr>
<tr>
<td style="text-align: center">smearing_method</td>
<td style="text-align: center">fixed(ISMEAR=-2)/gauss (ISMEAR=0)/mp (ISMEAR&gt;0)/fd(ISMEAR=-1))</td>
<td style="text-align: center">轨道占据的方式</td>
<td style="text-align: center">ISMEAR</td>
</tr>
<tr>
<td style="text-align: center">smearing_sigma</td>
<td style="text-align: center"></td>
<td style="text-align: center">the width of the smearing in eV</td>
<td style="text-align: center">SIGMA</td>
</tr>
<tr>
<td style="text-align: center">nspin</td>
<td style="text-align: center">1 (ISPIN=1)/2 (ISPIN=2)/4 (2 是共线自旋计算,4 是非共线自旋计算)</td>
<td style="text-align: center">考不考虑自旋</td>
<td style="text-align: center">ISPIN</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Tip 1</strong>:关于 <code>calculation</code> 参数的取值
1、静态计算:scf
2、结构优化:relax 或者 cell-relax
3、非自洽计算:nscf
4、分子动力学模拟:md</p>
<p><strong>具体计算细节见后续小节</strong></p>
</blockquote>
<blockquote>
<p><strong>Tip 2</strong>:电荷密度和波函数相关设置
1、init_chg 有 <code>atomic</code> 和 <code>file</code> 两种取值,前者是根据原子密度求和得到初始电荷密度,后者是直接从电荷密度文件读取。
2、电荷密度文件可以通过设置参数 <code>out_chg</code> 为 Ture 来输出,输出文件名后缀为 <code>.cube</code>。
3、init_wfc 的取值为 <code>atomic</code> <code>random</code> <code>atomic+random</code> <code>file</code> 四种。PW 基组建议使用 <code>atomic</code> ,LCAO 基组建议使用 <code>file</code>。
4、波函数的输出有两种,<code>out_wfc_pw</code> 和 <code>out_wfc_lcao</code>, 应该是基组不一样。当它们取 0 时,不输出,取 1 时输出的波函数文件是 txt 格式,取 2 时是二进制文件。</p>
</blockquote>
<h2 id="stru-结构文件"><code>STRU</code> 结构文件
</h2><p>![[Pasted image 20240118173533.png]]</p>
<blockquote>
<p><strong>原子坐标的进阶写法</strong>
1、在做结构优化的时候,如果要固定某些原子不动,某些原子动,则在原子坐标后面加上 <code>m 0 0 0</code> 或 <code>m 1 1 1</code>,0 代表不动,1 代表允许移动。例如上面硅的例子, 原子坐标改为:
-0.125 -0.125 -0.125 m 0 0 0
0.125 0.125 0.125 m 1 1 1
表示第一个原子不动,第二个原子可移动。M 可以省略。</p>
</blockquote>
<p>2、如果要设置每个原子磁矩不同,或者非共线磁时,在每个原子坐标后面加关键词 <code>mag</code> 来编写原子磁矩,共线磁只需一个数,非共线磁要三个数,与 <code>vasp</code> 中的 <code>MAGMOM</code> 参数一致。</p>
<blockquote>
</blockquote>
<p>3、如果要设置共线反铁磁,则设置两种原子,其他参数都一样,但一种磁矩为 m,另一种为-m。</p>
<h3 id="stru-格式转换-方案-0"><code>STRU</code> 格式转换-方案 0
</h3><p>最方便的方案,下载 <code>atomkit</code>,使用方式和 <code>vaspkit</code> 一样。</p>
<h3 id="stru-格式转换-方案-1"><code>STRU</code> 格式转换-方案 1
</h3><blockquote>
<p><a class="link" href="https://github.com/deepmodeling/dpdata" target="_blank" rel="noopener"
>deepmodeling/dpdata-github</a></p>
</blockquote>
<p>安装略(需要安装 <code>conda+Python</code>),在组内集群可以直接运行 <code>pip install dpdata</code></p>
<p>使用</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">conda activate dpdata <span class="c1"># or any env contain python&gt;=3</span>
</span></span><span class="line"><span class="cl">python
</span></span></code></pre></td></tr></table>
</div>
</div><p>进入 <code>python</code> 后</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">dpdata</span>
</span></span><span class="line"><span class="cl"><span class="c1">#poscar 转为 stru</span>
</span></span><span class="line"><span class="cl"><span class="n">ls</span> <span class="o">=</span> <span class="n">dpdata</span><span class="o">.</span><span class="n">System</span><span class="p">(</span><span class="n">file_name</span><span class="o">=</span><span class="s1">&#39;POSCAR&#39;</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;poscar&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">ls</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">file_name</span><span class="o">=</span><span class="s2">&#34;STRU&#34;</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;abacus/stru&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#stru 转为 poscar</span>
</span></span><span class="line"><span class="cl"><span class="n">ls</span> <span class="o">=</span> <span class="n">dpdata</span><span class="o">.</span><span class="n">System</span><span class="p">(</span><span class="n">file_name</span><span class="o">=</span><span class="s2">&#34;STRU&#34;</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;abacus/stru&#39;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">ls</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">file_name</span><span class="o">=</span><span class="s1">&#39;POSCAR&#39;</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;poscar&#39;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="stru-格式转换-方案-2"><code>STRU</code> 格式转换-方案 2
</h3><blockquote>
<p><a class="link" href="https://nb.bohrium.dp.tech/detail/9814968648" target="_blank" rel="noopener"
>ABACUS 使用教程|如何转换 STRU 文件</a></p>
</blockquote>
<p>这里使用的是 <code>Python ASE-ABACUS</code> 接口,和上面的方案一样,都需要 <code>Python</code> 环境。</p>
<p>上面的软件应该有前缀 <code>dp</code>,应该也是一个社区开发的。</p>
<blockquote>
<p>[!info] <a class="link" href="https://gitlab.com/1041176461/ase-abacus" target="_blank" rel="noopener"
>jiyuyang / ase-abacus · GitLab</a>
<a class="link" href="https://wiki.fysik.dtu.dk/ase/" target="_blank" rel="noopener"
>ASE</a> (Atomic Simulation Environment) provides a set of Python tools for setting, running, and analysing atomic simulations. We have developed an <a class="link" href="http://abacus.ustc.edu.cn/" target="_blank" rel="noopener"
>ABACUS</a> calculator (ase-abacus) to be used together with the ASE tools, which exists as an external project with respect to ASE and is maintained by ABACUS developers.</p>
</blockquote>
<p>所以这个软件相当于一个工具合集,或许正式教程中直接安装这个会更好。</p>
<p>如果组里要装,最好的方式就是看看怎么启用 <code>conda</code>,大家要用就默认启用这个模组,或者在 <code>module</code> 里面 <code>activate conda env-abacus</code>,如果各自有需要就 clone 一个 environment.</p>
<p><strong>现阶段对我来说最有用的还是它有 MD Analysis</strong></p>
<h2 id="kpt-计算网格"><code>KPT</code> 计算网格
</h2><p>这里利用 <code>atomkit</code> 生成 <code>KPT</code></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-mysql" data-lang="mysql"><span class="line"><span class="cl"><span class="n">echo</span><span class="w"> </span><span class="o">-</span><span class="n">e</span><span class="w"> </span><span class="s2">&#34;301\n0\n101 STRU\n0.03&#34;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">atomkit</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="c1"># or you can just type `atomkit` and follow the guide
</span></span></span></code></pre></td></tr></table>
</div>
</div><h1 id="结构优化">结构优化
</h1><p><code>ABACUS</code> 提供了两种结构优化的方法 <code>relax</code> 和 <code>cell-relax</code>。前者其实对应于 <code>VASP</code> 里面的 <code>ISIF=2</code>,就是优化原子位置,但不优化晶格矢量(晶胞);后者则对应 <code>ISIF=3</code>,既优化晶胞,又优化原子位置。当然也可以固定原子位置进行优化,具体见 [[ABACUS-handbook#<code>STRU</code> 结构文件]] 章节。</p>
<p>下面表格是结构优化可能用到的参数。</p>
<table>
<thead>
<tr>
<th style="text-align: center">参数名</th>
<th style="text-align: center">取值(默认值)</th>
<th style="text-align: center">注释</th>
<th style="text-align: center">VASP</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">calculation</td>
<td style="text-align: center">relax</td>
<td style="text-align: center">-</td>
<td style="text-align: center">ISIF=2</td>
</tr>
<tr>
<td style="text-align: center">calculation</td>
<td style="text-align: center">cell-relax</td>
<td style="text-align: center">-</td>
<td style="text-align: center">ISIF=3</td>
</tr>
<tr>
<td style="text-align: center">relax_method</td>
<td style="text-align: center">cg/bfgs/cg_bfgs/sd/fire(cg)</td>
<td style="text-align: center">Tip 1</td>
<td style="text-align: center">IBRION</td>
</tr>
<tr>
<td style="text-align: center">relax_nmax</td>
<td style="text-align: center">实数 (1)</td>
<td style="text-align: center">最大离子步</td>
<td style="text-align: center">NSW</td>
</tr>
<tr>
<td style="text-align: center">force_thr_ev</td>
<td style="text-align: center">实数(0.0257112)</td>
<td style="text-align: center">力收敛的条件</td>
<td style="text-align: center">EDIFFG</td>
</tr>
<tr>
<td style="text-align: center">cal_stress</td>
<td style="text-align: center">T/F (True if calculation is cell-relax, False otherwise)</td>
<td style="text-align: center">是否计算应力</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">stress_thr</td>
<td style="text-align: center">实数(0.5)</td>
<td style="text-align: center">应力收敛的阈值</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">fixed_axes</td>
<td style="text-align: center">None/volume/shape/a/b/c/ab/ac/bc</td>
<td style="text-align: center">固定原胞参数</td>
<td style="text-align: center"></td>
</tr>
<tr>
<td style="text-align: center">out_stru</td>
<td style="text-align: center">T/F (F))</td>
<td style="text-align: center">是否输出结构文件</td>
<td style="text-align: center"></td>
</tr>
</tbody>
</table>
<h2 id="opt_input"><code>opt_INPUT</code>
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">INPUT_PARAMETERS
</span></span><span class="line"><span class="cl">#Parameters (1.General)
</span></span><span class="line"><span class="cl">pseudo_dir /share/home/wangml/SG15_ONCV_v1.0_upf
</span></span><span class="line"><span class="cl">orbital_dir /share/home/wangml/SG15-Version1p0__StandardOrbitals-Version2p0
</span></span><span class="line"><span class="cl">ntype 5
</span></span><span class="line"><span class="cl">calculation cell-relax
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">#Parameters (2.SCF)
</span></span><span class="line"><span class="cl">ecutwfc 100
</span></span><span class="line"><span class="cl">scf_thr 1e-5
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">smearing_method gauss
</span></span><span class="line"><span class="cl">smearing_sigma 0.01
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">#Parameters (3.Basis)
</span></span><span class="line"><span class="cl">basis_type lcao
</span></span><span class="line"><span class="cl">force_thr_ev 0.01 # the threshold of the force convergence, in unit of eV/Angstrom
</span></span><span class="line"><span class="cl">stress_thr 2 # the threshold of the stress convergence, in unit of kBar
</span></span><span class="line"><span class="cl">relax_nmax 100 # the maximal number of ionic iteration steps
</span></span><span class="line"><span class="cl">out_stru 1
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">##Parameter DFT+U
</span></span><span class="line"><span class="cl">dft_plus_u 1
</span></span><span class="line"><span class="cl">orbital_corr 2 -1 -1 -1 -1
</span></span><span class="line"><span class="cl">hubbard_u 4 0 0 0 0
</span></span></code></pre></td></tr></table>
</div>
</div><h1 id="自洽计算-scf">自洽计算 SCF
</h1><h2 id="scf_input"><code>scf_INPUT</code>
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">INPUT_PARAMETERS
</span></span><span class="line"><span class="cl">#Parameters (1.General)
</span></span><span class="line"><span class="cl">pseudo_dir /share/home/wangml/SG15_ONCV_v1.0_upf
</span></span><span class="line"><span class="cl">orbital_dir /share/home/wangml/SG15-Version1p0__StandardOrbitals-Version2p0
</span></span><span class="line"><span class="cl">ntype 5
</span></span><span class="line"><span class="cl">calculation scf
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">#Parameters (2.SCF)
</span></span><span class="line"><span class="cl">ecutwfc 100
</span></span><span class="line"><span class="cl">scf_thr 1e-7
</span></span><span class="line"><span class="cl">scf_nmax 100
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">#Parameters (3.Basis)
</span></span><span class="line"><span class="cl">basis_type lcao
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">smearing_method gauss
</span></span><span class="line"><span class="cl">smearing_sigma 0.015
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">##Parameter DFT+U
</span></span><span class="line"><span class="cl">dft_plus_u 1
</span></span><span class="line"><span class="cl">orbital_corr 2 -1 -1 -1 -1
</span></span><span class="line"><span class="cl">hubbard_u 4 0 0 0 0
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">#Parameters (File)
</span></span><span class="line"><span class="cl">out_chg 1
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="scf-续算">SCF-续算
</h3><p><code>init_chg</code> is used for choosing the method of charge density initialization.</p>
<ul>
<li><code>atomic</code> : initial charge density by atomic charge density from pseudopotential file under keyword <code>PP_RHOATOM</code></li>
<li><code>file</code> : initial charge density from files produced by previous calculations with <a class="link" href="https://abacus.deepmodeling.com/en/latest/advanced/elec_properties/charge.html" target="_blank" rel="noopener"
><code>out_chg 1</code></a>.</li>
</ul>
<h2 id="scf-输出">SCF-输出
</h2><p>![[Pasted image 20240118215036.png]]</p>
<h1 id="dftu">DFT+U
</h1><table>
<thead>
<tr>
<th style="text-align: left">参数名</th>
<th style="text-align: left">取值</th>
<th style="text-align: left">含义</th>
<th style="text-align: left">vasp 对应</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left">dft_plus_u</td>
<td style="text-align: left">T/F</td>
<td style="text-align: left">加不加 UU</td>
<td style="text-align: left">LDAU</td>
</tr>
<tr>
<td style="text-align: left">orbital_corr</td>
<td style="text-align: left">-1,1,2,3</td>
<td style="text-align: left">-1 代表该原子不加,1/2/3 代表 p/d/f 轨道加 U</td>
<td style="text-align: left">LDAUL</td>
</tr>
<tr>
<td style="text-align: left">hubbard_u</td>
<td style="text-align: left"></td>
<td style="text-align: left">加 U 的大小 U</td>
<td style="text-align: left">LDAUU minus LDAUJ</td>
</tr>
<tr>
<td style="text-align: left">yukawa_potential</td>
<td style="text-align: left">T/F</td>
<td style="text-align: left">采用局域屏蔽库伦势计算 U 值 U</td>
<td style="text-align: left"></td>
</tr>
</tbody>
</table>
<h1 id="其他">其他
</h1><p>想找其他类型计算的参数设置,或者这个社区其他软件包的使用教程,都可以去 <a class="link" href="https://nb.bohrium.dp.tech/cases" target="_blank" rel="noopener"
>bohrium社区</a>中寻找 Notebook。</p>
<h2 id="输出文件">输出文件
</h2><p>所有的输出文件都在 <code>OUT.suffix</code> 文件夹中。</p>
<ul>
<li><code>INPUT</code> 计算中所有使用的参数</li>
<li><code>STRU_ION_D</code> 结构优化结果文件</li>
<li><code>SPIN1_CHG.cube</code> 电荷密度文件</li>
<li><code>running_scf.log</code> 计算细节,等同于 <code>OUTCAR</code></li>
</ul>
<h2 id="数据和图像处理">数据和图像处理
</h2><p>这个社区有提供相应的 <code>python</code> 代码画图,可以在集群上直接安装 <code>jupyter-notebook</code> ,在服务器上进行简单的绘图,分析计算结果。</p>
<h1 id="一些注意事项">一些注意事项
</h1><blockquote>
<p><a class="link" href="https://xmywuqhxb0.feishu.cn/docx/KN3KdqbX6o9S6xxtbtCcD5YPnue" target="_blank" rel="noopener"
>新人使用注意事项</a></p>
</blockquote>
<ol>
<li>用 LCAO 计算有真空层的体系时,<strong>不要把真空层设置在 Z 方向</strong>,目前 ABACUS 的格点积分(与原子位置有关)是在 Z 方向进行并行的,这样会造成资源浪费。PW 计算没有这种考虑。</li>
<li> ABACUS 的输入参数中,长度单位通常为 Bohr,能量单位通常为 Ry。
<ol>
<li>1 Angstrom ~= 1.889716 Bohr</li>
<li>1 Ry ~= 13.6 eV</li>
</ol>
</li>
<li><strong>ecutwfc</strong>:对应 VASP 的<strong>ENCUT</strong>,单位为 Ry。VASP 常用 PAW 赝势,ABACUS 常用模守恒赝势。使用 ABACUS 时不能直接用 VASP 的能量截断值,需重新做收敛性测试,一般模守恒赝势需要的截断值更大。</li>
</ol>
</description>
</item>
<item>
<title>Crash写作法</title>
<link>https://kanrw.github.io/p/crash%E5%86%99%E4%BD%9C%E6%B3%95/</link>
<pubDate>Tue, 31 Oct 2023 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/p/crash%E5%86%99%E4%BD%9C%E6%B3%95/</guid>
<description><blockquote>
<p><a class="link" href="https://www.sohu.com/a/411100479_752169" target="_blank" rel="noopener"
>石黑一雄的崩溃式写作法|我是如何在四周内完成一部长篇小说的?</a></p>
</blockquote>
<h1 id="introduction">Introduction
</h1><p>我们都有完美主义倾向,希望事情按照我们的设想进行。我们希望写作的时候没有别的事情来打扰,写出来的文字优美流畅,不用修改。写作的时候文思泉涌。然而大部分时候我们面临的情况都不可能如此完美,所以大部分时候我们都在拖延,都在面对一团乱码,手足无措。</p>
<p>高中的时候 #Author/石黑一雄 获得了诺奖,由于文化有限,想着追赶一下文学潮流,便买了他的获奖作品 #Author/石黑一雄/被掩埋的巨人 ,后来陆陆续续地看完了他的大部分作品。后来刷到一个他的访谈,聊到他是如何写作的。他说,自己在写 #Author/石黑一雄/长日留痕 的时候,他早早写完了第一章的内容,但是隔了一年,后面的内容迟迟写不出来,于是他决定采取一个“疯狂”的方法。有很多人采取过类似的方案进行写作,只是拥有很多名字,例如 #Author/石黑一雄 叫它‘Crash(崩溃式)写作法’,小红书上有人叫它‘呕吐式写作法’(vomit writing),或者更传统一点,可以叫做‘头脑风暴’或者说是‘思维导图’。</p>
<h1 id="石黑一雄的写作方法">石黑一雄的写作方法
</h1><blockquote>
<p>石黑一雄的方法
在实施“崩溃”计划期间,我肆无忌惮地写作,既不在意文体,也不在意自己下午所写的内容与当日早上所创作的内容相左。我优先考虑的,是让想法跃然纸上,逐渐生发。糟糕的句子,可怕的对话,无用的场景——这些我都一并保留,然后继续笔耕不缀。</p>
</blockquote>
<p>虽然在这个计划期间写出来内容肯定非常粗糙,但是已经完成了写作最重要、最困难的一步,发挥了想象力,完成了框架的建构,剩下的就是缝缝补补。</p>
<p>另一种呕吐法也是一样,<strong>在呕吐的时候不会在意形象,尽情的发泄出来,最后整理这一堆垃圾,从中找出有用的部分。</strong>
这种方法还有一个好处,就是当我们面对一团乱麻无从下手的时候,在‘呕吐物’中翻找的过程,也是整理思路的过程。从中可以梳理出 #WorkFlow/主线任务 和相应的 #WorkFlow/支线任务 。</p>
<h1 id="具体操作">具体操作
</h1><p>这些方法其实也有前提,我们要想输出,前提是有输入,这个方法只是让我们克服不敢输出的问题。要想有东西可吐,首先也要肚子里吃了东西。作为科研写作方法,可不能凭空虚构内容出来。</p>
<p>日常写作中也是一样的,包括这个文档,完全可以随意输出,后续再整理。我平常写不出来文章,一是我的思维确实比较的零碎,导致我和别人交流的时候会出现别人搞不懂我的问题的情况;另一个也是我没有整理的习惯,这导致没有什么成体系的输出, #Website 的输出也这样操作。 ^5f9f7e</p>
<h2 id="writing-in-crash">Writing in Crash
</h2><p>首先选择几篇和我目标成品感觉相近的文章,还有一些我过去看过的作为理论基础的文章,一开始就这么多够了。边读边写,想到什么写什么,不需要顾虑框架,不需要考虑顺序,任由大脑发挥想象力,有要补充的内容就先简单标记,等到下一个阶段再润色补充。</p>
<p>关键在于,<strong>保证连续性,不要考虑任何打断连续输出的事情</strong>,包括但不限于复杂的分段,标点,文件命名,就选择<strong>一个文件</strong>来写。</p>
<p>一般 #Literature/PRB 正文 2k 字,换算成中文(毕竟我用中文才能最迅速的输出)大概为三倍,即 6k 字,按照小红书的说法,写到一半的字数就可以开始整理了,与扩展、完善了。</p>
<h2 id="arrange">Arrange
</h2><p>等到输出完毕,再重新整理所有的内容,将碎片放到合适的地方。整个过程其实类似于卡片式写作法, [[TAGandBOOKMARK-make it grow]],让文章生长出来。</p>
<h1 id="实践之后的感受">实践之后的感受
</h1><p>平常我就是一个,思维比较跳脱,比较碎片化的人,这些碎片在我脑海中虽然拥有联系,但是别人和我的思维方式、储备都不同,这也是为什么别人很可能听不懂我在说什么。</p>
<p>这在我爸看来就是思维没有深度,他要求与希望所有‘说出口’的内容都是已经经过了细致的思考与组织的。但是每个人思维方式都不同,我也不强求,我不是一个追求伟大事业的人,适合自己就好。</p>
<p>这个方案经过我的尝试,就很合适。之前写 [[TAGandBOOKMARK-make it grow]] 就是因为,我有很多冒出来的想法,不知道如何组织,同时它们涌现得太多太快,让我在其中迷失。</p>
<p>我以前很喜欢写日记,这个过程就是让我和自己对话,整理自己的思绪。现在科研中也是一样的,让我能够看到未来的方向,想明白真正需要做的是什么事情。[[Crash-231101]]</p>
<p>[[网站更新计划]] 我的网站更新其实也可以被吸纳进我的 #WorkFlow/Writing 之中,我的思想,从碎片的 #WorkFlow/Softwares/flomo ,被整理到了 #WorkFlow/Softwares/Obsidian 之中,可能在 ob 之中的内容很多还是像 crash 一样,所以最后进行整理和精炼,来到了我的 #Website 上。这可以是我最近晚上的内容了。</p>
<h1 id="延伸">延伸
</h1><p>更进一步,为了充分发挥其整理思路的作用,把我混乱的生活整理起来,每天早上到办公室后的第一件事,应该是拿出小本本,把想到的事情都写下来画个图,自然就能知道当天的主线任务和支线任务了。</p>
<p>人生如戏,把科研当作人生的任务,其中也有主线任务和支线任务,尽力而为,做完下班(做不完明天再说)。</p>
</description>
</item>
<item>
<title>相机选购指南-偏人像</title>
<link>https://kanrw.github.io/p/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%B4%AD%E6%8C%87%E5%8D%97-%E5%81%8F%E4%BA%BA%E5%83%8F/</link>
<pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/p/%E7%9B%B8%E6%9C%BA%E9%80%89%E8%B4%AD%E6%8C%87%E5%8D%97-%E5%81%8F%E4%BA%BA%E5%83%8F/</guid>
<description><h1 id="introduction">INTRODUCTION
</h1><p>相机属于买了容易吃灰的东西,主要原因是,相比于手机,相机非常的笨重,又需要格外的小心镜头镜片,没法做到随身携带,随拿随拍,本身利用率就很低。除此之外,还需要额外的学习才能够掌握相机的基本使用,直接导出的照片有可能还不如手机好看。而且相机的图片还需要多一步导出、后期,不像手机拍了就能分享。</p>
<p>日常生活中,手机已经能满足于绝大部分需求。</p>
<p>相机相比于手机的优势在于,能够自由掌控拍照的参数,对于比较极端的情况(日出日落,夜晚,艺术化),相机能够表现的手机更好。最大的优势还是图片是 <code>raw</code> 格式,后期空间远大于手机拍摄的 <code>jpg</code> 格式。</p>
<p>特殊情况,人像拍摄,相机用大光圈镜头能够得到很好的虚化,比较容易拍出好看的照片。(手机的人像模式是通过算法虚化,现在 adobe 的软件也能够实现效果很好的虚化效果)。</p>
<p>所以,其实直接用手机拍效果和相机接近,只是对于极端一点的情况相机能够表现得更好。但是手机更加方便。看你如何取舍。</p>
<hr>
<p>如果要买相机,就考虑买主流的微单,传统的单反相机厂商早就不再更新,也太大太重了,极度影响拍摄体验。</p>
<p>微单会根据传感器的大小进行分级,从大到小排列,全画幅 &gt; aps-c(残幅)&gt; M43</p>
<h1 id="全画幅">全画幅
</h1><p>(现在摄影圈最主流的机器群)
全画幅传感器最大,所以画面更加纯净,在同等光圈的情况下,虚化也最明显。同样体积最大、价钱最高。</p>
<p>御三家分别是索尼,佳能,尼康,次一级的厂家,松下。</p>
<p>索尼的对焦能力最好,副厂镜头很多很便宜。佳能拍人像好看,但是镜头贵。尼康后期宽容度大,所以拍风光的喜欢用尼康。松下视频很好,性价比高。</p>
<h2 id="佳能-r8">佳能 R8
</h2><p>说到拍人像,佳能直出(直接导出不后期)的肤色是最好的,最省事。但是佳能后续买镜头可能比较贵。</p>
<p>这个价格也比较高。</p>
<h1 id="尼康-z5">尼康 Z5
</h1><p>有点老的机器,但是性价比比较高,大概 7-8k 可以买到机身,配合 24-200 这颗镜头,旅游会用得很舒服,而且尼康的照片宽容度大,对于拍风光题材的人来说,是个好选择。但是拍视频不好。</p>
<p>考虑到后期发展,还需要买其他焦段的镜头,尼康的镜头只有原厂,虽然画质很好,但是很大很重又很贵。</p>
<h2 id="松下-s5一代二代都行">松下 S5(一代二代都行)
</h2><p>S5 突出一个性价比,1W 左右京东可以拿下双镜头套餐,一个变焦一个定焦,基本上就够用了。二代的对焦性能比一代好,其他基本一致。</p>
<p>S5 还有一个特点是照片本身的色彩比较自然。</p>
<p>而且之前看你也拍视频发 b 站,S5 是照片视频都行的水桶机。</p>
<p>综合来说,这是我最推荐的全画幅机器。如果只是拍照,推荐一代。</p>
<h1 id="aps-c">APS-C
</h1><p>这个规格的相机,御三家都不是主力机型,所以处于一个高不成低不就的状态,好的残幅相机价格也接近全画幅了,所以不怎么推荐,除了,<strong>富士</strong>,但是富士缺货加价买不到,不推荐。</p>
<h1 id="m43">M43
</h1><p>M43 这个规格,是奥林巴斯和松下两个厂家联合支持的规格,因此镜头群很广很便宜,而且传感器小,所以机器比较小巧防抖性能好。</p>
<p>但是 M43 被人诟病的点在于,传感器太小,画面不够纯净噪点很多,并且虚化小,难以拍出像全画幅一样大虚化的人像照片。</p>
<p>这些缺点也有方法解决,通过后期的 AI 降噪和虚化,只是比较麻烦。</p>
<h2 id="松下-g9一代二代">松下 G9(一代二代)
</h2><p>G9 的性能很好,价钱也很便宜,就是有点老了,对焦可能慢一点,但是松下 M43 的拍照旗舰机,总和性能很强。</p>
<p>最近新出了二代,M43 里面非常强,而且拍视频相比全画幅要好,等半年价格就跳水了,现在刚出价格比较高。</p>
<p>但是这个系列很大很重,和全画幅差不多,无法体现 M43 的轻便优势。(大机身握持感好,看你如何取舍)</p>
<h2 id="奥林巴斯-om-5">奥林巴斯 OM-5
</h2><p>价格便宜,M43 系统的次旗舰,我用的就这个,比较小巧,价格便宜,机身 6.5k(去咸鱼上找经销商),剩下的钱可以买一堆镜头了。</p>
<p>有很多花里胡哨的拍照功能,但是对于拍人像本身没什么用处,不怎么推荐。</p>
<h1 id="conclusion">CONCLUSION
</h1><p>全画幅机器虽然比较大比较贵,但是前期能够获得更好的素材,后期空间更大,推荐 S5 一代双镜头套餐,性价比很好,二代对焦好一些但是贵。</p>
<p>M43 的优势在于镜头很多很便宜,二手镜头流通率很高,而且机身小巧轻便。但是对于人像拍摄由于虚化小有些劣势(人像拍摄不一定要大虚化,但是虚化强会容易出片一点)。
还有一点,M43 在摄影圈容易被全画幅老法师鄙视,容易让人动摇想换器材。</p>
<p>相机机身有时候不如镜头重要,拍人像最重要的是有个大光圈镜头,所以预算不能全用在机身上,要考虑后续能配什么镜头。</p>
</description>
</item>
<item>
<title>网站配置方案</title>
<link>https://kanrw.github.io/p/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE%E6%96%B9%E6%A1%88/</link>
<pubDate>Fri, 29 Sep 2023 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/p/%E7%BD%91%E7%AB%99%E9%85%8D%E7%BD%AE%E6%96%B9%E6%A1%88/</guid>
<description><h1 id="框架---hugo">框架 - Hugo
</h1><p><strong>选择这个框架的原因</strong>,主要还是感觉大家更加推崇这个框架,虽然模板比较少,但是渲染速度快(对于以后有长期更新需求的来说,这点很关键),而且部署比较方便,Github 上 star 数量排静态博客第一,这种时候相信大多数人的选择一般不会有太大问题。</p>
<h2 id="基础安装">基础安装
</h2><p>组装工具之前,先把零件准备好,这几个都是成熟的东西,安装很简单,一直点继续就行</p>
<ol>
<li><code>Go</code></li>
<li><code>Git</code></li>
<li><code>Hugo</code></li>
</ol>
<p>这里安装完后要添加到系统环境变量,点进去后是放到环境变量的 <code>PATH</code> 中,这点坑了我好久。</p>
<p>测试是否安装成功</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">&gt; hugo version
</span></span><span class="line"><span class="cl">hugo v0.108.0-a0d64a46e36dd2f503bfd5ba1a5807b900df231d windows/amd64 <span class="nv">BuildDate</span><span class="o">=</span>2022-12-06T13:37:56Z <span class="nv">VendorInfo</span><span class="o">=</span>gohugoio
</span></span><span class="line"><span class="cl">&gt; go version
</span></span><span class="line"><span class="cl">go version go1.19.4 windows/amd64
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="生成基础配置">生成基础配置
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">hugo new site <span class="s1">&#39;name&#39;</span> <span class="c1"># 初始化网站</span>
</span></span><span class="line"><span class="cl">ls
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 这里是相关文件夹的作用</span>
</span></span><span class="line"><span class="cl">archetypes <span class="c1"># markdown文件的 Front matter 格式</span>
</span></span><span class="line"><span class="cl">assets
</span></span><span class="line"><span class="cl">content <span class="c1"># 存放内容的文件夹</span>
</span></span><span class="line"><span class="cl">data <span class="c1"># 存放数据文件,一般是 json 文件</span>
</span></span><span class="line"><span class="cl">layouts <span class="c1"># 模板文件</span>
</span></span><span class="line"><span class="cl">public <span class="c1"># 真正上传到 github 的部分,渲染后的静态页面</span>
</span></span><span class="line"><span class="cl">static <span class="c1"># 存放静态文件,比如css、js、img等文件目录,Hugo在渲染时,会直接将static目录下的文件直接复制到public目录下,不会做任何渲染。</span>
</span></span><span class="line"><span class="cl">themes <span class="c1"># 存放网站主题,可以下载多个主题,themes目录下的每个子目录代表了一个主题,可以通过在config.toml中通过参数theme指定主题</span>
</span></span><span class="line"><span class="cl">config.toml <span class="c1"># 站点全局的参数配置文件</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="下载主题并调整">下载主题并调整
</h2><p>主题到官方网站下载 <a class="link" href="https://themes.gohugo.io/" target="_blank" rel="noopener"
>Complete List | Hugo Themes</a></p>
<h2 id="填充内容">填充内容
</h2><h2 id="预览界面">预览界面
</h2><p>即使只是刚刚下载好主题,网站内空空如也,肯定也忍不住先看一眼它长什么样,以后会经常这么操作,来回修改。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">hugo server -D
</span></span></code></pre></td></tr></table>
</div>
</div><p>然后用浏览器打开<a class="link" href="http://localhost:1313/" target="_blank" rel="noopener"
>本地网页</a></p>
<h2 id="生成静态页面">生成静态页面
</h2><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">hugo --theme=stack --baseUrl=&#34;https://kanrw.github.io&#34;
</span></span></code></pre></td></tr></table>
</div>
</div><p>这里可以指定主题和其他内容生成静态页面,生成的内容会放到 <code>/public</code> 下,**需要推送到 <code>github</code> 上的是 `/publlic</p>
<h1 id="github-pages"><code>GitHub Pages</code>
</h1><p><code>GitHubPages</code> 是一项静态站点托管服务,它直接从 GitHub 上的仓库获取 index. html、HTML、CSS 和 JavaScript 文件,也可以通过构建过程运行文件,然后发布网站。我们使用 <code>GitHubPages</code> 搭建个人网站。</p>
<p><strong>一个很重要的点是,<code>hugo</code> 生成的网站内容在文件夹下的 <code>public</code> 之中</strong>,所以别人 <code>git</code> 的命令都是先切进这个文件夹,外面的文件夹我想叫什么都无所谓。</p>
<p><a class="link" href="https://kanrw.github.io/" target="_blank" rel="noopener"
>Here is my website!</a></p>
<h2 id="推送到-github">推送到 <code>Github</code>
</h2><p>网站配置好,就需要推送到 <code>GitHub</code> 才能让别人也看到。</p>
<p>由于网络的原因,所以还是用 <code>ssh</code> 的方式连接账户比较的稳定。</p>
</description>
</item>
<item>
<title>Archives</title>
<link>https://kanrw.github.io/archives/</link>
<pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/archives/</guid>
<description></description>
</item>
<item>
<title>About</title>
<link>https://kanrw.github.io/about/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/about/</guid>
<description><p>这个网站只是为了记录,单纯地记录。让我能够在读博的漫长时光中留下点什么。</p>
<p>关于这个网站的细节,你可以通过首页的 <code>Tags: Website</code> 快速找到(<em>之所以不用超链接的方式让你看到那个页面,是因为我只是套模板,很多东西不知道怎么微调</em>)。里面包括了:</p>
<ul>
<li>建立网站的动机(这可能是这个 <code>Tag</code> 下最无聊的一篇了)</li>
<li>如何从头开始建立一个网站</li>
<li>网站内容的结构</li>
<li>(尝试能否利用 markdown 的链接关联文件)</li>
<li>&hellip;</li>
</ul>
<p>利用网站的分类和标签系统,你还能快速找到更多有用的东西。</p>
</description>
</item>
<item>
<title>Search</title>
<link>https://kanrw.github.io/search/</link>
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
<guid>https://kanrw.github.io/search/</guid>
<description></description>
</item>
</channel>
</rss>