LIGGGHTS Quality Assurance

ckloss's picture
Submitted by ckloss on Wed, 08/11/2010 - 14:16

Quality assurance

Quality assurance is an important part of software development, irrespective of if this development happens within a software company or by a community-driven effort.

As of version 1.1.6 a quality assurance check will be done by automatically running examples comparing the answers that different version of the LIGGGHTS software give - this is called a test loop.
"Answers" are defined by means of various thermo outputs (e.g. energy) over time that are generated by a run.

A transparent test loop can aid in

(a) guaranteeing to a certain degree that the software can give the right answers to the tested problems
(b) finding bugs
(c) checking parallel efficiency and consistency

Point (c) is important, because within a parallel framework, we need to have the possibility to compare the answers that a run with 1, 2, 4, 8 processors gives and the time that .

Everyone is asked to participate in this effort by sending input scripts to the developers to include in the testloop. For you, this has the following advantage

(a) you know the developers keep an eye on making the code better for the purpose you need it for
(b) the whole community profits

A note on how to read it:
+ "Atoms" is the number of particles in the simulation
+ "KinEng" is the total translational kinetic energy
+ "1" is the total rotational kinetic energy
+ "ThermalE" is the total thermal energy in the system
+ "CPU" is the cpu time elapsed for the current run

All graphs are normalized, the absolute maximum values are given as test.

On this page, you can download the comparison of 1.1.5 and 1.1.6 from this page. Note that there has been a bugfix to the cohesionmodel, which is the reason why these models behave clearly differently.
Please also note that the problem sizes are really small, so that's why no speed-up can be achieved in parallel (yet consistency can be checked).