http://natsci.kyokyo-u.ac.jp/~takasima/pukiwikiSougou/index.php
高橋・早野著の計算物理にあったものの出力をgnuplot用に変更した。
g77でコンパイルしてrelax1.exeを作成
gnuplot set pm3d splot 'relax1.dat' with pm3d
電磁気学を勉強したら、実際のデジタル回路設計をやってみよう。デジタル回路の要素はAND,OR,NOTから組み合わせ回路ができる。Dフリップフロップと呼ばれる要素から時間順序回路ができる。
これから複雑な加算器、計数器ができるが、これを電子回路で実現するには回路接続を計算機から制御できるFPGAやCPLDを使い、作成されたビット列をFPGAやCPLDに送る。
そのビット列を作るには、HDL(Hardware Description Language)で電子回路を記述する。HDLを使い、電子回路を記述し、各電極の電圧変化をシミュレーションしてみよう。ツールとしてはiverilog(icarus)を使う。
IPCの環境でインストールを行った。容量が心配な人は自分のノートPCのCygwinに入れたらよいでしょう。
tar zxvf ../Downloads/verilog-0.9.5.tar.gz cd verilog-0.9.5 ./configure --prefix=/cygdrive/z/cygwin/ivelilog make make install
Macにも入れてみた
tar zxvf ../Downloads/verilog-20120501.tar.gz cd verilog-20120501/ ./configure make sudo make install cd ../ tar zxvf ../Downloads/gtkwave-3.3.36.tar.gz cd gtkwave-3.3.36/ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)" brew install xz ... brew install gtk+ make sudo make install
実用入門 デジタル回路とverilog-HDLの例ではTSTのプログラムのincludeをコメントアウトする。またMacとWindowsで改行が違うせいで、最終行でエラーが出る時がある。最後の文字を消して書き直すなどが必要?
iverilog -o morgan1 MORGAN1.V MORGAN1-TST.V vvp morgan1 gtkwave morgan1.vcd
とかでシミュレーションまで行くはずなんですが、Windowsのcygwinでないほうは動いたんですがMacでは今のところ動いてないです。
windows用のバイナリインストールでは問題ないです。
http://hw001.spaaqs.ne.jp/k-okada/design/verilog/verilog_free.html
iverilog -o test test_ins.v test_tb2.v vvp test gtkwave test.vcd
信号をinsert やappendで入れて、マイナスボタンを押して、時間スケールを変更します。
高橋、早野著の計算物理のコード例のプロットコマンドをコメントにした。
g77 -o denka denka.f ./denka.exe > denka.dat gnuplot plot denka.dat
電圧が高いところに誘電率の高い物体を配置
gnuplotでプロットを作成する簡単なスクリプト
http://homepage2.nifty.com/ysc/rikisen.pdf
gnuplotで媒介変数を使った3次元での立体の表示をしてみた。x-y平面の円をy軸の周りに回転する行列をかけて、10枚のファイルを作る。これをImageMagickを使って、アニメのファイルに変換する。
上の例では、線分となっているが、トーラスを使ってもよい。レンジを変えていけば、円弧がのびていくアニメーションもできる。密度が減少する様子は半径の2乗のところに描いていくといいだろう。
メカニカルユニバースでみている通り。電場は少し難しいができないことはないはず。