Skip to content

lammps

This module tests the binary 'lmp' in available modules containing substring 'LAMMPS'. The tests come from the lammps github repository (https://github.com/lammps/lammps/)

EESSI_LAMMPS_ALL_OBMD_simulation_staggered_global

Bases: EESSI_LAMMPS_base, EESSI_Mixin

Test case testing a combination of Open-Boundary Molecular Dynamics (OBMD) and A Load balancing Library (ALL) functionality in LAMMPS. OBMD simulations are characterized by dynamically changing particle populations and strongly non-uniform spatial workloads due to particle insertion, removal, and fluxes across open boundaries. In this context, efficient load balancing is particularly critical to sustain scalability and numerical efficiency, as imbalances can rapidly arise during the simulation.

The test simulates liquid water under equilibrium conditions, which is described using the mesoscopic DPD water model. The density of DPD water in the region of interest is checked as part of the sanity check. If the density equals the desired value (within predetermined error), the test is successful.

assert_sanity()

Check all sanity criteria

check_if_ALL_OBMD_included()

Only run this test when LAMMPS has the OBMD package.

EESSI_LAMMPS_ALL_balance_staggered_global_base

Bases: EESSI_LAMMPS_base

Base class for test cases that test ALL (A Load Balancing Library) integration with LAMMPS. The key feature of this class is a sanity check that determines if either load balancing has improved over the course of the run, or if load balancing was already good from the start.

assert_imbalence()

Assert that the imbalance has gone down by at least 50%, OR that it was already very low (<1.1)

assert_sanity()

Check all sanity criteria

check_if_ALL_included()

Only run this test when LAMMPS has the ALL package.

check_number_neighbors()

Assert that the test calulated the right number of neighbours

EESSI_LAMMPS_ALL_balance_staggered_global_large

Bases: EESSI_LAMMPS_ALL_balance_staggered_global_base, EESSI_Mixin

Implementation of a large-scale test case (running up to 1/8th of a node and larger) that tests load balancing in LAMMPS through the ALL library.

assert_sanity()

Check all sanity criteria

EESSI_LAMMPS_ALL_balance_staggered_global_small

Bases: EESSI_LAMMPS_ALL_balance_staggered_global_base, EESSI_Mixin

Implementation of a small-scale test case (running up to 8 cores) that tests load balancing in LAMMPS through the ALL library.

EESSI_LAMMPS_OBMD_simulation

Bases: EESSI_LAMMPS_base, EESSI_Mixin

Test case testing Open-Boundary Molecular Dynamics (OBMD) functionality in LAMMPS. The test simulates liquid water under equilibrium conditions, which is described using the mesoscopic DPD water model. The density of DPD water in the region of interest is checked as part of the sanity check. If the density equals the desired value (within predetermined error), the test is successful.

assert_sanity()

Check all sanity criteria

check_if_OBMD_included()

Only run this test when LAMMPS has the ALL package.

EESSI_LAMMPS_base

Bases: RunOnlyRegressionTest

Base class for the LAMMPS based tests. This sets time limit, device type, module name, the compute unit and a number of sanity functions that may be shared amongst concrete implementations of this base class.

assert_NDS()

Assert that the calculated energy at timestep 100 is with the margin of error

assert_lammps_openmp_treads()

Assert that OpenMP thread(s) per MPI task is set

assert_lammps_processor_grid()

Assert that the processor grid is set correctly

assert_run()

Assert that the test calulated the right number of neighbours

assert_run_steps(ref_nsteps=10000)

Assert that the test calulated the right number of steps

compute_ndenprof(values, bins, start, stop)

Checking the values in nden_profile.out

set_compute_unit()

Set the compute unit to which tasks will be assigned

set_executable_opts()

Set executable opts based on device_type parameter

EESSI_LAMMPS_lj

Bases: EESSI_LAMMPS_base, EESSI_Mixin

assert_energy()

Assert that the calculated energy at timestep 100 is with the margin of error

assert_sanity()

Check all sanity criteria

check_number_neighbors()

Assert that the test calulated the right number of neighbours

EESSI_LAMMPS_rhodo

Bases: EESSI_LAMMPS_base, EESSI_Mixin

assert_energy()

Assert that the calculated energy at timestep 100 is with the margin of error

assert_sanity()

Check all sanity criteria

check_number_neighbors()

Assert that the test calulated the right number of neighbours

filter_scale_partial_and_full_nodes()

Returns all scales that do have a (guaranteed) core count, e.g. 1_8_node, 1_4_node, ..., 2_nodes, ..., 16_nodes. Does not return scales that nhave num_cpus_per_node set.

filter_scale_up_to_8_cores()

Returns all scales with (guaranteed) 8 cores or less. E.g. 1_core, 2_core, ..., 1cpn_2nodes, ... Does not return scales like 1_8_node, since for this scale the number of cores is system-dependent.

split(list, size)

Split a sequence into equally‑sized chunks of length 'size'.