2021年10月31日日曜日

PCを使う?

先日、以下のようなやり取りがありました。

私の質問

  • 新しい共有PCを2か月くらい使用しようと考えている。
  • 1日1回程度、計算状況を確認するだけで、席は空いている。
  • そちらの浸透流解析で何コア使うのか?メモリーはどの程度使う予定か?影響しないように開けておく。

他部署の先輩の回答

  • 浸透流用に導入予定のソフトが非力な PC では動かないケースを懸念している。
  • 新しいPC はハイスペックなのでそれを利用する予定だった。それが使えなくなると非常に困る。

先輩にとっては難しい質問だったようです。知らないことには答えない、という典型的な回答でした。
どうも浸透流は初めてのようで、支配方程式や計算負荷を御存じない様子。そのためか計算はプロに任せ、結果をもらってソフトで表示して、報告書にまとめるだけのようでした。それなら、コアは1個でメモリも数㎇でしょう。ソフトの要件が「メモリ8GB以上」でしたのでどのような PC でも動くでしょうし、「1GB以上のビデオメモリを実装したOpen GL 4.5対応のグラフィックカード」ですので、古い Quadro で問題ないと思われます(新しいPC は GeForce です)。
まったく心配ないのですが、初めての知らないことで御心配だったのでしょう。2,3回やり取りしましたが「使ってくれるな」を繰り返されるだけでしたので、先輩ということで理詰めを控え、引きました(若い方からすると、こういうのを老害と思われるのでしょうか)。

ヒトは誰しも知らないことについて構えてしまうものですが、過大に備えて周りに迷惑をかけることは避けたいものです。今回、それを避けるには PC やソフトを知ることでした。普段から使用している道具の知識を update しておけば、周りに迷惑をかけることはなかったと思われます。無知は罪です。

道具に使われることのないよう、他山の石として肝に銘じておきましょう。

**************************************
ちなみに、このソフトの浸透流ソルバーは私が部分改変してコンパイルしています。Win11になればコンパイルしなおすべきなのですが、御存じないのでしょうね。ま、計算は御自分でされないみたいなので問題があること自体に気付かれなくても支障ないのですが。

20220123追記
ハイスペックPCを確認すると32コア。動かししたいと言われていたソフトは並列化されていません。計算されないものの、ソルバーも並列化非対応。
情報を仕入れず、知識をアップデートしないまま仕事をされると、迷惑なのは周りとお客様です。無知は罪です。

波の伝播

振動の伝播を解こうとして試行錯誤しています。

最初は簡単なモデルで試そうと考え、数十㎞の矩形領域の表面に点震源を与えました。

まずは CTC さんの SoilPlus でモデル化。しかし、計算しだすと完走までおよそ数か月かかることが判明。

これはダメだということで、Misdas さんの FEA NX に切り替え。ソルバーが GPU 対応です(なぜか GeForce 推奨)。
モデルを作って境界条件を張る際に気づいたのですが、側方の粘性境界が実装されていませんでした。伝達境界を張ろうとしましたが、コチラは3次元に対応していないようで晴れません。モデルを作る前に確認しておけばよかった。

で、FLAC 。
こちらは、node に 荷重を与えることが難しいようです。Fish で組み始めましたが、未だ完成せず。

最後にOpenSWPC。
これは以前、MPI が引っかかりコンパイルできなかったのですが、Ver5.20 になっていたためか今回はすんなりと通りました。サンプルを動かして動作確認OK。
実体力(物体力)を時系列で入力するのは左右対称のモーメント時間関数を利用し、点震源を重ね合わせることで対応できそうです。2D の例題で試してみました。

 
Boxcarで10秒間一定の力をかけた場合

 
Cosineで2秒毎(1秒間のラップ)の重ね合わせで10秒間

一定の実体力(Boxcar)をCosineで再現したのですが、内側の違い(9~10秒の関数形の相違)を除けば、一致しているるように見えます。振幅の比較は sac ファイルを確認ですね。ま、最終的にはコードの確認が必要でしょう。


こういった波の伝播に関しては、地震分野のプロがいくつかのコードを公開されていました。が、いずれも震源は断層をモデル化する方式で、時系列の力の入力はサポートされていません(当前なのですが)。OpenSWPC における重ね合わせの利用も、想定されていないでしょうね。

今のところ、FLAC が遅ければ OpenSWPC しか選択肢が残りません。これが正しく機能しないとわかったら、次に行きましょう。

2021年10月24日日曜日

Kratos

セミナーで 紹介されていた Kratos を試してみました。
https://github.com/KratosMultiphysics/Kratos

GiD を1か月フリーで使用できるとのことでしたので、それを利用。
Kratos に限らず、OpenFOAM なども扱えるようです。一通りのジオメトリファイルをインポート可能で、メッシュも nastran などに対応しているようでした。

MPM に関しては、Example に2D が含まれていました。
メッシュを切って run するだけでしたが、?でした。メッシュを切った時点で、解析領域と円の領域の接点が一致していません。円の方が粒子の発生させる領域なのかな?と思っていましたが、メッシュを切っていますし、よくわかりません。

うーん、どういうことなのでしょう。
うーん、寝かせておきましょう。時間が解決してくれそうな気がします。


Unless Making Progress

今日、セミナー動画を見ていると MPM が出てきました。
国内では流行っていないなあ、と思いながら検索。すぐに清水さん、大林さんの文献が引っ掛かりました。掲載が2012年ですから、意外と古い。私自身も2014年に書き残していますね。https://phreeqc.blogspot.com/2014/11/mpm-material-point-method.html


先日、他社さんの資料を見ていると、プレッシャーメーターからcφを求めている方がいらっしゃいました。これ、基準書に乗っているのですが、実務で報告さているのを初めて見ました。
https://phreeqc.blogspot.com/2011/01/blog-post_8311.html

 

前者の流行らなかった一因は PC スペックだろうと思われます。が、それも今は改善しつつあります。
後者は思考の停滞でしょう。組織慣性が働いているのかもしれません。

先達が示された通り、現状維持は後退と同義です。変化しないと進歩しません。
次の10年、新たなことに挑戦し続ける人が増えたら良いと期待します。

2021年10月22日金曜日

AMD + ifort

他支店で、AMD の32コアを積んだ PC を購入したとのこと。

まだ GPU に対応しておらず CPU 並列化のみのソフトは多いので、一つの選択肢かもしれません。が、OS が Windows10 のみ。以前コンパイルしたソフトを動かそうとしたが動かず困っているという連絡でした。

AMD Ryzen は手元に実機がありません。AMD + UBUNTU での並列化はよく聞くのですが、Winはナシ。手探りで始めることに。

エラー内容を見ると、どうやら Intel CPU用の命令が邪魔をしているようでしたので、まずそれを外すことに。そのままでは変更するオプションが多いので、コマンド打ちで0からオプションを追加する方針にしました。

何度か試行して、スタック領域を拡張し忘れていたことに気づき、追加。これで動きました。

今回、ifort ではコンパイルできたのですが、gfortran ではダメでした。何が違うのかわかりませんが、前者の速度と安定感は以前より感じています。

このあたり、いつかプロに御教授願いたいところです。

 

2021年10月20日水曜日

Animated Graph

 
SPH の動画を見ていて、ふと、グラフをどのように動かしているのか?と疑問に。

 


何で作られたのだろうと調べると、Matplotlib にその機能がありました(灯台下暗し)。

from matplotlib import animation
interval=100/3 #300 frames * interval 100/3ms = 10s

ani = animation.ArtistAnimation(fig, frames, interval,repeat=False)
ani.save('./Force.mp4',writer="ffmpeg",dpi=300)

for loop でグラフの作画を進めた後(frames リストに格納した後)、 animation.ArtistAnimation で集約。ani.save でmp4 として保存しました。

SPH の計算結果を動画にするのは blender。と思っていたのですが、これが落ちまくり。png で書き出してから動画にすることにしました。
apng だと PowerPointが対応していないため、これもm4へ。cv2.VideoWriter でOK。30 fps で10秒の動画とし、グラフと合わせます。

できた2つの mp4 を PowerPointに貼り付けたら、同時にスタート。
できました。


 

2021年10月17日日曜日

サンプリング周波数

空間周波数について調べていたのですが、サンプリング周波数として欲しい内容が書かれていました。空間周波数も同様ですのでメモしておきます。

https://www.keyence.co.jp/ss/products/recorder/lab/voltage/point.jsp

サンプリング周波数÷信号波形周波数 記録波形への影響
10倍以上 正確な波形表示・記録が可能
2倍以上10倍未満 波高値が小さくなります。波形形状が荒くなります。
2倍未満 エイリアシングが発生し、実際の波形とまったく異なる波形を表示。

関連→https://phreeqc.blogspot.com/2020/10/2_13.html