MSC Nastran 2022.4 DMAP Programmer’s Guide
MSC Nastran의 내부 해석 언어인 DMAP (Direct Matrix Abstraction Programming) 을 정의하고, 솔루션 시퀀스를 구성하는 DMAP 모듈/문(statement), 데이터가 저장되는 data block 포맷, 그리고 데이터베이스 정의 언어인 NDDL 을 망라하는 프로그래머용 레퍼런스다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.19].
개요
이 매뉴얼은 표준 솔루션 시퀀스(SOL)를 수정하거나 사용자 정의 DMAP 프로그램을 작성하려는 고급 사용자·개발자를 대상으로 한다. DMAP은 행렬과 테이블 같은 data block 에 대해 모듈을 순차 실행시키는 매크로 언어이며, MSC Nastran의 모든 solution sequence가 이 언어로 작성되어 있다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.20]. 매뉴얼은 (1) DMAP 언어 문법, (2) 수백 종의 data block 의 record 단위 이진 포맷, (3) NDDL 데이터베이스 스키마, (4) 개별 DMAP 모듈/문의 상세 설명의 네 부분으로 구성된다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.9].
다루는 범위
- DMAP 언어 기본 요소: parameter(상수/변수), expression 과 arithmetic/relational/logical operator, data block(table trailer, matrix trailer), instruction/module 호출 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.20].
- DMAP 문(statement): assignment, function, control statement(IF, JUMP/LABEL, IF-THEN, DO WHILE), SUBDMAP/CALL/RETURN, HALT/EXIT/END, declarative 및 data base function statement [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.33].
- 데이터베이스 연산: SubDMAP DBMGR, DBSTORE, DBFETCH 와 WHERE/CONVERT clause [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.53].
- OFP(Output File Processor) 테이블 구조: ApproachCode, Tablecode, Formatcode, Stresscode, Element Type 등 출력 테이블의 헤더 코드 체계 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.60].
- Bulk Data 이미지 data block: GEOM1~GEOM4(geometry/element/load/constraint), EPT(property), MPT(material), DYNAMICS, EDT(aero) 등 입력 카드의 내부 표현 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.661].
- NDDL(Nastran Data Definition Language): DATABLK, PARAM, PATH, QUAL 문으로 데이터베이스 스키마 정의 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.1489].
- DMAP 모듈 카탈로그: matrix/utility/executive/miscellaneous 분류와 개별 모듈 상세 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.1508].
- Glossary: Data Block Glossary, Data Block Naming Conventions, Parameter Glossary [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.2634].
문서 구성
| 장/절 | 내용 | 페이지 앵커 |
|---|---|---|
| Preface | 책 소개, MSC Nastran 가이드 목록, 기술 지원 | p.15 |
| Direct Matrix Abstraction | DMAP 언어 정의, parameter, expression, data block, statement | p.19 |
| Data Block 설명 | BGPDT, CSTM, DIT, DLT, DYNAMIC, EST, GEOM1-4, EPT, MPT, OFP 출력 테이블 등 record 포맷 | p.74 |
| Nastran Data Definition Language (NDDL) | DATABLK, PARAM, PATH, QUAL 문 | p.1489 |
| DMAP Modules and Statements | 모듈 분류 목록, 상세 설명 (Detailed Descriptions) | p.1507 |
| Detailed Descriptions of DMAP Modules and Statements | ADD, MPYAD, READ, SDR2, OUTPUT2/4 등 개별 모듈 | p.1515 |
| Glossary | Data Block / Parameter glossary 및 naming convention | p.2634 |
| Index | 색인 | p.2775 |
이 매뉴얼로 답할 수 있는 질문
- DMAP에서 행렬 곱은 어떻게 작성하나? →
MPYAD A,B,/D $로[D]=[A][B]를 수행한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.32]. - DMAP의 조건 분기/반복은 어떤 문으로 하나? → IF, JUMP/LABEL, IF()THEN, DO WHILE() 문을 사용한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.46].
- 고유값 추출 모듈은 무엇인가? → READ 모듈이 실대칭 시스템 고유값을 추출한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.2360].
- 결과를 외부 파일로 내보내려면? → OUTPUT2(.op2 형식) 또는 OUTPUT4 모듈을 쓴다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.2274].
.op2출력 테이블의 헤더 코드(ApproachCode/Tablecode/Stresscode)는 어떻게 해석하나? → OFP 테이블 헤더 레코드 규약을 참조한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.60].- GRID/CBAR/CQUAD4 카드가 내부적으로 어떤 data block 에 저장되나? → geometry 관련 GEOM1/GEOM2 테이블의 record 이미지로 저장된다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.664].
- Element Summary Table(EST) 의 내용은? → 각 요소 타입·ID별로 반복되는 요소 요약 데이터를 담는다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.503].
- 데이터베이스 스키마(qualifier/path)는 어떻게 정의하나? → NDDL의 PATH/QUAL 문으로 정의한다 [MSC_Nastran_2022.4_DMAP_Programmer_Guide.pdf p.1504].
핵심 항목
DMAP 언어·문:
- DMAP — Direct Matrix Abstraction Programming 언어
- SUBDMAP — 서브루틴 정의 (CALL/RETURN)
- DMAP DO WHILE — DMAP 반복문
- DMAP IF THEN — DMAP 조건 분기
대표 DMAP 모듈:
- MPYAD — 행렬 곱 모듈
- ADD — 행렬 덧셈 모듈
- MERGE — 행렬 병합 모듈
- UPARTN — USET 기반 행렬 분할 모듈
- READ — 실대칭 고유값 추출 모듈
- EMG — 요소 행렬 생성 모듈
- SDR2 — 데이터 복원(stress/strain 출력 테이블 생성) 모듈
- GKAD — 자유도 집합 테이블 생성 (GP4)
- OUTPUT2 — 테이블/행렬을
.op2로 출력하는 모듈 - OUTPUT4 — 행렬을 외부 파일로 출력하는 모듈
- MATGEN — 행렬 생성 유틸리티 모듈
- PARAML — data block 속성 추출 모듈
대표 data block:
- GEOM1 — geometry(CORD, GRID) Bulk Data 이미지 테이블
- GEOM2 — element connection Bulk Data 이미지 테이블
- GEOM3 — static/thermal load Bulk Data 이미지 테이블
- GEOM4 — constraint(SPC, MPC, RBE) Bulk Data 이미지 테이블
- EPT — element property(PSHELL, PBEAM 등) 테이블
- MPT — material property(MAT1~MAT11) 테이블
- DYNAMICS — dynamic load/method(EIGRL, FREQ, TLOAD) 테이블
- BGPDT — Basic Grid Point Definition Table
- USET — Displacement set definition table
- SIL — Scalar Index List
- EST — Element Summary Table
- OFP Tables — 출력 파일 처리 테이블 (ApproachCode/Tablecode/Stresscode)
NDDL:
- NDDL — Nastran Data Definition Language (DATABLK/PARAM/PATH/QUAL)
관련 문서
- msc-nastran-2022-4-quick-reference-guide — Bulk Data/Case Control/Executive Control 카드 레퍼런스
- msc-nastran-2022-4-reference-guide — 이론 및 해석 기능 레퍼런스
- msc-nastran-2022-4-getting-started-guide — MSC Nastran 입문
- msc-nastran-2022-4-installation-and-operations-guide — 설치 및 실행
- msc-nastran-2022-4-utilities-guide — 유틸리티(MSC Nastran 도구)
- msc-nastran-2022-4-sol-400-getting-started-guide — SOL 400 비선형/멀티스텝 해석
- msc-nastran-2022-4-release-guide — 2022.4 릴리스 변경사항