@echo off

set SampleName=%1
::Remove extension
set SampleName=%SampleName:.cif=%
set SampleName=%SampleName:.glp=%
set SampleName=%SampleName:.gin=%
set SampleName=%SampleName:.out=%
set SampleName=%SampleName:.axsf=%
set SampleName=%SampleName:.arc=%
set SampleName=%SampleName:.trg=%
set SampleName=%SampleName:.pre=%

:set Library=IGZO.lib
set Library=IGZO-Morse.lib

@echo on

:goto fit
:goto optimize
:goto MD1
:goto MD2
:goto MD3
:goto MD4
:goto MD5
:goto MD7
:goto END

:fit
set RunTask=fit
del *.new
del *.out
call GoGULP.bat %SampleName% init %RunTask% %Library%
call GoGULP.bat %SampleName% exec
:call GoGULP.bat %SampleName% debugexec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %RunTask% no

:optimize
set RunTask=optimize
del *.next
del *.prev
del *.out

:: 1. fitしたポテンシャルを使う場合は、下の2行を使う
:del %SampleName%.glp
:copy %SampleName%.glp.new %SampleName%.glp

:: 2. originalのポテンシャルを使う場合は、下の1行を使う
call GoGULP.bat %SampleName% init %RunTask% %Library%

:: 1.の場合は, 2行下からの3行を使う
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
:call GoGULP.bat %SampleName% modify %RunTask% 0.10 10.0 0.002 300.0 3000.0 0.1
:del %SampleName%.glp
:copy %SampleName%.glp.next %SampleName%.glp

call GoGULP.bat %SampleName% exec
:call GoGULP.bat %SampleName% debugexec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %RunTask% no

:MD1
@echo on
set RunTask=MD-NVT
set SaveDir=MD-NVT001
del *.next
del *.out

:: 1. optimizeした構造を使う場合は、下の2行を使う
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp

:: 2. fitしたポテンシャルを使い、optimizeしない構造を使う場合は、下の2行を使う
:del %SampleName%.glp
:copy %SampleName%.glp.prev %SampleName%.glp

:: 3. ポテンシャル、構造ともoriginalを使う場合は、下の行を使う
:call GoGULP.bat %SampleName% init %RunTask% %Library%

:: 1, 2の場合は、2行下からの3行を使う
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.10 2.0 0.002 300.0 300.0 0.1
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp

call GoGULP.bat %SampleName% exec
::call GoGULP.bat %SampleName% debugexec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no

:MD2
set RunTask=MD-NPT
set SaveDir=MD-NPT002
del *.next
del *.prev
del *.out
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.0 +10.0 0.002 300.0 3000.0 0.1 
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp
call GoGULP.bat %SampleName% exec
::call GoGULP.bat %SampleName% debugexec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no

:MD3
set RunTask=MD-NPT
set SaveDir=MD-NPT003
del *.next
del *.prev
del *.out
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.0 +10.0 0.002 3000.0 3000.0 0.1 
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp
call GoGULP.bat %SampleName% exec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no

:MD4
set RunTask=MD-NPT
set SaveDir=MD-NPT004
del *.next
del *.prev
del *.out
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.0 +10.0 0.002 3000.0 2000.0 0.1 
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp
call GoGULP.bat %SampleName% exec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no

:MD5
set RunTask=MD-NPT
set SaveDir=MD-NPT005
del *.next
del *.prev
del *.out
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.0 +10.0 0.002 2000.0 1500.0 0.1 
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp
call GoGULP.bat %SampleName% exec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no

:MD6
set RunTask=MD-NPT
set SaveDir=MD-NPT006
del *.next
del *.prev
del *.out
del %SampleName%.glp
copy %SampleName%.glp.new %SampleName%.glp
:: modify parameters: equi_time prod_time timestep Temp0 Temp1 Pressure
call GoGULP.bat %SampleName% modify %RunTask% 0.0 +10.0 0.002 1500.0 300.0 0.1 
del %SampleName%.glp
copy %SampleName%.glp.next %SampleName%.glp
call GoGULP.bat %SampleName% exec
call GoGULP.bat %SampleName% post
call GoGULP.bat %SampleName% update
call GoGULP.bat %SampleName% save %SaveDir% no


:END

call GoGULP.bat %SampleName% merge MD-NVT* MD-NPT*
