DBLOCATE

DBLOCATE 는 보조(secondary) 데이터베이스를 부착(attach)하는 File Management Section(FMS) 문장으로, 이전 버전의 primary database 나 다른 데이터베이스로부터 data block 또는 parameter 를 가져온다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].

정의·용도

DBLOCATE 는 primary database 의 이전 version 들 또는 별도의 데이터베이스에서 data block 이나 parameter 를 획득하는 데 사용된다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117]. 또한 primary database 를 압축(compress)하거나, 이전 MSC Nastran 버전에서 만들어진 데이터베이스를 마이그레이션(migrate)하는 데에도 쓸 수 있다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].

요약하면 그 역할은 “Attaches Secondary Databases” 이다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].

형식 / 필드 / 구문

기본 형식은 다음과 같다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117]:

DBLOCATE DATABLK=(datablk-list)  PARAM=(param-list)  WHERE(where-expr)
         CONVERT(convert-expr)  LOGICAL=dbname  OVRWRT|NOOVRWRT  COPY
  • DATABLK= 가져올 data block 들의 목록을 지정한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].
  • PARAM= 가져올 parameter 들의 목록을 지정한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].
  • WHERE(where-expr) 절은 항목(data block 및 parameter) 선택에 사용된다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.81].
  • CONVERT(convert-expr) 절은 WHERE 절로 선택된 항목의 qualifier 값(예: SEID, VERSION, LOADID)을 수정한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.81].
  • LOGICAL=dbname 부착할 데이터베이스의 logical 이름을 지정한다(보통 ASSIGN 으로 물리 파일명에 연결) [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117].
  • COPY 선택된 항목을 primary database 로 복사하며, 데이터베이스 압축에 사용된다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.478].

WHERE 와 CONVERT 절은 DBDICT, DBLOCATE, DBLOAD, DBUNLOAD 문장에서 공통으로 쓰이는 선택 구문이다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.81].

사용 예

ASSIGN 으로 MASTER DBset 멤버를 지정한 뒤 DBLOCATE 로 부착한다. data block KAA 를 선택하는 예 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117]:

DBLOCATE DATABLK=(KAA) WHERE(PROJECT='FRONT BUMPER' AND SEID>0 AND VERSION=4) LOGI=MASTER3
ASSIGN   MASTER3='physical file name of master DBset'

CONVERT 와 COPY 를 함께 써 SEID 를 두 배로 바꾸며 primary database 로 복사하는 예 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117]:

DBLOCATE CONVERT(SEID=2*SEID) COPY LOGI=MASTER3
ASSIGN   MASTER3='physical file name of master DBset'

데이터베이스 압축: MASTER DBset 을 ASSIGN 하고 COPY 키워드를 지정하면 압축이 수행된다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.478]:

ACQUIRE NDDL
ASSIGN MYDB='physical file name of the MASTER DBset'
DBLOCATE LOGI=MYDB COPY
ENDJOB

Database autoassignment: DBLOCATE 사용 시 MASTER DBset 멤버만 ASSIGN 하면 DBALL, USROBJ, USRSOU 등 이전에 초기화된 다른 DBset 멤버들은 프로그램이 자동으로 할당한다 [MSC_Nastran_2022.4_Reference_Guide.pdf p.476]:

ASSIGN MSTR1='filename of the MASTER DBset member'
DBLOCATE LOGI=MSTR1

External superelement 의 data block(EXTDB, EXTROTDB)을 SEID 별로 CONVERT 하여 여러 데이터베이스에서 부착하는 데에도 쓰인다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.385]:

DBLOCATE DATABLK=(EXTDB,EXTROTDB) CONVERT(SEID=10) LOGICAL=dbname10
DBLOCATE DATABLK=(EXTDB,EXTROTDB) CONVERT(SEID=20) LOGICAL=dbname20

RESTART 와의 관계

RESTART 또는 DBLOCATE FMS 문장을 사용하면 이전 실행에서 생성된 data block 을 참조할 수 있으며, DMAP 의 DBFETCH 호출에서 이전 데이터를 얻으려면 둘 중 하나가 필요하다. DBLOCATE 를 쓰는 경우 해당 문장에 DATABLK=* 또는 DATABLK=(ZUZR11) 을 지정해야 한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.1655].

SOL 106 에서 PARAM,RSTTEMP,YES 로 자동 restart 가 TEMPij 변경을 무시하도록 할 때에는 RESTART 대신 DBLOCATE FMS 문장으로 데이터베이스를 참조해야 한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.918]:

ASSIGN run1=plate-run1.MASTER
DBLOC LOGICAL=run1

EXPORTLD 로 저장된 load vector 도 일반적으로 DBLOCATE 문장으로 가져오며, CONVERT 로 LOADID 를 바꿔 LOAD Case Control 명령에서 참조한다 [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.353].

AUTOASGN 의 값에 따라 default DBset, delivery DBset, 그리고 DBLOCATE 로 지정된 DBset(DBLOCATEd DBsets)의 자동 할당 여부가 결정된다 [MSC_Nastran_2022.4_Installation_and_Operations_Guide.pdf p.90].

관련 항목

출처

  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.81]
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.117]
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.353]
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.385]
  • [MSC_Nastran_2022.4_Quick_Reference_Guide.pdf p.918]
  • [MSC_Nastran_2022.4_Installation_and_Operations_Guide.pdf p.90]
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.476]
  • [MSC_Nastran_2022.4_Reference_Guide.pdf p.478]
  • [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.1655]