Flaskを使ってみる

まずはwebアプリフレームワークであるFlaskをインストール

$pip install Flask

2.0.1 が入りました.

次にjinja2もインストールします。

HTMLにpythonを埋め込むテンプレートエンジンというものらしい。

$pip install jinja2

3.0.1 が入っていました。入れた記憶がないが、Flaskをインストールすると勝手にはいるのかな?

構成は

flaskr>templates>index.html, xxx.html

flaskr>__init__.py, main.py, yyy.py

の2系統ある感じする。templatesは決まりなのでフォルダ名を変えてはいけない。

フォルダ構成を作ったらindex.htmlを書いていきましょう。vs code を使っているなら ! を打つだけで、下のコードが自動的に生成されて便利です。langはenからjaに変えておきます。

ボディには下記のようなのを入れておきました。

次、__initi__.pyです。

意味わからないけど、下記のような呪文を書きます。

インポートするのはflaskモジュールではなくて自分で作ったflaskrです。

appはFlaskアプリケーションオブジェクト というらしいです。

つぎに、main.pyです。今作ったFlaskアプリケーションオブジェクトをインポートします。

トップページ(‘/’)にアクセスしたときに実行する関数を定義します。

トップページにアクセスしたときに、render_templateメソドを使って、index.htmlが表示するようにしましょう。

最後に__init__.pyの方にこのmain.pyを呼び出せるようにしておく。

さて実行しよう

Flaskアプリの起動方法
CMDの場合
flaskrが入っているフォルダへcd で移動する
set FLASK_APP=flaskr
set FLASK_ENV=development
ここまではできた
flask run でエラー
powershellの場合
flaskrが入っているフォルダへcd で移動する
env:FLASK_APP=”flaskr” ですでにエラー
どうしようもない。ダレカタスケテ
で、結局どうしたかというと、flask runができないので、直接python main.py して動かせるようにした。
そうすると、flaskrフォルダの上位へ移動する必要なくなる。
そもそも__init__.pyのimport flaskr.mainも意味わからんし、やめた。
もともと__init__.pyに入れていた app=Flask(__name__)もmain.pyに移動した。
で、最後にapp.run()を入れると、python main.py で実行できたから、ひとまずは良しとしよう。
 

JavaScript:基本

基本をはるだけです。

HTML

JS

 

 

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行に短縮できる

 

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

 

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