SlideShare a Scribd company logo
オープンCAEコンサルタント
OCSE^2 代表 野村悦治
2023/01/22
1
DEXCS2022 for preCICE の紹介
目次
1. preCICEとは
2. DEXCS for PreCICE とは
3. 旧版(DEXCS2020)からの更新点
a. 標準チュートリアル
b. 同上、DEXCS同梱分
c. DEXCSオリジナルチュートリアル
4. 連成パラメタスタディ例
5. Tips & Questions
2
preCICEとは
● Precise Code Interaction Coupling Environment
● ミュンヘン工科大学やシュ
トゥットガルト大学の研究グループで開発
● 汎用の連成計算ツール
● LGPL3 ライセンス
● 個々のソルバーに対してアダプターと呼ばれるライ
ブラリをビルドすることによって,通信やマッピングと
いった連成機能をソルバーの機能で直接実行
3
https://www.precice.org/index.html
アダプター
4
https://www.precice.org/adapters-overview.html
DEXCS for preCICEに収録
DEXCS for preCICE とは
5
DEXCS for OpenFOAMの狙い
誰でも簡単、すぐに、OpenFOAMを使える。
熱流体解析も出来るかも?
よし、勉強しよう!
...という気持ちになってもらう
インストールの手間
コマンド入力
Linux知識 不要
6
DEXCS for preCICEの狙い
誰でも簡単、すぐに、preCICEを使える。
連成解析も出来るかも?
よし、勉強しよう!
...という気持ちになってもらう
インストールの手間
コマンド入力
Linux知識
不要
7
● 第 1 章 DEXCS for OpenFOAM ( DEXCS-OF )
とは
● 第 2 章 DEXCS ランチャーの使い方
● 第 3 章 推奨メッシュ生成法
● 第 4 章 簡単な構造解析
● 第 5 章 DEXCS-OF の更新方法
● 第 6 章 DEXCS-OF の拡張例-1 SLURM
● 第 6 章 DEXCS-OF の拡張例-2 Dakota
● 第 6 章 DEXCS-OF の拡張例-3 preCICE
● 付録 A DEXCS-OF のセットアップ方法
● 付録 B DEXCS iso イメージの作成方法
DEXCS for preCICE(公開版)の経緯
8
2021/3/27 オープンCAE講習会
2021/6/26 オープンCAE講習会
DEXCS2020アドバンス版
DEXCS2020アドバンス版(改)
DEXCS2022 for preCICEの概要
● ベースOS:ubuntu-22.04
● preCICE-2.5.0
● OpenFOAM-2206
● openfoam-adaptor-v1.2.1
● CalculiX-2.20
● calculix-adapter-v2.20.0
● preCICE/tutorials
● ParaView 5.10.1
● FreeCAD 0.20
● PrePoMax v1.3.5
on wine-6.0.3 + ( .NetFramework 4.8 )
● DEXCSランチャー
● DEXCSチュートリアル
9
標準チュートリアルの変更点
10
● フォルダ構成が大きく変更
● 実行方法も変更
● 設定パラメタ表記方法��統一、設定ファイルの可読
性向上
● DEXCS版カスタマイズも併せて変更
(一部動作不全のケース有り)
● 連成パラメタも一部変更された⇒新旧比較による
パラメタスタディ
フォルダ構成
11
/opt/preCICE/
標準チュートリアルの実行方法
12
Allrun を使用
Open two separate terminals and start the desired fluid and solid participant
by calling the respective run script `run.sh` located in the participant directory.
For example:
```bash
cd fluid-openfoam
./run.sh
```
and
```bash
cd solid-calculix
./run.sh
```
連成実行の仕組み
(旧版)
13
<participant name="Fluid">
<participant name="Calculix">
全実行スクリプト同梱されるも、難解
連成実行の仕組み
/opt/preCICE/tutorials
14
<participant name="Fluid">
<participant name="Solid">
フォルダ構成(DEXCS2020)
15
/opt/preCICE/
実行方法(Allrunなど)カスタマイズ
連成計算設定パラメタは基本同一
Desktop
/DEXCS
/preciceLesson
コピー後
フォルダ名を変更
16
フォルダ構成(DEXCS2022)
/opt/preCICE/ Desktop
/DEXCS
/preciceLesson
/preCICEtutorials
/OpenFOAM-Calculix
/FSI/
GUI実行方法(Allrunなど)カスタマイズ
連成計算設定パラメタは基本同一
階層構造を変更
フォルダ名は同一
標準チュートリアルの新旧比較
(DEXCS同梱分)
17
並列計算エラー
標準チュートリアルから削
除されたので旧版をカスタ
マイズ収納
新規追加
連成実行の仕組み
/Desktop/DEXCS
/preCICE_Lesson
/preCICEtutorials
18
<participant name="Fluid">
<participant name="Solid">
DEXCS追加
少々変更
連成パラメタ
連成パラメタ
19
openfoam
calculix
<precice-configuration>
<log>….. </log>
<solver-interface dimensions="2">
<data:vector name="Force" />
<data:vector name="Displacement" />
<mesh name="Fluid-Mesh">
<use-data name="Force" />
<use-data name="Displacement" />
</mesh>
<mesh name="Solid-Mesh">
<use-data name="Displacement" />
<use-data name="Force" />
</mesh>
<participant name="Fluid">
…..
<mapping:rbf-thin-plate-splines
…..
</participant>
<participant name="Solid">
…..
</participant>
<m2n:sockets from="Fluid" to="Solid"
exchange-directory=".." />
<coupling-scheme:parallel-implicit>
…..
</coupling-scheme:parallel-implicit>
</solver-interface>
</precice-configuration>
participants:
Solid:
interfaces:
- nodes-mesh: Solid-Mesh
patch: surface
read-data: [Force]
write-data: [Displacement]
precice-config-file: ../precice-config.xml
preciceConfig "../precice-config.xml";
participant Fluid;
interfaces
{
Interface1
{
mesh Fluid-Mesh;
patches (flap);
locations faceCenters;
readData
(
Displacement
);
writeData
(
Force
);
};
};
preciceDict
precice-config.xml
config.yml
主要な連成パラメタ
20
data-name Force / Displacement / DisplacementDelta
Fluid-Mesh Faces / Nodes の区別有無(Disp*)
Solid-Mesh nodes-mesh / nodes-mesh-with-connectivity
mapping nearest-naibor / nearest-mapping / rbf
coupling-scheme serial / implicit
標準チュートリアルの新旧比較
21
2D_Flap 3D_Tube
flap_perp perpendicular-flap 3D_Tube elastic-tube-3d
data-name Displacement ← Displacement DisplacementDelta
Fluid-Mesh Faces / Nodes 区別無し(Faces) Faces / Nodes ←
Solid-Mesh mesh-node ← mesh-node -with-connectivity
mapping rbf ← nearest-neigbor nearest-projection
coupling-scheme serial-explicit parallel-implicit serial-implicit ←
パラメタス
タディ
elastic-tube-3d
22
solid-mesh nodes-mesh nodes-mesh-with-connectivity
data-neme Displacement Disp...Delta Displacement Disp...Delta
fluid-mesh区別 有 無 有 無 有 無 有 無
serial
iter 536 521 502 498 476 447 458 437
global 628 598 569 573 555 516 533 508
solid 478 454 435 435 420 388 402 386
fluid 101 94 88 91 87 84 83 79
paralle
2
4
iter 590 877 527 552 765 955 487 526
global 552 788 481 501 707 844 448 508
solid 440 641 379 400 566 690 349 398
fluid 55 78 45 48 78 84 45 54
イタレーション
回数
計算時間
sec
Core™ i9-11900K
8 core 3.5GHz
DEXCSチュートリアルの新旧比較
23
/Desktop/DEXCS
Fluid:テトラ要素
Solid:(cgx?)
作成済みのメッシュ使用
形状・メッシュ変更可能
Fluid⇒DEXCSランチャー
Solid⇒PrePoMax+DEXCS-FSI
形状、連成パラメタは同一
(除外:nodes-mesh-with-connectivity)
Solid
FreeCAD
PrePoMax
↓
DEXCS-FSI
DEXCSチュートリアル
24
Case
3D_Flap_perp 3D_Tube
DEXCS2020 DEXCS2022 _dexcs _dexcs_shell elastictube_3d
Fluid
point 10,251 10,251 11,025 11,025 6,598
Cell 8,670 8,670 9,496 9,496 32,691
Solid
node 936 684 3,631 1,160 8,072
Elem 443 292 1,780 568 3,946
serial
iter 500 500 571 747 502
global 61 71 237 1,071 556
solid 32 22 223 1,061 425
fluid 29 47 79 100 86
paralle
2
4
iter 500 500 589 713 527
global 38 36 190 734 453
solid 25 19 182 724 364
fluid 12 15 37 42 42
Tips & Questions
● .pmxファイルのアプリ関連付け
● *Cload指定の方法
● PrePoMax節点表示の問題
● シェル計算について
25
*Cload指定の方法
26
*CLOAD
** ConstraintForce
** node loads on shape: Fluid_flap:Face6
2,3,0.0000000000000E+00
4,3,0.0000000000000E+00
6,3,0.0000000000000E+00
8,3,0.0000000000000E+00
9,3,0.0000000000000E+00
10,3,0.0000000000000E+00
11,3,0.0000000000000E+00
12,3,0.0000000000000E+00
13,3,0.0000000000000E+00
14,3,0.0000000000000E+00
102,3,3.9032555908088E-02
103,3,4.3829361253605E-02
104,3,4.4209382258782E-02
105,3,3.9595367246191E-02
106,3,3.9595367246191E-02
107,3,4.1619075174133E-02
108,3,4.1571483681599E-02
109,3,4.1809441144268E-02
110,3,4.1666666666667E-02
111,3,3.9032555908088E-02
158,3,8.0651631082221E-02
159,3,8.5448436427737E-02
160,3,8.5400844935204E-02
161,3,8.6018823403051E-02
162,3,8.5876048925449E-02
163,3,8.1262033912858E-02
164,3,8.3380924825867E-02
*Cload
162, 1, 8.58760489E-002
161, 1, 8.60188234E-002
104, 1, 4.42093823E-002
164, 1, 8.33809248E-002
108, 1, 4.15714837E-002
160, 1, 8.54008449E-002
111, 1, 3.90325559E-002
102, 1, 3.90325559E-002
158, 1, 8.06516311E-002
159, 1, 8.54484364E-002
103, 1, 4.38293613E-002
107, 1, 4.16190752E-002
163, 1, 8.12620339E-002
105, 1, 3.95953672E-002
106, 1, 3.95953672E-002
109, 1, 4.18094411E-002
110, 1, 4.16666667E-002
*Nset, Nset=Nsurface
2, 4, 6, 8, 9, 10, 11, 12, 13, 14,
102, 103, 104, 105, 106, 107,
…..
*CLOAD
Nsurface, 1, 0.0
Nsurface, 2, 0.0
Nsurface, 3, 0.0
同一
DEXCS-FSI
改定版
26
PrePoMax節点表示の問題
27
選択中
選択確定
28
3 px
10 px
29
Case
3D_Flap_perp 3D_Tube
DEXCS2020 DEXCS2022 _dexcs _dexcs_shell elastictube_3d
Fluid
point 10,251 10,251 11,025 11,025 6,598
Cell 8,670 8,670 9,496 9,496 32,691
Solid
node 936 684 3,631 1,160 8,072
Elem 443 292 1,780 568 3,946
serial
iter 500 500 571 747 502
global 61 71 237 1,071 556
solid 32 22 223 1,061 425
fluid 29 47 79 100 86
paralle
2
4
iter 500 500 589 713 527
global 38 36 190 734 453
solid 25 19 182 724 364
fluid 12 15 37 42 42
シェル計算について
30
Solid
Shell
PrePoMax(Calculix)での静解析
31
Solid
Shell
計算時間 0.9 〜1.1 sec
計算時間 1.1 〜1.3 sec
シェル計算
について
32
In CalculiX, six-node shell
elements are expanded into
three-dimensional wedge
elements.
https://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node38.html#c2d6
solid-calculix.log(1/2)
33
The numbers below are estimated upper bounds
number of:
nodes: 3631
elements: 1780
one-dimensional elements: 0
two-dimensional elements: 0
integration points per element: 15
degrees of freedom per node: 3
layers per element: 1
distributed facial loads: 0
distributed volumetric loads: 0
concentrated loads: 3516
single point constraints: 972
multiple point constraints: 1
terms in all multiple point constraints: 1
tie constraints: 0
dependent nodes tied by cyclic constraints: 0
dependent nodes in pre-tension constraints: 0
The numbers below are estimated upper bounds
number of:
nodes: 37512
elements: 568
one-dimensional elements: 0
two-dimensional elements: 568
integration points per element: 9
degrees of freedom per node: 3
layers per element: 1
distributed facial loads: 0
distributed volumetric loads: 0
concentrated loads: 13920
single point constraints: 42048
multiple point constraints: 68161
terms in all multiple point constraints: 436225
tie constraints: 0
Solid
Shell
tube.inpファイル
より読み取った値
average force= 0.000167
time avg. forc= 0.000135
largest residual force= 0.000000 in node 3513 and dof 1
largest increment of disp= 5.527067e-06
largest correction to disp= 4.581488e-12 in node 550 and dof 1
convergence
solid-calculix.log(2/2)
34
Solid
average force= 0.000446
time avg. forc= 0.000351
largest residual force= 0.000001 in node 301 and dof 2
largest increment of disp= 4.396705e-02
largest correction to disp= 1.076014e-04 in node 6454 and dof 1
convergence
Shell
35
Solid
Shell
PrePoMaxでの内圧負荷計算
Let’s smart OpenCAE
presented by
36

More Related Content

DEXCS2022 for preCICE