いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

2015-01-01から1年間の記事一覧

blockMeshのmultiGrading 機能(2.3.x~)

blockMeshDGなんていうツールもあるが、ちょっと調べたら2.3.xから本家のblockMeshコマンドにmultiGrading機能が追加されていたとのことで調べてみた。 従来のblockMeshでは例えば矩形ダクト流れを計算するときに壁面にメッシュを寄せたい場合は、ブロックを…

Dakotaの並列計算機能について(その4)

ちょっと時間が開いてしまった。 4ノードの「なんちゃってクラスタ」でdakota+OF並列計算したいときのやり方をまとめておく。 クラスタでの利用にはいくつか(計算したい内容に応じて)方法があるが、ここでは、 個々の目的関数の評価はOpenFOAMの並列計算…

Dakotaの並列計算機能について(その3)

MOGAがやっぱり時間がかかるので、近似応答局面を導入した計算(Surrogate based optimization)の効率化を図ってみる。 テスト問題はBranin function(2D)で、3つの最小点がある。 f(-pi, 12.275)=f(pi,2.275)=f(9.42478,2.475)=0.397887 moga部分は共通で、以…

Dakotaの並列計算機能について(その2)

以下のような簡単な問題(Beale's function)を最適化で解いてみる。設計変数がx1, x2で、目的関数(単一)がf、制約条件(単一)がc>=0である。最小値の答えはf(3, 0.5)=0。 See: Test functions for optimization - Wikipedia, the free encyclopedia #!/bi…

Dakotaの並列計算機能について

ようやく復帰。Dakotaの並列計算機能について調べたのでまとめてみる。 概観と簡単なサマリー Dakota自体から起動する"simulator"はシリアル計算でも並列計算でももちろん構わない(たとえばOFの並列計算など)ので、ここではDakota本体の並列計算について調べ…

最近の状況

子育て中心で、なかなかブログを更新できておりません。 定時を過ぎたらばたばたと迎えにいって、おむつ替えて、遊びの相手して、風呂入れて、ミルク飲ませて、寝かしつける、で8時過ぎ。 飯を食って風呂入ると、疲れて眠くなり、机で気絶してたりする。少…

パスフレーズなしのSSHログイン(OpenMPI)と、NFSマウントの設定

パスフレーズなしのSSHログイン設定メモ (1)クライアント(ログインユーザはwaku)でssh2のRSA暗号鍵を生成 $ ssh-keygen -t rsa ※ パスフレーズを聞いてくるが、なしでよければそのままリターンでOK (2)公開鍵(*.pub)のほうを接続したいサーバ…

OF+外部ライブラリ(物性値ライブラリ)その3

水・水蒸気のライブラリであるfreesteamとOFの併用テスト freesteam 2.1: http://freesteam.sourceforge.net/ IAPWS-IF97-OF:https://github.com/romansCode/IAPWS-IF97-OF (freesteam 2.0~, OF 2.2~) 1)まず、freesteamをビルドして(sconsが必要)、.s…

VAWT翼型最適化(2)

メッシャーの問題がひと段落したので、いよいよ計算という感じであるが、ここから泥臭い作業が続くのだろうなと覚悟しておく。 その前に、Dakotaで計算する場合、特定のCFD計算が発散したりしてエラーになる場合、それを飛ばして次の計算に移る仕組みを調…

cfMeshで機能追加を希望するところ

cfMeshをいろいろ使っていて、やっぱり非常に使いやすい。 ちょっと不具合があってtwitterでぼやいていたら、わざわざ中の人が声を掛けてくれて直してくれたし(正確には、自分のSTLデータの造り方が想定外だったようだけど)、非常に好感触である。 さらに…

VAWT翼型最適化(1)

子育てしてると時間の感覚がなくなってしまっていかんな。もう6月半ばになってしまった。7月上旬に岩手大で発表するのに間に合わせるために、ちゃんとやらねば。 VAWT用2次元翼型の形状最適化を行いたいのだが、メッシュの自動生成でblockMeshではなかなか…

cfMesh v1.0.1 my tutorial

いろいろメモ(cartesian2DMesh関係) fms形式のジオメトリデータをstlに変換 FMSToSurface geom.fms geom.stl stlデータをfms形式に変換(同じファイル名) surfaceToFMS geom.stl 境界条件用に、パッチ毎のstl solidエンティティとする(1つのstlファイル…

C++のダイナミックライブラリの作成・使用

$ more hello.cpp #include<iostream>#include<stdio.h>using namespace std;int hello(){ cout<<"Hello,World!"<</stdio.h></iostream>

OF+外部ライブラリ(物性値ライブラリ)その2

去年の9月に調べていたOF+熱物性値ライブラリ関連を放置していたけど、μORCシステムを真面目に設計するため、再調査してみる。 使えそうなライブラリ freesteam 2.1: 国際標準IAPWSを利用した水・水蒸気熱物性値ライブラリ(C/C++) http://freesteam.source…

refineWalllayerコマンド

OFのツールに標記のコマンドがあって、メッシュを再分割(とくに物体のパッチ近傍など)ができるんだが、文法が変わったのかな。'()'で括るようになってた。 refineWallLayer '(blade1)' 0.47 -overwrite -noFunctionObjects あと、派生バージョンで http://…

Blanin問題(単一目的関数、多峰性、制約条件なし)

Blanin問題 http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO_files/Page913.htm をDakotaのSOGAとSBO(Surrogate Based Optimaization (Kriging))でやってみた。poulation とかgeneration とかはそろえてある。 計算結果は下…

最適化手法の勉強

DAKOTAを使えるだけではなくて、ちゃんと最適化手法を勉強せんとあかんなということで、まとめてみる。言葉だけだと、なんか分かりにくいかもしれないが...。 勾配法のほうが最適解を求めるのは早いが、複数の最適解が存在する場合や、応答曲面にノイズが乗…

もう少しで3ヶ月

息子の話。22日で3ヶ月になる。大分、腹とか太ももとかムチムチしてきた。 気がついた点は、 先日計ったら体重6.2kgで倍以上になってた。 目つきや顔つきがしっかりしてきたような気が...。 前に比べて、アー・ウーとかいって会話?が成立するようになってき…

LHS

LHSとかRHSとか、流体とか数学やってる人は、数式の左辺(left hand side)の意味というのは分かってるが、最適化の勉強を始めるとLHSが結構出てくるので何ぞや?ってなことになったので調べてみた。 LHS: Latin HyperCube Sampring=ラテン超方格の訳だそう…

新年度業務一巡したか。

授業も2週目が終わり、新年度切り替え業務も概ね収まるところに収まってきたので、ちょっと仕事を整理してみよう。 教育活動 某数学科目の自学自習問題の更新 某工学のファシリテーション方法の検討(受講者4名なので柔軟に) 某実験の3Dプリンタ関連の資料 …

あっというまに新年度。

息子はすくすく成長中。最近は、アウーとか言うようになってきた。 自分も頑張ろう!

blockMesh/sHM/extrudeMeshで2Dメッシュ生成

最適化計算のため、形状パラメータ>blockMeshDict生成>blockMesh、の手順のみではなかなか品質の良い計算メッシュが作られないので、標記のコマンドの組み合わせて2Dメッシュ(例えばz方向にメッシュ1)を作成する手順をまとめてみる。 1.blockMesh…

翼型点列データを出力するpythonスクリプト

NACA 4 digit ※ スクリプト中で4桁を指定しています。 # Import librariesfrom __future__ import divisionimport osimport sysfrom sys import exitfrom math import *import numpy as npimport scipy.optimize as optimport matplotlib.pyplot as pltimpor…

SOM_PAK

遅ればせながら長男が生まれ、お産の入院やら退院やらでばたばたしていたが、嫁実家に落ち着いたので、ようやく日記記録を復帰させることができた。 MOGAなどで出てきたパレート解をSOM(自己組織化写像 - Wikipedia)で評価してみたい。SOMのアルゴリズム自…

GitHubを使ってみました。

Githubとやらを使ってみたいと思いまして、せっかくなのでチュートリアルを公開することにしました。ご自由にお試し下さい。 https://github.com/waku2011/Dakota_tutorials

形状最適化(練習4)

勉強会@関西のKさんの資料に乗っていた例題を参考に、OFを利用する最適化をやってみよう(細かい寸法は勝手にアレンジしています。) 設計変数2、目的関数3、制約条件は設計変数範囲のみという基本的な問題。 簡単に説明すると、規定の入り口、出口形状が…

形状最適化(ちょっと脱線)

パレート解を評価するのに、自己組織化マップ(SOM)という手法を使うことが多い。これは、多目的関数の結果を可視化するのに便利なのと、多数のパレート解をグルーピングするのに使えるためらしい。SOMのアルゴリズム自体は、いくつかバリエーションがある…

形状最適化(練習3)

前回まではgradientベースの最適化を行った。解析的な勾配であれ、数値的な(差分法)勾配であれ、目的関数の変化量から最適な方向を探索することになる。この方法は、計算時間は短くてすむが、目的関数の変化が複雑(多峰性を持つ)な場合、必ずしも大域的…

形状最適化(練習2)

単目的関数に対する設計変数の最適化 次のステップとして、単一目的関数に対する設計変数(今回は2つ)の最適化を行ってみる。単一目的関数は前回と同様にpythonで実施し、以下のようなBeale's functionとする。 minimize f(x1,x2)=(1.5-x1+x1*x2)^2+(2.25-…

形状最適化(練習1)

Dakotaに含まれる関数(rosenblock/textbook etc.)ではなく、自前で多目的関数を実装して、実際に最適化してみる。pyhtonを使用。 問題は、図示しやすいのを適当にネットから探してきて、設計変数2(x1,x2)+目的関数2(f1,f2)の下記の問題としてみた。python…