物理定数・単位・公式

エネルギー
・ 1 Ry = 13.6058 eV
・ 1 eV = 96.4853 kJ/mol = 1.60217646 e-19 J = 8065.73 cm-1
・ 1 cal = 4.184 J
・ 1 cm-1 = 1.23981E-4 eV

長さ
・ 1 au(bohr) = 0.529177 A

超越数
・ e = 2.71828183
・ pi = 3.14159265

物理定数
・ k = 1.380658e-23 J/K = 86.1735e-6 eV/K  (Boltzmann const.)
・ N = 6.0221367e23 /mol (Avogadro const.)
・ R = 8.31451 J/mol.K (Gas const.)
・ e = 1.60217733e-19 C (electric charge element)
・ eps0 = 8.854187817e-12 F/m (dielectric const. in vacuum)
・ F = 96485.309 C/mol (Faraday const.)
・ c =2.99792458e8 m/s (speed of light)

X線波長
・ CuKa1 = 1.54056 A
・ CuKa(average) = 1.54184 A
・ CuKb = 1.392 A
・ エネルギー換算式:E (KeV) = 12.40 / λ (Å)
・ 面間隔とdeg.CuKaの変換公式: d = 1.54056/(2*sin(Angle/2*3.1415/180))

誘電率 と インピーダンスの関係
・ Y* = 1/Z* = iwC0 e*, C0=e0S/l
・ e' = 1/wC0 x Z''/(Z'^2+Z''^2); e'' = Z'/wC0 x 1/(Z'^2+Z''^2)

アレニウスプロット、傾き→エネルギー (log ? vs. 1000/Tのとき)
・ E (eV) = 2.303 x 1.381e-23 x 1000 x 傾き / 1.602e-19

結晶学

●分率座標系→カーテシアン座標系への変換

格子ベクトル (vasp形式の行列式) 


分率座標 (x, y, z)

新たなカーテシアン座標  (x', y', z') 
 x' = h1 * x + h2 * y + h3 * z 
 y' = k1 * x + k2 * y + k3 * z 
 z' = l1 * x + l2 * y + l3 * z 



● 単位胞変換の仕方

※自分の使っている単位格子に2つ以上の格子点を含み、もっと小さな単位胞に変換したい場合 


(a1, b1, c1)は変換前の格子ベクトル。(a2, b2, c2)は変換後の格子ベクトル。T12は変換行列 T12の逆行列が逆変換に相当する。 



● 斜方晶系の空間群について


a, b, c, x, y, zの対応表

No a b c c a b b c a a (-c) b b a (-c) (-c) b a
52 Pnna Pbnn Pncn Pnan Pnnb Pcnn
53 Pmna Pbmn Pncm Pmam Pmmb Pcnm
54 Pcca baa Pbcb Pbab Pbam Pmcb
63 Cmcm Amma Bbmm Bmmb Ccmm Amam
64 Cmca Abma Bbcm Bmab Ccmb Acam
65 Cmmm Ammm Bmmm Bmmm Cmmm Ammm
70 Fddd Fddd Fddd Fddd Fddd Fddd
71 Immm Immm Immm Immm Immm Immm
72 Ibam Imcb Icma Icma Ibam Imcb
73 Ibca Ibca Ibca Icab Icab Icab
74 Imma Ibmm Imcm Imam Immb Icmm



● 三方晶・六方晶の格子定数変換について

三方晶 格子定数 a(R), alpha
六方晶 格子定数 a(H), c(H) のとき

(1) 3a(H)^2 + c(H)^2 = 9a(R)^2
(2) a(H)2=2a(R)^2*(1-cos(alpha))

が成立する

 

●リンク


Shannonのイオン半径表

X線吸収エネルギーのテーブル(M-edgeのデータ)

X線吸収スペクトル測定準備のためのページ

International Tablesのweb版?

代表的な結晶構造リスト

Linux

Linuxなど、圧縮ファイルの解凍

拡張子 内容 コマンド
tar 圧縮 tar cvf *.tar ./*
  解凍 tar xvf *.tar
gz 圧縮 gzip gzip *.tar
  解凍 gunzip *.tar.gz
Z 圧縮 compress -vf ./*
  解凍 compress -d *.Z
uncompress *.Z
zcat a.Z > ./*
tar.gz 圧縮 grtar cvzf *tar.gz ./*
  解凍 gtar xvzf *.tar.gz


コマンド 
便利なサイト>http://www.linux.or.jp/JM/INDEX/index.html
便利なサイト> http://www.linux.or.jp/

command MS-DOSに対応するコマンド 内容/その他
cd cd ログイン時は /home/****/
pwd   自分のいるディレクトリー
cp copy ファイルコピー
mv   ファイル移動
mv ren ファイル名の変更
rm del ファイル削除
rm -r -f   サブディレクトリーごとすべて削除(危険)
mkdir mkdir ディレクトリー作成
rmdir   ディレクトリー削除
cat type ファイル内容を知る
more, less type ** |more  
head -n**   ファイル先頭の**行を表示 (-nなしで普通20行)
tail -n**   ファイル後ろの**行を表示 (-nなしで普通20行)
exit/ logout   ログアウト
Ctrl + z Stopキーと同じ(PC98) 強制終了
chmod +x   バッチファイルを実行ファイルにする
top   動いているjobとPIDの確認
nohup   logout後でもプログラムを動かしたいとき。
finger
またはwho
  ログインしている人のリスト
ps   自分のJOBのPID確認
uptime   CPUがどれだけ働いているか
du -s ./*   ディスク容量
find ~~~ -name ***   ~~~ディレクトリー以下から、指定のファイル***を探す
man [command] *** /? の強力版 commandのhelp
kill [PID]   JOB[PID]を強制停止する
ls (ls -al) dir/w -al オプションはファイルの詳細も見れる
qsub / csub ***   queに***ファイルの仕事を送る
***ファイルは多分実行形式にする。
並列計算用
qdel / cdel [job#]   queの仕事をけす
grep XX (filename)   ファイル(filename)中で、XXという文字列が含まれる行をすべてcatする
su [username]   同じマシン上で、別ユーザーに変更する時に使う。
無指定でルート。ただし、ルートになる場合は su - で接続するほうがいい。
ifconfig   ルートからのコマンド。ipアドレスなど調べるため。


改行コード問題(UNIX=>WIN)
・アスキーファイルなら、全部選択してコピー、新規作成した空のファイルに貼り付ける。

改行コード問題(Perlを使う) see: http://www.rsch.tuis.ac.jp/~mizutani/online/with-pc/textline.html

UNIX => Windows 
% perl -pe 's/\n/\r\n/' unixfile > winfile
UNIX => Macintosh 
% perl -pe 's/\n/\r/' unixfile > macfile
Win => UNIX 
% perl -pe 's/\r\n/\n/' winfile > unixfile
Windows => Macintosh 
% perl -pe 's/\r\n/\r/' winfile > macfile
Macintosh => UNIX 
% perl -pe 's/\r/\n/g' macfile > unixfile
Macintosh => Windows 
% perl -pe 's/\r/\r\n/g' macfile > winfile


改行コード問題(DOS=>UNIX) 
・dos2unix (filename)

改行コード
・LF (UNIX), LF+CR (Win), CR (Mac)

大文字小文字
・ファイル名の大文字小文字は区別する。webのファイル名もそう。

ユーザー設定
・MS-DOSではautoexec.batにあたるもの。 ls -al で発見されるおそらく ".bash-profile"なるファイルがそれにあたる。PATH=を書き換えて必要なファイルにアクセスできるようにしておく

代表的なFortranコンパイラ

f77/ g77 (Fortran77) これがダメなら
fort (Fortran90) さらにダメなら
IFC (Interl)のフォートラン 更に他のフォートランは知らない。

代表的なCコンパイラ

gcc
cc
g++

emacs

起動 emacs -nw filename (-nw オプションは ウィンドウを立ち上げないことを強制する)


^x^c emacs の終了
^x^s データのセーブ
^x u アンドゥ
^x 2 画面を横2分割
^x o 分割窓間を移動する
^a 行頭に移動
^e 行末に移動
^k 行末まで削除(改行コードは消さない)
^a^k^k 1行削除
^v スクロールダウン
ESC v スクロールアップ
ESC < 文頭ジャンプ
ESC > 文末ジャンプ


カット&ペースト

^SPC カット開始位置指定
^w カット実行
ESC w コピー実行
^y ペースト


検索と置換

^s 順方向サーチ
^r 逆方向サーチ
ESC w コピー実行
^y ペースト

visual basic

 

MSDN: Visual Basic と Visual C

1. VB PictureBoxにファイルをドロップしたとき、ファイル名を変数 "LFile"に入力するとき。


////////////////////////////////////////////////////////////////////

Private Sub Picture1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)

If Data.GetFormat(vbCFFiles) Then 
For Each f In Data.Files 
LFile = f
Next 
End If inpfile oupfile End Sub

/////////////////////////////////////////////////////////////////////

※このときPictureBoxは"Picture1", Propertyは OLEDragMode="0", OLEDropMode="1"


2. VB exeファイル起動時に引数を変数"x"に代入する方法

x = Command()

3. VB アークサインとアークコサインを作る方法

Function ASin(X As Double) As Double 
Asin = Atn(X / Sqr(-X * X + 1#))
End Function   

Function Acos(X As Double) As Double 
Acos = -Atn(X / Sqr(-X * X + 1#)) + (3.1415926535897932384626433# / 2#)
End Function 

4. Format文

例) Format$(Variable, "0.0000e-")
    @ 文字変数
    e- 指数表記(E+, E-, e+, e- どれでもいい)

5. 四捨五入

INT(**** + 0.5)

その他ソフト

Primaの使い方(初期設定)-------------------------------------------------
・環境変数のセットを忘れない。「設定(コントロールパネル)→システム→環境変数」
SET PRIMA=C:\.....\VENUS\PRIMA\Program\
・prfファイルのアイコンをPrima.exeの上にドラッグ&ドロップ

MS-IMEの言語バーをロストしたときの対応------------------------------------
・設定(コントロールパネル)→地域と言語のオプション→言語タグ→詳細ボタン→設定タグ→基本設定(言語バーボタン)

MXDORTOのポテンシャルパラメータの単位 (ソースに書いてある)---------------
a, b [A], c [(kcal mol-1)0.5 A-3]
D [kJ/mol], beta [A-1], r* [A]

Mathmaticaメモ----------------------------------------------------------

1. 行列計算

0 1 2
3 4 5
6 7 8

A={{0,1,2},{3,4,5},{6,7,8}}

A.B ピリオドで積(*アスタリスクではない)


2. 逆行列計算

Inverse[A]