OpenFOAM-v2312

OpenFOAM-v2312のAllrunの結果を公開した。総ケース数476(448)、使用ディスク容量:1016GB(約1TB)、総計算時間:約35日(32日)であった。かっこ()内数字はv2306のもの。

今回は、計算が終了した即日、残された手作業項目も済ませ、データベース化、グラフ化も完了し、公開にこぎつけた

基本的に、先の記事に記した方法で、ほぼログ解析まで問題なく実行できた。残された手作業項目もOpenFOAM-v2206(Linuxの場合)と同じであった。その他、実行エラーしたケース等についても、簡単に取り纏めておく。

これは、テキストサーチの段階では、v2306から一つ減った。

しかし、v2306でグラフ化してエラーと判明した以下のケースが、今回のグラフ化で抽出できなかった・・・ということはエラーの状態から変化無し

  • Allrun実行前
    • チュートリアルリスト作成
    • プロセッサ数が不足するケースでのdecomposeParDict変更
    • AllTest実行し、ERRORケース確認
  • ログ解析スクリプト実行前
    • incompressible/pimpleFoam?laminar/cylinder2D ケースの、log.blockMesh.main をlog.blockMesh に変更
  • ログ解析スクリプト実行後
    • ケース名変更
      • combustion/XiFoam/RAS⇒combustion/XiFoam/RAS/moriyoshiHomogeneous
      • compressible/sonicLiquidFoam⇒compressible/sonicLiquidFoam/decompositionTank
    • ディスクスペースの重複カウント修正
      • IO/fileHandler
      • compressible/rhoPimpleFoam/laminar/helmholtzResonance

データベースのグラフ化例

別記事で記した通り、上記データベース化されたデータはバックボーン(phpMyAdmin)で動的にグラフ化できるようになっているが、現在のところ閲覧者が動的にグラフを作成する仕組みまでは出来ていない。HP管理者が、本結果(OpenFOAM-v2312)を中心に様々な観点で作成したグラフをいくつか紹介しておく。

もっと別なグラフを見たいだとか、SQL構文も下手な書き方をしているところもあると思うので、遠慮なくコメントいただきたい。

使用したSQL構文

以下は、上記SQL構文の最終行にてwhere のレンジを変えてプロットしたもの。凡例は手作業にて追加。

 

使用したSQL構文

以下は、上記SQL構文の最終行にてwhere のレンジを変えてプロットしたもの。凡例は手作業にて追加。

確認

postProcessing出力が、ascii ⇒ binaryに変化していた。

Np=36のケースでそのままでは計算できなかった。実行時のコア数割当の違い(多分)。

従前よりバージョンによるバラツキが大きいのをグラフ化して確認⇒SQL-7

未確認

v2312v2306

v2306では、計算が途中(1.08 / 2)で( Floating point exception)エラーで終了していた。

未確認

SQL-1

				
					select `ver_name` version,
 count(*) postcount,
 sum(`clockTime`)/3600 clockHr,
case when exe_system = 4 then 0.5* sum(`diskUsage`)/1000000
else  sum(`diskUsage`)/1000000 
end as du,
 sum(`clockTime`)/3600 ,
`name` exeSys,
`release_date`
 from `of_tutorials`
JOIN of_ver ON of_tutorials.of_ver = of_ver.id
JOIN of_exe_system ON of_tutorials.exe_system=of_exe_system.id
group by `exe_system`, `of_ver`
order by `release_date`
				
			

SQL-4

				
					select `ver_name` version,
 category,
 count(*) postcount,
 sum(`diskUsage`)/1000, 
 sum(`clockTime`)/3600 ,
`name` exeSys, 
`release_date`,
case when exe_system = 4 then 0.5* sum(`diskUsage`)/1000000
else  sum(`diskUsage`)/1000000
end as du
 from `of_tutorials` 
 JOIN of_ver ON of_tutorials.of_ver = of_ver.id 
JOIN of_exe_system ON of_tutorials.exe_system=of_exe_system.id 
where of_ver.id in (30, 31)
group by `exe_system`, `of_ver` ,`category` 
order by `release_date` 

				
			

SQL-5

				
					DROP TABLE IF EXISTS of_temp;
create table of_temp as

with old_data 
as( select category as o_category, solver as o_solver, model as o_model, caseName as o_caseName,diskUsage as o_diskUsage ,exeTime as o_exeTime ,clockTime as o_clockTime from `of_tutorials` where of_ver in (30) )

select  new.category, new.solver, new.model, new.caseName, new.diskUsage, old.o_diskUsage, new.exeTime, old.o_exeTime , new.clockTime, old.o_clockTime 

from 
 of_tutorials as new 
 inner join old_data old
  on new.category = old.o_category 
  and new.solver = old.o_solver 
  and new.model = old.o_model 
  and new.caseName = old.o_caseName 
where new.of_ver in (31)
order by new.category, new.solver, new.model, new.caseName 
;
select category, caseName,  diskUsage/1000, o_diskUsage/1000, exeTime, o_exeTime , clockTime, o_clockTime from of_temp
where exeTime < 1000
;

				
			

SQL-6

				
					DROP TABLE IF EXISTS of_temp;
create table of_temp as

with old_data 
as( select category as o_category, solver as o_solver, model as o_model, caseName as o_caseName,diskUsage as o_diskUsage ,exeTime as o_exeTime ,clockTime as o_clockTime from `of_tutorials` where of_ver in (30) )

select  new.category, new.solver, new.model, new.caseName, new.diskUsage, old.o_diskUsage, new.exeTime, old.o_exeTime , new.clockTime, old.o_clockTime 

from 
 of_tutorials as new 
 inner join old_data old
  on new.category = old.o_category 
  and new.solver = old.o_solver 
  and new.model = old.o_model 
  and new.caseName = old.o_caseName 
where new.of_ver in (31)
order by new.category, new.solver, new.model, new.caseName 
;
select category, solver, model, caseName,  diskUsage/1000, o_diskUsage/1000, exeTime, o_exeTime , clockTime, o_clockTime from of_temp
where diskUsage/1000 < 1000
;

				
			

SQL-7

				
					select `ver_name` version,
`clockTime`,
`exeTime`,
case when exe_system = 4 then 0.5* (`diskUsage`)/1000000
else  (`diskUsage`)/1000000
end as du,
`name` exeSys,
`release_date`
 from `of_tutorials`
JOIN of_ver ON of_tutorials.of_ver = of_ver.id
JOIN of_exe_system ON of_tutorials.exe_system=of_exe_system.id
where category = "multiphase" and solver = "cavitatingFoam" and model = "LES" and caseName = "throttle3D"
order by `release_date`

				
			

「OpenFOAM-v2312」への1件のフィードバック

  1. ピンバック: OpenFOAM-v2312 Allrun – オープンCAEコンサルタントOCSE^2

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です