例2: 解析を実行できるように一連のFluxプロジェクトを自動的に準備する方法

目的

ここでの目的は、パラメータ化デバイスの3種類の固有な設定を検討することです。

例の説明

このスタディ対象デバイスは、6つのパラメータX1、Y1、X2、Y2、X3、Y3で定義した簡潔な幾何学的図形(四辺形)です。

このコマンドファイルを使用して、2DでさまざまなFluxプロジェクトを作成できます。

プロセス

このプロセスには以下の段階があります:

段階 説明 コンテキスト
1 基本形状を設定したFluxプロジェクトを準備する Flux
2 メッシュ再構築による形状変更のシーケンスをコマンドファイルに保存する Flux
3 PyFlux言語を使用して既存のコマンドファイルを変更する テキストエディター
4 このコマンドファイルを実行してその動作をテストする Flux

段階1

変更の適用対象とする基本的な幾何学的図形を構築するには、次の手順を実行します:

ステップ 動作
1 新しいFluxプロジェクトを開きます。
2

次の手順で形状を構築します:

  • 次の6つの形状パラメータを作成します:

    X1=20、Y1=0、X2=0、Y2=10、X3=20、Y3=10

  • 次の4つのポイントを作成します:

    (0, 0)、(X1, Y1)、(X2, Y2)、(X3, Y3)

  • この4つのポイントから4本のラインを作成し、閉じた矩形を構成します。
  • この矩形からフェイスを構築します。
3

次の手順でデバイスをメッシュ化します:

  • MEDIUMメッシュラインの値(1mm)を変更します。
  • 上記の4つのポイントに、このMEDIUMメッシュラインを割り当てます。
  • フェイスをメッシュ化します。
4 名前をBASE.FLUとしてプロジェクトを保存します。

ステージ1: 最終結果

プロジェクトBASE.FLUには以下の要素があります:

  • 6つのパラメータ
  • 4つのポイント(3つはパラメータ化)
  • 4つのライン(線分)
  • 1つのメッシュ化フェイス

ステージ2

コマンドファイルに変更のシーケンスを保存するには:

ステップ 動作
1 コマンドファイルModifParam.pyを作成します。
2

次の手順で変更のアクションを実行します:

  • 幾何学的な変更ができるように、メッシュを削除します。
  • 形状パラメータの値を変更します。
  • フェイスをメッシュ化します。
  • 別の名前でプロジェクトを保存します。
3 コマンドファイルを閉じます。

ステージ2: 最終結果

シーケンスを保存したコマンドファイルModifParam.pyを以下に示します。

ステージ3

PyFlux構文を使用して上記のコマンドファイルを変更するには:

ステップ 動作
1 基本のプロジェクトBASE.FLUからそのパラメータ群に対応するFluxプロジェクトを自動的に作成する関数を、PyFlux言語で記述します。
2 3つの必要なケースを作成するために上記の関数を呼び出す処理を記述します。
3 コマンドファイルを保存します。

ステージ3: ファイルの説明

modify()関数を記述したコマンドファイルModifyParam.pyとmodify()関数の呼び出しを以下に示します。

要素 関数
#! Preflu2D 9.33
実行可能プログラムの指定
def modify(VX1,VY1,VX2,VY2,VX3,VY3,case)

入力として7つのパラメータを取るmodify()関数の定義

(形状パラメータX1、Y1、X2、Y2、X3、Y3を定義する6つの数値とプロジェクトの名前を定義する1つの文字列)

deleteMesh()
メッシュの削除
ParameterGeom['X1'].expression= str(VX1)
...

形状パラメータの変更

(X1に値VX1を取得し、str()メソッドで文字列に変換。

他のパラメータについても同様に実行)

meshFaces()
フェイスのメッシュ化
saveProjectAs(case)
入力パラメータのケースで定義した名前でプロジェクトを保存
modify(10,0,0,10,20,10,"Case1")
...

最初のケースを構築するために上記関数を呼び出し

ステージ4

コマンドファイルを実行します。

ステージ4: 最終結果

コマンドファイルを実行すると、作業ディレクトリに4つのFluxプロジェクトが作成されます。これらの特徴を下の表に示します。

BASE.FLU CASE1.FLU CASE2.FLU CASE3.FLU
P1:(0, 0) P1:(0, 0) P1:(0, 0) P1:(0, 0)
P2:(20, 0) P2:(10, 0) P2:(10, 0) P2:(10, 0)
P3:(0, 10) P3:(0, 10) P3:(10, 10) P3:(0, 10)
P4:(20, 10) P4:(20, 10) P4:(20, 10) P4:(15, 5)