Surface Science and Solid State Theory Laboratory

@surface


Archive for 11月, 2009


@spain (3) -Granadaへ 0

Posted on 11月 12, 2009 by kimi

グラナダへの陸路は電車とバスと選択肢があるが、電車の連絡が非常に悪くほとんど半日がかりになってしまう。バスはいや、とか言ってられない。高速バスで一路グラナダへ向かうことにする。

写真はバスステーションでバスを探しているところ。この写真を撮ってる人の荷物まで持たされているので両手に荷物をもっているのが痛々しい。 Read the rest of this entry →

数値計算2009/11/13 0

Posted on 11月 12, 2009 by kimi

数値計算2009/11/13講義分の授業資料の用意ができました。

数値積分法

に関して講義を行います。リンク先からPDFファイルをダウンロードできます。

今回もレポートあります。今日(2009/11/12)締切のレポートは午後5時必着です。遅れないように。

電子物性の基礎2009/11/12 0

Posted on 11月 11, 2009 by kimi

電子物性の基礎2009/11/12講義分の授業資料の用意ができました。

水素原子(エネルギー固有値・波動関数・主量子数・角運動量・磁気量子数・方位量子数)

に関して講義を行います。リンク先からPDFファイルをダウンロードし予習をしておいてください。

今回はこれまで以上に数式が山のように出てきます。すべてをフォローする必要はありませんが、重要なものについてはしっかりと予習・復習をしておかないと定期試験でえらい目に遭うことになります。重要と思われるスライドには「重要」のマークをつけておきました。また実際の計算を行う際に必要になるスライドには「参考」のマークをつけています。参考にしてください。

@Spain (2) – Malaga到着 0

Posted on 11月 11, 2009 by kimi

マラガ到着は夜の11時すぎ。どうも一番いい時間帯はシェスタでそもそも休み。午前と夕方の時間帯は最も需要のあるマドリッド便(注1)で、ヨーロッパ地方都市便(注2)は非常に使い難い時間帯に追いやられているようだ。ブリストル便をはじめ何便かが同じ時間帯で、夜更けにも関わらずluggage claimは随分混雑していた。それでも一歩空港の外に出ると閑散としている。夜更かしのスペイン人と言えども、それは繁華街やらタブラオでの話。

午後11時半を過ぎているので、マラガ市内へのバスも電車も最終便を残すばかり。これらに乗りそこなうとタクシーということになる。バスなら空港から乗れるのだが、あんまりバスは好きではないので電車の駅に向けて出発。電車の駅は空港の外、だいぶ離れた場所にある。「電車こっち」っていう表示に従ってずんずん歩いていくと、空港の外に出、駐車場内を縦断し、大きな陸橋で道路を渡って、「ほんまに、こんなとこに、鉄道の駅があんのん」を過ぎて、「ぜったい、こんなとこ、駅なんてあれへんわ」の辺りまで歩くとようやく小さな小さな駅に到着。 Read the rest of this entry →

@spain (1) – Paris乗継 0

Posted on 11月 11, 2009 by kimi

2009年、ACCSIN-10がスペインのグラナダで開催された。普段は海外出張の際、関空を利用しているのだが、今回は日程が秋の大型連休とぶつかってしまったため行きは成田、帰りは関空という変則パターン。

IMGP6208 伊丹成田間は、ANAの国際線で運用されている機体のビジネスクラスの席だったので、とっても快適。その上写真のようにはっきりと富士山を眺めることができた。雲や霞のかかっていない富士山は本当に久しぶりだ。成田からはエールフランス機に乗り換え、まずはシャルル・ド・ゴールに向かう。エールフランスは確か二回目。飯は美味いが機材の整備は良くない。リクライニングが倒れたまま起き上がってこない。いくらエコノミーでも、これはないだろう。ヨーロッパ便は11時間以上の長丁場、もうあんまり飲み食いのできない年齢になってしまったので、楽しみはもっぱら映画。ところが今回はあんまり面白いものはやっていなかった。 Read the rest of this entry →

From NetCDF to CUBE (1) 0

Posted on 11月 10, 2009 by kimi

Total density of states;

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
#!/usr/bin/env python
import string
from math import log10
from optparse import OptionParser

from Dacapo import Dacapo
from ASE.IO.Cube import WriteCube

cmd = OptionParser(usage = '%prog input_nc_file output_cube_file')

(opt, argv) = cmd.parse_args()

if len(argv) != 2:
  cmd.print_help()
  raise SystemExit

ncfile = argv[0]
cubefile = argv[1]
basename = string.split(cubefile, '.cube')

model = Dacapo.ReadAtoms(ncfile)
calculator = model.GetCalculator()

if not calculator.GetSpinPolarized():
  filename_total= basename[0] + '.cube'
else:
  filename_total= basename[0] + '_total.cube'
  filename_diff= basename[0] + '_diff.cube'
  filename_spin0= basename[0] + '_spin0.cube'
  filename_spin1= basename[0] + '_spin1.cube'
  density0 = calculator.GetDensityArray(spin = 0)
  density1 = calculator.GetDensityArray(spin = 1)
  WriteCube(model, density0, filename_spin0)
  WriteCube(model, density1, filename_spin1)
  diff = density1 - density0
  WriteCube(model, diff, filename_diff)

density = calculator.GetDensityArray()
WriteCube(model, density, filename_total)

From NetCDF to DOS 0

Posted on 11月 10, 2009 by kimi
1
2
#!/usr/bin/env python
from optparse import OptionParser
1
2
from Dacapo import Dacapo
from ASE.Utilities.DOS import DOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cmd = OptionParser(usage = '%prog [-r] input_nc_file output_text_file')
cmd.add_option('-r', '--reverse', action = "store_true", default = False,
help = 'reverse out put for minor spin states')
(opt, argv) = cmd.parse_args()

if len(argv) != 2:
  cmd.print_help()
  raise SystemExit

  ncfile = argv[0]
  textfile = argv[1]
  sfmt0 = '%-15s %-15s\n'
  sfmt1 = '%-15s %-15s %-15s %-15s\n'
  efmt0 = '%15.7E %15.7E\n'
  efmt1 = '%15.7E %15.7E %15.7E %15.7E\n'
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
  atoms = Dacapo.ReadAtoms(ncfile)
  calc = atoms.GetCalculator()
  isSpinPolarized = calc.GetSpinPolarized()
  dos = DOS(calc)
  x0 = dos.GetEnergies()
  if isSpinPolarized:
    y0 = dos.GetDOS(0)
    y1 = dos.GetDOS(1)
    fp = open(textfile, 'w')
    if opt.reverse:
      fp.write(sfmt1 % ('Energy', 'DOS0', 'DOS1', 'DIFF'))
    else:
      fp.write(sfmt1 % ('Energy', 'DOS0', 'DOS1', 'TOTAL'))
      for i in range(len(x0)):
        if opt.reverse:
          fp.write(efmt1 % (x0[i], y0[i], -y1[i], y0[i] - y1[i]))
        else:
          fp.write(efmt1 % (x0[i], y0[i],  y1[i], y0[i] + y1[i]))
      fp.close()
  else:
    y0 = dos.GetDOS(0)
    fp = open(textfile, 'w')
    fp.write(sfmt0 % ('Energy', 'DOS'))
    for i in range(len(x0)):
      fp.write(efmt0 % (x0[i], y0[i]))
    fp.close()

iPhoneガラス修理 0

Posted on 11月 10, 2009 by kimi

PDA工房
岡山(倉敷)にこんなとこがあるとは知らなかった。

大文字小文字変換 0

Posted on 11月 10, 2009 by kimi

アルファベットの大文字小文字の混ざったファイルの中身を小文字のみに統一する。

1
$ tr [A-Z] [a-z] < 混在ファイル名 > 小文字のみファイル名

確かに、sedやawkの使い方を覚えるよう指導しているが、こんな作業はtrコマンドで一発。

ログインスクリーン画像の在りか 0

Posted on 11月 10, 2009 by kimi

Mac OSX ではユーザ環境の壁紙を「システム環境設定」で変更しても、ログイン画面の壁紙はあのディープスペースの画像のままである。Mac OS Xのログインスクリーン画像は

1
/System/Library/CoreServices/DefaultDesktop.jpg

にある。このファイルを置き換えればログインスクリーン画像も自由に変更できる。



↑ Top