lowercaseを含む接触ペア名が正しく認識されない

接触ペア名に小文字 (lowercase) を含んでいる場合

  • メッシュファイルの!CONTACT PAIRで指定したNAMEは,uppercaseに変換される (hecmw1/src/common/hecmw_io_hec.c L.441)
  • 一方で,解析制御ファイルの!CONTACTで指定したペア名は変換されない?

→両者が同一のものとして認識されない
→fistr1/src/lib/contact/fstr_contact_def.F90 L.135のifブロックに入らず,接触のセットアップでエラーになってしまう
!NGROUP, !EGROUPの場合は,小文字ありのグループ名でも,メッシュファイル・解析制御ファイル記載のものを同一として扱えるので,接触のみの問題か?

  1. 失敗例1
    メッシュファイル
    !CONTACT PAIR, NAME=ConstraintContact, TYPE=SURF-SURF
     slave, master
    解析制御ファイル
    !CONTACT, GRPID=1, INTERACTION=FSLID, CONTACTPARAM=CPARAM1
     ConstraintContact, 0.0, 100000.0
  2. 失敗例2
    メッシュファイル
    !CONTACT PAIR, NAME=CONSTRAINTContact, TYPE=SURF-SURF
     slave, master
    解析制御ファイル
    !CONTACT, GRPID=1, INTERACTION=FSLID, CONTACTPARAM=CPARAM1
     CONSTRAINTContact, 0.0, 100000.0
  3. 成功例1 (どちらも全て大文字)
    メッシュファイル
    !CONTACT PAIR, NAME=CONSTRAINTCONTACT, TYPE=SURF-SURF
     slave, master
    解析制御ファイル
    !CONTACT, GRPID=1, INTERACTION=FSLID, CONTACTPARAM=CPARAM1
     CONSTRAINTCONTACT, 0.0, 100000.0
  4. 成功例2 (解析制御ファイルは大文字)
    メッシュファイル
    !CONTACT PAIR, NAME=ConstraintContact, TYPE=SURF-SURF
     slave, master
    解析制御ファイル
    !CONTACT, GRPID=1, INTERACTION=FSLID, CONTACTPARAM=CPARAM1
     CONSTRAINTCONTACT, 0.0, 100000.0

注: FreeCADのFEM_FrontISTRで接触解析を利用できるように開発していて気付いたものです.FreeCADでは,デフォルトの拘束の名前に小文字が入っているため (上記の例),このエラーに遭遇しました.FEM_FrontISTRの方は,「解析制御ファイルに書き込む名前は.upper()する」ことでひとまず回避しています.