@echo off echo . set BatchFileDir=%~dp0 set RootDir=%BatchFileDir% set TemplateDir=%RootDir%Template set SampleName=%1 if "%SampleName%" == "" ( set SampleName=Si.cif ) ::Remove extension set SampleName=%SampleName:.cif=% ::Mode: gulp, vasp, pwscf set Mode=%2 if "%Mode%" == "" ( set Mode=pwscf ) ::@echo on echo RootDir : %RootDir% echo TemplateDir: %TemplateDir% echo SampleName : %SampleName% echo Mode : %Mode% set BatchTemplate=.\run-template.bat set RunScript=%TemplateDir%\DoPWSCF.bat set OriginalCIF=original.cif set OriginalFileHeader=%OriginalCIF:.cif=% ::set FileList=dV*.cif set FileListReverse=dV-0100 dV-0200 set FileListForward=dV00100 dV00200 echo FileList for reverse scan: [%FileListReverse%] echo FileList for forward scan: [%FileListForward%] :: Create base input files if exist "%OriginalCIF%" ( echo File [%OriginalCIF%] exists. echo Skip. ) else ( echo call %RunScript% %OriginalCIF% init... call %RunScript% %OriginalCIF% init ) :: Run for the base structure echo call :RUN %OriginalFileHeader% call :RUN %OriginalFileHeader% :: Run for the reverse direction from the base structure for %%a in ( %FileListReverse% ) do ( echo call :RUN %%a call :RUN %%a ) :: Run for the forward direction from the base structure echo FileList: [%FileListForward%] for %%a in ( %FileListForward% ) do ( echo call :RUN %%a call :RUN %%a ) goto END ::=================================== :: Subroutines ::=================================== :END ::call GoGULP.bat %SampleName% merge MD-NVT* MD-NPT* echo . exit /b ::=================================== :: Run calculation engine in the directory given by %1 ::=================================== :RUN set header=%1 if not exist "%header%.cif" ( echo File [%header%.cif] does not exist. echo Skip. ) else if exist "%header%" ( echo Directory [%header%] exists. echo Skip. ) else ( echo Make [%header%] mkdir %header% echo copy [%header%.cif] to[%header%] copy %header%.cif %header% echo chdir to [%header%] cd %header% echo Working in: cd echo ... echo call %RunScript% %header% init... call %RunScript% %header% init echo call %RunScript% %header% exec... call %RunScript% %header% exec echo call %RunScript% %header% post... call %RunScript% %header% post ) echo . echo cd to RootDir [%RootDir%] cd %RootDir% exit /b