2014年2月16日日曜日

世界を閉ざす、自分の「箱」から脱出する方法

雪積もる中、積んだ本を解消していきました。

自分の小さな「箱」から脱出する方法
アービンジャー インスティチュート 金森 重樹 冨永 星
大和書房
売り上げランキング: 306


あなたも、自己欺瞞の状態に入っていませんか?
あなたの周りも箱に入った人で溢れていませんか?

・グループで一人だけ違う方向に向かっていた。
・仕事相手に、ストレスを与えてしまっている。
・職場の雰囲気がよくない。
・業務上の細かな情報が、自分だけシェアできていない。

そんなことが、起きている時は、あなたは”自己欺瞞”の状態、つまり”箱”の中にいる可能性があります。

あなたが、”箱”の中にいると、組織として、ビジネスで結果を出すことができません。
プライベートも、そんな状態だとギスギスしてしまいます。

そういう状態を解決するために、人との接し方について、書いている本です。
読めば、至極当然の内容です。
しかし、振り返ってみると、自分も他人も、こういう状態の時があって、仕事がうまくいっていないと思わされる時があります。

また、説明が体系的なのもあって、理解しやすいです。

この本を読んでから、自分は

”あの人、「箱」に入ってるな〜。”
とか、
”自分が今「箱」に入ろうとしている!”

と、思いながら仕事をしています。

そうすることで、世界が少しずつ変わるので、面白いですよ。



以下は、気になる文書の抜粋です。

自分への感情を裏切った。自分への裏切り。

自分を裏切ると、周りの世界を自分の裏切りを正当化しようとする視点でみる。

自己正当化のイメージが自分の性格になってしまう。

自己正当化イメージに自分は欺かれている。

息子を攻めている自分を正当化するためにも、息子に失望させられなくてはならなかった。

箱の中にいると、結果に気持ちを集中できなくなる。

他の人が間違ったことをしていることを注目するのではなく、どのような正しいことをすればその人に手を貸せるかを考えろ。

箱の中に入っているといって他人を責めるな。自分自身が箱の外にとどまるようにする。

2013年11月14日木曜日

SALOME-MECAをMacにインストールしました。 フリーで商用CAEに匹敵する環境を整える

フリーで商用CAEに匹敵するCAE環境を、自分の手元にほしい!

フリーでは難しいのかな。と思っていましたが、オープンソースの懐はなかなか深かったです。

今回は、その環境を実現するために、SALOME-MECAについて書きます。

SALOME-MECAとは

商用CAEに匹敵するといわれている、オープンCAEソフトです。プリポスト「SALOME」とソルバである「code_aster」をベースに作られています。

他のオープンCAEよりも、情報が豊富で、使いやすさに変なストレスも少なく、商用CAEっぽいインターフェースで作られていて、機能も十分(むしろ多い)と、個人的には思っています。

※詳しい解析機能や、情報はこちらに記載されています。

SALOME-MECAをインストールする。

今回は最新のバージョンのSALOME-MECAをインストールしたかったので、DEXCSや、CAELinuxなどのディストリビューションを用いずに、インストールしました。

Mac(Mountain Lion)の、VM Ware FusionにUbuntuをインストールして、そこにSALOME-MECAをインストールします。
今回も、フリーでCAEで遊ぶユーザーが増えることを願って、流れだけ残してきます。

①Ubuntu "64bit" をダウンロードする。

SALOME-MECAは、64bit版のUbuntuが必要です。日本語RemixのUbuntuは32bitしか、用意されていないので、64bit版を、以下の海外の公式HPからダウンロードします。
http://www.ubuntu.com/download/desktop

日本語環境には、のちほど変更することができるので、問題ありません。

②VMWareにUbuntuをインストール

ディスクを使用せずに続行を選択

ディスクまたはディスクイメージを選択 を選択

そして、ダウンロードしたUbuntuを選択しましょう!

”続ける”を選択し、インストールの開始まで進めます。

インストールがひとまず終了したら、OSのアップデートをしておくと良いと思います。

64bit版は、全てが日本語環境になっていないので、いやな方は以下を参考にされると良いと思います。
http://kledgeb.blogspot.jp/2013/04/ubuntu-1304-6-ubuntu-1304.html

③SALOME-MECAをダウンロード

以下から、SALOME-MECAをダウンロードしましょう。
http://www.code-aster.org/V2/spip.php?article303

(www.code-aster.orgは時折不安定な印象があるので、ダウンロードなど時間がかかる可能性があります。)

④Ubuntu上で展開

ダウンロードしたファイルを展開します。ファイルは、分かりやすくホームに置くとします。

ターミナルからも展開できますが、以下みたいに右クリックで展開できます。


⑤Ubuntuにインストール

展開したファイルの中を見ると、以下みたいなファイルができます。


ここで、端末を開きます。
(Ubuntu12の場合)左上にあるDashホームから、検索窓を使い”端末”と検索しましょう。

端末が、開いたら、

cd SALOME-MECA-xxxx.x-LGPL

と入力します。(xは、バージョンによって異なります。)

インストールを行うため、

./SALOME-MECA-xxxx.x-LGPL.run

と入力します。

インストール先フォルダと、使用言語を聞いてきますが、特に意思がなければそのままEnterを押せば良いと思います。

端末がよく分からないという人は、直接SALOME-MECA-xxxx.x-LGPLをダブルクリックして、以下の画面が出たら端末内で実行する。を選択してもいいです。




⑥実行してみましょう

できたsalomeフォルダの中を見ると、以下のように2つのフォルダができています。


ソフトを起動するために実行するのは、appli_V6_6_0のファイル内のrunAppliです。


こちらも、端末から、

./runAppli

でもいいですし、ダブルククリックして、端末内で実行を選択してもらってもいいです。

そうすると、以下の画面が出て、無事ソフトを利用することができます。


⑦基本的な操作に慣れよう

基本的なチュートリアルの情報は以下を参考にして頂けるといいかと思います。

https://sites.google.com/site/codeastersalomemeca/home/salome-meca-chutoriaru1

DEXCS-SALOMEですが、以下も参考になるかと思います。
http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?SALOME-Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2

SALOME-MECAはWebを探すと情報が豊富なので、なかなか今後も楽しめそうです。

余談

余談ですが、以下にあるオープンCAEと商用CAEの立ち位置について触れたWebページも面白かったので、紹介します。
http://mogura7.zenno.info/~et/wordpress/ocse/?page_id=14


では、楽しい解析ライフをお過ごしください。


開発現場で活用できるオープンソースCAE/1/SALOME-MECA (CAE教育研究所)
榎戸 正一
ベリテ
売り上げランキング: 378,101

2013年11月3日日曜日

オープンソースCAEの世界

少しわかりづらいオープンソースCAEの世界を整理したいと思います。

ディストリビューションとは

まず、オープンソースCAEを初めて利用する場合は、ディストリビューションという一種のLinuxの配布形態の上で、利用する機会が多いのではないでしょうか?

普通Linuxで開発環境を整える時は、自分で必要なソフトをインストール(基本的に無料のものを)して、開発環境を整えるのが普通です。しかし、Linuxなどに慣れていない場合は、そのような開発環境を整えるのも、ストレスです。また、他の人が問題なく動く解析も、自分の開発環境によっては動かない。などの問題も発生し、情報を共有することが難しいなどの問題もあります。


そのため、開発環境を全て整えられた状態で配布することが多いようです。(それがディストリビューションという配布形態です。)

(※ほとんどの配布されているOSが厳密にはディストリビューションなのですが、ここでは、解析ソフトが一式入ってまとめられた、一種の派生版のディストリビューションをさしています。)


現在配布されているCAE関係の、ディストリビューションで有名なものは、以下があるようです。

CAELinux
DEXCS (本Blogでも紹介しました。)

(他にも有名なのあるよ!ってのがあったらコメントしてもらえると助かります。)

個人的に両方使ってみましたが、CAELinuxの方を現在は利用させて戴いています。

プリプロセッサーソルバーポストプロセッサ

実際に、解析条件を定めたり(プリプロセッサ)、解析の計算をしたり(ソルバ)、結果を眺めたり(ポストプロセッサ)する部分です。

オープンソースの世界にも、これらのソフトは多々あり、恐らく紹介しきれませんが、Webでザクッと検索すると以下のものがあります。

プリプロセッサ(メッシャ)

Salome
Netgen
Gmesh
Discretizer
enGrid

ソルバ

Code_Aster
Adventure
OpenFOAM
Elmer

ポストプロセッサ

ParaView
Visit
Salome

他にも色々です。

ディストリビューションの形態でインストールしたとしても、たいていこれらのソフトのうちどれかが入っています。また、違うディストリビューションでも、結局同じソフトが入っていたり。ということもあるでしょう。(DEXCSにも、SALOME-MECAを入れたディストリビューションと、Adventureを入れたディストリビューションとあります。)

どれが良いかというのは、それぞれの解析目的に見合ったものを探さないといけないのかと思いますが、まずは自分に関連する研究者や開発者のコミュニティで、ユーザー数や情報の多そうなソフトを用いるのが無難でしょう。(どちらにせよ、無料なので色々とトライできるのは幸せなことだと思います。)

大雑把なイメージとしては、Webベースで見ると、SALOMEとCode_Asterを合わせたSALOME-MECAや、OpenFOAMのユーザ数が多いのかと推測します。また、大規模解析ではAdventure関連をよく耳にする気がします。

機会があれば、もう少しこの辺り、まとめてみたいところです。

サポート体制など

基本的に、オープンソースの世界では親切なサポート体制は存在しません。その変わり、無料で情報を提供しようとするコミュニティが活発になります。そのため、十分な情報を無料でシェアする機会が今後は多くなると想像します。

オープンCAE学会
OpenCAE Users Wiki

しかし、特殊な解析事例などは、自分で文献調査したりなどといった努力は必要かと思います。とはいえ、基本的な解析環境が家庭でも簡単にできるようになるのは幸せなことだと思います。

幸せな解析ライフをお過ごしください。


開発現場で活用できるオープンソースCAE/1/SALOME-MECA (CAE教育研究所)
榎戸 正一
ベリテ
売り上げランキング: 297,128

2013年10月22日火曜日

モード解析ってなんだ?って人のための固有値問題と振動モードについて その4

モード解析入門
モード解析入門
posted with amazlet at 13.10.22
長松 昭男
コロナ社
売り上げランキング: 206,894


その1で固有値問題を、その2で一般固有値問題を、その3で多自由度の振動の運動方程式が一般固有値問題であることを説明しました。

では、もう少し、振動の運動方程式が一般固有値問題であることの、物理的な意味を考えてみます。

数学的な特徴と物理的な意味を考える


上の式より、振動の運動方程式は一般固有値問題であることが分かりました。つまり上の式を満たすベクトル{X}は、固有ベクトルであり、N自由度であれば、N個存在し、それぞれのベクトルは直行することになります。また、固有ベクトルは絶対値としてではなく、ベクトル{X}の要素の比としてしか表すことができません。
(ベクトル{X}は、各質量の振動の最大振幅を表します。)

そして、この比は、その1ではλの二次方程式の解で決まったように、ΩのN次代数方程式としで決まることになります。Ωは、角振動数ですから、N個の角振動数によって、最大振幅の比が決まります。

つまり、N個の固有ベクトル{X}を求めることは、N種類の振動の状態を求めていること、と言って良いと思います。本書から抜粋すると、
"振幅は、絶対値が不定のままで特定の振動の形(モード)をとり、しかもその形は・・・・系固有の質量とばねこわさのみで決まる値であるから、これらを固有モード(natural mode)という。・・・・これらが、外作用を受けない自由な状態で持続する自然な(natural)な振動数であり形だかたである。"
(振動の絶対値が不定なのは外力が確定していないからです。)

つまり、振動を固有値問題を解くことによって把握できるということです。

更に、嬉しいのは、固有ベクトルの直交性です。ここでは結論だけ書きます。

固有ベクトルの直交性のために、各振動モードは、力学的にも独立し、エネルギー的にも無関係に考えることができます。得に、強制振動において、ある固有モードにおける加振力は、その固有モードの振動を生じさせるだけで、他の固有モードは決して励起することはありません。

(ちょっと、飛ばしますが、)つまりは、多自由度の振動問題をもっとシンプルに一自由度の振動として考えられること、また、ある振動モードの振る舞いも独立して考えることができるといえます。

得に、工学的に重要な低次の振動モードを考えていけば良く、複雑な他自由度の振動問題をシンプルに扱うことができる恩恵は大きいといえます。

では、次回は実際に解析も踏まえて何か振動問題を考えてみたいと思います。

2013年10月21日月曜日

モード解析ってなんだ?って人のための固有値問題と振動モードについて その3

モード解析入門
モード解析入門
posted with amazlet at 13.10.15
長松 昭男
コロナ社
売り上げランキング: 132,348

前々回は固有値問題を扱いました。
ある正方行列Aに対して、向きを変えずに大きさしか変えないベクトルである固有ベクトルが存在することが分かりました。

前回は、正方対称行列を用いて、一般化固有値問題について学習し、一般化固有値問題と通常の固有値問題が同質であることを示しました。

また、重要な性質として、固有ベクトルが、N次の場合は、N個の固有ベクトルが存在し、これらのベクトルは直行するということを覚えておきましょう。

さて、やっと物理の話に入っていきましょう。

振動問題について考える

ここで、二自由度の振動の運動方程式を考えてみましょう。

一般的に以下のように、行列を使えば一自由度の運動方程式のように表現することができます。


ここでは、簡単のため外力は考えず、減衰もない運動を考えます。
各行列は以下のようになります。(aとbは、振動する各質量とバネモデルだと思ってください。)




1自由度のように運動を考えると、各質量の運動は以下のように複素指数関数のように表せます。


なので、以下のようにかけます。



これを行列式に代入すれば、

更に、




とかけます!
以下のように、書いてもいいですね。(こちらの書き方の方がイメージしやすいかもしれません。[K]も[M]も、正方対称行列なことに注意!)


はい!なんということでしょう!!
正方対称行列の一般固有値問題じゃん!ということに気づきます。

なので、固有ベクトル{X}が2つ存在します。その固有ベクトルは、前々回に書いたように大きさがある比の形でしか決まりません。また、それぞれの固有ベクトルは直行しています。

これは、二自由度でなくて、N自由度でも同じです。

ここまでで、振動の運動方程式を展開すると、一般固有値問題になることが分かりました。が、それが物理的に意味すること。そして、我々への恩恵は何でしょうか?

次回は、もう少し踏み込んで、数学的な特徴と物理的な意味のつながりを考えたいと思います。

2013年10月14日月曜日

モード解析ってなんだ?って人のための固有値問題と振動モードについて その2

モード解析入門
モード解析入門
posted with amazlet at 13.10.14
長松 昭男
コロナ社
売り上げランキング: 82,752


前回の続きを考えていきます。

前回は固有ベクトルについて考えました。
固有ベクトルは行列をかけても、向きを変えることなく、大きさだけ変えるというベクトルでした。そして、そのベクトルはN次元の場合はN個存在し、それぞれのベクトルは直行している。という性質があるものでした。

よく考えてみると、興味深い性質をもっていますが、”で、それで?”となる人もいるかと思います。

固有ベクトルを説明した理由を解説する前に、もう少し数学の下準備をします。

一般固有値問題について考える

前回考えた固有値問題は以下のような数式から始めました。


今回は、一般固有値問題について考えます。


[A]と[K]という正方対称行列を考え、この行列にベクトル{φ}を積した時を考えます。ベクトル{φ}が変換されたとしても、同様に向きをかえずに大きさだけが異なるベクトル{φ}について考えてみます。

もともとの固有値問題の単位行列[I]を、正方対称行列[K]にしたので、一般固有値問題とよぶのでしょう。

結論からいうと、一般固有値問題も通常の固有値問題も本質的には同じです。

具体的には、行列[K]をコレスキー分解というテクニックを使うことで、通常の固有値問題として解くことができます。

コレスキー分解を行うには、三角行列を知る必要があります。三角行列は、対角項と右上の項が零ではなく、それ以外の左下の項が零である行列をいいます。以下のような行列です。


この三角行列Uを使って、行列Kを分解します。


こんな感じです。
これをコレスキー分解といいます。

ここで、三角行列を使ってベクトル{φ}をかけます。これを{ψ}とします。


もちろん、以下の関係も成り立ちます。


さて、ここでもともとの以下の行列を考えてみましょう。



左辺は、こうかけますね。

右辺は、こう展開できます。


左辺と右辺に、それぞれ行列Uの転値行列の逆行列をかけてみます。

左辺は、行列Bを与えることで、以下のようにかけます。


右辺は、

という感じになります。

この左辺と右辺をつなげると、

ということで、一般固有値問題は通常の固有値問題と同じになることがわかります。
細かいところを考えるのが面倒な人は、色々と数式をいじれば、一般固有値問題も普通の固有値問題と同じで扱えて、その固有ベクトルも直行していて、N次元ならN個存在するんだ〜って覚えておけば良いと思います。

色々と数式をいじってみましたが、何よりも結論をよく覚えておくことが大事です。

さて、やっと次回に物理の話に進みましょう!

モード解析ってなんだ?って人のための固有値問題と振動モードについて その1

最近モード解析を以下の本を使って勉強しました。

モード解析入門
モード解析入門
posted with amazlet at 13.10.13
長松 昭男
コロナ社
売り上げランキング: 15,689

振動のモードの意味をよく分かっていなかったのですが、今回勉強して少し感動したので、まとめておきます。知っている人には当たり前ですが、知らない人がモード解析する場合は、必ず知っている方が良いと思います。

固有値問題について復習しましょう

早速ですが、固有値問題から、復習します。(モード解析と、固有値問題がつながると感動するので、このまま進んでください。)

(行列Aは二行二列の行列とします。)

左辺は、{φ}ベクトルに行列Aを積します。
右辺は、{φ}ベクトルに単位行列をλだけスカラー倍したものと積します。

幾何学的に考えると、
左辺は、{φ}ベクトルに変換行列Aをかけています。
右辺は、{φ}ベクトルに単位行列をスカラー倍なので、{φ}ベクトルを単純に方向を変えずに、大きさだけが変化しています。

つまり、変換行列Aに対して、方向を変えずに、大きさだけが変化する{φ}ベクトルが存在するということになります。

ここで、上式を展開すると、

となります。

この式がベクトル{φ}=0の解にならないためには、{[A]-λ[I]}の行列式が0であることが条件となります。連立方程式の解がもつ条件の逆になる。と考えれば、分かるかと思います。(連立方程式の解が存在する場合は行列式が0にらないが、解は自明の解であるベクトル{φ}=0になってしまい、方向を変えずに、大きさだけが変化する{φ}ベクトルが存在しない。という意味になります。そのため、方向を変えずに、大きさだけが変化する{φ}ベクトルが存在するためには、行列式が0である必要があります。)

{[A]-λ[I]}の行列式が0になることは、行列式を展開すれば、λの二次方程式を解くことにつながります。一般的な二次方程式なのでλの解はふたつ存在することになります。

さて、この場合、ベクトル{φ}の解は、先ほどの説明からも分かるように、一意的に決まらず、ベクトル{φ}の各要素の比としてしか答えが求まりません。ベクトル{φ}の各要素を{φ_1,φ_2}とおけば、φ_1/φ_2 = αというような形になる答えしかとりません。

また、λの解がふたつ存在するので、実際は、φ_1/φ_2 = α_1、φ_1/φ_2 = α_2というふたつの解の状態になります。

つまりは、単純に方向を変えずに、大きさだけが変化する{φ}ベクトルは、行列Aに対して以下のふたつのベクトルが存在するということです。(2次元なので2つです。省略しますがN次元でれば、N個存在します。)


このベクトルを固有ベクトルと呼んでいます。

しかも、おもしろいことに、この2つのベクトル{φ}は直行する性質を持ちます。
この、直行する性質を持つというのが、物理的な意味でモード解析を考える時には、面白い意味を与えます。

以上の説明がよく想像できない場合は、以下のサイトも見てみてください。
http://homepage2.nifty.com/eman/math/linear09.html

数学の話しかしていませんが、続きは、また次回書きます。