Maple 7 日本語版リリースセミナー
8/2/02 カナダ大使館
教育・研究分野での
Maple活用紹介
−材料工学でのMaple利用−
■
京都大学工学部・材料工学科 西谷滋人
内容
■Mapleを用いた演習
■材料科学コースでの事例
■カリキュラムなどの紹介
■日常研究での使用例
■研究内容の紹介
利用の手引
■
作成法
■
■
■
初版(1996)は,PM7600上で
MapleVR3+PageMaker
最新版は,iBook上でMaple7+LaTeX
利用法
■
■
■
京都大学工学部
材料科学コース演習
京都大学
大型計算機センター講習会
日常研究
材料工学科の紹介
■ 京都大学工学部
物理工学科(250名)
■ 機械システム学,材料科学,エネルギー理工学,宇宙
基礎工学
■ 材料科学専攻研究領域
■ 金属・セラミックス材料の物性研究,新規材料・プロセ
スの開発
■ 材料設計,熱力学,デバイスプロセス,磁性材料,機
械的性質,組織学(熱処理,変態),分光分析,格子
欠陥,超電導体
学生の進路
■
■
大学院進学率,
就職(2001-2002)
56名が卒業予定
大学院34名
■
鉄鋼(4),
自動車(6),
電気(10),
進学(2),
その他(12)
その他
就職 ( 4)
( 5)
他専攻 進学者
( 15)
東大,
京大航空,
京大エネルギー,
奈良先端
材料工 学専攻
進学者
( 32)
1
2
3
4
電子・原子レベルの研究
機械的性質
電気的性質
相変態
組織制御
分子動力学
モンテカルロ
電子構造計算
カリキュラム
◆
全学共通
◆
基礎情報処理(演習),微分積分学,線形代数学,物理学基礎論,基礎物理化学,図
学,電磁気学,確率論,数理統計,無機化学入門,振動・波動論,統計物理学
◆
物理工学共通科目
◆
計算機数学,計測学,材料力学,工業数学,材料基礎学,固体物理学,応用電磁気学,原子物理学
,流体力学基礎
◆
材料科学コース
◆
薄膜材料学,結晶回折学,材料組織学,結晶物性学,材料物理化学,熱および物質移動,
エネルギー平衡論,エネルギー・材料熱化学,材料物理化学,統計熱力学,量子無機材料
学,固体電子論,材料機能学,材料プロセス学
◆
選択必修(物理工学演習,材料科学実験及び演習)
演習 :サテライト演習室
演習内容(I)
■ 目的:
実際に問題を解くことで,専門課程で使う数学にな
じむ.
■ 内容:
■ 教科書の抜き刷りから必要な情報をとりだし,問題を解く
.
■ Mapleの基本操作と理論の基礎を教え,あとは自習.
■ TA二人と講師とで机間巡視で50名程度を個別指導.
■ レポート提出.
演習内容(II)
■
■
基本操作
演習
■
■
■
■
■
■
■
■
化学反応式の係数決定(連立方程式の整数解)
トンネル効果(式の変形)
熱膨張係数の導出(複雑な関数の近似と積分)
陽電子消滅寿命(連立微分方程式)
Hamiltonian の解(線形代数)
オイラー角(線形代数)
組成自由エネルギー曲線(連立方程式の数値解)
減衰振動のフーリエ変換(高速フーリエ変換)
分析
■
テキスト通りに打ち込んで結果が出たらおわり.
■
■
大学の講義は座学で十分
■
■
(線形代数,複素関数,微分方程式)単語が出てきただけで引い
ちゃう.
プログラミング恐怖症
■
■
数式の変形はできるが,計算はしない・できない.
数学恐怖症
■
■
まわりで遊ぶ愉しみ...
C言語至上主義(?)
simulated annealing(資料p.26)
simulated annealing(1)


最適化問題の代表例である,
巡回セールスマン問題を
simulated annealing法をもちい
て解く.
巡回セールスマン問題とは,あ
る街から出発していくつかの街
を次々とめぐって元の街に戻っ
てくる最短の経路を求める問
題.
simulated annealing(2)

アルゴリズム
1.
2.
3.
4.
5.
6.
配置aを仮定しE(a) を求める.
aからすこし違った配置a+δaを作る.
Δ E = E (a+δa)- E (a)を求める.
Δ E < 0なら新たな配置を採用する.
Δ E > 0なら新たな配置をexp(- Δ E /T)の確率で受
け入れる.
手順2以下を適当な回数繰り返す.
simulated annealing(3)




以下は街の位置をランダムに生成し,表示するMaple scriptです.
restart; with(plots): N_city:=16;
Path:=[seq(i,i=1..N_city),1];
Position:=seq([evalf(rand()/10^12),evalf(rand()/10^12)],i=1..N_city):
Real_Path:=[seq(Position[Path[i]],i=1..N_city),Position[1]]:
PLOT(CURVES(Real_Path));
街の間の距離をあらかじめ計算して,2次元の配列に入れておき,配置a
から任意に2都市を取りだして入れ替える試行をδaとして上述のアルゴリ
ズムにしたがって最短経路を探すプログラムを作成してください.
No1.mwsへ
日常の研究での使用例(1)
■
論文のフォロー:数式処理
■
論文で級数展開して解析的に求めた結果が怪しい.
数式処理(資料p.35) No2.mwsへ
入力を打ち込むときの一般的なコツ
1.
2.
restart をかける:
内側から順に入力する:
1.
3.
4.
長い入力は内側の関数から順に何をしているか確
認しながら打ち込む.
出力してみる:
関数に値を代入してみる:
日常の研究での使用例(2)

数値計算の前後データ処理:
filter処理(資料p.40)
データを積分したいが,数値積分では誤差が...
■ sed, awk, perlなどではお手上げ
■ Mac上で開発して,Unixへ移し,shellの中で利用
■ No3.mwsへ
■
数値計算の前後データ処理:



unix上でfilter処理として使用するスクリプト.
maple < FreeE.txt
と入力して使用.処理の内容は前述のとおり.
"data1.tmp"にあるデータの1,3列を
読み出して,結果は"FreeE.res"に打ち出す.
------------FreeE.txtの中身-----------interface(quiet=true);
...
writeto("FreeE.res"):
printf("Integrated Free Energy: %15.10fB%n",result):
writeto(terminal):
interface(quiet=false):
日常の研究での使用例(3)
■
論文のフォロー:数式処理
■
■
数値計算の前後データ処理:filter処理
■
■
■
■
■
論文で級数展開して解析的に求めた結果が怪しい.
データを積分したいが,数値積分では誤差が...
sed, awk, perlなどではお手上げ
Mac上で開発して,Unixへ移し,shellの中で利用
結果の視覚化(資料p.43)(No4.mwsへ)
プログラムの雛形作成
■
計算スピードや容量が必要なときはunixで
数式処理ソフトに
求められる性能・機能
数式処理の精度,信頼性
◎
計算の速度
○
グラフィックスの操作性
△
知識の蓄積・加工・発信機能
?
ダウンロード

材料工学でのMaple利用