PySimpleGUIを使ってみる

基本的な最小構成のスクリプト

キーワード

  1. layout  = [[sg.Text()]]
  2. sg.Window()
  3. while True
  4. event, values
  5. window.read()
  6. event == None
  7. window.close()

表示を増やしてみる

キーワード

  1. sg.Input()
  2. sg.Multiline()
  3. size=( 20,1 )
  4. font=(‘Meiryo UI’, 18)

ボタンとポップアップ

キーワード

  1. sg.Button(key=’button’)
  2. sg.Button(image_filename =’ファイルパス’,key=’button’)
  3. result = sg.PopupYesNo()
  4. if result == ‘Yes’
  5. sg.Popup()

インプットを取得して処理、出力する

キーワード

  1. sg.Output()
  2. print()

注意:インプットは文字列になるので、計算するときはint,floatで数値に変換してからやること。

チェックボックスを付ける

キーワード

  1. [sg.Checkbox(‘入力1’,key=’checkbox1′,default=True), sg.Input(default_text=’3′,key=’input1′)]
  2. if values[‘checkbox1’] == True: summation += i1
 

ラジオボタンを使ってみる

キーワード

  1. [sg.Radio(‘足し算’,key=’radio_add’, group_id=’radio1′,default=True), sg.Radio(‘掛け算’, key=’radio_multiply’,group_id=’radio1′)],
  2. if values[‘radio_multiply’] == True: if values[‘checkbox1’] == True: multiple *= i1
 

参考

ネットが遅いとき windows10

光回線を契約しているのに何故かネットが遅いとき。

fast.comで調べてみると 90Mbpsくらいしか出ていない。

おそらくそれ、設定がおかしいです。

コントロールパネル>ネットワークとインターネット>ネットワーク接続

の中にイーサネットアイコンがあるので開いてみましょう。

イーサネットの状態>全般>接続 が速度=100Mbpsになっていませんか?

イーサネットの状態>全般>動作状況>プロパティ を開きましょう

ネットワーク>接続の方法>構成 をおして

詳細設定>プロパティ>速度とデュプレックス>値

が「オートデュプレックス」とか「100Mbps全二重通信」になっていたら、これがおかしいのです。

1.0Gbps全二重通信に変更しましょう。

これでOKです。

もういっかいfast.comで速度を確認してみてください。数百Mbpsに跳ね上がっているはずです。

もし、それでもだめな場合は、同じプロパティの中の省電力関係の項目をオフにしてみてください。

以上

 

 

 

 

FFTのやりかた

FFTです

 

 

はい 以上

django#1 仮想環境 pepenvしてdjangoを準備する

最新のpythonをインストールします。3.10ですね。

https://www.python.org/downloads/release/python-3100/

Windows installer (64-bit)

開発用のフォルダを新規作成します。ここではproject_aとしましょう。

project_aに移動して、

$pip isntall pipenv

$pipenv shell

するとproject_aの中に仮想環境が出来上がっていてさPipfileというファイルが一つ出来上がっています。

$pip listすると最低限のものしかないので、モジュールを入れてみます。

pip ではなくてpipenvなので注意です。

$pipenv install django

開発のときだけ仕様するモジュールは –devを入れます

$pipenv install –dev flake8 autopep8

すると Pipfileファイルは下記のようになります。

djangoのプロジェクトを立ち上げましょう

https://docs.djangoproject.com/ja/3.2/intro/tutorial01/ には

$ django-admin startproject mysite

と書いてありますが、

$django-admin startproject config .

と、今後コンフィグに関するフォルダ、例えばsettings.pyの場所がわかりやすくなります。

今後、configのほかにusersとかフォルダが増えていきます。

ランサーバーして動くかどうか見てみましょう

$python manage.py runserver

なんか警告出ていますが無視。

chromeからhttp://127.0.0.1:8000/でdjangoの初期画面(ロケットが飛んでいるやつ)が表示されたらOKです。

終わるときはCTRL-BREAK と書いていますが。

ctrl+c でした。(windows10)

この記事は下記の動画を参考にさせていただきました。ありがとうございます。

 

htmlからjsを動かす方法

index.html

index.js

 

condaで仮想環境をつくる

anacondaをインストールしておきます。

anaconda promptで

$conda create -n kaso-kankyo python=3.8

ここでyを押して続行。

仮想環境が出来上がっているか確認する

$conda env list

仮想環境をアクティベートする

$conda activate kaso-kankyo

$pip list でモジュールを調べてみると

で、最小構成だった。pip numpy pandas matplotlibが入っている。

抜けるときは

$conda deactivate

でOK

仮想環境を削除するときは

$conda remove -n kaso-kankyo –all

でOK.

試しに、flaskをインストールしてみると

$conda install flask

jinda2 が自動的にインストールされる。

ディープラーニングのライブラリを入れてみる

$conda install pytorch

ついでに行っておくと、インポートするときはimport torchになるので注意。pyはいらない。

色々ついでにはいってきたがtorchvisionは入っていない

$conda install torchvision では入らない

$conda isntall pytorch torchvision -c pytorch

とすると入る。なぜ?結構時間がかかるので慌てて強制終了しないこと。3分位だったかな。

だいぶいろんなものが入ってきた。

次は画像処理系行きましょう。

$conda install opencv

なんとopencvバージョンが4までいってました。

で、Jupyternotebookを使うとき、どうやってこの環境でやっていくのでしょうか。

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

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