あつこ弁当 696枚×5円=3400円分のポイント

 構造研の先輩・同期の皆さん、ありがとうございます。質費に充てました。

日付用途出金(円)残高(円)
3/28カードのポイントに換金03400
3/29ティッシュ×27402660
4/21ティッシュ370
4/21ファブリーズ595
4/21ゴミ袋45L・10枚入り×22801415
6/7ティッシュ×2740685
7/25スポンジ×2216469
7/25洗剤131338
10/11軍手4860

Salome-Meca2015.2のポストプロセッサ"ParaViS"

 Salome-Meca2015.2をインストールしてみたところ、PostPro?がなくなっていた。(Code_AsterのMEDファイルを読めるようにParaviewを作り替えた?)ParaViSを使え、ということらしいので、FEMで使えそうな機能をメモする。

読み込む

  • ParaViSに行く(赤・緑・青 のボタン)
  • ファイル→ParaView?ファイルを開く→Code_Asterで計算した*.rmedファイルを選択して開く

変形図に応力のコンター図を重ね合わせる

  • パイプブラウザーのrmedファイルを選択したまま、フィルター→Common→Warp By Vector
  • PropertiesのVectorsを「RESU____DEPL」(変位)に設定→Apply
  • PropertiesのScale Factorは変形の倍率なので、1倍がそのまま。適度に大きくしたり小さくすると見やすくなる。→Apply
  • Coloringを見たい応力の種類によって変える。
    • 例えば、ミーゼス応力なら、「RESU____SIEQ_NOEU」の「VMIS」と、いうふうに。

グラフ化(軸方向距離-変位or応力or...)

  • パイプブラウザーのrmedファイルを選択したまま、フィルター→Data Analysis→Plot Over Line
  • PropertiesのPoint1とPoint2は、線分の起点と終点なので、適宜座標値を入力。これでグラフの横軸が決まる。
    • 例えば、梁の中立軸の両端の座標値とかを入力。
  • DisplayのSeries Parametersを見たい変位や応力(例えば、荷重方向の変位なら"RESU____DEPL_DY"だけ)に選択。
  • ViewのLeft Axis Lange(横軸)やBottom Axis Lange(縦軸)の値を変えて、グラフの範囲を適宜修正。
    • チェックを外すと、自動で調度良い範囲になる。

グラフを数値化

  • グラフの右上の「日」みたいなボタン→SpreadSheet? View を押すと表が出てくる

csvファイルに出力

  • 表を選択したまま、ファイル→エクスポート→名前をつけて(csvしかない)ok
    • 形式を見てみると、gnuplotの入力データがfortranで簡単に作れそう。

ある断面の軸方向応力をベクトル表示

  • 「伊藤の卒論日誌」あたりにもあったような。やるべし。

断面の変位を平均する

 そんな機能があってもいいではないかと、模索中。以下、暫定版。

  • パイプブラウザーのrmedファイルを選択したまま、フィルター→Common→Slice
  • 見たい断面の、原点座標(origin)を入力し、面の法線(nomal)を選択。
  • パイプブラウザーのSliceを選択したまま、フィルター→Data Analysis→Plot Data
  • 欲しい変位だけを選択。
  • グラフ右上の「日」→SpreadSheet? View→ファイル→エクスポート→csv
  • LibreOffice?のCarcで open→"f(x)"(InsertのFunction Wizardでもいい)のAverageで平均化
    • fortranで計算してもいいけど

3D地図をstlファイルにダウンロード

  • &link(国土地理院のサイト,http://cyberjapandata.gsi.go.jp/3d/index.html)から、3D地図のstlファイルがダウンロードできる。これを3Dプリンターで造形するのが流行っているらしい。
  • 下記の方法 blender → freecad → salome で遊ぶと楽しそう。
    • 面の数を1/10に減らして、ようやくsalomeで動いたが、クリエイトグループが大変かも?

細かすぎるstlファイルblenderで粗目にする

  • モデルの回転や移動は、blenderでやるとかなり動作が速いのでおすすめ。
  • blender → ファイル → インポート"stl"
  • モディファイ → 追加 → ポリゴン数削減
    • 例えば、国土地理院の3Dの富士山↓は元々、面の数が"133110"もあるので、細かすぎて使いにくい。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/hoka/herasu.jpg
  • その1:平面 → 角度制限 → 適度な角度に → 適用
    • 難しい http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/hoka/heimen.jpg
  • その2:束ねる → 「三角面化」にチェック → 「比率」を適度に小さく → 適用
    • 楽に減らせる。面の数が1/10でも↓結構きれい。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/hoka/tabaneru.jpg
    • 適宜、「その1」と「その2」を組み合わせる。
      • blenderでは、右上の「面:」に面の数が書かれている。
      • blenderでは、"z"でエッジが見れる。
  • ファイル → エクスポート"stl"

stlファイルをsalomeにいれて使う

freecad

  • stlファイルを開く
  • partにて
    • 部品→メッシュから形状を作成する
      • 「縫い合わせのトレランス」は、何だかよくわかりません。
    • 部品→シェイプビルダー→シェルからソリッドを作成
  • ソリッドを選択したまま……ファイル→エクスポート→BREP format(*.brep *.brp)でsave

salome

  • geometoryにて
    • ファイル→インポート→先ほどのbrepファイルをインポート
    • measures→basic propertiesで、volumeを確認して、値が正になっていればOK
    • volumeが負の値の時は、もう一度freecadに戻って、
      • ソリッドを選択したまま……部品→図形を反転
      • 反転したソリッドを選択したまま……ファイル→エクスポート→BREP format(*.brep *.brp)でsave
    • これをインポートすると、多分volumeが正の値になっている。
  • あとは、普通にcreate groupして、meshに切れば、asterで解ける。

paraview の使い方

インストール(CAELinuxには元々入っていますが)

  • ダウンロード
  • 解凍
    • tar xvzf ParaView?-4.3.1-Linux-64bit-glibc-2.3.6.tar.gz
      • バージョンによって、新しいのだと5.0.0とか。
  • 端末から連続したvtkファイルを開くには、
    • paraview filename..vtk&
      • paraviewをアイコンから開いて、openからファイルを指定するよりも楽。
    • 再生Modeは、Real Timeが速くておすすめ。

各種フィルター

 フィルターなるものでデータを色々と見やすくできる。グラフとかもかけるらしい。 vtkフォーマットは分かりやすくて便利。

  • 基本的には、
    • Filters→Alphabetical

球体をつくる

  • vtkファイルを押したまま、Glyph .
    Scalarsradius
    Glyph TypeSphere
    Radius1.0
    Theta Resolution16多いほうが球体の角が取れる
    Scalar modescalar
    Set scale factor1.0

力をスカラーで色付けしたい

  • 上記 球体の設定に加え、Solid Color を f に変更。
    • 右隣のMagunitudeは合成。X,Y,Zで成分別にできる。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/LIGGGHTS/gazou/f.jpg

速度ベクトルを描きたい

  • 新しく Glyph を追加
    vectorsv
    Glyph TypeArrow
    Scalar modevector
    Set scale factor0.02矢印の大きさ。適度に小さくして、調整。
  • Solid Color を v に変更。
    • 右隣のMagunitudeは合成。X,Y,Zで成分別にできる。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/LIGGGHTS/gazou/v.jpg

色・文字の設定

数値と色の帯(スカラーバー)

  • Toggle Color Legend visibility(左上のカラフルな帯のアイコン)
    • 位置とか大きさは、マウスの左クリックで調整できる。
    • Color Scale Editor(その右隣)→Color Lengend
      titletextタイトルの名前
      Fonttimes好きな書体に
      B太字
      I斜め
      S
      size20文字サイズ
      Color黒とかに
      label上記と同じ帯の方

画面の背景

  • View Setting(Layout#1の下の電卓みたいなアイコン)
  • Choose Color→白とかに

たくさんの静止画を保存

  • Start Time(開始時間)とEnd Time(終了時間)を設定して、南京錠マークをチェックしておくと、撮りたい範囲を指定できる。
  • File→Save Animation
    Animation Duration(sec)アニメのコマ数
    Resolution(pixels)横幅・縦幅のピクセル値

gif形式に動画化

  • imagemagickより、
    • convert filename*.jpg filename.gif
  • 画像ビューアーで見る。
    • eog filename.gif&

#########ここより上はただのメモ###########

卒論のテーマ

  • 石積みを例にしたFEMとDEMの比較(当初のテーマ)
    • FEM:積んだだけの石同士の間に柔らかい弾塑性要素を挟み、インパルスをいれる。
      • salome-mecaで出来そう。
    • DEM:積んだだけの石にインパルスをいれる。
      • liggghtsでは(機能的に)多角形要素が出来ないし、(近藤の能力的に?)正確な座標指定が出来ない。
      • では、よくあるドミノとかのアニメはどうやってる? → 物理エンジン

テーマの修正とか目的とか方向性みたいなもの

物理エンジンの特徴

 物理エンジン(blenderのbullet)はDEMとかFEMとかと比べると、本当にそうなるのか、ちゃんと計算しているのか、というと、ちょっとあやしい。 それっぽく見せているだけなような気もする。 剛体の動きは結構いい線を行っているように見えるが、軟体(? soft body)などの内側に辺が無い物体の変形は、とくにあやしい。 しかし、物理エンジンは、比較的計算は速い(簡単なものならほとんど対話型)し、アニメーションをつくるための色んな機能が(ほとんど使いこなせていないぐらい)ある。

  • 曲げを表現しようとすると、むしろ有限要素法よりもメッシュ分割・計算ともに遅い?→あんまり、メリットがない?

何かに生かせないか?

 たとえ厳密に物理現象を再現していなくても、それっぽい災害とかのアニメーションをつくって見せることは、防災意識を促すといった観点から、それなりに意義がある。 アニメーションは専門知識とかがなくても、見るだけで直感的に何が起きているのかわかるので、そこがいいところ。

方向性としては……

 まず、code-asterとblender、liggghtsとblenderで簡単な問題の比較検証をして、どれくらい厳密なのかを一応確認してみる。 次に、DEMとかFEMの計算結果と同じになるように、物理エンジンのパラメータを探す。 一度ちょうどいいパラメータを探しておけば、ちょっと違う構造で映像を見せたい時に、すぐにそれっぽい動きを再現することが出来る……のでは?

修正の修正?

  • 目的  動画の作成に際して、3DCGソフトを使うものと思われるが、その1つのblenderではbulletという物理エンジンが組み込まれている。bulletでは、剛体の衝突判定や物体の変形を計算してくれるが、どれだけ厳密なのかは明らかでない。 構造物の主要な部分は従来どおりFEMやDEMで計算する必要があるが、それ以外のところを補うツールとして物理エンジンを利用できるのでは?

修正の修正の修正?

  • 目的とか背景とか  シミュレーション計算結果の可視化方法の模索。  計算結果は複雑かつ数が多いため、可視化しないと評価が難しいし、人に伝わらない。しかし、シミュレーション(模擬実験)を専門にしている人とビジュアライゼーション(可視化)を専門にしている人はそれぞれ違い、お互いがそれだけでも難しいことをやっている。そのため、この2つの連携は必ずしもうまくいかず、現状ではフィードバックを何度も繰り返しそれらしい動画をつくっている。  こういった課題に対して、シミュレーションをやっている我々はどうしたらいいかを、色々と模索する。
  • 方針  とりあえず、salomemecaやらparaviewやらblenderやらで面白そうな動画をつくる。
  • シナリオ
    • まずは正攻法!  asterとかで真面目に計算したのを、paraviewに入れてパラパラ漫画にする。計算結果に忠実だが、パラパラのコマ分の全てを計算するのは大変。
    • 足りないところは補う  なので、ある程度はちゃんと計算をして、それを真似て3DCGソフトblenderの物理エンジンで補間できないか、という提案。
      • ただし、多分blenderにfemの結果とかの座標データはいれられないので、なんとなくで動画を作ることになるが、そもそもblender自体の操作も大変......。

目標

一週間の目標とその達成度

  • 卒論本体を書く。
  • 支部のスライドをつくる。
  • ちょっとした案
    • blenderのキーフレームという機能が使えないか?
      • 物体の位置・向き・スケールを2コマ以上設定すると、途中のコマをblenderが補間してくれるという便利機能。
      • 柔らか部分についてasterの計算結果(座標)をいくつか取り出して、キーフレームを設定できないだろうか?
      • 物体をインポートして、消して、インポートして、消して、の繰り返しは出来ないかも。
  • そのうちやりたいこと
    • asterで弾塑性解析をしたい。web上にあった例は解いてみたが、他のモデルに適用していない。
    • asterで自重の他に、横揺れのインパルスを入れたい。追従荷重というやつ?
    • 多角形DEMプログラムをつくりたい。2D円verは作ってみたが、色々とあやしいのでまだまだ修正の必要あり。
      1/29まで発表練習とスライドの修正。
      達成度した。時間内に終わらないので、あとは、各スライド10秒ぐらい縮めて喋れるようにする。
      1/22まで支部TeX・卒論TeXを後藤さんに提出して修正する。
      達成度完成。支部概要は提出。
      1/15まで支部TeXを「1.はじめに 2.実習環境 3.実習内容 4.実習課題」ぐらいまで、大まかに書き進める。
      達成度あんまり進んでいない。
      1/8までlibreoffice→powerpointで読める形式を見つける。
      達成度libreofficeで、pptファイルとして保存すると、powerpointで普通に開ける。
      12/25までodpファイルの画像を小さくする。powerpointでodpファイルを読み込む。
      達成度odpファイルのサイズが半分ぐらいになった。odpファイルを開くと、画像が暗くなる。
      12/22まで中間発表のスライドとTeXをつくる。
      達成度できた。
      12/18まで動画をつくる。その2。
      達成度動画を増やした。
      12/11までparaviewやblenderで何か面白そうな動画をつくる。横ねじれ座屈、エラスティカ問題......?
      達成度code-asterとblenderの石積み動画をつくった。
      12/4までblenderで何らかの動画ファイルをつくれるようにする。出来ればliggghts用にpraviewの動画ファイルも作りたい。
      達成度paraviewからjpgとかを吐き出して、gif化。libbreofficeへの挿入もうまくいった。
      11/27までblenderでラーメンの柱のすり抜けをなくす。
      達成度床のコリジョンの設定で「内側」の値を0.2から1.0にすると、すり抜けを防止できた。FEMよりも計算が遅い。
      11/20までblenderで片持ち梁をつくる。固定端をmodifierのhookという機能でやってみる。
      達成度壁と梁をくっつけるとどちらかの設定に依存してしまうので、ラーメンにした。曲げを見るには、辺を内部にたくさん生成しないといけないし、そのせいで梁が重すぎて、柱部分がすり抜けるなどの問題がある。
      11/13まで2D円筒要素のDEMをつくりたい。(上手くいったら2D多角形要素も考える)
      達成度円筒同士の衝突計算、円筒と床の衝突計算をした。それをparaviewでの映像化して観た。
      11/6までfemとの比較用にblenderで簡単な梁をつくりたい
      達成度片持ち梁を作ろうとするも、片面の固定がわからない。
      10/30までscience directあたりで、physics engineとfemをどう連携しているか調べる。
      達成度physicsとfemのハイブリッドしたようなものはなさそう。
      10/23までゲームとFEMをやっている人の文献を調べる。
      達成度日本語のページを調べた。
      10/16までblenderのfluidを試す。粘性を上げて、どこまで固体に近づくのか。
      達成度粘性を最も高い値にしてみたが、流体は使えそうにないことがわかった。
      10/9まで背面を球体の自由落下でpackingしてみる。それをエクスポートして、pythonでrigidの特性を与えてみる。
      達成度球体の自由落下によるpackingはできたが、その後の石をactiveに変更する作業は自動化できていない。
      9/28まで夏休みの課題達成度のTeX・発表用スライドを作る。
      達成度とりあえず完成。
      9/21までblender --pythonで直方体のソフトボディを無数に作り、裏込め+背面土を再現する。
      達成度要素数が3桁とかになると、生成を自動化しても計算が終わらない上、どうしてもpythonで制御できない条件がある。そのため、剛体で土っぽくなる条件を探した。
      9/14までblenderのソフトボディをsalomeのメッシュを使って先週の続きをやる。
      達成度salomeのメッシュを色々な形式に変換してblenderにインポートしたが、ソフトボディの要素が増えるわでないとうことが解った。ソフトボディの要素を細かくする場合、blenderのナイフ機能を使って切り分けなければならない。
      9/7までblenderのソフトボディによる裏込めをより詳細に再現してみる。出来ればasterの塑性解析を試す。
      達成度どちらもできていない。ソフトボディは物体内部のメッシュを手動で制御(生成)しなければいけないことがわかった。
      8/31までblenderでソフトボディで裏込めを再現してみる。
      達成度形としては出来たものの、asterに近いとはいえない。
      8/24まで先週のに石を想定した物体を1・2個埋め込み、2種材料として自重で沈む問題をasterで解く。
      達成度石の1・2個どころか、沢山の場合でもヤング率の異なる複合材料として解けた。
      8/17まで石積みなし(背面土+裏込だけ)で自重で沈む問題をasterで解く。出来れば過渡応答もつくる。
      達成度お盆気分が抜けず、しばらくサボっていたため8/20に達成。石を繰り抜いた部分が細かい場合には解けない。
      8/10までsalome-mecaで自重でたわむ単純梁をつくって手計算と比較。ついでに、同問題を動的に出来るのか調べる(あったら試す)
      達成度自重は単位体積あたりに密度分の荷重をかけると出来る。過渡応答解析も重くなるけどできた。自重を10倍とかにしたのを一瞬だけかけた後、除荷することで、自重方向のインパルス応答もみれた。
      8/3までオープンキャンパス用に何か(自由落下->坂->ドミノとか?)つくり、blenderの操作方法の勉強する。
      達成度できた
      7/27までドミノ倒しの論文を探す、物理エンジンについて調べる、球を繋げる(継続中)
      達成度blender2.7以上で剛体シミュレーション(弾性、摩擦等を変更できる)ができることを確認。
      7/13まで球を2つ繋げてみる、将棋倒しの計算方法を探す
      達成度球をつなげる方法が分かるも、formatの問題で出来ず。ドミノ倒しはBlenderが多いことがわかる。
      7/6まで球以外のもの(円柱とか)をつくって、坂を転がす。
      達成度球以外できず。Catherine O'Sullivan『粒子個別要素法』をパラパラめくり、球をくっつけて物体をつくるのではないかと想像する。
      6/29まで粒子の投入コマンドを調べる。複数の物体の経時変化ををグラフ化する。
      達成度投入コマンドは分からず。stlファイルで坂を入れられた。gnuplotで複数の粒子の経時変化をグラフ化できた。
      6/22まで球をピンポイントで配置するためのコマンドを探して、それをできるようにする。1個の物体の経時変化をグラフ化する。
      達成度入力ファイルの編集は進歩なし。gnuplotでグラフ化は成功。

物理エンジンの検証

剛体運動

反発係数

  • 反発係数を左から順に、\( \sqrt{0.00},\sqrt{0.25},\sqrt{0.50},\sqrt{0.75},\sqrt{1.00} \)とした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/goutai/hanpatu2.gif
  • 手計算通りになる。自由落下だと元の高さの反発係数2乗倍の高さまで跳ね上がる。

摩擦係数

  • 摩擦係数を左から順に、\( 0.00,0.25,0.50,0.75,1.00 \)とした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/goutai/masatu.gif
  • 摩擦係数が低いほど、よく滑る。回転運動も再現している。

弾性変形

  • ラーメン構造を自重で変形させる。
    • 下記のようにパラメータの設定がとても曖昧。ヤング率やポアソン比ではない。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/softbody2.jpg
    • そこで、edgeという辺の数や入れ方で調整してみる。

edge:初期

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/syoki.jpg http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/syoki.gif

edge:表面たくさん

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/sotodake.jpg

  • blenderの機能で自動細分化できる。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/sotodake.gif

edge:内部も格子状にたくさん

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/naibu.jpg

  • 重なった点や線を除去しないと、物体が重なっておかしなことになるので注意! http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/naibu.gif
  • salomeで作ったメッシュはstlファイルにエクスポートしてblenderにインポートできるが、そもそもstlファイルは表面形状しか持っていない。なので、ずっと手作業で点とか線をつくっていたけど、プログラムから作ると分割数も変えられて、楽。
    • &link(naibu.py,http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/naibu.py)
      • "aa"で全選択。
      • 左側の「ツール」→「編集」→「統合」
      • 下の「オブジェクト」→「トランスフォーム」→「原点をジオメトリに移動」
      • 下の「オブジェクトモード」を「編集モード」にかえて、
      • 左側の「ツール」→「メッシュツール」→「重複頂点を削除」
      • あとは、好きなようにラーメンのソフトボディ、床のコリジョンを設定すべし。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/ra-men/naibu2.gif
  • プログラムで作ると、動きが断然滑らか。手作業で作った上のは、どこかを間違えていたらしい。

石積

salomeでモデルをつくる

  • geometoryにて、
    • 0.次の1~4までは、別のsalomeで作ってbrepファイルにエクスポートしたものをインポートすると動作が軽い。
      • ついでに、一部をstlファイルにエクスポートしておくと、blenderにインポート出来るので便利。
    • 1.vertex→edge→face→solid→translation等々で石段をつくり、compoundする。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/isi.jpg
    • 2.face→roatation→extrusion等々で裏込部分の平行四辺形をつくる。
    • 3.2の平行四辺形を石をツールにcutする。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/urakome.jpg
    • 4.1の石をfaceにexplodeして、裏込との境界部分のみを選択しcompoundする。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/kaimen.jpg
    • 5.1の石と3の裏込をcompoundし、石・裏込部・下面・後面・左面・右面にそれぞれcreate groupする。
      • 下の画像は、境界条件を設定する4つの面 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/kyoukai.jpg
    • 6.5でまとめた物体を、4の境界面をツールにpartitonする。
    • 7.6でpartitionした物体を、5でcreate groupしたグループを使用して、再びcreate groupする。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/zentai.jpg
    • partitionした物体を選択して、いつも通り四面体要素にcreate meshする。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/geometry/gazou/meshisi.jpg
      • これも、medファイルにエクスポートしておくと、asterで計算するとき、別のsalome-mecaで開けるので、動作が軽いかも。

asterで計算

静的解析:自重で沈む

動的弾性解析:途中で上下に自重の10倍のインパルスを入れる

動的弾性解析:途中で上下に自重の100倍のインパルスを入れる。↑より、粘性減衰を小さくした。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gif2/dou10bai.gif

  • 変位図……単位:m,sec、スケール:10倍↑,粘性減衰:土0.00004,石0.00002
    • もうちょっと、先まで見たい。

モーダル解析

  • &link(sei.comm,http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/sei/sei.comm)。上の動的解析と一緒にやった。
  • 13.4Hz.1次モード的な http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal13.4Hz.jpg
  • 22.4Hz.2次モード的な http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal22.0Hz.jpg
  • 29.3Hz.ヤング率が異なる積石と裏込(本当は石だけど変形するように土にした)が食い込んでいる。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal29.3Hz1.jpg http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal29.3Hz2.jpg
  • 30.4Hz.ねじれ。しかし、実物の奥行き方向はもっと長いので、信用できないと思う。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal30.4Hz.jpg
  • 34.6Hz.3次モード的な http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/salome-meca/dou/gazou/modal34.6Hz.jpg

参考

  • 積石のサイズ……1尺x1尺5寸x目測1尺5寸→0.30m x 0.45m x 0.45m の4角錐
    • 大久保森造「石積みの秘法とその解説」理工図書,p.17
  • 裏米の入れ方……「自然土質の場合における石積の裏込めの入れ方は積石の長さだけ(倍)」、図が斜め
    • 大久保森造「石積みの秘法とその解説」理工図書,p.102
  • FEM解析での土の物性値……E=16.8MPa,\( \nu \)=0.33,\( \gamma \)=14.7kN/m\( ^3 \)とか?
    • ttp://www.forum8.co.jp/product/uc1/jiban/pdf/geo200707.pdf
  • 土の応力ひずみ曲線……(\( \epsilon \),E):(0,0)→(0.01,150)and(0.01,150)→(0.15,150)とか?
    • ttp://shear.nagaokaut.ac.jp/Archive/PDF/Soilv2.pdf
  • 男鹿石(安山岩)のヤング率……特に無いので石の平均ということで、36.75GPaぐらい?
  • 男鹿石(安山岩)の密度……2.5g/cm\( ^3 \)ぐらい?

blenderにモデルを作成

  • 1.石のstlファイルをインポート。スケールはsalomeに同じ。
  • 2.edit mode→"p"→「構造的に分離したパーツで」にして分離する
  • 3.運動の原点を物体の重心に持っていく(必須):"aa"で全選択→object→transform→origin to center of mass
  • 4.床、壁をadd meshで手動で入れる。
  • 5.以上は物理演算のrigidのpassiveにしておく。
  • 6.適宜、反発係数・摩擦係数・質量等を変える。

pythonで栗石の自由落下

参考

  • 石の摩擦係数……blenderだと0.8ぐらいにすると、0.8×0.8=0.64で丁度いい?
  • 石の反発係数……blenderだと0.2ぐらいにすると、0.2×0.2=0.04で丁度いい?
    • ttp://www.skr.mlit.go.jp/yongi/duties/research/rakuseki/gaiyo2.pdf

blenderで計算

  • 8.最終コマで停止し、再生コマ(Dimensions/Frame Range)と計算コマ(rigid body cache)をそこからに変更する。
  • 9.石を物理演算のactiveにする。
  • 10.再生。
  • 11.計算が終わったら、ベイクしてから保存する。
    • あとで開いてみてみると、なぜだか1個ぐらい石がずれている。

裏込にsoftbodyを使う場合

  • 7'.裏込のstlファイルをインポート。
  • 8'.裏込についても、運動の原点を物体の重心に持っていく(必須):左クリックで選択→object→transform→origin to center of mass
  • 9'.裏込をsoftbodyに、積石をactiveに設定。
  • 10'.裏込および積石を全部collisionに設定。

blenderから動画保存

  • softbody:ほぼ初期状態:曲げだけ0.000→0.500に変えてみた http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/syoki3r10d/meshsyoki.jpg
    • stlファイルの線の配置が荒いためか、すり抜ける。しかも、線が表面にしかないので左上の背面がペラペラしている。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/syoki3r10d/syoki3r10d.gif
  • softbody:表面だけ細かくしてみた http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/meshsoto.jpg
    • 表面がただれるようだ。もうちょっと硬くてもいい。ちなみに、これだけでもすごく重い。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto/soto3r10d.gif
  • softbody:表面だけ細かくして、曲げだけを0.500→1.000に変えてみた。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto2/soto3r10d2.gif
    • 徐々に曲げだけを大きくしていった。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto3/soto3r10d3.gif http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto4/soto3r10d4.gif
    • どうやら曲げの強さパラメータを最大にしても、表面がだらーとするし、背面側に積石がすり抜ける
  • softbody+rigid:背面にもrigidの属性を与えた http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto5/soto3r10d5.gif
    • 積石の背面側へのすり抜けはなくなったが、飛び出してしまう。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto6/soto3r10d6.gif
  • softbody+rigid:softbodyのgoalを1.000にした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto7/soto3r10d7.gif
    • ほとんど、動かなくなってしまう。
  • softbody+rigid:softbodyのgoalを0.900にした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto8/soto3r10d8.gif
    • 今度は、動き過ぎる。
  • softbody+rigid:softbodyのgoalを0.990にした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/soto3r10d/soto9/soto3r10d9.gif
    • goalを1.000に近づけても、まだまだ動き過ぎる。
  • rigid:上のpackingのあと、積石をactive状態にした。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/blender/kyuu1/kyuu3r10d1.gif
    • 石の回転減衰and移動減衰:1.000
    • softbodyよりいい。背面に、裏込なのに高く積みすぎ? もうちょっと先まで見たい。
      • 計算時間が約20時間ぐらい?

imagemagickでgif動画をつくる

元画像の加工

  • jpg化
    • ( $ mogrify -format jpg moto*.png
    • )
    • jpgにしたほうが軽い。
  • 画像の切り取り
    • ( $ mogrify -crop 400x300+500+400 moto*.jpg
    • )
    • 横幅x縦幅+横位置+縦位置 (ピクセル値、位置は左上から)
  • 画像サイズを変える
    • ( $ mogrify -resize 400 moto*.jpg
    • )
    • 横が400ピクセルになる
      • このくらい小さくしないと、odpファイルの動作が遅い。

画像のgif化

  • ( $ convert -delay 10 moto*.jpg filename.gif
  • )
  • "-delay X"は再生コマ間隔がX/100秒となる。
    • 画像と同じで"$ eog filename.gif"で観られる。

officeで使う

  • gifはlibreofficeのimpressに画像として貼れる。
  • impressから"microsoft powerpoint 97/2000/XP (.ppt)"で保存すると、そのままpowerpointでも読める。

LIGGGHTSでも動画を作ってみる

 下記paraview+上記imagemagickの方法でgif化

  • 例えば、こんなのとか? http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/LIGGGHTS/gazou/takusan.gif

2次元DEM(円筒要素)

計算

描画

  • paraview上で「ファイルを開く」:file→open→kekka..vtk→ok
  • あるいは端末上で、
    • ( $ paraview kekka..vtk&
    • )
  • 球体を表示させる:fileters→alphabetical→glyph→apply
    • 円筒もあるようだが、2Dなので真横から見れば一緒。
  • 表示の設定:propertiesを下の表のように変更する。
    • paraviewのバージョン(新しいもの)によっては、Sphere-Radiusの項目が無いので、代わりにScale Modeを2にする。
      Glyph TypeSphere-RadiusScale ModeSet Scale Factor
      Sphere1scalar1(Editにチェックを入れて)
  • アニメーション再生:play
    • modeをreal timeにすると動きが速くなる。

動画保存

  • file→save animation→animation durution(コマ数):100 (仮)→save animation
    • ↓お試し計算をimagemagickでgif化してみる。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/DEM/3tama.gif

卒論日誌

日付時間帯作業時間(hr)内容立会
4/13(月)13:30-17:301.5戸川隼人『有限要素法へのガイド』の1章を読む
4/16(木)14:30-17:303.0戸川隼人『有限要素法へのガイド』の2章を読む
4/17(金)11:00-12:001.0戸川隼人『有限要素法へのガイド』の3章を読む
4/17(金)15:30-17:302.0戸川隼人『有限要素法へのガイド』の3章を読む
4/21(火)9:00-10:001.0戸川隼人『有限要素法へのガイド』のプログラム2.1を修正しつつ模写
4/21(火)14:00-17:303.0戸川隼人『有限要素法へのガイド』のプログラム2.2を修正しつつ模写
4/24(金)13:30-17:304.0戸川隼人『FORTRANによる有限要素法入門』の1章を読む
4/27(月)9:00-10:001.0戸川隼人『FORTRANによる有限要素法入門』のプログラム1.1~1.2を模写
4/27(月)13:30-17:001.0戸川隼人『FORTRANによる有限要素法入門』のプログラム1.3~1.4を模写
4/28(火)9:00-12:003.0LIGGGHTSの入手
4/28(火)13:30-17:304.0LIGGGHTSのコンパイルの準備およびMakefileの修正
4/29(水)10:00-12:002.0LIGGGHTSのコンパイルの準備から(/opt に)やり直し
4/29(水)13:30-17:304.0LIGGGHTSのコンパイルを色々と試す
4/30(木)13:30-18:305.0LIGGGHTSのコンパイル(後藤ちゃちゃ)をしたり、ライブラリをつくったり、パスを追加したり、サンプルを実行したり、paraviewを入手したり
4月計35.5
5/1(金)9:00-12:003.0pizza.pyのインストール、およびサンプルの実行を試みる
5/1(金)13:30-18:004.5サンプルを計算しparaviewで再生するも失敗(vtkファイルは開けるし、Timeも動いているが、物体?が現れない)
5/6(水)14:00-18:003.5LIGGGHTSの読み方を調べたり、linuxのリンクについて調べたり
5/7(木)16:00-18:002.0LIGGGHTSのサンプルの実行(が出来ず。dumpファイルが見つからない?)
5/8(金)13:00-18:005.0LIGGGHTSをインストールからやり直す。examplesの計算、結果ファイルdumpをvtkへの形式変換、paraviewで(赤い点々がうようよ動く)の確認
5/9(土)10:00-12:002.0LIGGGHTSのサンプル「conveyor」のFiletersのGlyphをいじる
5/9(土)16:00-18:002.0PENGUINITISさんのサンプル「box」を試すも、実行出来なかったのでin.boxをいじる
5/12(火)11:30-19:007.0LIGGGHTSのサンプルの中身を簡単な問題に書き換えてみる(物性値、壁の形状stl、球の投入速度?、等ができた)。salome-mecaをいじる
5/13(水)13:30-18:004.0柴田良一『「salome-meca」ではじめる構造解析』のp.121までやる
5/14(木)9:30-12:002.0柴田良一『「salome-meca」ではじめる構造解析』の付録以外をやる
5/14(木)14:30-17:303.0榎戸正一『開発現場で活用できるオープンソースCAE②』のcase1をやる
5/15(金)10:30-12:001.5榎戸正一『開発現場で活用できるオープンソースCAE②』のcase2-1をやる
5/15(金)13:30-17:302.0榎戸正一『開発現場で活用できるオープンソースCAE②』のcase2-2・2-3・2-4をやる
5/18(月)10:00-12:002.0榎戸正一『開発現場で活用できるオープンソースCAE①』のp.90まで (静的)をやる
5/19(火)13:30-18:004.0榎戸正一『開発現場で活用できるオープンソースCAE①』をやる(固有値解析も)
5/20(水)15:00-18:003.0鈴木さんとgimagereaderをインストールし、日本語化してみる。lammpsのコマンド(liggghtsとコマンドが同じで情報量が多い?)を調べる
5/21(木)10:30-12:001.5lammpsのコマンドを眺める
5/21(木)14:30-18:003.5liggghtsのコマンドを見つけて眺める
5/22(金)10:30-12:001.5liggghtsの入力ファイルをいじる。チュートリアルなるものを見つける
5/22(金)13:30-18:004.0Ram Chand Raguelさんのチュートリアルをやったり、入力ファイルをいじったり
5/25(月)8:30-17:304.0チュートリアルの計算が出来ないのはおかしいと思い、LIGGGHTS-PUBLICとCFDEMcoupling-PUBLICをインストール
5/27(水)14:00-18:004.0lppをインストール、examplesで動作確認河原さん
5/28(木)8:00-12:003.5salomeで壁条件をつくり、そのstlファイルを使ってexamplesを計算
5/28(木)15:30-17:300.5tutorial(序文)でliggghtsのコマンドを勉強する
5/29(金)8:00-17:307.5tutorial(bin flow)でliggghtsのコマンドを勉強する
5/30(土)10:00-12:002.0tutorial(bin flow)を計算・修正
5月計82.5
6/1(月)8:30-17:004.0tutorial(bin flow)を修正・計算、マニュアルのcontact model exampleを計算
6/3(水)13:30-18:004.0マニュアルのcontact model exampleを改造して、一個の球を自由落下させた。目視と手計算を比較(反発係数OK、速度?)
6/4(木)8:00-12:004.0paraviewのグラフ化を試みる(ダメ)
6/4(木)14:30-17:303.0paraviewのチュートリアルを見つける。29/106までやってみる
6/8(月)13:30-17:303.0liggghtsの計算がparaviewで自由落下する球の時間とか反発係数が手計算と合っているか、の確認
6/9(火)8:00-10:002.0liggghtsの計算が出力ファイルにどう書かれているかの確認(速度と力)
6/9(火)14:00-17:303.0liggghtsの出力ファイルより、粒子が変形しているときに働いている力を確認(途中)
6/10(水)14:00-17:303.5liggghtsの出力ファイルより、粒子が変形しているときに働いている力を確認(勉強中)
6/11(木)14:30-17:303.0liggghtsの出力ファイル(たくさん出てくる)を一つにまとめるプログラムをつくる(openfileの勉強中)
6/15(月)8:30-18:006.0liggghtsの出力ファイルを途中まで一つにまとめるプログラムをつくる(grepで解決と思いきや順番が変になるので)後藤さん
6/16(火)13:30-18:004.0gnuplotについて調べる。gnuplot用にプログラム(6/15)を改造して、gnuplotで自由落下する球をグラフ化する
6/17(水)13:30-17:304.0gnuplotをいじる。liggghtsマニュアルから座標指定のコマンドを探す
6/18(木)9:00-12:003.0liggghtsについてきたtutorials publicの中で、座標指定しているものがないかを計算してみて探す
6/18(木)13:30-17:304.0liggghtsのマニュアルから座標指定のコマンドを探す
6/19(金)13:30-19:005.0stl→freecad×salomeの組み合わせからメッシュを切る方法を探す
6/20(土)11:00-18:004.0daiyastl.f90をfreecad経由でsalome-mecaにいれ、solid要素として厚みを持たせて解いてみる
6/22(月)8:30-18:005.0liggghtsのマニュアルを眺めたり、fortranのwrite文のformatを調べたり
6/23(火)13:30-17:304.0複数の粒子の挙動をgnuplot用にまとめるプログラムをつくる
6/24(水)14:00-18:004.0入力ファイルに坂(stlファイルでつくった)を読み込ませ、一個の球を転がす。坂の方向の移動量とか速度をグラフ化
6/25(木)9:30-17:305.0摩擦係数を変化させ、坂で球を転がす。摩擦係数をある程度大きくすると剛体の運動に従う(小さい時は質点に同じ)ことを確認
6/26(金)9:00-18:306.5球の自由落下と坂を転がした結果を日誌に書いたり、日誌を整理したり
6/29(月)10:30-17:304.0wikiの数式を勉強し、日誌を書き直す。liggghtsで物体をつくる方法を調べる
6/30(火)13:30-17:304.0図書館に入れてもらった、林真『はじめてのParaView?』を見ながらparaviewをいじったり、鈴木さんとcode-asterの直交異方性をやってみたり
6月計82.0
7/2(木)10:00-18:005.0code-asterの直交異方性の軸LTNがどうなっているのか試す。liggghtsの塊を入れるコマンドを調べる
7/3(金)13:00-17:303.0liggghtsの座標指定したり、塊を入れたりするコマンドを探す
7/6(月)8:00-18:006.0commファイルの出力をいじったり、熱応力の例題をやってみたり
7/7(火)8:00-9:001.0熱応力の例題をやってみるも出来ず
7/8(水)14:00-18:004.0ドミノ倒しのシミュレーションを調べる(blenderとか自作とか)、商用(liggghts-premium)でなくても(liggghts-publicでも)コマンドrigidで塊を作れるかも
7/9(木)10:00-18:004.0liggghtsでread_data→group→rigidの順で塊を作るために、read_dataの書式を調べる7
7/10(金)13:00-18:004.0liggghtsのinsert/packとかfix growとかをいじったり、read_dumpについて調べたり
7/13(月)9:00-18:004.0Bullet Physics(Blenderの物理演算エンジン)、ODE、Newtonとかについて調べる、石積の資料(付箋:なくさないように ごとう)を見つけて見る
7/14(火)13:00-18:004.0bullet physicsとかphysXとかについて調べたり、blenderをいじってみたり
7/15(水)13:00-17:003.0liggghtsのread_dumpの使い方を調べて色々と試す
7/16(木)10:00-16:004.0liggghtsのread_dataの使い方を調べて色々と試す
7/17(金)10:00-17:006.03Dプリンターwikiを確認したり、LaTeXを少しやってみたり
7/18(土)14:00-17:003.0githubにliggghtsのexamplesがあるのを見つける
7/19(日)13:00-17:004.0githubのliggghtsのexamplesとかbenchmarkとかを色々と見たり、試したり
7/21(火)14:00-17:303.0githubのliggghtsのexamplesを試す
7/22(水)13:00-22:006.0個人のPCにUbuntu15.04を入れてみる。liggghtsやblenderは使えるようになったものの、salomeやcode-asterのインストールができない
7/23(木)14:00-17:303.0blenderの物理エンジンをaddon(?)しなくても、物理計算ができることを自由落下問題で確認。salomeでドミノをつくりstlファイルをblenderにインポートして物理計算してみるが、動きが変(操作や設定に問題あり?)
7/24(金)13:00-18:003.0オープンキャンパスの振り子をプログラムを書き換えて、計算する
7/25(土)15:00-22:004.0個人のPCにCAELinuxをいれようとする。Ubuntu15.04ベースだと無理そうだと確認
7/26(日)8:30-14:003.0個人のPCにUbuntu12.04.04とCAELinux2013を入れてみる
7/27(月)10:00-17:306.0個人のPCにubuntu12.04の公式パッケージではない新しいバージョンのblenderやliggghts、paraviewをいれて動作確認する。振り子の調整
7/28(火)14:00-23:306.0振り子の調整、pythonでblenderの制御する方法を試す。blenderで、円柱と球を坂で転がしてみる
7/29(水)11:30-25:007.0落下する球を作り直す(減衰機能を0にしないと空気抵抗のようなものが働き手計算と合わない)。salomeで円筒・球殻をつくり、blenderにインポートして転がす
7/31(金)15:00-18:003.0ドミノ倒しを作る、asterの座屈に挑戦(エラー)、bullet physicsの原理について書かれたページを探す斉藤さん
7月計99.0
8/4(火)11:00-17:305.0code-asterで自重でたわむ梁を静的に求めた
8/5(水)13:30-19:005.0code-asterで自重でたわむ梁の過渡応答解析をした
8/6(木)14:00-19:005.0salomeで石積みのモデルを作り、静的な解析をするも失敗。多分、石同士が線で接触(要素の線を共有)しているのが原因?
8/7(金)14:00-18:002.0salomeで石積みのモデル(石同士が少し離れた)を作り、自重による沈下を静的に解析をするも失敗。多分、隙間のメッシュが粗すぎるから?
8/9(日)13:00-18:004.0salomeで石積みのモデル(石の周りだけsubmeshで細かくする)を作り、自重による沈下を静的に解析をするも失敗。斎藤さん
8/20(木)19:00-23:003.0拘束等の確認のために台形柱のみで解析をする。これは出来たので、拘束条件はOK。しかし、台形柱の石の部分を繰り抜いた複雑な形だとダメ。
8/21(金)13:00-16:003.0石の部分を粗めに繰り抜いた台形柱を解析する。これは出来たが、石をはめ込むとダメ。ヤング率を同じにしてもダメ。斉藤さん
8/24(月)14:00-24:008.0石積み+裏込め(+背面土)で互いのヤング率を変えて静的と動的に解析する。繰り抜いたところをパーティションしないとダメ。
8/25(火)14:00-23:307.0salomeからblenderに石積みをインポートして、soft bodyで裏込めを再現してみる。asterで変形したようになる設定をsoft bodyで色々試すも、思うような柔らかい物体にならない。多分、メッシュが原因。
8/26(水)10:00-17:306.0裏込めの応力歪曲線を設定して、asterで石積みの塑性変形を解いてみる。インパルス応答と静的自重で比較をしてみるも、結果は変わらず。多分、荷重が弾性域だからか設定のミスか?
8/27(木)8:00-16:002.0木ごころ橋(山形県金山町)やら、いくつかの橋を見学。
8/28(金)10:00-20:007.0斉藤さんのプログラミング講座(ccx用の矩形メッシュ分割)を受ける。asterの塑性解析について調べる。斉藤さん
8/29(土)11:30-15:003.0斉藤さんのプログラミング講座(ccxの拘束条件のカード)を受ける。ccxの拘束条件以外のカードとかを調べる。斉藤さん
8/30(日)21:00-23:002.0斉藤さんのプログラムを眺めたり、いじったり。
8/31(月)10:00-19:007.0斉藤さんのプログラミング講座(ccx用のL字・箱型メッシュ分割)を受ける。斉藤さん
8月計69.0
9/1(火)13:00-18:005.0ccx用の箱桁をつって片持ち梁として計算。
9/2(水)13:00-16:003.0blenderでsoft bodyの計算間隔を短くしてみるも、時間だけかかって精度はあんまり変わらない。
9/3(木)13:00-16:003.0blenderで内部に細かなメッシュを生成するのが面倒なので、soft bodyのself colligionを小さくしてみれば、メッシュを細かくしたようになるのではとやってみるも、自分自身との衝突判定が正確になるだけ。
9/7(月)10:00-16:004.0blenderのsoft bodyで内部にメッシュを生成するために、salomeのmesh→freecad→blenderを繰り返す
9/8(火)10:00-16:004.0Gmshをいじっていたらasterのmedファイルがインポートできることが分かり、rmedファイル(計算結果)をいろいろなテキストファイルにエクスポートして、眺める。
9/9(水)9:00-16:004.0様々なファイル形式に対応しており、ccxとの連携にも便利(inpファイルも作れる)だと思い、freecadをいじる。freecadの画面では解けてはいない。asterのBarre要素を試す。
9/10(木)9:00-19:006.0blenderのsoft bodyで裏込め+背面土内部にメッシュを作るもこれといって変化なし。
9/11(金)11:00-16:003.0blenderのfluidを試す
9/16(水)8:00-19:308.0blender --pythonで剛体を積み上げる。ソフトボディも積み上げる。
9/17(木)15:00-21:005.0blender --pythonでソフトボディを積み上げる。collisionでソフトボディ同士がぶつかるようにして、soft bodyで衝突判定をuse_face_collisionにすると、いい感じに柔らかい土っぽくなる。
9/18(金)13:00-19:005.0blender --pythonでuse_face_collisionを入れようとするが、出来そうにない。
9/22(火)20:00-24:003.0blender --pythonで(use_face_collisionを入れずに)、300*400*400の立方体要素をソフトボディで作ってみる。計算が終わらない。
9/23(水)10:00-18:004.0blenderのrigidで直方体要素を使って土を表現できるようにpythonプログラムをつくり、色々な条件を試す。
9/24(木)13:00-18:005.0夏休み明け発表用のスライドを作る。9/23の計算が途中だが諦める。
9/25(金)13:00-18:005.0夏休み明け発表用のスライドを作る。とりあえず完成。
9/26(土)13:30-25:007.0夏休み明け発表用のTeXを作る。Xfigで図を作ったり、epsファイルを作ったり。
9/27(日)9:00-22:009.0夏休み明け発表用のTeXを作る。図表と文章は完成。あとは書式を整えるだけ。
9/28(月)10:30-16:004.0夏休み明け発表用のTeXを作る。とりあえず完成。発表練習をして、スライドとかを修正する。
9/29(火)10:30-12:001.0中間発表の練習
9/30(水)13:00-26:008.0pythonで直方体の石を段違いに積み上げたり、壁を生成したりするプログラムを作る。
9月計96.0
10/1(木)14:00-22:006.0pythonで裏込め(剛体球体)を単純立方格子状に充填するプログラムを作る。
10/2(金)16:00-18:002.0pythonで球体packingプログラムを作り、試しにobjファイルにエクスポート。
10/4(日)11:00-16:004.0objファイルにrigidの設定を付け加えるプログラムを作ろうとするも、インポートまでしかできず。
10/5(月)10:00-16:305.010/4と同じ作業をするも、進展なし。
10/6(火)9:00-18:004.0blenderのsoftbodyをいじってみる。salomeで切ったメッシュをfreecad経由で色んな形式にしてblenderにエクスポートしてみるも、内部にメッシュが生成されないせいで動きが変。
10/7(水)13:30-17:304.0背面土を詰め込んだ後、それまで固定していた石を手動で動く設定に変更した。お試し用なのでモデルは雑。保存のやり方がわからず。
10/8(木)13:00-16:003.0salomeからblenderにメッシュをインポートさせても内部にメッシュが生成されないので、手動で内部にメッシュを作る方法を試しみた(soft body用に)
10/9(金)10:00-18:303.0Elmerを使ってみるが、解析は出来ず。Blenderの保存の仕方を色々と試すが、物理演算結果がリセットされてしまう。
10/10(土)11:00-17:303.0Gmshを使用してみる。code-asterの結果ファイルrmedを開いて、色々な形式に保存してみた。txtやposファイルとかは一応テキストファイルっぽい。
10/13(火)10:30-18:305.0blenderの流体機能を使ってみる。動粘性係数を一番高い10×10\( ^10 \)m/s\( ^2 \)に設定してみるも、固体っぽくない。uv_sphereをico_sphereに変えてみる。
10/14(水)10:00-23:007.0大久保『石積の秘法とその解説』を読む。本を参考に新しく石のモデルを作る(石+裏込)。ジオメトリーのみ。
10/15(木)13:30-23:306.0新しく作ったモデルをsalomeでメッシュに切り、asterで自重を載荷して静的解析。blenderでは、pythonでプログラムを作ってみた。日誌整理。
10/16(金)10:00-17:003.0blenderで新しいモデルをpackingする。裏込は楕円球に変えてみた。計算中。動的解析用commファイルを作って解析。
10/19(月)13:00-17:003.0「fem」、「有限要素」、「ゲームエンジン」、「物理エンジン」とかのワードで色々調べる。
10/20(火)13:00-23:007.0blenderで石積の計算してみるも上手く行かないので、asterの接触の例題をやってみるも計算失敗。
10/21(水)11:00-17:003.0caelinuxのインストール。blender用のmesher "swiftsnap"を試そうとして失敗。asterの接触の例題その1をやってみるが出来ない。
10/22(木)17:30-19:301.010/21の続きをやる。
10/23(金)8:30-18:306.0asterで接触の問題をやってみる。寒風の文献をめくる。後藤さん
10/24(土)13:30-17:303.0blender --pythonで寒風の資料みたいなのを作って計算してみる。球体の半径を乱数で生成するプログラムを作る。
10/25(日)13:30-17:303.010/24のを半径乱数verでも計算してみる。ccx_2.5/test/contact*.inpを計算してみるも、よくわからない。
10/26(月)11:30-17:304.0半径乱数verの半径とかを調整(側面の摩擦係数の影響大)。asterでウェブ上にある接触解析(計算途中)と塑性解析をやってみる。
10/27(火)13:00-17:304.0試しにやった接触解析が途中で終わっていたのでやり直す。science directを漁る
10/28(水)9:30-19:005.0先日解けなかったweb上にあったasterでの解析例を、バージョンをSTA10から11に変えて計算してみるが、ダメだった。2D接触の物性を塑性に書き換えて、計算してみる。science directを漁る。山内さんと折り目をつくる。
10/29(木)10:30-16:305.0science directでphysics、fem、hybrid、multi、fusion...とかを調べる。山内さんと折り目をつくる。
10/30(金)16:00-18:302.0滝田さんのunvファイルの体積求めるプログラムの復習ついでに、実はメッシュファイルの体積を求める機能がsalomeかどこかにあるのではないかと、色々探してみる。
10月計101.0
11/2(月)13:00-17:004.0blenderで片持ち梁を作るために、頂点を固定する方法を探すが、見つからない。
11/4(水)13:00-16:003.0昨日につづき、blenderで片持ち梁を作るために、頂点を固定する方法を探すが、見つからない。
11/5(木)10:00-17:306.0棚にあった桝谷浩『落石覆工の落石による衝撃力に関する研究』をめくっていると、自作DEMについての記述を発見。fortranで2D円筒要素の衝突の組み合わせと初期条件の読み込みプログラムを作ってみる。
11/6(金)16:00-18:302.0創造工房の来週までの課題をasterと手計算で解いて、メッシュとか単位とかを確認する。初期設定のメッシュ長さだと明らかに粗い。
11/8(日)15:00-23:006.0桝谷先生の論文をわりと真面目に読む。円筒要素DEMプログラムをつくる。加速度、速度、変位増分の積分とか、についてかく。
11/9(月)11:00-17:305.0円筒要素DEMプログラムをつくる。要素間の接触力についてかく。dt後にどうなっているのかの確認中。
11/10(火)9:00-17:307.0円筒要素DEMプログラムをつくる。各ステップでの円筒中心座標をgnuplot用ファイルに書き込むようにする。同時におかしな所を確認+修正中。円筒同士の衝突判定と自由落下はOK。接触力が変。
11/11(水)9:00-17:307.0円筒要素DEMプログラムをつくる。出力をparaview用のvtkフォーマットにし、動画として見ることで、計算結果の確認をする。
11/12(木)13:30-17:304.0円筒要素DEMプログラムをつくる。円筒要素と床および壁との接触についてをかく。接触力が変(そのうち直す)。
11/13(金)9:30-17:303.0円筒要素DEMプログラムをつくる。床と要素の接触を修正。blenderで壁と梁を結合してみるが、どちらかの属性にひとまとめになってしまう。
11/16(月)16:00-17:301.0blenderのbone機能を調べるが、物理演算をしていない模様。固定端をつくるには、hookという機能が使えそう。
11/17(火)10:00-17:305.0blenderのhookという機能を試してみるが、なぜか固定できない。
11/18(水)13:30-17:304.0blenderでラーメン構造を作ってみるが、1つ1つの辺は曲がらず、伸び縮みのみする模様。柱部のみが上下に伸び縮みする。かといって、梁部分の辺を細かく切り分けると、表面が波打ってしまう。
11/19(木)13:30-17:304.0blenderでラーメン構造の梁部分が波打たないように、中に辺をたくさんつくってみるが、そこばかり重くなってしまい、柱部分がひっくり返る。また、辺同士が重複するなど、思うように辺を作れない。
11/24(火)9:30-16:306.0DEMプログラムの各減衰係数、逓減率を計算する(理解していない)。佐藤佑さんの実験の手伝い。
11/25(水)10:00-17:006.0DEMプログラムの法線方向のバネ定数を工夫する。ヘルツの接触から導けないか、とか。
11/26(木)14:00-17:003.0blenderで作ったラーメンの柱のすり抜けを解消。梁の内部に辺を生成するも、辺が重複したりと、やっかい。柱の内部にも辺を生成してみる。
11/27(金)9:30-17:003.0blenderで作ったラーメンは自重しかかけていないのに、変形が大きすぎるので、曲げ強さを大きくしてみた。
11/28(土)14:00-17:002.0asterの結果をテキストファイルにしたいので、commファイルをいじって、format='GMSH'というのを試してみた。エラーはでないが、結果ファイルが出来上がらない。
11/30(月)13:00-17:004.0commファイルをいじって、format='IDEAS'にしてみたら、asterの結果ファイルがunv形式になった。libreofficeやadobe readerで使えそうな動画形式やら動画作成ソフトやらを探す。
11月計84.0
12/1(火)9:30-17:004.0imagemagickのconvertコマンドを色々と試す。mpeg形式ならimagemagick→libreofficeに出来そう。スクリーンショットを連続で画像に保存する方法を探す。
12/2(水)10:00-20:305.0fortranでimagemagickコマンドを書き込みスクリーンショットをたくさん撮る。それをgif化してlibreofficeで観た。
12/3(木)9:30-17:305.012/2のfortranをスクリーンショットをウィンドウ指定にし、gif化する範囲を指定した。liggghts・自作DEMの計算結果を、直接paraviewから画像にたくさんはき出してgif化。
12/4(金)14:30-17:302.0心臓シミュレーションと仕分けの話について調べる。
12/6(日)16:00-17:001.0横ねじれ座屈について調べる。
12/7(月)10:00-18:006.03Dプリンターの印刷について行くだけの人をやる。面白そうな動画ということで、石積のFEM動的解析のgifとかをつくる。これは、commファイルを見なおして、再計算した。
12/8(火)10:30-17:005.0blenderの動画をつくるための計算をする。並行して、画像保存機能について、いろいろ試す。カメラやランプの向き配置をためしたり、壁をやや透明にしたり、影を消したりしてみる。
12/9(水)10:00-17:005.0blenderの計算継続中。伊藤さんの曲げ試験(練習)を手伝う。
12/10(木)10:30-17;005.0blenderの計算中PCが動かなくなるので辞めて、昨日一昨日とは別のblenderを計算(途中)。伊藤さんの曲げ試験(本番)を手伝う。
12/11(金)10:30-17:003.0昨日計算をしたblenderをgif化。表面の線を細かくして計算。
12/12(土)10:30-17:005.0asterで石積のモーダル解析の計算しなおし。昨日計算したblenderをgif化。それだと、柔らかすぎたのでパラメータを変えて計算。
12/14(月)10:30-17:003.0支部発表申し込み。blenderのパラメータを変えて計算(途中)。
12/15(火)10:00-17:305.0blenderのパラメータを変えて計算。動画化してみるもsoftbodyだと、うまく見えない。
12/16(水)10:30-17:304.03Dプリンターの造形を見に行くだけの人をやる。blenderの剛体を半径とかを調整して計算(途中)。
12/17(木)9:00-17:006.0blenderの剛体の計算(途中)。
12/18(金)9:30-17:304.012/17のblenderをgif化。asterの石積をモーダル解析の密度を修正して、過渡応答解析の粘性減衰を変えて計算しなおし。中間発表のスライドを考える。
12/19(土)10:30-17:305.0中間発表のスライドに使うbullet physicsの検証用動画等をつくる。
12/20(日)9:00-16:306.0中間発表のスライドをつくる。完成。texを考える。
12/21(月)9:00-18:008.0texをつくる。発表練習をする。時間オーバーする。texつくる。完成。
12/22(火)8:30-20:005.0発表練習をする。佐藤さんの引張試験を手伝う。スライドの画像を小さくするとファイルサイズが半分ぐらいになった。powerpointでodpファイルを開くと画像が暗くなった。しかし、pptxファイルに保存したものを読み込むよりはかなりまし。河原さんの支部TeXを少し書き換える。後藤さん・斉藤さん・河原さん
12月計92.0
1/7(木)14:00-17:003.0blenderのキーフレームという機能を発見。使えるかもしれないので、調べて試す。
1/8(金)10:30-17:004.0impress→powerpointで読める形式(.ppt)を確認。blenderのキーフレームをいじる。
1/9(土)13:00-17:003.0支部のTeXを考える。「ccxとasterの違い」にまつわる質問に備えて、というのもあるが、純粋に気になったのでasterの結果ファイル(unv)の中身を調べてまとめる。
1/10(日)13:00-17:004.0昨日、unvファイル上でグループ情報がどう書かれているのかを確認しいなかったので、引き続き調べた。シェル要素を試しに解いてみるも、失敗。
1/11(月)13:00-17:004.0astkの勉強。asterでシェル要素を解く。指定した線で回転しないようにはできるが、ヒンジにするやり方が分からない。asterでは、荷重の代わりに初めから変位を与えられる模様。モーメント力も入れられる模様
1/12(火)10:30-17:305.0asterで高橋さんの木組の接触解析を試す。commファイルは問題なく完成。収束しないのは、ニュートン法とやらの設定の問題だと思う。
1/13(水)10:30-17:005.0asterの接触に摩擦係数を入れてみる。commファイルは問題なく完成。メッシュを細かくしたり、時間の間隔を見直すも、結果が出ない。他にもペナルティ法(収束しやすいらしい)とかラグランジェ法とかがあるらしいので、そのうちに試す。
1/15(金)10:00-17:005.0創造工房のスクリーンショットをとる、藤田さんのを計算する。卒論概要・スライドを修正。
1/16(土)21:00-23:002.0CAE懇話会の会誌第11号を読む。
1/17(日)16:00-23:004.0一昨年の卒論発表を途中まで見る。CAE懇話会の会誌第19号を読む。
1/18(月)21:00-24:003.0支部概要を大体手書きで書く。
1/19(火)10:30-18:006.0支部概要をTeXで書く。DEXCS-Salomeとかについて調べる。
1/20(水)10:30-19:007.0後藤さんによる支部及び卒論概要の添削。その後、丁度2ページにならなかったのを無理やり合わせた。佐藤さんの実験手伝い。後藤さん・斉藤さん・河原さん
1/21(木)10:30-18:306.0後藤さんによる支部概要の添削。文中の式とか変なところを直す。DEXCS-SalomeをDVD起動して使ってみる。でも、エラーはフランス語のまま。asterのmessファイルの英語化方法を調べると、STA11.3以降ならできるとか(いつもはSTA10)。後藤さん
1/22(金)10:30-18:005.0支部概要の直しと提出。支部の宿の予約など。スライドの修正。
1/23(土)13:00-17:003.0支部の質問に備えて、ccxの理解を深めようと斉藤さんのccxプログラムを実行してみる。
1/25(月)11:00-17:305.0高橋さん・伊藤さんと発表練習をする。スライドの修正。gifが暗かったので動画の作り直し。
1/26(火)9:00-18:007.0後藤さんによる発表指導を受け、伊藤さんのも見る。スライドの指摘されたところを直す。主にgimpで画像を見やすくする。後藤さん
1/27(水)9:00-18:007.0鈴木さんの発表を見る。ImpressでTeXを書けるようにする。スライドの修正つき、動画を見て、salomeで物体の色を変えたり、線を太くしたり、スカラーバーの設定をいじってスクリーンショットを撮る。
1/28(木)9:00-18:307.0概要の連絡先を消して、濃く印刷。スライドの修正につき、動画を見て、gifを作りなおしたり、femの画像を変えたり。発表練習をする。
1/29(金)9:00-18:307.0奥村さん、山内さんらの発表を見る。斉藤さん、鈴木さんと発表練習をする。日誌の整理。伊藤さん、高橋さん、菊地さんと発表練習。斉藤さん
1/30(土)
1/31(日)
1月計
2/1(月)
総計

------------------------------おまけ------------------------------

Blenderの入手

日本語化

  • file(左上)
  • preferences
  • system(右上)
  • international fonts(右下)にチェック
  • languageを日本語に
  • インターフェース・ツールチップ・新規データ(右下)にチェック
  • ユーザー設定の保存(左下)

物理演算エンジン「bullet physics」の原理

Blenderの使い方

参考URL

基本的な操作方法

覚えないと使いこなせないキーボード操作がたくさんある。よく使うものを随時書き足すべし。

  • 視点の移動
    スクロール拡大縮小
    スクロールでドラッグ見る角度を変える
    shft + スクロールでドラッグ見る位置を移動
    1 or 3 or 7xz・yz・xyとかの正面に視点を移動
    5 or 9選択した物体に接近 or 選択した物体の裏側に視点を移動
    2 or 8下or上に視点を移動
    4 or 6左or右に視点を移動
  • 物体の操作
    • 物体の選択:左クリック!
      aa全物体を選択
      z物体のedgeのみの表示にする。
      g (+ x or y or z + 移動量)物体の移動。座標と移動量を指定できる。
      shift + d物体のコピー
      s (+ 倍率)物体の大きさ変更。数値を入力する。
      shift + a物体の追加
      shift + c原点を選択
      del物体の削除
      escキャンセル
  • 動画の操作
    alt + a動画の再生
    esc動画の終了

Object

  • Transform:物体の位置とか向きとか大きさを変更できる。

Physicsの設定

Rigid Body(剛体)

Rigid BodyTypeActive動く物体
Passive動かない物体
Dynamicon動く物体
Mass 重量(kg)。左のPhysics→Calculate Mass で、物体を選択すると自動で計算できる。あるいは、その下の欄に密度の入力を入力してもいい。
Rigid Body ColligionsShape Mesh衝突判定が三角形ポリゴンのメッシュ。困ったら、なんでもこれ。
Convex Hull衝突判定が凸包。真っ平らな床とか壁とかはMeshでなくてもこれでいい。
Surface ResponseFriction摩擦係数(0.000~1.000)
Bounciness反発係数(0.000~1.000)
Sensitivity(Colligion Margin)Margin衝突判定の距離(0.001~1.000)
Rigid Body DynamicsDampingTlanslation移動の減衰係数(0.000~1.000)
Rotation回転の減衰係数(0.000~1.000)

soft body(柔らかい物体)

  • colligion:soft bodyに衝突を入れたい物体には、collisionを設定。
    • それでもすり抜ける場合は、innerの値を大きくする。
  • 曲げを見るには、edit mode で辺をたくさん生成しなければならない。

Materials

  • Diffuse:物体の色を変えられる。
  • Transparency→alpha:値を小さくすると、透明になる。壁とかに使うといい。

Sceneの設定

  • Gravity:重力の大きさと方向を指定できる。
  • Rigid Body World/Step Per Second:1秒あたりに計算する回数。精度に影響する。
  • Rigid Body Cache:物理演算の開始(Start)と終了(End)コマを設定。

動画保存

  • レンダー/レンダー:カメラで撮る枠が見れる。
    • 表示:別ウィンドウ がおすすめ
  • 寸法
    • フレーム範囲:画像保存のステップと開始終了コマを設定。
  • シェーディング/影:全ての物体の影を消す。
    • 影を消すには、他に、各物体ごとの設定(Materials)・ランプの設定(Lamp)等でも出来るらしい。
  • 出力:画像を保存するディレクトリを指定
    • 形式、品質とうを指定。
  • アニメーション:画像を保存

Renderの設定

  • Dimensions/Frame Range:動画の開始(Start Frame)と終了(End Frame)コマを設定。

ミスした時に戻る方法

  • 左側の「tool」→下の方の「history」→「undo」

キーフレーム

 物体の位置・向き・スケールを2コマ以上設定しておくと、間の動作を補間してくれる便利機能。

  • 1.物体を選択し、移動させたい位置や変化させたい向き、スケールを設定する。
  • 2.物体を選択した状態で"i"を押す。
  • 3.指定したいコマをクリック(下の帯)する。

キーフレーム+物理エンジン

 キーフレームを設定した物体と、何もしていない物体で、衝突とかの物理エンジンができる。

  • キーフレームを設定した物体(例、剛体)
    • 剛体のタイプの「アニメ」にチェックを入れる。
    • あとは、通常通りに剛体の質量・摩擦・反発等を設定する。
  • 何もしていない物体。
    • 普通に剛体の設定をする。

細かな設定

  • 1.左下の時計マークをクリック→グラフエディター
  • 2.各動きの速度がグラフになっているので、手動で変更
    • 右クリックで選択、左クリックで決定
  • 3.編集が終了次第、左下のグラフエディターをタイムラインに戻して、再生。

pythonでblenderを制御

  • 実行
    • ( $ blender --python filename.py&
    • )
  • blendファイルを開いて、そのファイル上でpythonスクリプトを実行
    • ( $ blender filename1.blend --python filename2.py&
    • )

LIGGGHTS(ライツ?)等のインストール

準備

  • システム→システム管理→Synaptic
  • FFTW:fftw-dev,fftw-docs,fftw2
  • OpenMPI:libopenmpi-dev,libopenmpi1.3,openmpi-common,libopenmpi-dbg,openmpi-bin,openmpi-checkpoint,openmpi-doc  をインストール指定し、適用。

LIGGGHTS-PUBLICの入手

  • ( $ cd /opt $ sudo mkdir LIGGGHTS $ cd LIGGGHTS $ git clone git://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git
  • )

Makefileの修正

  • ( $ cd /opt/LIGGGHTS/LIGGGHTS-PUBLIC/src/MAKE $ cp Makefile.linux Makefile.linux.org $ vi Makefile.linux
  • )
  • 以下の項目を書きなおす。
    項目変更前変更後補足説明
    CC=iccgccコンパイラ
    LINK=iccgccリンカー
    MPI_INC=-DMPICH_IGNORE_CXX_SEEK-DMPICH_IGNORE_CXX_SEEK -l/usr/lib/openmpi/includeMPIのincludeの設定
    MPI_LIB=-lmpich -lpthread-L/usr/lib -lmpi -L/usr/lib/openmpi/lib -lmpi_cxx_lpthreadMPIのlibの設定

コンパイル

  • ( $ cd /opt/LIGGGHTS/LIGGGHTS-PUBLIC/src $ make fedora_fpic $ make makelib $ make -f Makefile.lib fedora_fpic
  • )  liblmp_fedora_fpic.aという実行ファイルが出来ればOK。

リンク(?)をつくる

  • ( $ ln -s lmp_fedora_fpic liggghts $ ln -s lmp_fedora_fpic liblmp.a
  • )

.bashrcに追加(下記LPPをインストールした後)

  • ( $ vi ~/.bashrc
  • )  のどこかしらに、以下の文を追加。人によってはパスは違うかも。
  • ( alias lpp="python $CFDEM_LPP_DIR/lpp.py" alias pizza="python $CFDEM_PIZZA_DIR/pizza.py"
  • )
  • ( export PATH=/opt/LIGGGHTS/LIGGGHTS-PUBLIC/src:$PATH export PATH=/opt/LIGGGHTS/LPP/src:$PATH export CFDEM_LPP_DIR=/opt/LIGGGHTS/LPP/src export CFDEM_PIZZA_DIR=$CFDEM_LPP_DIR
  • )  LPPを使わない人は、export PATH~LIGGGHTS-PUBLIC/srcの行だけでいいかも。それと、lpp.pyしか使っていないので、pizza.pyの行(alias pizza~ と ~CFDEM_PIZZA~)もいりませんでした。

後藤ちゃちゃ(15/4/30)

  • ( sudo apt-get install liggghts
  • ) とかで入んないですかね。足りないものはあるかもしれませんが。
  • ubuntu12.04のパッケージにあるliggghts1.5-1が手に入る模様。

chmod 777 ?

  • ( $ sudo mkdir /opt/LIGGGHTS $ sudo chmod 777 /opt/LIGGGHTS
  • )  すべてのユーザーが実行可能になるらしい。上記参考サイトを真似てやったけど、いらなかったかも。

LIGGGHTSの計算

  • 準備(一例)
    • ( $ mkdir /home/kouzou/2015/dem $ cp /opt/LIGGGHTS/LIGGGHTS-PUBLIC/examples/LIGGGHTS/Tutorials_public /home/kouzou/2015/dem
    • )  kouzou/のどこかにDEMの作業用のディレクトリを作って、そこにTutorials_public(サンプルが色々入っている)をコピーしてから使うことにした。
  • 計算方法(in.filenameをvi等で編集した後、同ディレクトリにて)
    • ( $ liggghts < in.filename
    • )
  • 計算過程は、log.liggghtsに書かれ、結果はpost/dump*.filename(変更可)に出力される。

関連ソフト(可視化)

lpp(vtkファイルに変換)

  • インストール
    • ( $ cd /opt/LIGGGHTS $ git clone git://github.com/CFDEMproject/LPP.git
    • )
    • LPP/srcにあるlpp.pyが実行ファイル。LPPごと/opt/LIGGGHTSに移動させた。
  • 計算方法(dump*.filenameと同ディレクトリにて)
    • ( $ lpp.py dump*.filename
    • )

paraview(vtkファイルを描出)

  • 準備
    • システム→システム管理→Synaptic
    • python-pmw,python-pmw-doc
    • python-imaging-tk,python-imaging-tk-dbg
    • python-opengl  をインストール指定し、適用。
  • インストール
  • 解凍
    • tar xvzf ParaView?-4.3.1-Linux-64bit-glibc-2.3.6.tar.gz
  • 使い方  以下、おすすめの設定。詳しくは林真『はじめてのParaView?』@図書館を参照。
    • paraviewを開く(アプリケーションのグラフィックス にある)
    • File → Open → dump..vtk → OK
    • Apply ……物体が見えるようになる
    • Filters → Common → Glyph
      • Glyph type : sphere ……点が球体になる
      • Scalars : radius
      • Scale Mode : scalar
      • Scale Factor : 1 ……球体の半径が計算結果と同じ大きさになる
      • Apply ……変更が反映される
    • View → Animation View → Mode:real time ……早く動くので見やすくなる
    • Play:再生

LIGGGHTS-PUBLIC 3.2.0 のコマンドのこと

参考

対応表ver3.2.0

 ネット上にあるのを参考にすると、バージョンの問題で「そのコマンドは定義されていません」というエラーが出ることが結構ある。なので、下の表ように書きなおさなければならない。

command不可備考
fixwall/gran model hertz tangential historywall/gran/hertz/history
pair_stylegran model hertz tangential historygran/hertz/history
fixmesh/surface/stressmesh/gran/stressanalysis???

LIGGGHTSと手計算の比較

自由落下

 上の図のように、球体を自由落下させた。球に働いている力は重力のみである。反発係数だけを変えたのが下の図である。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/LIGGGHTS/gazou/rakka_kyuu_p.png

 横軸が経過時間、縦軸が鉛直座標である。反発係数\( e \)\( \sqrt{\frac{1}{1}}=1.000,\sqrt{\frac{3}{4}}=0.866,\sqrt{\frac{1}{2}}=0.707,\sqrt{\frac{1}{4}}=0.500 \)に変化させて計算した。

  • 自由落下させたとき、跳ね返る高さは元の高さの\( e^2 \)倍となる。図より、LIGGGHTSの計算でもそうなっている(\( \frac{1}{1},\frac{3}{4},\frac{1}{2},\frac{1}{4} \))ことが分かる。
  • \( t=\sqrt{\frac{2z}{g}} \) に\( z=0.14m,g=9.81m/s^2 \)を代入すると、落下までの時間は\( t=0.17sec \)……LIGGGHTSの計算と一致

坂と球

 上の図のように、球体を坂に置いた。球に働いている力は重力のみである。摩擦係数だけを変えたのが下の図である。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/LIGGGHTS/gazou/saka_kyuu_p.png

 横軸が経過時間、縦軸が鉛直座標である。摩擦係数\( \mu \)のみを\( 0.00,0.05,0.10,0.30,0.50,1.00 \)に変化させて計算した。

  • 形状を考慮しない質点の力学では、時間tと鉛直変位の関係は
  • \( t=\sqrt{\frac{2z}{g(sin\theta-\mu cos\theta)sin\theta}} \)
    • 上の式に\( z=0.28m,\theta=25.8^\circ,\mu=0.00 \)を代入すると、落下までの時間は\( t=0.55sec \)……\( \mu=0.00 \)の結果に一致
    • 上の式に\( z=0.28m,\theta=25.8^\circ,\mu=0.05 \)を代入すると、落下までの時間は\( t=0.58sec \)……\( \mu=0.05 \)の結果に一致
  • 形状による回転を考慮した剛体の力学では、時間tと鉛直変位の関係は
  • \( t=\sqrt{\frac{14z}{5g sin^2\theta}} \)
    • 上の式に\( z=0.28m,\theta=25.8^\circ \)を代入すると、落下までの時間は\( t=0.65sec \)……\( \mu=0.30,0.50,1.00 \)の結果に一致  傾きがより急な場合はどうなるか分からないが、傾斜角25.8度では摩擦係数が0.3以上では、ほぼ剛体の運動に収束していることが分かった。また、摩擦係数にも色々あるような気がするが、下の表とLIGGGHTSの計算結果と比較すると石積みの場合は転がりのみで、ほとんど滑りが発生しないのではないかと思う。
      摩擦片摩擦面摩擦係数
      0.6~0.7
      0.5(乾)~0.3(湿)
      0.4
  • ttp://www.labnotes.jp/pdf2/friction.pdf

LIGGGHTS関連に使用したFORTRAN90のプログラム

項目別経時変化をgnuplot用にまとめる

grep

  • 出力ファイルに書かれたデータをまとめる
  • 例えば、
    • ( $ cat dump* |grep 1\ 1> tatoeba
    • )
  • で、「dump〇〇」というファイルで、「1 1」つづきになる行を「tatoeba」という名前のファイルにまとめてくれる。

imagemagickのコマンドで、動画を作ってみる

  • スクリーンをjpgに連写
    • ( \( xwininfo |grep '^xwininfo: Window id:' | awk '{print \)4}'
    • )  で、ウィンドウのidを調べて、実行。
    • &link(rensya.f90,http://www.str.ce.akita-u.ac.jp/~gotouhan/j2015/kondo/rensya.f90)
      • imagemagickのスクリーンショットに元々タイムラグがあるため、連写間隔が広くてよくない方法!
  • 画像の切り取り
    • ( $ convert moto*.jpg -crop 400x300+500+400 kiritori.jpg
    • )
    • 横幅x縦幅+横位置+縦位置 (ピクセル値、位置は左上から)
  • 画像のgif化
    • ( $ convert -delay 10 kiritori*.jpg filename.gif
    • )
    • "-delay X"は再生コマ間隔がX/100秒となる。
      • 画像と同じで"$ eog filename.gif"で観られる。
      • gifはlibreofficeのwriterに画像として貼れる。

libreofficeのimpressに画像を貼り付ける

  • サイズを小さくしないとodpファイルが動かなくて、発表がスムーズに出来ない。なので、
    • 400ピクセルぐらいにしたほうがいい。
    • pngよりjpgの方が軽い。
    • ( $ mogrify -resize 400 *jpg *gif
    • )

salome-meca課題メモ

code-asterを使ってみる

  • d=0.02m,l=1.0mの円柱(鋼材:E=206GPa)の片持ち梁先端に1000N(≒100kg)の集中載荷をした。
    条件4面体要素の種類要素数たわみ(m)相対誤差(%)
    理論値------0.206---
    点載荷1次89080.14828.2
    面載荷1次89080.14231.1
    点載荷1次755620.1945.8
    面載荷1次755620.1936.3
    点載荷2次84360.2060.0
    面載荷2次84360.2060.0
  • まとめ
    • 面載荷よりも点載荷の方が少しだけ理論値に近い
    • 要素数が多いほうが理論値に近い
    • メッシュが粗くても、4面体2次要素は理論値に極めて近い

6/22までの課題

 昨年度の創造工房でFEM解析(鈴木さんの)に使用した値

  • ヤング率:2840MPa
  • ポアソン比:0.313
  • 荷重:1000N を用いた。
    • モデルの結果
      拘束条件載荷条件要素の種類要素数節点数たわみ(mm)体積(mm\( ^3 \))
      面(1cmのひもを想定)4面体2次32705551841.1611276

振り子

 &link(Chipmunk BASICのプログラム,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/bas/hurikoc.bas)を書き換えて、作れそうな長さの振り子でもっとも最短で振り子が揃うものを探してみた。

夏休みの課題

  • 1.blenderで石積み(裏込めあり、杭なし、背面土なし、水なし)をつくる
    • 裏込めをヤング率の低いsoftbodyにするか、粘性係数の高いfluidにするか。
      • softbodyでやったが、動きが変だし、計算が終わらなかったりする。
    • まずは自重のみ。出来ればインパルスを入れたい。
    • 変位や応力とかの確認が出来るのかを調べる。
      • ポストプロセッサーは内蔵していないと思う。
  • 2.salome-mecaで自重で変形する石積み(同条件)をつくり静的な解析をする……OK
    • まずは、密度を入れて単純梁で手計算と比較する。
    • 裏込めはヤング率の低くする。
  • 3.salome-mecaで動的な解析が出来るかの確認……OK
    • まずは自重のみ。出来ればインパルスを入れたい。
      • 過渡応答解析は出来たが、弾性解析だと結局元に戻ってしまうので、塑性解析が必要?
    • 単純梁でこれができたら、いずれは石積みを解きたい。

code-asterで動的な解析

自重でたわむ単純梁

  • 10mm角のスパン100mm(創造工房に同じ)
  • ヤング率:1MPa(山内さんの折り目を参考に適当にやわらかくした)
  • ポアソン比:0.3(一般的な土)
  • 参考:ttp://opencae.gifu-nct.ac.jp/pukiwiki/index.php?plugin=attach&refer=SALOME-Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2&openfile=12-00.pdf
  • 密度:2.65g/cm\( ^3 \)(一般的な土)
  • 粘性減衰:0.01(適当)
  • タイムステップ0.001秒(適当)で0.1秒まで(適当)計算
    初等梁理論静的解析過渡応答解析
    中央のたわみ(mm)4.05784.19604.1958
  • 一瞬だけ荷重をかけたり(自重をかける時間を0.001とかにする)、一瞬だけ荷重のスケールを大きく(or小さく)すると、ちゃんと梁が上下に揺れるので、垂直方向のインパルスはいれられる。
    • 自重をかけた状態で横揺れを入れるには、もう少しasterの勉強が必要。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-01-20 (月) 11:24:10