mathjax-yard 0.1.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/docs/potential2.md DELETED
@@ -1,103 +0,0 @@
1
- # lj0
2
- 標準的なLennard-Jonesポテンシャルの表式
3
-
4
- $$ F(s)=\int_{0}^{\infty}f(t)e^{-st}dt $$
5
-
6
- ```
7
- bob% cat POTCAR
8
- ---
9
- :type: lj0
10
- :element: Al
11
- :a0: 1.587401051*0.7071067812/2.857701314;
12
- :e0: -1*4.0/12.0;
13
- :a: 18.19007708
14
- :b: 89.22765864
15
- :p: 3.0
16
- :q: 5.0
17
- :cut_off: 4.0*0.8
18
- :energy: -a*(1/r**p)+b*(1/r**q)
19
- :dedr: (p*a/r**(p+1.0))-(q*b/r**(q+1.0))
20
- ```
21
- # lj_jindo
22
- 神藤先生あるいはVu Van Huangが使っていたLennard-Jonesポテンシャルの表式.
23
- ```ruby
24
- bob% cat POTCAR_jindo_Cu
25
- ---
26
- :type: lj_jindo
27
- :element: Cu
28
- :d0: 4125.70
29
- :n: 9.00
30
- :m: 5.50
31
- :r0: 2.5487e-8
32
- :alat: 3.6153e-8
33
- :atom_mass: 63.5460/6.023e23
34
- :energy: d0*((r/r0)^(-n)*m-(r/r0)^(-m)*n)/(m-n)
35
- :dedr: d0*m*n*((r/r0)^(-m)-(r/r0)^(-n))/(r*(m-n))
36
- ```
37
- ```
38
- Cu
39
- d0 := 4125.70;
40
- vn := 9.00;
41
- vm := 5.50;
42
- r0 := 2.5487e-8;
43
- rh:=r0/rr;
44
- dedr:=unapply(-d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm),rr);
45
- eq1:=int(dedr(r),r);
46
- func:=unapply(eq1,rr);
47
- r1:=2.5487*10^(-8)*0.8;
48
- r2:=2.5487*10^(-8)*1.5;
49
- plot(8.617385e-05*func(r),r=r1..r2);
50
- ```
51
- ```ruby
52
- dedr:=unapply(-d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm),rr);
53
- eq1:=int(dedr(r),r);
54
- -{ 1.821482757\times 10^{-38}} r{-5.5}+
55
- { 2.942122564\times 10^{-65}} r^{-9}
56
- ```
57
- ```ruby
58
- rh:=r0/rr;
59
- dedr:=normal(expand(d0*vm*vn / ((vn-vm)*rr) * (rh**vn - rh**vm)));
60
- eq1:=simplify(int(dedr,rr));
61
- ```
62
-
63
- $$
64
-
65
- r_1=r/r_0
66
-
67
- \frac{ d_0 \left( r_1^{-n}m- r_1^{-m} n \right) }{ -n + m }
68
- $$
69
-
70
- # ポテンシャル選択機構
71
- module LJに記述
72
- ```ruby
73
- def select(file='POTCAR')
74
- # p src = YAML.load_file(ARGV[0])
75
- p src = YAML.load_file(file)
76
- @@potential=case src[:type]
77
- when 'lj0'
78
- LJ0.new(src)
79
- when 'lj_jindo'
80
- LJ_Jindo.new(src)
81
- end
82
- end
83
- ```
84
- - 委譲による選択
85
- - pseudovasp.rbにLJ.select('POTCAR')がある.
86
- - LJ0あるいはLJ_Jindoをclassとして用意.
87
- - POTCARへのYAMLでの記述
88
- - クラス変数によるクラス共通の変数定義
89
-
90
- EAMとの統一を考えたが,energy, forceのmethodの選択を
91
- どっかでしないとダメで,その綺麗なやり方が思いつかず,
92
- そのままにした.
93
-
94
- ```ruby
95
- class EAMAtom < Atom
96
- include EAM
97
- end
98
-
99
- class LJAtom < Atom
100
- include LJ
101
- end
102
- ```
103
- となっており,ほぼ元どおり.