si units


Does anyone has a sample simulation with SI units and a pair potential?

When I try to do this below, when creating atoms, I get huge number of atoms.

# 2d LJ crack simulation

dimension 3
boundary s s s
units si

atom_style atomic
neighbor .001 bin
neigh_modify delay 5

# create geometry

lattice fcc 3.645e-10
region box block 0 50.0e-10 0 40.0e-10 0.0 4.0e-10
create_box 5 box
create_atoms 1 box

mass 1 10.542918811e-23
mass 2 10.542918811e-23
mass 3 10.542918811e-23
mass 4 10.542918811e-23
mass 5 10.542918811e-23



A huge number created or a huge number
in your neighbor list? Your neigh list
cutoff is 10^7 Angstroms = 0.001 meters.


The neighbor list is one problem. But now it stays in the Create_Atoms
class. I checked with a debugger. I think, there is a problem with

#define EPSILON 1.0e-6 in create_atoms.cpp or

#define SMALL 1.0e-4 in domain.cpp

or another tolerance value somewhere else which is much higher than
the box size in SI units.


hmmm - yes, that could be a problem.
I'll check when I'm back in the office
next week. What you could certainly do
is create a data file with your coords
in SI units and input the config that way.

Most people use SI units for problems
at the meso or macroscale, not for
problems at the atomic scale.



Does anyone has a sample simulation with SI units and a pair potential?

it is a really, *really* bad idea to do
a simulation an atomic system in SI units.

you are using floating point numbers to do
your math and those have all kinds of practical
problems and limitations and those get larger
the larger in magnitude your exponent is. you
want the exponent to be close to 0.

on top of that, most postprocessing tools
(e.g. for analysis or visualization assume
"real" units, i.e. distances in angstroms)
and can be thoroughly confused if this is
not the case. already using nanometers
instead of angstroms (like gromacs does
it) leads to a lot of confusion and problems.

you are just increasing those massively
without any need.