記号置換
記号置換は、モデル全体で使用できる様々なデータフィールドを定義するために、パラメータ表記を用いて入力ファイルを変更できる柔軟性を提供します。
現在のところ、バルクデータセクションの実数値データ入力フィールドのみで、記号置換を使用したパラメータ表記がサポートされています。このようなパラメータ表記の入力変数を使用して、バルクデータセクションのデータフィールドを制御できます。これにより、特定の重要なモデル属性を迅速に操作して、これらの属性に基づいてモデルの応答がどのように変化するかを確認するスタディを実行できます。
%setrepsym <variable_name> = <variable_value>
%defrepsym <variable_name> = <variable_value>
%setrepsym
は記号置換の変数を作成し、%defrepsym
は記号置換のデフォルトの変数を作成します。記号変数はそれぞれ、以下のキーワードを使用することで未設定にすることができます。%unsetrepsym <variable>
%undefrepsym <variable>
%<variable>%
複数の変数を使用できるほか、複数のバルクデータエントリで、複数のパラメータ表記に同じ変数を使用することもできます。また、同じバルクデータエントリで複数のパラメータ表記を使用することも可能です。
記号置換の例

辺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 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 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ファイル内の入力デックの出力に用いることができます。このエコー出力された入力デックは、記号置換を要するすべての変数について置換された値を含みます。これにより、意図された置換の検証が可能となります。