## Crib File

Return to top-level of LAMMPS documentation.

This file contains one-line descriptions of the key variables and parameters used in LAMMPS. The variables are listed by their data type:

- Parameters
- Arrays (real)
- Arrays (integer)
- Variables (real)
- Variables (integer)
- Variables (character)

Note: this file is somewhat out-of-date for LAMMPS 99.

### Parameters:

- maxown = max # of local owned atoms
- maxother = max # of local nearby atoms
- maxtotal = max # of total atoms in simulation
- maxtype = max # of atom types
- maxbond = max # of bonds to compute on one procesor
- maxangle = max # of angles to compute on one processor
- maxdihed = max # of dihedrals to compute on one processor
- maximpro = max # of impropers to compute on one processor
- maxbondper = max # of bonds of one atom
- maxangleper = max # of angles of one atom
- maxdihedper = max # of dihedrals of one atom
- maximproper = max # of impropers of one atom
- maxbondtype = max # of bond types
- maxangletype = max # of angle types
- maxdihedtype = max # of dihedral types
- maximprotype = max # of improper types
- maxexch = max # of atoms in exchange buffer
- maxsend = max # of atoms to send to all neighbors in all swaps
- maxsendone = max # of atoms to send in one swap
- maxswap = max # of swaps to do at each timestep
- maxneigh = max # of neighbors per owned atom
- maxsneigh = max # of special neighbors of one atom
- maxbin = max # of local neighbor bins
- maxfix = max # of defined constraints + 1
- maxdiag = max # of diagnostic routines
- maxgrid = max size of PPPM grid with ghosts on one processor
- maxfft = max size of PPPM FFT grid on one processor
- maxperatom = max # of data items stored/comm/output per atom
- maxatom = maxown + maxother = total # of own and nearby atoms
- maxexchtot = maxexch * (maxperatom + maxsneigh + 3*maxbondper + 4*maxangleper + 5*maxdihedper + 5*maximproper) = total data volume for all exchanged atoms
- maxrestot = maxown * (maxperatom - 3 + 3*maxbondper + 4*maxangleper + 5*maxdihedper + 5*maximproper)+1 = total data volume for all buffered restart atoms
- maxsendspec = 2 * maxsneigh * maxown total data volume for sending special requests
- maxrecvspec = maxsneigh + 1 total data volume for receiving a list of specials

### Arrays (real):

- anglecoeff(2,maxangletype) = angle coeffs for each angle type
- bondcoeff(5,maxbondtype) = bond coeffs for each bond type
- boundhi(maxswap) = hi slab boundary on atom positions for each swap send
- boundlo(maxswap) = lo slab boundary on atom positions for each swap send
- buf1(maxexchtot) = comm buffer for sending exchange atoms
- buf2(2*maxexchtot) = comm buffer for 2 recv of exchange atoms
- buf3(3*maxsendone) = comm buffer for sending one set of swap atom positions
- buf4(8*maxown) = comm buffer for output
- buf5(maxrestot) = comm buffer for restart atoms
- buf6(maxsendone) = comm buffer for sending one set of swap charges
- cutforcesq(maxtype,maxtype) = force cutoff squared for atom pair (LJ/Coul)
- cutljsq(maxtype,maxtype) = LJ cutoff squared for atom pairs
- cutljinner(maxtype,maxtype) = inner LJ cutoff for switched LJ
- cutljinnersq(maxtype,maxtype) = inner LJ cutoff squared for switched LJ
- cutneighsq(maxtype,maxtype) = neigh cutoff squared for atom pair (LJ/Coul + skin)
- diagparams(6,maxdiag) = parameters to pass into a diagnostic routine
- dihedcoeff(3,maxdihedtype) = dihedral coeffs for each dihedral type
- f(3,maxown) = forces on own atoms
- fixcoeff(8,maxfix) = constraint coeffs for each constraint
- fixstore(5*maxfix) = accumulated quantities for each constraint
- improcoeff(2,maximprotype) = improper coeffs for each improper type
- lj12345(maxtype,maxtype) = pre-computed LJ coeffs for use in energy and force
- ljsw01234(maxtype,maxtype) = pre-computed switched LJ coeffs for eng and force
- mass(maxtype) = mass of each atom type
- noncoeff1234(maxtype,maxtype) = nonbond coeffs input for atom pairs
- offset(maxtype,maxtype) = LJ potential offsets at cutoff for energy calc
- q(maxatom) = charge of own and nearby atoms (electron units)
- v(3,maxown) = velocity of owned atoms
- x(3,maxatom) = positions of own and nearby atoms
- xhold(3,maxown) = positions of own atoms at last reneighboring

### Arrays (integer):

- angleatom123(maxangleper,maxown) = angle atoms for angles of owned atoms
- anglelist(4,maxangle) = atoms and type of each angle to compute locally
- angletype(maxangleper,maxown) = angle type for angles of owned atoms
- bin(maxatom) = linked list pointers from one atom to next in bin
- binpnt(maxbin) = pointer to 1st atom in each bin
- bondatom12(maxbondper,maxown) = bond atoms for bonds of owned atoms
- bondlist(3,maxbond) = atoms and type of each bond to compute locally
- bondtype(maxbondper,maxown) = bond type for bonds of owned atoms
- bondtypeflag(maxbondtype) = flag for whether bond coeffs are set
- diagfileflag(maxdiag) = whether a file has been specified for a diag routine
- diagfreq(maxdiag) = call a diagnostic routine every this many steps
- diagnparams(maxdiag) = # of parameters specified for a diagnostic routine
- diagstyle(maxdiag) = whether a diagnostic has been set 0/1
- dihedatom1234(maxdihedper,maxown) = dihed atoms for diheds of owned atoms
- dihedlist(5,maxdihed) = atoms and type of each dihedral to compute locally
- dihedtype(maxdihedper,maxown) = dihed type for diheds of owned atoms
- fix(maxown) = constraint assignments for each owned atom
- fixflag(3,maxfix) = 0/1 flags for various fix styles
- fixptr(maxfix) = how many values are accumulated for each constraint
- fixstyle(maxfix) = style of each constraint
- ibuf1(maxsendone) = comm buffer for sending one set of swap atom tags
- ibuf2(maxsendone) = comm buffer for sending one set of swap atom types
- ibuf3(maxspec) = comm buffer for sending special requests
- ibuf4(maxspec) = comm buffer for receiving special lists
- improatom1234(maximproper,maxown) = impro atoms for impros of owned atoms
- improlist(5,maximpro) = atoms and type of each improper to compute locally
- improtype(maximproper,maxown) = impro type for impros of owned atoms
- list(maxown) = linked list of local atoms (last one -> maxown+1)
- localptr(0:maxtotal) = ptr from global atom to local array (0 if don't have)
- molecule(maxown) = molecule id # each owned atom is in
- nlist(maxown*maxneigh+maxneigh) = neighbor lists of own atoms
- nliststart(maxown) = pointer to where neighbor list for this atom starts
- nliststop(maxown) = pointer to where neighbor list for this atom stops
- nontypeflag(maxtype,maxtype) = flag for whether nonbond coeffs are set
- nrlist(maxswap+1) = prt to where received other atoms start for each swap
- nslist(maxswap+1) = pointer to where swap list starts for each swap
- numangle(maxown) = # of angles of each owned atom
- numbond(maxown) = # of 1st neighbors bonded to each owned atom
- num2bond(maxown) = # of 2nd neighbors for each owned atom
- num3bond(maxown) = # of 3rd neighbors for each owned atom
- numdihed(maxown) = # of dihedrals of each owned atom
- numimpro(maxown) = # of impropers of each owned atom
- rpart(maxswap) = node # of who to recv from for each swap
- slist(maxsend) = send list of atoms to send out in all swaps
- spart(maxswap) = node # of who to send to for each swap
- specbond(maxsneigh,maxown) = special bond neighbors of each owned atom
- tag(maxatom) = global id # of own and nearby atoms
- true(maxown) = which periodic box atom is truly in for all 3 dims
- type(maxatom) = type # of own and nearby atoms
- typecheck(maxtype) = consistency check for all existing atom types
- typechecktmp(maxtype) = summing array for atom type consistency check
- velflag(maxown) = whether velocity for each atom has been created

### Variables (real):

- binsize[xyz] = size of global neighbor bins in each dimension
- boltz = Boltzmann factor
- border(2,3) = lo/hi boundaries of my sub-box in each dimension
- coulpre = Coulombic force prefactor
- createregion(6) = bounding box for atoms to create temperature for
- createvec(3) = initial velocity for create temp atoms
- cutcoul = input force cutoff for Coulombic interactions
- cutcoulsq = Coul cutoff squared for all atom pairs
- cutforce = max force cutoff for all atom pairs (LJ/Coul)
- cutlj = input global (default) LJ cutoff for all atom pairs
- cutljinterior = global inner LJ cutoff for switched LJ
- cutneigh = max neighbor cutoff for all atom pairs (LJ/Coul + skin)
- dielectric = dielectric constant
- dt = timestep
- dtfactor = timestep conversion factor from input to program units
- dthalf = timestep / 2
- efactor = energy conversion factor from Coulombic to Kcals
- e_angle = energy in angles
- e_bond = energy in bonds
- e_coul = energy in nonbond Coulombic
- e_dihedral = energy in dihedrals
- e_improper = energy in impropers
- e_total = total energy
- e_vdwl = energy in nonbond LJ
- fixregion(6) = bounding box for atoms to assign to a constraint
- skin = distance between force and neighbor cutoffs
- special(3) = weight factors for special neighbors
- triggersq = squared distance to trigger neighbor list rebuild
- two16 = 2 ^ (1/6) constant for use in FENE bond potentials
- t_create = requested initialization temp
- t_current = current temp returned from temp routine
- t_nph = default temp for constant NPH
- t_start = target temp at beginning of run
- t_stop = target temp at end of run
- t_window = control temp within this window
- time_angle = angle time
- time_bond = bond time
- time_comm = communication time
- time_current = current time
- time_dihedral = dihedral time
- time_exch = exchange time
- time_improper = improper time
- time_io = i/o time
- time_loop = time for integration loop
- time_neigh1 = neighboring time in nonbond
- time_neigh2 = neighboring time in bonds
- time_nonbond = nonbond force time
- time_other = other miscellaneous time
- time_total = total run time of entire simulation
- x[yz]mc = box size minus force cutoff for PBC checks
- x[yz]ms box size minus neighbor list cutoff for PBC checks
- x[yz]boundlo = lower global box boundary in each dimension
- x[yz]boundhi = upper global box boundary in each dimension
- x[yz]prd = global box size in each dimension

### Variables (integer):

- atompnt = pointer to 1st atom in my list
- bondstyle = style of bond computation
- boxflag = flag if box has been remapped (non-PBC)
- coulstyle = style of Coulomb interaction
- creategroup = kind of atom group to create temp for
- createstyle = style of temp creation
- createtypehi = upper range of atom types to create temp for
- createtypelo = lower range of atom types to create temp for
- dumpfileflag = has dump file been opened or not (1/0)
- dumpflag = dump atoms to file every this many steps (0 = never)
- dumpforcefileflag = has dump force file been opened or not (1/0)
- dumpforceflag = dump forces to file every this many steps (0 = never)
- dumpvelfileflag = has dump velocity file been opened or not (1/0)
- dumpvelflag = dump vels to file every this many steps (0 = never)
- fixatom = assign atom/molecule with this tag to a constraint
- fixgroup = kind of atom group to assign to a constraint
- fixnum = total # of accumulated values for all constraints
- fixtype = assign group of atoms of this type to a constraint
- fixwhich = which constraint a atom group is to be assigned to
- freepnt = pointer to 1st free space in list (last one -> 0)
- idimension = dimension of problem (2-d or 3-d)
- iseed = RNG seed for generating initial velocities
- itime = current timestep loop counter in integrator
- iversion = version number of restart files (for backward compat)
- max_angle = most angles I ever have to compute
- max_angleper = most angles ever attached to any atom
- max_bond = most bonds I ever have to compute
- max_bondper = most bonds ever attached to any atom
- max_dihed = most diheds I ever have to compute
- max_dihedper = most diheds ever attached to any atom
- max_exch = most atoms ever leaving my box (in one dimension)
- max_impro = most impros I ever have to compute
- max_improper = most impros ever attached to any atom
- max_nlocal = most atoms I ever owned
- max_neigh = most neighbors ever stored in neighbor list
- max_nother = most nearby atoms I ever stored
- max_slist = biggest size swap list ever reached
- max_swap = most atoms ever sent in one swap
- mbin[xyz] = # of bins in my box with nearby atoms included
- mbin[xyz]lo = global bin indices (offset) at corner of extended box
- me(3) = which box I am (0 - pgrid-1) in each dimension
- mixflag = whether mixing style has been set or not
- mixstyle = style of mixing for nonbond coeffs (arith,geom,sixth)
- mpart(2,3)= node # of neighbor processor in each dimension
- nanglelocal = local # of angless to compute
- nangles = total # of angles
- nangletypes = total # of angle types
- natoms = total # of atoms
- nbin[xyz] # of global neighbor bins in each dimension
- nbondlocal = local # of bonds to compute
- nbonds = total # of bonds
- nbondtypes = total # of bond types
- ndanger = # of neighbor rebuilds triggered by 1st check
- ndiags = # of user-specified diagnostic routines
- ndihedlocal = local # of dihedrals to compute
- ndihedrals = total # of diheds
- ndihedtypes = total # of dihedral types
- need(3) how many processors I need neighbors from in each dim
- neighago = how many timesteps ago neighboring was done
- neighdelay = delay neighbor list build for this many steps
- neighfreq = build neighbor list every this many steps
- neighstyle = neighboring by (0) N^2 or (1) binning method
- neightop = last used position in neighbor list (nlist)
- neightrigger = always (0) do neighbor list or trigger (1) on atom move
- newton = flag for kind of Newton's 3rd law used (0,1,2,3)
- newton_bond = Newton's 3rd is not used (0) or (1) used for bonds
- newton_nonbond = Newton's 3rd is not used (0) or (1) used for nonbonds
- nfixes = # of constraints
- nimprolocal = local # of impropers to compute
- nimpropers = total # of impros
- nimprotypes = total # of improper types
- nlocal = # of atoms I currently own
- nother = # of nearby atoms I currently store
- node = my node #
- nonstyle = style on nonbond computation
- nprocs = total # of processors
- nsteps = # of timesteps to simulate
- nswap = # of swaps at each timestep
- ntimestep = current global timestep
- ntypes = total # of atom types
- numneigh = number of times reneighboring is done
- offsetflag = whether to include energy offset in LJ energy calc
- peratom = # of values/atom not including bond info
- perflagx[yz] = flag for periodic (0) or non-periodic (1) BC
- pgrid(3) = # of processors in each dimension
- readflag = whether atom input file has been read or not (1/0)
- restartfileflag = which restart file to open next (0/1)
- restartflag = write restart file every this many steps (0=never)
- t_every = rescale/replace temp every this many steps
- tempflag = constant temperature style flag
- thermoflag = print thermo info every this many steps (0 = never)
- thermostyle = style of thermo output (0 = full, 1 = reduced)
- trueflag = whether to dump remapped or true atom positions
- units = flag for real vs reduced LJ units

### Variables (character):

- datafile = file to read atom and connectivity info from
- diagfile(maxdiag) = files to print user-specified diagnostics to
- diagname(maxdiag) = name of a user-specified diagnostic routine
- dumpfile = file to dump atom info to
- dumpforcefile = file to dump force info to
- dumpvelfile = file to dump velocity info to
- restart_in = file to read restart info from
- restart_out[12] = files to write restart info to