Mforce

Model ElementMforceは、MotionSolveで弾性体(CMS)上の分布力を定義します。

クラス名

Mforce

説明

Mforceは、次の3つの方法で実装できます:
  • 力形状を関数式でスケーリングする。
  • 力形状をコンパイルされたユーザーサブルーチンでスケーリングする。
  • 力形状を記述されたユーザーサブルーチンでスケーリングする。

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()   ×
label Str ()
case_index Int ()
scale Function ()
flex_body Reference (FlexBody)
function Function ("MFOSUB")
force Function ()
routine Routine ()  
active Bool ()

使用法

#1: Scale factor defined in an expression for scaling a modal force shape
Mforce (flex_body=objFlexBody, case_index=int, scale=double, optional_attributes)

#2: Scale factor or modal force defined in an compiled user-written subroutine
Mforce (flex_body=objFlexBody, function=userString, routine=string optional_attributes)

#3: Scale factor defined in a Python functionMforce (flex_body=objFlexBody, function=userString, routine=functionPointer, optional_attributes)

属性

flex_body
Flex_Bodyへの参照。
モード荷重が適用される弾性体のIDを定義します。
flex_body属性は必須です。
case_index
整数
分布荷重の形状を定義するために使用されるモード荷重ケース番号を指定します。
case_index属性は必須です。
scale
倍精度
case_indexによって参照される荷重ケースに適用されるスケールファクターの式を指定します。
scale属性は必須です。
力形状をコンパイル済みのユーザーサブルーチンでスケーリング
flex_body
Flex_Bodyへの参照。
モード荷重が適用される弾性体のIDを定義します。
flex_body属性は必須です。
function
文字列
データファイルからユーザー定義のサブルーチンに渡されるパラメータのリスト。
function属性は必須です。
routine
文字列
ユーザーサブルーチンの代替名を指定します。この名前は、“∷”で区切られた情報の2つの部分で構成されます。1つ目は、ユーザー定義のFieldの応答を計算する関数を含む共有ライブラリへのパス名です。2つ目は、計算を実行する共有ライブラリ内の関数の名前です。
例: routine="/staff/altair/myfield.dll::mymfosub".
  • "/staff/altair/mymfosub.dllはDLLです。
  • "mymfosub"は、計算を実行するこのDLL内の関数です。
routine属性は省略可能です。指定しない場合は、デフォルトでMFOSUBになります。
force
文字列
ユーザーサブルーチンが、スケーリングされる形状と実際のモード力自体のどちらを返すかを指定します。MFOSUBが実際の力を返すように指定するには、これを"USER"に設定します。
force属性は省略可能です。指定しない場合、MotionSolveは、ユーザーサブルーチンがモード力ではなくスケールファクターを計算すると見なします。
力形状をスクリプト化されたユーザーサブルーチンでスケーリング
flex_body
Flex_Bodyへの参照。
モード荷重が適用される弾性体のIDを定義します。
flex_body属性は必須です。
function
有効なユーザー関数MotionSolve式を定義する文字列。
データファイルから、Variableが定義されるユーザー定義のサブルーチンに渡されるパラメータのリスト。
function属性は必須です。
routine
Python内の呼び出し可能な関数へのポインタ。
例:routine=myModalLoad.
  • myModalLoadは、モデルが存在する場所ならどこからでも呼び出すことが可能なPython関数またはメソッドです。
属性routineは省略可能です。
指定しない場合、routineはデフォルトでMFOSUBになります。
force
文字列
ユーザーサブルーチンが、スケーリングされる形状と実際の力自体のどちらを返すかを指定します。MFOSUBが実際の力を返す場合は、これを"USER"に設定します。
force属性は省略可能です。指定しない場合、MotionSolveは、ユーザーサブルーチンがモード力ではなくスケールファクターを計算すると見なします。
オプション属性 - すべてのバリアントに使用できます。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのMforceオブジェクトの中で一意にする必要があります。
この属性は省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
Mforceオブジェクトの名前を指定します。
この属性は省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
active
ブール
TrueFalseのどちらかを選択します。
  • Trueは、要素がモデル内でアクティブであり、システムの動作に影響を与えていることを示します。
  • Falseは、要素がモデル内で非アクティブであり、システムの動作に影響を与えていないことを示します。エンティティがモデルから削除される場合とほとんど同じですが、必要に応じて“ON”にできる点が異なります。
属性activeは省略可能です。指定しない場合、activeはデフォルトでTrueになります。

次の例は、Mforceの定義を示しています。
disturbanceLoad = Mforce (label="Disturbance", flex_body=wing, case_index=1, scale="1.0 + 0.2*sin(360d*time) + 0.1*sin(360d*time*3)")

コメント

  1. プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
  2. Mforceの詳細については、Force: FlexModalをご参照ください。