Ch. 01. Batch 파일이란?


1. 아스키 코드로 텍스트가 입력되어 있으며, 확장자가 *.bat 인 파일이다.

2. 실행시키면 내부의 텍스트를 Command window(이하 CMD) 명령에 입력시킴으로써 명령을 수행한다.


아래의 파일을 다운받고 실행시키면

아래의 파일이 c:windowsregedit.exe (레지스트리 편집기)를 실행시키는 배치파일임을 알 수 있다.


reg.bat


다운받은 김에 텍스트파일로 열어보자.

막상 열어보면 별거 없다.

그냥 어느 exe파일의 경로가 입력되어 있을 뿐이다.

그럼 이게 무슨 원리인지 알아보자.

아래의 순서를 따라해보자.


1. windows key+R 로 실행창을 띄우자.

2. cmd.exe로 CMD를 실행시키자.

3. CMD창의 띄워지면 c:windowsregedit.exe 를 입력해보자.


아마 배치파일을 돌리나 직접 CMD 입력을 하나 같은 결과를 볼 수 있음을 알 수 있을 것이다.

이래도 많이 복잡한가?

그럼 간단히 정의해보겠다.


1. CMD 윈도우의 명령어를 담는 파일이 바로 Batch 파일이다.

2. Batch 파일의 확장자는 *.bat다.


이 정도면 이해가 가겠지?

CMD 명령어에 대한 디테일한 포스팅은 예정에 없다.

구글 치면 이런 쪽에 집착하는 게이들의 포스팅이 넘쳐나니 그런곳에서 추가적인 정보를 얻기 바란다.


Ch. 02. Batch 파일로 *.k 파일을 실행시키는 메커니즘


정확하게 말하자면 *.k 해석을 돌려보자는 것이겠지.

LS-Dyna 해석을 배치로 실행시키는 과정은 아래의 메커니즘과 같다.


1. 솔버를 실행시킨다.

2. 솔버에 *.k의 경로를 입력해준다.

3. 솔버에게 d3plot등의 output 경로를 입력해준다.

4. memory 크기를 지정해준다.

5. cpu 숫자를 지정해준다.

6. 기타 옵션을 입력해준다.


Ch 03. 그래서 명령어가 어떻게 되니


아주 간단한 예제만 제시를 하자면 아래와 같다고 할 수 있다.


"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" i=D:LSDynaMATLAB_module2Mat001analysis.k memory=120000000 ncpu=8  


위 명령어는 단순해보이지만 4가지의 명령어의 콤비네이션이다.

먼저 솔버를 실행시키는 명령어다.


2016.11.21 추가내용 

솔버에는 양 옆으로 큰 따옴표를 붙여주어야 한다.

그렇지 않은 경우 d3plot 등이 해당 디렉토리에서 생성되지 않으며, 메모리 상의 공허한 해석만 진행된다.

본 게시글의 내용도 수정되었다.



2016.11.22 추가내용

배치파일은 '관리자 권한으로 실행'으로 실행시키면 안된다.

그냥 자연스럽게 더블클릭해서 실행시켜야 정상적으로 실행된다.



"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" 


그리고 *.k파일을 input 시키는 명령어다.


 i=D:LSDynaMATLAB_module2Mat001analysis.k


그 다음 memory 크기를 입력하는 명령어다.

알다시피 여기에서 제시되는 memory 단위는 word이며 운영체제의 영향에 따라 byte 크기가 다르다.

이런 사항은 여기서 디테일하게 다루지 않는다.


memory=120000000


그 다음 cpu 코어를 몇개 사용할지 지정하는 명령어다.


ncpu=8  


하나의 해석을 온전하게 수행하려면 위의 키워드 사이에 enter(rn명령어, 개행 명령어)가 없어야 하고,

각 명령어마다 한번의 공백(space)가 필요하다.


Ch. 04. 온전한 Batch 파일의 예


먼저 아래와 같이 가정한다.

1. *.k 파일의 이름은 모두 analysis.k이다.

2. analysis.k 파일이 담긴 폴더명은 Mat001, Mat002, Mat003.... 으로 진행된다.

3. 메모리는 그냥 쓴다.

4,. cpu는 8개 쓴다.


LS-DYNA_BATCHRUN.bat


2016.11.22 수정사항

배치파일을 수정했다. 

아래의 파일을 사용하는 것을 권장한다.


Batch.bat


"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" i=D:LSDynaMATLAB_module2Mat001analysis.k memory=120000000 ncpu=8

"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" i=D:LSDynaMATLAB_module2Mat002analysis.k memory=120000000 ncpu=8

"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" i=D:LSDynaMATLAB_module2Mat003analysis.k memory=120000000 ncpu=8

"C:LSDYNAprogramls971_s_R5.1_win32_p.exe" i=D:LSDynaMATLAB_module2Mat004analysis.k memory=120000000 ncpu=8  




Ch. 05. CMD 명령어에 관련된 레퍼런스


LSDYNA_20110412.pdf


구글에서 LS-Dyna에 대한 검색을 하면 쉽게 찾을 수 있는 문서다.

CMD 명령으로 LS-Dyna를 실행시킬 때 사용할 수 있는 옵션사항들에 대해 상세하게 기입되어 있다.

참고하면 좋을 것 같다.