記号置換

記号置換は、モデル全体で使用できる様々なデータフィールドを定義するために、パラメータ表記を用いて入力ファイルを変更できる柔軟性を提供します。

現在のところ、バルクデータセクションの実数値データ入力フィールドのみで、記号置換を使用したパラメータ表記がサポートされています。このようなパラメータ表記の入力変数を使用して、バルクデータセクションのデータフィールドを制御できます。これにより、特定の重要なモデル属性を迅速に操作して、これらの属性に基づいてモデルの応答がどのように変化するかを確認するスタディを実行できます。

以下のキーワードを使用して記号置換を定義できます:
%setrepsym <variable_name> = <variable_value>
%defrepsym <variable_name> = <variable_value>
%setrepsymは記号置換の変数を作成し、%defrepsymは記号置換のデフォルトの変数を作成します。記号変数はそれぞれ、以下のキーワードを使用することで未設定にすることができます。
%unsetrepsym <variable>
%undefrepsym <variable>
バルクデータエントリの各フィールドで記号変数を使用するためのシンタックスは次のとおりです:
%<variable>%

複数の変数を使用できるほか、複数のバルクデータエントリで、複数のパラメータ表記に同じ変数を使用することもできます。また、同じバルクデータエントリで複数のパラメータ表記を使用することも可能です。

記号置換の例

図 1 は、静荷重のかかった穴あき薄板のシェル板厚の記号置換を示しています。


図 1. モデルの例: 穴の開いた正方形プレート
境界条件と荷重

辺ABとCDはSPC拘束を用いて固定されており、1000 NのZ方向集中荷重が穴の周りの節点上に生成されています。プレートは板厚10 mmでPSHELL、材料プロパティがヤング率0.21 MPa、ポアソン比0.3のスティールとして定義されています。モデルのセットアップの詳細については、OS-T:1000 穴あきプレートの線形静的解析をご参照ください。

例:%defrepsymを用いた1つのデフォルト変数の設定

ここでは、記号変数はプレートの板厚です。‘thick’という名の変数が、入力ファイル(.fem)で次のように定義されています:
%defrepsym thick=10.0
SUBCASE       1
  SPC =        1
  LOAD =        2
BEGIN BULK
PSHELL         1       1%thick%           1               1        
MAT1           1210000.0                                                
ENDDATA
モデルは、PSHELLプロパティで板厚のデフォルト値が10 mmで実行されます。ECHOエントリは、.outファイル内の置換された値を確認に用いることができます。
PSHELL	1	110.0	1	1	0.0

例2:%setrepsymを用いた複数のデフォルト置換の設定

複数の変数がパラメータ化についてサポートされています。この例では、ヤング率とシェル板厚を入力ファイル内での記号変数として設定しています。
%defrepsym thick=10.0
%defrepsym mat=4.1e5
SUBCASE       1
ANALYSIS STATICS
  SPC =        1
  LOAD =        2
BEGIN BULK
PSHELL         1       1%thick%           1               1        
MAT1           1%mat%                                                
ENDDATA
置換されたバルクデータフィールドは:
PSHELL         1       110.0           1               1        0.0     
MAT1           14.1e5                                                

例3:記号置換のための%setrepsym%defrepsymの使用

この例では、%defrepsymを用いてデフォルトの記号変数を設定し、%setrepsymを用いて同じ変数についてモデルの断面に異なる値を使用しています。以下の入力ファイルでは、デフォルトの記号変数‘thick’はプレートのデフォルトの板厚として10 mmを擁しています。板厚は、PSHELL 1に5 mmを設定し、デフォルトはPSHELL 2に使用できます。
%defrepsym thick=10.0
SUBCASE       1
ANALYSIS STATICS
  SPC =        1
  LOAD =        2
BEGIN BULK
%setrepsym thick=5.0 
PSHELL         1       1%thick%           1               1        0.0
%unsetrepsym thick     
PSHELL         2       1%thick%           1               1        0.0
MAT1           1210000.0                                                
ENDDATA
ジョブは、PSHELL 1の板厚5.0 mm、PSHELL 2の板厚10.0 mmとして実行されます。 .
PSHELL	1	1 5.0	 1	1	0.0
PSHELL	2	1 10.0 1	1	0.0

記号変数は%setrepsymを用いて先に設定された値を解除し、プログラムが%unsetrepsymコマンドに遭遇した際に%defrepsymからのデフォルト値が使用されます。

キーワード

記号置換のキーワード、すなわち%setrepsym%defrepsym%unsetrepsym%undefrepsymはどの行においても最初の列で常に‘%’記号で始まらなければなりません。プログラムが最初の列で‘$に遭遇すると、それ以降の文字はコメント行の一部とみなされ、スキップされます。‘*’、‘&’などの特殊記号は、キーワードより前に現れてはなりません。記号置換のキーワードは、大文字と小文字が区別されません。したがって、‘SETREPSYM’と綴られたキーワードは‘setrepsym’と等しいことになります。1つのキーワードと1つの変数名とを隔てるためには、少なくとも1つの空白文字が存在しなければなりません。置換には複数の変数を使用することができます(複数の置換が設定された例2を参照)。記号変数の設定および設定解除のためのシンタックスは:
  • %defrepsym <variable_name> = <variable_value> (デフォルトの記号置換変数を設定)
  • %setrepsym <variable_name> = <variable_value> (記号置換変数を設定)
  • %unsetrepsym <variable_name> (デフォルトの記号置換変数を設定解除)
  • %undefrepsym <variable_name> (記号置換変数を設定解除)

置換のルール

置換のリクエストが行われる際、1つの変数について使用される置換値の決定は、その変数がどこで設定されたかに依存します。%setrepsymは常に%defrepsymよりも優先されます。したがって、%setrepsymが指定されると、この%setrepsymより下の対応する変数を含んだバルクデータは、同じ変数について別の%setrepsymと遭遇しない限り、もしくはこの変数について%unsetrepsymと遭遇しない限り、この%setrepsymによって定義された値を使用します。%unsetrepsymと遭遇すると、この変数の%defrepsymの値は、後続の置換に用いられます。

変数

変数名

変数名は大文字と小文字が区別されず、空白や特殊文字を含んでいてはなりません。特殊文字には‘*’、‘!’、‘~’などが含まれます。変数は、フィールド内でアンダースコア(‘_’)を含んでいてもかまいません。変数は大文字と小文字が区別されません。たとえば、‘THICK’と‘thick’は同じです。

有効な変数名の例:
  • THICK
  • ThicK
  • _thick
  • Thi_ck
  • thick12
無効な変数名の例:
  • *thick
  • thick^
  • th ick

変数名

現時点では、変数値としては実数値データのみがサポートされています。文字や整数値はサポートされていません。

置換されたデータフィールドの検証

ECHOエントリは、.outファイル内の入力デックの出力に用いることができます。このエコー出力された入力デックは、記号置換を要するすべての変数について置換された値を含みます。これにより、意図された置換の検証が可能となります。