OpenFoam8をインストールしてダムブレークをやってみる

 

Windows 10 を最新状態に更新

Windows Subsystem for Linux の有効化

開発者向け設定>「開発者モード」にチェックを入れて有効化

Microsoft Store  >Ubuntu のインストール 18.04LTSを選ぶこと

OpenFOAM 8のインストール

ユーザー設定
 

OpenFoamの動作確認。ヘルプが表示されればOK

$simpleFoam -help

Xming のインストール

wslはguiがないので、xサーバーなるものを介してguiを表示させるらしいです。

https://openfoam.org/download/windows/xming-download

環境変数を設定してXmingにguiが表示されるように設定します。

$echo “export DISPLAY=:0” >> $HOME/.bashrc

$source $HOME/.bashrc

windows立ち上げ時に自動的にXmingが起動するようにします。

C:\Program Files (x86)\Xming )の「XLaunch.exe」を実行

Multiple windwsにチェック

Displaynumber=0にします。

start no clientにチェック

clipboardにチェック

No Access Controlは ノーチェック

save configration ボタンを押してconfig.xlaunchをフォルダ「%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup」へ保存します。

gedit、gnuplot をインストール

$sudo apt-get install gedit gedit-plugins

$sudo apt-get install gnuplot gnuplot-x11 gnuplot-doc libgd-tools

動作確認

$gedit &

$gnuplot

gnuplot>plot cos(x)

gnuplot>quit

$paraview &

試しに、サンプルチュートリアルを動かしてみましょう。

チュートリアルから現在のフォルダ「.」にコピーをつくる。末尾のピリオドがカレントディレクトリの意味。

$cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .

サンプル:ピッツデイリーを動かしてみる。まずフォルダに入る

$cd pitzDaily

メッシュ作成

$blockMesh

計算

$simpleFoam

可視化

$paraFoam

次回Linux起動時は、好きなフォルダを開いてURLにwslと打つとそのフォルダを起点としてLinuxが起動します。

============================

FOAM_TUTORIALS の正確な場所は

/opt/openfoam8/tutorials にあります。

=================cd===========

VOF法を試してみたいので、ダムブレークをやってみました。

/opt/openfoam8/tutorials/multiphase/interFoam/laminar/damBreak

いったんwindowsからアクセスできるフォルダに移動する。

$ cd /mnt/c/Users/omoiy/openfoam/

ここにダムブレークをコピーする

$cp -r $FOAM_TUTORIALS/multiphase/interFoam/laminar/damBreak .

 

フォルダに入る

cd damBreak

ブロックメッシュ

$ blockMesh

コピーする

$ cp 0/alpha.water.orig 0/alph.water

セットフィールド
$ setFields

インターフォーム実行

$ interFoam | tee log

可視化
$ paraFoam  //結果を表示する

アプライして節点アルファウォーターにしてアニメーションループ押して再生ボタン

以上、ひとまず動かすところまで来ました。

 

【以下、参考にさせていただいたサイトです。】

インストールはこちらを参考にさせていただきました。

ダムブレークの説明 はこちらを参考にさせていただきました。

https://sites.google.com/site/freshtamanegi/home/openfoam/tutorial/interfoam_laminar_dambreak

https://qiita.com/cello_piano_violin/items/e93cdeb566d4dd6293be

熱流体・対流解析はこちらを参考にさせていただきました。

https://www.xsim.info/articles/XSim/ja-JP/tutorial-RoomWIthHeater/section1.html

解析モデルの作成はこちらを参考にさせていただきました。

 

python バフェット流 バリュー投資判断 

数年前、とある会合に呼ばれ、親切な方からバフェット流バリュー投資判断の技を教えてもらいました。

そのときのエッセンスをすべて詰め込んだスクリプトがこれです。

しかし、久々に実行してみると動きません。

とはいえ、大事な判断基準はこのスクリプトの中に入っているはずなので、読解してみると有益かもしれません。

 

Python:webカメラとOpenCVで動体検知してLine Notifyで画像を通知する

こんにちは Keita Nakamorです。久々の投稿です。

今日は、webカメラとOpenCVで動体検知してLine Notifyで画像を通知する 、ってことをやってみます。

予めアクセストークンをLine Notifyでとっておいて下さい。Bearer <ここにアクセストークンをはる> ってところに貼り付けます。<>は入りませんよ。

久々すぎるのでOpenCVの基礎からやっていきます。

ステップ1:静止画像ファイルを読み込んで出力する

 

ステップ2動画ファイルを読み込んで出力する→リアルタイムキャプチャーする

 

ステップ3 リアルタイムキャプチャー と リアルタイム背景差分処理

アクセストークンは、Line Notifyから取得して<>内にコピペしてください。かっこ部分は削除してください。

 

以上

グラフ 第2軸の作り方

matplotlibを使って2軸あるグラフを作成してみます。

 

 

Python3: 3Dプロット from mpl_toolkits.mplot3d import Axes3D

3Dプロットのやりかたです。

モジュールは

from mpl_toolkits.mplot3d import Axes3D
%matplotlib notebook

を使っていきます。

 

 

カレントディレクトリのテキストファイルのリストを作成する方法、リスト内包表記

 

リスト内包表記を使うと3行が1行に短縮できる

 

リスト内包表記を使って、テキ

 

ストファイルのみを抽出してみる

Unity:衝突

久々にUnityを触ってみました。

ボールをキューブにぶつけたときに、キューブが消滅してポイントが入ると動きです。

下準備

  1. 地面をプレーンで作成
  2. スフィア(Player)とキューブ(collier object)を出す
  3. プレーンの周りをキューブで囲んで壁にします。

Playerをキーボードで動かせるようにする。PlayerController.cs

さらに、オブジェクトに接触したときに、接触したものを検知して、見えなくし、点数が加算されるコードをいれます。

衝突オブジェクトのis Trigerはチェックを入れておいて、上記のOnTriggerが機能するようにします。

衝突オブジェクトはくるくる回るようにしておきます。

カメラが、Playerをついてまわるようにします。

 

UIを追加します。UI Canvas Text をヒエラルキーへ追加します。

shift + alt +左クリックで 左上にTextをピン留めできます。

PlayerController.csへ得点を追加します。

モジュールUnityEngine.UIを追加

pubulic Text countTextを定義して、予め作っておいたcount変数を代入します。

 

public Textにはインスペクターから Canvas直下のTextオブジェクトをドラックアンドドロップで入れます。

2回繰り返すスクリプトは関数化します。

 

で、使うときはこうします。