- No Of Atoms In Hcp Unit Cell
- No Of Atoms In Hcp Cell
- How Many Atoms In Hcp
- Number Of Atoms In Hcp And Ccp
The hexagonal closely packed (hcp) is shown in the figure 1.1.8. In the hcp structure of an unit cell contains three types of atoms as three layers. 12 corner atoms, one at each and every corner of the Hexagon. 2 base centered atoms, one at the top face of the hexagon and another at.
Syntax¶
ID = user-assigned name for the molecule template
file1,file2,… = names of files containing molecule descriptions
zero or more keyword/value pairs may be appended after each file
keyword = offset or toff or boff or aoff or doff or ioff or scale
Examples¶
Description¶
Define a molecule template that can be used as part of other LAMMPScommands, typically to define a collection of particles as a bondedmolecule or a rigid body. Commands that currently use moleculetemplates include:
For packing, we identify the atoms that belong to a close packed framework with either BCC, FCC(CCP) or HCP.These framework atoms need not occupy the “ideal” close packed sites (we will overlook small displacements), nor must they be in contact. In crystallography, atomic packing factor (APF), packing efficiency, or packing fraction is the fraction of volume in a crystal structure that is occupied by constituent particles. It is a dimensionless quantity and always less than unity. In atomic systems, by convention, the APF is determined by assuming that atoms are rigid spheres. The radius of the spheres is taken to be the maximum value. In a unit cell, an atom's coordination number is the number of atoms it is touching. The hexagonal closest packed (hcp) has a coordination number of 12 and contains 6 atoms per unit cell. The face-centered cubic (fcc) has a coordination number of 12 and contains 4 atoms per unit cell.
No Of Atoms In Hcp Unit Cell
The ID of a molecule template can only contain alphanumeric charactersand underscores.
A single template can contain multiple molecules, listed one per file.Some of the commands listed above currently use only the firstmolecule in the template, and will issue a warning if the templatecontains multiple molecules. The atom_style template command allows multiple-molecule templatesto define a system with more than one templated molecule.
Each filename can be followed by optional keywords which are appliedonly to the molecule in the file as used in this template. This is tomake it easy to use the same molecule file in different moleculetemplates or in different simulations. You can specify the same filemultiple times with different optional keywords.
The offset, toff, boff, aoff, doff, ioff keywordsadd the specified offset values to the atom types, bond types, angletypes, dihedral types, and/or improper types as they are read from themolecule file. E.g. if toff = 2, and the file uses atom types1,2,3, then each created molecule will have atom types 3,4,5. For theoffset keyword, all five offset values must be specified, butindividual values will be ignored if the molecule template does notuse that attribute (e.g. no bonds).
No Of Atoms In Hcp Cell
The scale keyword scales the size of the molecule. This can beuseful for modeling polydisperse granular rigid bodies. The scalefactor is applied to each of these properties in the molecule file, ifthey are defined: the individual particle coordinates (Coordssection), the individual mass of each particle (Masses section), theindividual diameters of each particle (Diameters section), the totalmass of the molecule (header keyword = mass), the center-of-mass ofthe molecule (header keyword = com), and the moments of inertia of themolecule (header keyword = inertia).
Note
The molecule command can be used to define molecules with bonds,angles, dihedrals, impropers, or special bond lists of neighborswithin a molecular topology, so that you can later add the moleculesto your simulation, via one or more of the commands listed above.Since this topology-related information requires that suitable storageis reserved when LAMMPS creates the simulation box (e.g. when usingthe create_box command or theread_data command) suitable space has to be reservedso you do not overflow those pre-allocated data structures when addingmolecules later. Both the create_box command andthe read_data command have “extra” options whichinsure space is allocated for storing topology info for molecules thatare added later.
The format of an individual molecule file is similar but(not identical) to the data file read by the read_datacommands, and is as follows.
A molecule file has a header and a body. The header appears first.The first line of the header is always skipped; it typically containsa description of the file. Then lines are read one at a time. Linescan have a trailing comment starting with ‘#’ that is ignored. If theline is blank (only white-space after comment is deleted), it isskipped. If the line contains a header keyword, the correspondingvalue(s) is read from the line. If it does not contain a headerkeyword, the line begins the body of the file.
The body of the file contains zero or more sections. The first lineof a section has only a keyword. The next line is skipped. Theremaining lines of the section contain values. The number of linesdepends on the section keyword as described below. Zero or more blanklines can be used between sections. Sections can appear in any order,with a few exceptions as noted below.
These are the recognized header keywords. Header lines can come inany order. The numeric value(s) are read from the beginning of theline. The keyword should appear at the end of the line. All thesesettings have default values, as explained below. A line need onlyappear if the value(s) are different than the default.
N atoms = # of atoms N in molecule, default = 0
Nb bonds = # of bonds Nb in molecule, default = 0
Na angles = # of angles Na in molecule, default = 0
Nd dihedrals = # of dihedrals Nd in molecule, default = 0
Ni impropers = # of impropers Ni in molecule, default = 0
Nf fragments = # of fragments in molecule, default = 0
Mtotal mass = total mass of molecule
Xc Yc Zc com = coordinates of center-of-mass of molecule
Ixx Iyy Izz Ixy Ixz Iyz inertia = 6 components of inertia tensor of molecule
For mass, com, and inertia, the default is for LAMMPS tocalculate this quantity itself if needed, assuming the moleculesconsists of a set of point particles or finite-size particles (with anon-zero diameter) that do not overlap. If finite-size particles inthe molecule do overlap, LAMMPS will not account for the overlapeffects when calculating any of these 3 quantities, so you shouldpre-compute them yourself and list the values in the file.
The mass and center-of-mass coordinates (Xc,Yc,Zc) areself-explanatory. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz)should be the values consistent with the current orientation of therigid body around its center of mass. The values are with respect tothe simulation box XYZ axes, not with respect to the principal axes ofthe rigid body itself. LAMMPS performs the latter calculationinternally.
These are the allowed section keywords for the body of the file.
Coords, Types, Molecules, Fragments, Charges, Diameters, Masses = atom-property sections
Bonds, Angles, Dihedrals, Impropers = molecular topology sections
Special Bond Counts, Special Bonds = special neighbor info
Shake Flags, Shake Atoms, Shake Bond Types = SHAKE info
If a Bonds section is specified then the Special Bond Counts andSpecial Bonds sections can also be used, if desired, to explicitlylist the 1-2, 1-3, 1-4 neighbors within the molecule topology (seedetails below). This is optional since if these sections are notincluded, LAMMPS will auto-generate this information. Note thatLAMMPS uses this info to properly exclude or weight bonded pairwiseinteractions between bonded atoms. See thespecial_bonds command for more details. Onereason to list the special bond info explicitly is for thethermalized Drude oscillator model which treats thebonds between nuclear cores and Drude electrons in a different manner.
Note
Whether a section is required depends on how the moleculetemplate is used by other LAMMPS commands. For example, to add amolecule via the fix deposit command, the Coordsand Types sections are required. To add a rigid body via the fix pour command, the Bonds (Angles, etc) sections are notrequired, since the molecule will be treated as a rigid body. Somesections are optional. For example, the fix pourcommand can be used to add “molecules” which are clusters offinite-size granular particles. If the Diameters section is notspecified, each particle in the molecule will have a default diameterof 1.0. See the doc pages for LAMMPS commands that use moleculetemplates for more details.
Each section is listed below in alphabetic order. The format of eachsection is described including the number of lines it must contain andrules (if any) for whether it can appear in the data file. For per-atom sections, entries should be numbered from 1 to Natoms (whereNatoms is the number of atoms in the template), indicating which atom(or bond, etc) the entry applies to. Per-atom sections need toinclude a setting for every atom, but the atoms can be listed in anyorder.
Coords section:
one line per atom
line syntax: ID x y z
x,y,z = coordinate of atom
Types section:
one line per atom
line syntax: ID type
type = atom type of atom
Molecules section:
one line per atom
line syntax: ID molecule-ID
molecule-ID = molecule ID of atom
Fragments section:
one line per fragment
line syntax: ID a b c d …
a,b,c,d,… = IDs of atoms in fragment
The ID of a fragment can only contain alphanumeric characters andunderscores. The atom IDs should be values from 1 to Natoms, whereNatoms = # of atoms in the molecule.
Charges section:
one line per atom
line syntax: ID q
q = charge on atom
This section is only allowed for atom styles thatsupport charge. If this section is not included, the default chargeon each atom in the molecule is 0.0.
Diameters section:
one line per atom
line syntax: ID diam
diam = diameter of atom
This section is only allowed for atom styles thatsupport finite-size spherical particles, e.g. atom_style sphere. Ifnot listed, the default diameter of each atom in the molecule is 1.0.
Masses section:
one line per atom
line syntax: ID mass
mass = mass of atom
This section is only allowed for atom styles thatsupport per-atom mass, as opposed to per-type mass. See themass command for details. If this section is notincluded, the default mass for each atom is derived from its volume(see Diameters section) and a default density of 1.0, inunits of mass/volume.
Bonds section:
one line per bond
line syntax: ID type atom1 atom2
type = bond type (1-Nbondtype)
atom1,atom2 = IDs of atoms in bond
The IDs for the two atoms in each bond should be valuesfrom 1 to Natoms, where Natoms = # of atoms in the molecule.
Angles section:
one line per angle
line syntax: ID type atom1 atom2 atom3
type = angle type (1-Nangletype)
atom1,atom2,atom3 = IDs of atoms in angle
The IDs for the three atoms in each angle should be values from 1 toNatoms, where Natoms = # of atoms in the molecule. The 3 atoms areordered linearly within the angle. Thus the central atom (aroundwhich the angle is computed) is the atom2 in the list.
Dihedrals section:
one line per dihedral
line syntax: ID type atom1 atom2 atom3 atom4
type = dihedral type (1-Ndihedraltype)
atom1,atom2,atom3,atom4 = IDs of atoms in dihedral
The IDs for the four atoms in each dihedral should be values from 1 toNatoms, where Natoms = # of atoms in the molecule. The 4 atoms areordered linearly within the dihedral.
Impropers section:
one line per improper
line syntax: ID type atom1 atom2 atom3 atom4
type = improper type (1-Nimpropertype)
atom1,atom2,atom3,atom4 = IDs of atoms in improper
The IDs for the four atoms in each improper should be values from 1 toNatoms, where Natoms = # of atoms in the molecule. The ordering ofthe 4 atoms determines the definition of the improper angle used inthe formula for the defined improper style. Seethe doc pages for individual styles for details.
Special Bond Counts section:
one line per atom
line syntax: ID N1 N2 N3
N1 = # of 1-2 bonds
N2 = # of 1-3 bonds
N3 = # of 1-4 bonds
N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively ofthis atom within the topology of the molecule. See thespecial_bonds doc page for more discussion of1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bondssection must also appear.
As explained above, LAMMPS will auto-generate this information if thissection is not specified. If specified, this section willoverride what would be auto-generated.
Special Bonds section:
one line per atom
line syntax: ID a b c d …
a,b,c,d,… = IDs of atoms in N1+N2+N3 special bonds
A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3,1-4 neighbors of this atom. The IDs should be values from 1 toNatoms, where Natoms = # of atoms in the molecule. The first N1values should be the 1-2 neighbors, the next N2 should be the 1-3neighbors, the last N3 should be the 1-4 neighbors. No atom ID shouldappear more than once. See the special_bonds docpage for more discussion of 1-2, 1-3, 1-4 neighbors. If this sectionappears, the Special Bond Counts section must also appear.
As explained above, LAMMPS will auto-generate this information if thissection is not specified. If specified, this section will overridewhat would be auto-generated.
Shake Flags section:
one line per atom
line syntax: ID flag
flag = 0,1,2,3,4
This section is only needed when molecules created using the templatewill be constrained by SHAKE via the “fix shake” command. The othertwo Shake sections must also appear in the file, following this one.
The meaning of the flag for each atom is as follows. See the fix shake doc page for a further description of SHAKEclusters.
0 = not part of a SHAKE cluster
1 = part of a SHAKE angle cluster (two bonds and the angle they form)
2 = part of a 2-atom SHAKE cluster with a single bond
3 = part of a 3-atom SHAKE cluster with two bonds
4 = part of a 4-atom SHAKE cluster with three bonds
Shake Atoms section:
one line per atom
line syntax: ID a b c d
a,b,c,d = IDs of atoms in cluster
This section is only needed when molecules created using the templatewill be constrained by SHAKE via the “fix shake” command. The othertwo Shake sections must also appear in the file.
The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atomsin the SHAKE cluster that this atom belongs to. The number of valuesthat must appear is determined by the shake flag for the atom (see theShake Flags section above). All atoms in a particular cluster shouldlist their a,b,c,d values identically.
If flag = 0, no a,b,c,d values are listed on the line, just the(ignored) ID.
If flag = 1, a,b,c are listed, where a = ID of central atom in theangle, and b,c the other two atoms in the angle.
If flag = 2, a,b are listed, where a = ID of atom in bond with thelowest ID, and b = ID of atom in bond with the highest ID.
If flag = 3, a,b,c are listed, where a = ID of central atom,and b,c = IDs of other two atoms bonded to the central atom.
If flag = 4, a,b,c,d are listed, where a = ID of central atom,and b,c,d = IDs of other three atoms bonded to the central atom.
See the fix shake doc page for a further descriptionof SHAKE clusters.
Shake Bond Types section:
one line per atom
line syntax: ID a b c
a,b,c = bond types (or angle type) of bonds (or angle) in cluster
This section is only needed when molecules created using the templatewill be constrained by SHAKE via the “fix shake” command. The othertwo Shake sections must also appear in the file.
The a,b,c values are bond types (from 1 to Nbondtypes) for all bondsin the SHAKE cluster that this atom belongs to. The number of valuesthat must appear is determined by the shake flag for the atom (see theShake Flags section above). All atoms in a particular cluster shouldlist their a,b,c values identically.
If flag = 0, no a,b,c values are listed on the line, just the(ignored) ID.
If flag = 1, a,b,c are listed, where a = bondtype of the bond betweenthe central atom and the first non-central atom (value b in the ShakeAtoms section), b = bondtype of the bond between the central atom andthe second non-central atom (value c in the Shake Atoms section), and c =the angle type (1 to Nangletypes) of the angle between the 3 atoms.
If flag = 2, only a is listed, where a = bondtype of the bond betweenthe 2 atoms in the cluster.
If flag = 3, a,b are listed, where a = bondtype of the bond betweenthe central atom and the first non-central atom (value b in the ShakeAtoms section), and b = bondtype of the bond between the central atomand the second non-central atom (value c in the Shake Atoms section).
If flag = 4, a,b,c are listed, where a = bondtype of the bond betweenthe central atom and the first non-central atom (value b in the ShakeAtoms section), b = bondtype of the bond between the central atom andthe second non-central atom (value c in the Shake Atoms section), and c =bondtype of the bond between the central atom and the third non-centralatom (value d in the Shake Atoms section).
See the fix shake doc page for a further descriptionof SHAKE clusters.
How Many Atoms In Hcp
Restrictions¶
None
Related commands¶
fix deposit, fix pour,fix gcmc
Default¶
Number Of Atoms In Hcp And Ccp
The default keywords values are offset 0 0 0 0 0 and scale = 1.0.