Updated run_tests.py for testing inplace input scripts
This commit is contained in:
@ -30,4 +30,6 @@ fix 1 all nve
|
|||||||
#dump_modify 3 pad 3
|
#dump_modify 3 pad 3
|
||||||
|
|
||||||
thermo 50
|
thermo 50
|
||||||
|
#REG:ADD thermo 10
|
||||||
|
#REG:ADD thermo_style yaml
|
||||||
run 250
|
run 250
|
||||||
|
|||||||
30
examples/melt/thermo.in.melt.yaml
Normal file
30
examples/melt/thermo.in.melt.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
keywords: ['Step', 'Temp', 'KinEng', 'PotEng', 'E_bond', 'E_angle', 'E_dihed', 'E_impro', 'E_vdwl', 'E_coul', 'E_long', 'Press', ]
|
||||||
|
data:
|
||||||
|
- [0, 3, 4.498875, -6.77336805325309, 0, 0, 0, 0, -6.77336805325309, 0, 0, -3.70335042008559, ]
|
||||||
|
- [10, 2.10321748289327, 3.15403751778382, -5.43205056762964, 0, 0, 0, 0, -5.43205056762964, 0, 0, 2.44664612874199, ]
|
||||||
|
- [20, 1.66698827387667, 2.4998572902123, -4.78557898994314, 0, 0, 0, 0, -4.78557898994314, 0, 0, 5.7194842453284, ]
|
||||||
|
- [30, 1.64463591181311, 2.46633712925273, -4.75014983253114, 0, 0, 0, 0, -4.75014983253114, 0, 0, 5.83511134604229, ]
|
||||||
|
- [40, 1.65983694888923, 2.48913298447801, -4.77212731730918, 0, 0, 0, 0, -4.77212731730918, 0, 0, 5.71855964813656, ]
|
||||||
|
- [50, 1.68428652677302, 2.52579818271199, -4.80824944183235, 0, 0, 0, 0, -4.80824944183235, 0, 0, 5.5666131491923, ]
|
||||||
|
- [60, 1.66815815080248, 2.50161166689717, -4.78367061989279, 0, 0, 0, 0, -4.78367061989279, 0, 0, 5.67528005338882, ]
|
||||||
|
- [70, 1.66402179226008, 2.49540868021802, -4.77686685471957, 0, 0, 0, 0, -4.77686685471957, 0, 0, 5.71440814999079, ]
|
||||||
|
- [80, 1.6463068175025, 2.46884286119719, -4.7503425133881, 0, 0, 0, 0, -4.7503425133881, 0, 0, 5.82878230162724, ]
|
||||||
|
- [90, 1.65213476173072, 2.47758259206044, -4.75887395274472, 0, 0, 0, 0, -4.75887395274472, 0, 0, 5.78857522212723, ]
|
||||||
|
- [100, 1.67125773589965, 2.50625988219851, -4.78756088755821, 0, 0, 0, 0, -4.78756088755821, 0, 0, 5.66139134808918, ]
|
||||||
|
- [110, 1.63826089869192, 2.45677700020087, -4.73847959372321, 0, 0, 0, 0, -4.73847959372321, 0, 0, 5.83433671147024, ]
|
||||||
|
- [120, 1.66397998337157, 2.49534598256359, -4.77733017817545, 0, 0, 0, 0, -4.77733017817545, 0, 0, 5.7161276162825, ]
|
||||||
|
- [130, 1.64420426664086, 2.46568982336129, -4.74721609415452, 0, 0, 0, 0, -4.74721609415452, 0, 0, 5.85416096284122, ]
|
||||||
|
- [140, 1.63799069414866, 2.45637179471268, -4.73761038924631, 0, 0, 0, 0, -4.73761038924631, 0, 0, 5.8924664923107, ]
|
||||||
|
- [150, 1.64447506913092, 2.46609592554545, -4.74710336860059, 0, 0, 0, 0, -4.74710336860059, 0, 0, 5.86142109924274, ]
|
||||||
|
- [160, 1.66028563222537, 2.48980584122597, -4.77053696912806, 0, 0, 0, 0, -4.77053696912806, 0, 0, 5.78149200803179, ]
|
||||||
|
- [170, 1.64800156341178, 2.47138434453138, -4.75152678764742, 0, 0, 0, 0, -4.75152678764742, 0, 0, 5.87559878509103, ]
|
||||||
|
- [180, 1.61506777079168, 2.42199600577348, -4.70280109442303, 0, 0, 0, 0, -4.70280109442303, 0, 0, 6.06457648357222, ]
|
||||||
|
- [190, 1.65753628644168, 2.48568285355511, -4.76714288367232, 0, 0, 0, 0, -4.76714288367232, 0, 0, 5.81285286411193, ]
|
||||||
|
- [200, 1.64715424139984, 2.47011367925923, -4.75090528585447, 0, 0, 0, 0, -4.75090528585447, 0, 0, 5.88054312674685, ]
|
||||||
|
- [210, 1.63561771848911, 2.45281322108923, -4.73307042686537, 0, 0, 0, 0, -4.73307042686537, 0, 0, 5.98187394543464, ]
|
||||||
|
- [220, 1.63598264224576, 2.4533604698778, -4.73411363245931, 0, 0, 0, 0, -4.73411363245931, 0, 0, 5.99506689751106, ]
|
||||||
|
- [230, 1.64254851953143, 2.46320682360233, -4.74376812701158, 0, 0, 0, 0, -4.74376812701158, 0, 0, 5.92494093901652, ]
|
||||||
|
- [240, 1.64699582794229, 2.46987611847796, -4.75091222082099, 0, 0, 0, 0, -4.75091222082099, 0, 0, 5.8750140904026, ]
|
||||||
|
- [250, 1.66455966684989, 2.49621529039977, -4.77743273563228, 0, 0, 0, 0, -4.77743273563228, 0, 0, 5.75260890051261, ]
|
||||||
|
...
|
||||||
@ -1,10 +1,15 @@
|
|||||||
'''
|
'''
|
||||||
UPDATE: Oct 25, 2023:
|
UPDATE: Dec 10, 2023:
|
||||||
Launching the LAMMPS binary under testing using a configuration defined in a yaml file (e.g. config.yaml)
|
Launching the LAMMPS binary under testing using a configuration defined in a yaml file (e.g. config.yaml).
|
||||||
this way we can launch LAMMPS with mpirun with more flexibility. Also it simplifies the build configuration.
|
This way we can:
|
||||||
|
+ launch tests with mpirun with multiple procs
|
||||||
|
+ specify what LAMMPS binary version to test
|
||||||
|
+ simplify the build configuration
|
||||||
|
Example usage:
|
||||||
|
python3 run_tests.py --lmp-bin=/path/to/lmp_binary --config-file=config.yaml --gen-ref=False
|
||||||
|
|
||||||
python3 run_tests.py --lmp-bin=/path/to/lmp_binary --config-file=config.yaml --gen-ref=False
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------------------------------------
|
||||||
Original plan: using the LAMMPS Python module
|
Original plan: using the LAMMPS Python module
|
||||||
The following steps are for setting up regression tests with the LAMMPS Python module
|
The following steps are for setting up regression tests with the LAMMPS Python module
|
||||||
|
|
||||||
@ -158,12 +163,12 @@ def has_markers(input):
|
|||||||
'''
|
'''
|
||||||
Iterate over a list of input files
|
Iterate over a list of input files
|
||||||
'''
|
'''
|
||||||
def iterate(input_list):
|
def iterate(input_list, removeAnnotatedInput=False):
|
||||||
num_tests = len(input_list)
|
num_tests = len(input_list)
|
||||||
test_id = 0
|
test_id = 0
|
||||||
# iterative over the input scripts
|
# iterative over the input scripts
|
||||||
for input in input_list:
|
for input in input_list:
|
||||||
input_test = input + '.test'
|
input_test = 'test.' + input
|
||||||
|
|
||||||
if os.path.isfile(input) == True:
|
if os.path.isfile(input) == True:
|
||||||
if has_markers(input):
|
if has_markers(input):
|
||||||
@ -233,9 +238,15 @@ def iterate(input_list):
|
|||||||
|
|
||||||
test_id = test_id + 1
|
test_id = test_id + 1
|
||||||
|
|
||||||
|
# remove the annotated input script
|
||||||
|
if removeAnnotatedInput == True:
|
||||||
|
cmd_str = "rm " + input_test
|
||||||
|
os.system(cmd_str)
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
TODO:
|
TODO:
|
||||||
- automate tagging the example input scripts of the installed packages
|
- automate annotating the example input scripts of the installed packages
|
||||||
'''
|
'''
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
@ -275,26 +286,28 @@ if __name__ == "__main__":
|
|||||||
packages = get_installed_packages(lmp_binary)
|
packages = get_installed_packages(lmp_binary)
|
||||||
print(f"List of installed packages: {packages}")
|
print(f"List of installed packages: {packages}")
|
||||||
|
|
||||||
# list of input scripts with markers #REG:SUB and #REG:ADD
|
# Using inplace input scripts
|
||||||
#input_list=['in.lj', 'in.rhodo', 'in.eam']
|
|
||||||
#iterate(input_list)
|
|
||||||
|
|
||||||
automated = True
|
inplace_input = True
|
||||||
if automated == True:
|
if inplace_input == True:
|
||||||
# save current working dir
|
# save current working dir
|
||||||
p = subprocess.run("pwd", shell=True, text=True, capture_output=True)
|
p = subprocess.run("pwd", shell=True, text=True, capture_output=True)
|
||||||
pwd = p.stdout.split('\n')[0]
|
pwd = p.stdout.split('\n')[0]
|
||||||
print("Working dir" + pwd)
|
print("Working dir" + pwd)
|
||||||
|
|
||||||
# change dir to an example
|
# change dir to a folder under examples/
|
||||||
|
# TODO: loop through the subfolders under examples/, depending on the installed packages
|
||||||
|
|
||||||
directory = "../../examples/melt"
|
directory = "../../examples/melt"
|
||||||
print("Entering " + directory)
|
print("Entering " + directory)
|
||||||
os.chdir(directory)
|
os.chdir(directory)
|
||||||
|
|
||||||
# create a symbolic link to the lammps binary at the present directory
|
# create a symbolic link to the lammps binary at the present directory
|
||||||
cmd_str = "ln -s " + lmp_binary + " lmp"
|
cmd_str = "ln -s " + lmp_binary + " lmp"
|
||||||
os.system(cmd_str)
|
os.system(cmd_str)
|
||||||
input_list=['in.melt']
|
input_list=['in.melt']
|
||||||
|
|
||||||
|
# iterate through the input scripts
|
||||||
iterate(input_list)
|
iterate(input_list)
|
||||||
|
|
||||||
# unlink the symbolic link
|
# unlink the symbolic link
|
||||||
@ -303,3 +316,8 @@ if __name__ == "__main__":
|
|||||||
# get back to the working dir
|
# get back to the working dir
|
||||||
cmd_str = "cd " + pwd
|
cmd_str = "cd " + pwd
|
||||||
os.system(cmd_str)
|
os.system(cmd_str)
|
||||||
|
|
||||||
|
else:
|
||||||
|
# or using the input scripts in the working directory
|
||||||
|
input_list=['in.lj', 'in.rhodo', 'in.eam']
|
||||||
|
iterate(input_list)
|
||||||
|
|||||||
Reference in New Issue
Block a user