add support for testing virial contributions from fixes (as an option)

This commit is contained in:
Axel Kohlmeyer
2020-08-09 16:39:31 -04:00
parent f1da1ed180
commit 4b7356f5af
10 changed files with 194 additions and 14 deletions

View File

@ -294,14 +294,18 @@ YAML format test inputs.
- The fix to be tested must be specified in the ``post_commands:`` - The fix to be tested must be specified in the ``post_commands:``
section with the fix-ID ``test``. This section may contain other section with the fix-ID ``test``. This section may contain other
commands and other fixes (e.g. an instance of fix nve for testing commands and other fixes (e.g. an instance of fix nve for testing
thermostat or force manipulation fixes) a thermostat or force manipulation fix)
- For fixes that can tally contributions to the global virial, the
line ``fix_modify test virial yes`` should be included in the
``post_commands:`` section of the test input.
- For thermostat fixes the target temperature should be ramped from - For thermostat fixes the target temperature should be ramped from
an arbitrary value (e.g. 50K) to a pre-defined target temperature an arbitrary value (e.g. 50K) to a pre-defined target temperature
entered as ``${t_target}``. entered as ``${t_target}``.
- For fixes that may or may not do thermostatting depending on - For fixes that have thermostatting support included, but do not
the flags in use (e.g. fix rigid), the ``post_commands:`` section have it enabled in the input (e.g. fix rigid with default settings),
should contain ``variable t_target delete`` to disable the target the ``post_commands:`` section should contain the line
temperature ramp check in case the thermostat is not enabled ``variable t_target delete`` to disable the target temperature ramp
check to avoid false positives.
Use custom linker for faster link times when ENABLE_TESTING is active Use custom linker for faster link times when ENABLE_TESTING is active
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -239,6 +239,15 @@ void generate_yaml_file(const char *outfile, const TestConfig &config)
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
// run_stress, if enabled
if (fix->thermo_virial) {
auto stress = fix->virial;
block = fmt::format("{:23.16e} {:23.16e} {:23.16e} "
"{:23.16e} {:23.16e} {:23.16e}",
stress[0], stress[1], stress[2], stress[3], stress[4], stress[5]);
writer.emit_block("run_stress", block);
}
// global scalar // global scalar
if (fix->scalar_flag) { if (fix->scalar_flag) {
double value = fix->compute_scalar(); double value = fix->compute_scalar();
@ -338,8 +347,19 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
stats.reset(); if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress normal run, verlet: " << stats << std::endl;
}
stats.reset();
// global scalar // global scalar
if (fix->scalar_flag) { if (fix->scalar_flag) {
double value = fix->compute_scalar(); double value = fix->compute_scalar();
@ -402,6 +422,18 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress restart, verlet: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -453,6 +485,18 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress rmass, verlet: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -510,6 +554,18 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress normal run, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -561,6 +617,18 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress restart, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -612,6 +680,18 @@ TEST(FixTimestep, plain)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress rmass, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -701,6 +781,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress normal run, verlet: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -765,6 +857,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress restart, verlet: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -816,6 +920,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress rmass, verlet: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -873,6 +989,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress normal run, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -924,6 +1052,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress restart, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar
@ -975,6 +1115,18 @@ TEST(FixTimestep, omp)
FAIL() << "ERROR: no fix defined with fix ID 'test'\n"; FAIL() << "ERROR: no fix defined with fix ID 'test'\n";
} else { } else {
Fix *fix = lmp->modify->fix[ifix]; Fix *fix = lmp->modify->fix[ifix];
if (fix->thermo_virial) {
stats.reset();
auto stress = fix->virial;
EXPECT_FP_LE_WITH_EPS(stress[0], test_config.run_stress.xx, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[1], test_config.run_stress.yy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[2], test_config.run_stress.zz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[3], test_config.run_stress.xy, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[4], test_config.run_stress.xz, epsilon);
EXPECT_FP_LE_WITH_EPS(stress[5], test_config.run_stress.yz, epsilon);
if (print_stats) std::cerr << "run_stress rmass, respa: " << stats << std::endl;
}
stats.reset(); stats.reset();
// global scalar // global scalar

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 13:57:28 202 date_generated: Sun Aug 9 16:30:21 202
epsilon: 1e-14 epsilon: 1e-14
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
fix move all nve fix move all nve
fix test solvent rattle 1.0e-5 20 4 b 5 a 1 fix test solvent rattle 1.0e-5 20 4 b 5 a 1
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |-
-6.7489444076122581e+01 -3.6466857275816793e+01 -4.1453650662488030e+01 -3.0881715538687999e+01 -2.8271646386126275e+01 1.8512924155867125e-01
run_pos: ! |2 run_pos: ! |2
1 -2.7045559935221097e-01 2.4912159904412490e+00 -1.6695851634760922e-01 1 -2.7045559935221097e-01 2.4912159904412490e+00 -1.6695851634760922e-01
2 3.1004029578877490e-01 2.9612354630874571e+00 -8.5466363025011627e-01 2 3.1004029578877490e-01 2.9612354630874571e+00 -8.5466363025011627e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 13:57:18 202 date_generated: Sun Aug 9 16:30:21 202
epsilon: 1e-14 epsilon: 1e-14
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
fix move all nve fix move all nve
fix test solute rattle 1.0e-5 20 4 m 4.00794 fix test solute rattle 1.0e-5 20 4 m 4.00794
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |2-
3.9891557115890999e+00 3.7983351717152480e+00 7.6152694943743228e+01 5.7163462651523300e-01 3.0839737670745507e+01 3.0066936263232019e+01
run_pos: ! |2 run_pos: ! |2
1 -2.6863205200662160e-01 2.4924200251053037e+00 -1.6940797171640173e-01 1 -2.6863205200662160e-01 2.4924200251053037e+00 -1.6940797171640173e-01
2 3.0314855494325726e-01 2.9555142432096928e+00 -8.4661597718762538e-01 2 3.0314855494325726e-01 2.9555142432096928e+00 -8.4661597718762538e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:12:15 202 date_generated: Sun Aug 9 16:30:21 202
epsilon: 2.5e-13 epsilon: 2.5e-13
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
variable t_target delete variable t_target delete
fix test all rigid group 2 solute solvent fix test all rigid group 2 solute solvent
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |-
-1.4245356937318927e+03 -1.4496493315649675e+03 -3.6144360984224963e+03 8.4840626828643849e+02 2.0318336761611764e+02 -6.0622397707969685e+02
global_scalar: 15.7115214231781 global_scalar: 15.7115214231781
run_pos: ! |2 run_pos: ! |2
1 -2.7899546863891622e-01 2.4731857340328216e+00 -1.7290667740241872e-01 1 -2.7899546863891622e-01 2.4731857340328216e+00 -1.7290667740241872e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:12:15 202 date_generated: Sun Aug 9 16:30:21 202
epsilon: 2.5e-13 epsilon: 2.5e-13
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
variable t_target delete variable t_target delete
fix test solvent rigid molecule fix test solvent rigid molecule
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |-
-4.9200116134790363e+01 -2.6907707565987732e+01 -6.0080860422282560e+00 -2.5620423972101747e+01 -1.3450224059984075e+01 -1.4947288487004844e+00
global_scalar: 18.3405601674144 global_scalar: 18.3405601674144
run_pos: ! |2 run_pos: ! |2
1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:12:16 202 date_generated: Sun Aug 9 16:30:21 202
epsilon: 2.5e-13 epsilon: 2.5e-13
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
variable t_target delete variable t_target delete
fix test solute rigid single fix test solute rigid single
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |-
-1.3754817466835852e+03 -1.4228425246165939e+03 -3.6087196201913630e+03 8.7407043149698166e+02 2.1665316519768876e+02 -6.0480791462031175e+02
global_scalar: 4.53142303857031 global_scalar: 4.53142303857031
run_pos: ! |2 run_pos: ! |2
1 -2.7899546859693181e-01 2.4731857340428789e+00 -1.7290667720876129e-01 1 -2.7899546859693181e-01 2.4731857340428789e+00 -1.7290667720876129e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:39:26 202 date_generated: Sun Aug 9 16:30:22 202
epsilon: 1e-14 epsilon: 1e-14
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
fix move all nve fix move all nve
fix test solvent shake 1.0e-5 20 4 b 5 a 1 fix test solvent shake 1.0e-5 20 4 b 5 a 1
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |-
-6.7489461181454146e+01 -3.6466852749734755e+01 -4.1453635345326461e+01 -3.0881721833345594e+01 -2.8271651455044346e+01 1.8512237607314627e-01
run_pos: ! |2 run_pos: ! |2
1 -2.7045559935221097e-01 2.4912159904412490e+00 -1.6695851634760922e-01 1 -2.7045559935221097e-01 2.4912159904412490e+00 -1.6695851634760922e-01
2 3.1004029578877490e-01 2.9612354630874571e+00 -8.5466363025011627e-01 2 3.1004029578877490e-01 2.9612354630874571e+00 -8.5466363025011627e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:37:51 202 date_generated: Sun Aug 9 16:30:22 202
epsilon: 1e-14 epsilon: 1e-14
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -9,8 +9,11 @@ pre_commands: ! ""
post_commands: ! | post_commands: ! |
fix move all nve fix move all nve
fix test solute shake 1.0e-5 20 4 m 4.00794 fix test solute shake 1.0e-5 20 4 m 4.00794
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |2-
4.1327164284089424e+00 4.1298776885725212e+00 7.7065049821613400e+01 7.3427739401911385e-01 3.1021321349896283e+01 3.0482918118325731e+01
run_pos: ! |2 run_pos: ! |2
1 -2.6863205200661111e-01 2.4924200251053290e+00 -1.6940797171639235e-01 1 -2.6863205200661111e-01 2.4924200251053290e+00 -1.6940797171639235e-01
2 3.0314855494326542e-01 2.9555142432097057e+00 -8.4661597718762593e-01 2 3.0314855494326542e-01 2.9555142432097057e+00 -8.4661597718762593e-01

View File

@ -1,6 +1,6 @@
--- ---
lammps_version: 21 Jul 2020 lammps_version: 21 Jul 2020
date_generated: Sun Aug 9 07:21:00 202 date_generated: Sun Aug 9 16:30:22 202
epsilon: 1e-14 epsilon: 1e-14
prerequisites: ! | prerequisites: ! |
atom full atom full
@ -10,8 +10,11 @@ pre_commands: ! |
post_commands: ! | post_commands: ! |
fix move all nve fix move all nve
fix test solute wall/harmonic ylo EDGE 100.0 0.0 5.0 yhi EDGE 100.0 0.0 5.0 fix test solute wall/harmonic ylo EDGE 100.0 0.0 5.0 yhi EDGE 100.0 0.0 5.0
fix_modify test virial yes
input_file: in.fourmol input_file: in.fourmol
natoms: 29 natoms: 29
run_stress: ! |2-
0.0000000000000000e+00 7.2422093200265749e+02 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00
global_scalar: 42.6997744353244 global_scalar: 42.6997744353244
global_vector: ! |- global_vector: ! |-
2 0.0 161.92409617466126 2 0.0 161.92409617466126