-
Home
-
Chapters
-
Libraries
-
Programs
<
>
Titus A. Beu, Professor Emeritus, Dr.
University Babeş-Bolyai Faculty of Physics Department of Biomolecular Physics 1, M. Kogălniceanu Street, Cluj-Napoca Romania, 400084 Mobile: +40-752-441608 Email: [email protected] Email: [email protected] |
Molecular Dynamics (MD) has matured into one of the most powerful and reliable computational tools in present-day research, not only having the ability to explain in detail known behavior, but also to anticipate uncharted phenomenology. In spite of its wide-spread use, due the growing complexity of the models and methodologies amassed in state-of-the-art MD simulators, amplified by complications associated with preparation and post-analysis of the runs, employing and, moreover, developing MD software becomes increasingly intricate and risks to remain the apanage of “initiates”.
I put forward a concept and a software repository for introducing MD at graduate/post-graduate level, based on unifying data structures and programming techniques in Python and C/C++. The main aim is to enable acquisition of specific coding abilities in parallel with operation skills of an established MD code. Essentially, Python scripting is used for building the initial configurations and post-analyzing the MD trajectories. The developed MD modules rely on published numerical and graphical libraries Introduction to Numerical Programming. On the other hand, C/C++ is used to build a suite of simple MD simulators mimicking the functionalities of an established MD code, in a sequence of gradually growing complexity, along with the introduction of new theoretical elements. Fundamental aspects such as molecular models, force fields, time propagation, thermodynamic reservoirs, electrostatics in periodic systems, and acceleration techniques are given particular emphasis. The results of the simulation test runs are consistently compared with output from established MD codes to clarify the relevance of the various modeling aspects. |
Molecular Dynamics Simulations
- Introduction to MD simulations
- Molecular structure
- Basic Molecular Dynamics
- Simulation of simple fluids
- Measurements
- Force fields
- Electrostatics in periodic systems
- Simulations with NAMD
- Special numerical techniques
- Vibrational analysis
- Rigid-body dynamics
- Tight-binding MD
- Parallelization
- Parameterizion of force fields
Under construction
MDsquad library
MDsquad.py is a general library for MD simulations in Python, composed of several modules for specific tasks.
mdsquad.zip | |
File Size: | 0 kb |
File Type: | zip |
mdsquad.py
Component modules
AtomMasses.py Assign atomic masses and atomic numbers
AtomMass - Returns the mass of an atom (in amu).
AtomMasses - Sets the .mass field of an atom set based on the .symb or .name fields.
AtomMass - Returns the mass of an atom (in amu).
AtomMasses - Sets the .mass field of an atom set based on the .symb or .name fields.
Constants.py Definitions of basic units and conversion factors
CoordTrans0.py Transform coordinates of atoms (tutorial version)
GetBBox - Returns the bounding box (positions of opposite corners) for an atom list.
GetCM - Returns the CM position of an atom set.
MoveCM - Moves the CM of an atom set to a given position.
Center - Moves the geometric center of an atom set to position r.
RadiusGyration - Returns the radius of gyrations for an atom set.
PrincipalAxes - Aligns an atom set to the system of principal axes.
Rotate - Rotates an atom set about the origin using a rotation matrix.
RotMatEuler - Generates the rotation matrix for given Euler angles.
GetBBox - Returns the bounding box (positions of opposite corners) for an atom list.
GetCM - Returns the CM position of an atom set.
MoveCM - Moves the CM of an atom set to a given position.
Center - Moves the geometric center of an atom set to position r.
RadiusGyration - Returns the radius of gyrations for an atom set.
PrincipalAxes - Aligns an atom set to the system of principal axes.
Rotate - Rotates an atom set about the origin using a rotation matrix.
RotMatEuler - Generates the rotation matrix for given Euler angles.
CoordTrans.py Transform coordinates of atoms
GetBBox - Returns the bounding box (positions of opposite corners) for an atom list.
GetCM - Returns the CM position of an atom set.
MoveCM - Moves the CM of an atom set to a given position.
MoveRel - Moves an atom set over a given distance.
Center - Moves the geometric center of an atom set to position r.
RadiusGyration - Returns the radius of gyrations for an atom set.
PrincipalAxes - Aligns an atom set to the system of principal axes.
Rotate - Rotates an atom set about the origin using a rotation matrix.
RotMatEuler - Generates the rotation matrix for given Euler angles.
RotMatAxis - Generates the rotation matrix for a given angle about a Cartesian axis.
RotMatVec - Generates the rotation matrix for a given angle about a vector.
RotMatVec2Vec - Generates the rotation matrix for aligning two vectors.
CircleCenter - Returns the center of the circle defined by three points.
AlignAtoms2Axes - Rotates an atom set with the plane formed by three atoms perpendicular to an axis, with the defined circle centered at the origin, and an atom placed along a second axis.
GetBBox - Returns the bounding box (positions of opposite corners) for an atom list.
GetCM - Returns the CM position of an atom set.
MoveCM - Moves the CM of an atom set to a given position.
MoveRel - Moves an atom set over a given distance.
Center - Moves the geometric center of an atom set to position r.
RadiusGyration - Returns the radius of gyrations for an atom set.
PrincipalAxes - Aligns an atom set to the system of principal axes.
Rotate - Rotates an atom set about the origin using a rotation matrix.
RotMatEuler - Generates the rotation matrix for given Euler angles.
RotMatAxis - Generates the rotation matrix for a given angle about a Cartesian axis.
RotMatVec - Generates the rotation matrix for a given angle about a vector.
RotMatVec2Vec - Generates the rotation matrix for aligning two vectors.
CircleCenter - Returns the center of the circle defined by three points.
AlignAtoms2Axes - Rotates an atom set with the plane formed by three atoms perpendicular to an axis, with the defined circle centered at the origin, and an atom placed along a second axis.
DataInOut0.py Input/output from/to PDB files (tutorial version)
ReadPDB0 - Reads data from a pdb file to an atom list.
WritePDB0 - Writes data from an atom list to a pdb file.
GetSetNumPDB - Gets the number of sets/frames (ended with "END") in an unopened pdb file.
SeekSetPDB - Jumps to set iset in an opened pdb file (skips (iset - 1) tokens "END").
ReadSetPDB - Reads the current set in an opened pdb file. Returns an atom list and a Box.
ReadPDB0 - Reads data from a pdb file to an atom list.
WritePDB0 - Writes data from an atom list to a pdb file.
GetSetNumPDB - Gets the number of sets/frames (ended with "END") in an unopened pdb file.
SeekSetPDB - Jumps to set iset in an opened pdb file (skips (iset - 1) tokens "END").
ReadSetPDB - Reads the current set in an opened pdb file. Returns an atom list and a Box.
DataInOut.py Input/output from/to NAMD and Gromacs files
ReadPDB - Reads data from a pdb file to an atom list.
WritePDB - Writes data from an atom list to a pdb file.
ReadPSF - Reads data from a psf file to an atom list.
WritePSF - Writes data from an atom list to a psf file.
ReadPar - Reads force parameters from a CHARMM-type file to lists of atom, bond, angle, and dihedral types.
WritePar - Writes force parameters to a CHARMM-type file from lists of atom, bond, angle, and dihedral types.
ReadParFF - Reads force parameters from a CHARMM-type file to predefined atoms, bonds, angles, and dihedrals.
WriteParFF - Writes force parameters to a CHARMM-type file from predefined atoms, bonds, angles, and dihedrals.
ReadTop - Reads atom types, residue types, and declarations from a CHARMM topology file.
WriteTop - Writes atom types, residue types, and declarations to a CHARMM topology file.
ReadDCD - Reads data to an atom list from a NAMD/X-PLOR/CHARMM trajectory (dcd) file.
WriteDCD - Writes data from an atom list to a NAMD/X-PLOR/CHARMM trajectory (dcd) file.
WriteFF - Writes non-bonded and bonded force parameters for atom, pair, bond, angle, and dihedral types to Gromacs topology files.
WriteITP - Writes a Gromacs itp topology file for a molecule type.
ReadTOP - Reads data to an atom list from a Gromacs top file and included itp files.
WriteTOP - Writes a Gromacs topology file for a molecule.
MergeTOP - Merges Gromacs topology files for two molecules.
ReadTRR - Reads data to an atom list from a Gromacs trajectory (trr) file.
ReadPDB - Reads data from a pdb file to an atom list.
WritePDB - Writes data from an atom list to a pdb file.
ReadPSF - Reads data from a psf file to an atom list.
WritePSF - Writes data from an atom list to a psf file.
ReadPar - Reads force parameters from a CHARMM-type file to lists of atom, bond, angle, and dihedral types.
WritePar - Writes force parameters to a CHARMM-type file from lists of atom, bond, angle, and dihedral types.
ReadParFF - Reads force parameters from a CHARMM-type file to predefined atoms, bonds, angles, and dihedrals.
WriteParFF - Writes force parameters to a CHARMM-type file from predefined atoms, bonds, angles, and dihedrals.
ReadTop - Reads atom types, residue types, and declarations from a CHARMM topology file.
WriteTop - Writes atom types, residue types, and declarations to a CHARMM topology file.
ReadDCD - Reads data to an atom list from a NAMD/X-PLOR/CHARMM trajectory (dcd) file.
WriteDCD - Writes data from an atom list to a NAMD/X-PLOR/CHARMM trajectory (dcd) file.
WriteFF - Writes non-bonded and bonded force parameters for atom, pair, bond, angle, and dihedral types to Gromacs topology files.
WriteITP - Writes a Gromacs itp topology file for a molecule type.
ReadTOP - Reads data to an atom list from a Gromacs top file and included itp files.
WriteTOP - Writes a Gromacs topology file for a molecule.
MergeTOP - Merges Gromacs topology files for two molecules.
ReadTRR - Reads data to an atom list from a Gromacs trajectory (trr) file.
DataTypes0.py Definitions of main classes (tutorial version)
Atom - Basic atom class.
Bond - Bond class.
Angle - Angle class.
Dihedral - Dihedral angle class.
Atom - Basic atom class.
Bond - Bond class.
Angle - Angle class.
Dihedral - Dihedral angle class.
DataTypes.py Definitions of main classes
Atom - Basic atom class.
Pair - Pair class.
Bond - Bond class.
Angle - Angle class.
Dihedral - Dihedral angle class.
IntCoord - Internal coordinate class.
Residue - Residue class.
BeadType - Bead type class
Atom - Basic atom class.
Pair - Pair class.
Bond - Bond class.
Angle - Angle class.
Dihedral - Dihedral angle class.
IntCoord - Internal coordinate class.
Residue - Residue class.
BeadType - Bead type class
GetBonded.py Identify and measure bonds, angles, and dihedrals
GetBonds - Returns the bonds formed by a list of atoms for a given exclusion distance.
SetBondType - Sets the atom types and type indexes of a bond list from a bond type list.
GetBondsPar - Returns the bonds formed by a list of atoms for a given exclusion distance, with force parameters set from a list of bond types.
GetBondsRes - Returns the bonds formed by a list of residues.
GetExtraBonds - Returns the extra bonds formed by an atom list for given exclusion conditions.
GetExclusions - Returns a list of excluded atom pairs, based on list of exclusion types.
GetAngles - Returns the angles formed by a list of bonds with common atoms.
SetAngleType - Sets the atom types and type indexes of an angle list from an angle type list.
GetAnglesPar - Returns the angles formed by a list of bonds, with the force parameters set from a list of angle types.
GetDihedrals - Returns the dihdrals formed by a list of angles with common atoms.
SetDihedralType - Sets the atom types and type indexes of a dihedrals list from a dihedral type list.
GetDihedralsPar - Returns the dihedrals formed by a list of angles, with the force parameters set from a list of dihedral types.
GetImpropers - Returns the improper angles formed by a central atom and 3 bonded atoms.
GetBonded - Returns the bonds, angles, and dihedrals formed by a list of atoms.
GetBondedPar - Returns the bonds, angles, and dihedrals formed by a list of atoms, with force parameters set from lists of bond-, angle-, and dihedral types.
BondLen - Returns the length of the bond between two atoms.
BendAng - Returns the bending angle between three atoms.
DihAng - Returns the signed dihedral angle between four atoms.
GetBonds - Returns the bonds formed by a list of atoms for a given exclusion distance.
SetBondType - Sets the atom types and type indexes of a bond list from a bond type list.
GetBondsPar - Returns the bonds formed by a list of atoms for a given exclusion distance, with force parameters set from a list of bond types.
GetBondsRes - Returns the bonds formed by a list of residues.
GetExtraBonds - Returns the extra bonds formed by an atom list for given exclusion conditions.
GetExclusions - Returns a list of excluded atom pairs, based on list of exclusion types.
GetAngles - Returns the angles formed by a list of bonds with common atoms.
SetAngleType - Sets the atom types and type indexes of an angle list from an angle type list.
GetAnglesPar - Returns the angles formed by a list of bonds, with the force parameters set from a list of angle types.
GetDihedrals - Returns the dihdrals formed by a list of angles with common atoms.
SetDihedralType - Sets the atom types and type indexes of a dihedrals list from a dihedral type list.
GetDihedralsPar - Returns the dihedrals formed by a list of angles, with the force parameters set from a list of dihedral types.
GetImpropers - Returns the improper angles formed by a central atom and 3 bonded atoms.
GetBonded - Returns the bonds, angles, and dihedrals formed by a list of atoms.
GetBondedPar - Returns the bonds, angles, and dihedrals formed by a list of atoms, with force parameters set from lists of bond-, angle-, and dihedral types.
BondLen - Returns the length of the bond between two atoms.
BendAng - Returns the bending angle between three atoms.
DihAng - Returns the signed dihedral angle between four atoms.
Measure.py Measure basic properties from MD trajectories
RDF - Returns the Radial Distribution Function for a pair of atom names.
RadGyr - Returns the radius of gyration of the atoms corresponding to a given residue name.
DiffCoef - Returns the diffusion coefficient of the atoms having a given name, using Einstein's formula.
DiffCoefCMv - Returns the diffusion coefficient of the atoms corresponding to a given segment name, using Einstein's formula.
RDF - Returns the Radial Distribution Function for a pair of atom names.
RadGyr - Returns the radius of gyration of the atoms corresponding to a given residue name.
DiffCoef - Returns the diffusion coefficient of the atoms having a given name, using Einstein's formula.
DiffCoefCMv - Returns the diffusion coefficient of the atoms corresponding to a given segment name, using Einstein's formula.
Residues.py Identify residues
GetResidues - Identifies residues, sets limiting atoms indexes, and tags residues by type.
SelectResidues - Selects residues from a list matching the types in selection string.
GetResidues - Identifies residues, sets limiting atoms indexes, and tags residues by type.
SelectResidues - Selects residues from a list matching the types in selection string.
SelectAtoms.py Create selections of atoms
Eval - Evaluates for an atom a simple selection expression.
Parantheses - Returns the positions of matching paranthesis in an expression after a given position.
BoolEval - Evaluates a simple boolean expression composed of selection expressions to be evaluated by Eval.
SelectAtom - Evaluates for an atom a complex (encapsulated) binary boolean expression.
SelectAtoms - Returns a selection of atoms from a list for a complex (encapsulated) binary boolean expression.
Eval - Evaluates for an atom a simple selection expression.
Parantheses - Returns the positions of matching paranthesis in an expression after a given position.
BoolEval - Evaluates a simple boolean expression composed of selection expressions to be evaluated by Eval.
SelectAtom - Evaluates for an atom a complex (encapsulated) binary boolean expression.
SelectAtoms - Returns a selection of atoms from a list for a complex (encapsulated) binary boolean expression.
SetupConfig.py Set up basic atomic configurations
CutBox - Cuts from a list of atoms a rectangular selection of given size centered at the origin.
CutSphere - Cuts from a list of atoms a spherical selection of given radius centered at the origin.
C60cage - Returns a C60 cage, built as a truncated icosahedron.
AmorphCluster - Builds a random amorphous spherical cluster of atoms with a given exclusion distance.
CubicCrystal - Builds a cubic atomic crystal.
Graphene - Builds a graphene sheet centered about the origin.
CarbonNanotube - Builds an armchair-type carbon nanotube of given chirality and length, centered about the origin.
Lattice - Returns a rectangular grid enclosed in a box centered aboout the origin, with a given minimum node spacing.
AmorphBox - Builds an amorphous box centered about the origin, placing randomly the sites, with a given exclusion distance.
GenBox - Generates a box centered about the origin, with replicas of a given molecule placed randomly rotated on a regular grid.
WaterMol - Sets up a TIP3P water molecule.
WaterBox - Sets up a of TIP3P water box of normal density centered at the origin.
WatMol - Sets up a TIP3P or TIP4P water molecule.
WatBox - Sets up a TIP3P or TIP4P water box of normal density centered at the origin.
Solvate - Solvates a cluster in a water box centered at the origin, with an exclusion distance dmin.
CutBox - Cuts from a list of atoms a rectangular selection of given size centered at the origin.
CutSphere - Cuts from a list of atoms a spherical selection of given radius centered at the origin.
C60cage - Returns a C60 cage, built as a truncated icosahedron.
AmorphCluster - Builds a random amorphous spherical cluster of atoms with a given exclusion distance.
CubicCrystal - Builds a cubic atomic crystal.
Graphene - Builds a graphene sheet centered about the origin.
CarbonNanotube - Builds an armchair-type carbon nanotube of given chirality and length, centered about the origin.
Lattice - Returns a rectangular grid enclosed in a box centered aboout the origin, with a given minimum node spacing.
AmorphBox - Builds an amorphous box centered about the origin, placing randomly the sites, with a given exclusion distance.
GenBox - Generates a box centered about the origin, with replicas of a given molecule placed randomly rotated on a regular grid.
WaterMol - Sets up a TIP3P water molecule.
WaterBox - Sets up a of TIP3P water box of normal density centered at the origin.
WatMol - Sets up a TIP3P or TIP4P water molecule.
WatBox - Sets up a TIP3P or TIP4P water box of normal density centered at the origin.
Solvate - Solvates a cluster in a water box centered at the origin, with an exclusion distance dmin.
VecMatR3.py Definitions of basic vector and matrix classes in R3 and applicable methods
VecMatR0.py
VecR3 - vector class in R3
__add__ - addition
__iadd__ - inplace addition
__sub__ - subtraction
__isub__ - inplace subtraction
__mul__ - multiplication with scalar
__imul__ - inplace multiplication with scalar
__rmul__ - reflected multiplication with scalar
__neg__ - negation
__truediv__ - division by scalar
__itruediv__ - inplace division by scalar
.norm - norm
.square - squared norm
.unit - unit vector
.dot - dot product
.cross - cross product
.cos - cos of angle between two vectors
.sin - sin of angle between two vectors
.proj - projection of a vector onto another vector
.perp - perpendicular of a vector onto another vector
.wrap - wrap a vector into a bounding box
.wrap2 - wrap a vector closest to another vector
AxisR3 - returns a Cartesian axis
VecVecR3 - convert list to VecR3
MatR3 - matrix class in R3
__mul__ - matrix multiplication with vector
.trans - transposed matrix
MatMatR3 - convert 2D list to MatR3
VecMatR0.py
VecR3 - vector class in R3
__add__ - addition
__iadd__ - inplace addition
__sub__ - subtraction
__isub__ - inplace subtraction
__mul__ - multiplication with scalar
__imul__ - inplace multiplication with scalar
__rmul__ - reflected multiplication with scalar
__neg__ - negation
__truediv__ - division by scalar
__itruediv__ - inplace division by scalar
.norm - norm
.square - squared norm
.unit - unit vector
.dot - dot product
.cross - cross product
.cos - cos of angle between two vectors
.sin - sin of angle between two vectors
.proj - projection of a vector onto another vector
.perp - perpendicular of a vector onto another vector
.wrap - wrap a vector into a bounding box
.wrap2 - wrap a vector closest to another vector
AxisR3 - returns a Cartesian axis
VecVecR3 - convert list to VecR3
MatR3 - matrix class in R3
__mul__ - matrix multiplication with vector
.trans - transposed matrix
MatMatR3 - convert 2D list to MatR3
Under construction
List of programs by chapter
2 Molecular structure |
|
Listing | Source / Input | Output | ||
2.1 | P02-01-VecOp.py | Simple vector operations. | ||
2.2 |
P02-02-Measure.py
meoh.pdb |
Move a molecule to the CM system and measure its bounding box. | meoh_CM.pdb | |
2.3 |
P02-03-SelectAtoms.py
7bz5.pdb |
Remove spurious H2O atoms from the system and select a semi-space. | 7bz5_select.pdb | |
2.4 |
P02-04-PrincipalAxes.py
meoh.pdb |
Rotate a molecule to the system of principal axes |
meoh_x.pdb meoh_z.pdb |
|
2.5 | P02-05-C60cage.py | Set up a C60 cage as a truncated icosahedron. | c60.pdb | |
2.6 | P02-06-AmorphCluster.py | Generate an amorphous spherical atomic cluster. | cluster.pdb | |
2.7 | P02-07-Crystal.py | Set up a cubic atomic (gold) crystal. | crystal.pdb | |
2.8 | P02-08-CrystalCluster.py | Generate a spherical crystalline (gold) cluster. | crystclus.pdb | |
2.9 | P02-09-Graphene.py | Set up a graphene sheet. | graphene.pdb | |
2.10 | P02-10-CarbonNanotube.py | Set up an armchair-type carbon nanotube. | cnt.pdb | |
2.11 |
P02-11-DNA-CNT.py
dna.pdb |
Wrap a DNA double-helix in a carbon nanotube. | dna-cnt.pdb | |
2.12 | P02-12-AmorphBox.py | Generate an amorphous box of Ar atoms. | amorph.pdb | |
2.13 | P02-13-WaterMol.py | Set up a TIP3P water molecule. | watmol.pdb | |
2.14 | P02-14-WaterBox.py | Set up a TIP3P water box. | water.pdb | |
2.15 | P02-15-SolvateCluster.py | Solvate a cluster in a water box. | solv_clus.pdb | |
2.16 |
P02-16-SolvateDNA.py
dna.pdb |
Solvate a DNA double-helix in a water box. |
solv_dna.pdb |
3 Basic Molecular Dynamics |
|
Listing | Source / Input | Output | ||
MDsim0.cpp
BasicTypes.h Constants.h Memalloc0.h DataTypes0.h DataInOut0.h Forces0.h InOut0.h Propag0.h Vrescal0.h mdsim.dat mdsim.pdb mdsim.psf mdsim.par |
MDsim0 simulator: main program.
Definition of basic real and complex types. Definition of basic units and conversion factors. Dynamic memory allocation of vectors. Define the main Atom type. Read/write from/to pdb/psf/par files. Calculate Lennard-Jones interaction forces. Define I/O functions for the main simulation parameters. Define the time propagation function. Define functions for rescaling velocities. Main simulation parameters. System (pdb) configuration file. System (psf) structure file Force field (par) parameter file. |
mdsim_trj.pdb |
mdsim.out |
4 Simulation of simple fluids |
|
Listing | Source / Input | Output | ||
MDsim1.cpp
BasicTypes.h Constants.h Memalloc0.h DataTypes0.h DataInOut1.h Forces1.h InOut1.h Propag1.h Vrescal1.h mdsim.dat mdsim.pdb mdsim.psf mdsim.par |
MDsim1 simulator: main program.
Definition of basic real and complex types. Definition of basic units and conversion factors. Dynamic memory allocation of vectors. Define the main Atom type. Read/write from/to pdb/psf/par files. Calculate Lennard-Jones interaction forces. Define I/O functions for the main simulation parameters. Define the time propagation function. Define functions for rescaling velocities. Main simulation parameters. System (pdb) configuration file. System (psf) structure file Force field (par) parameter file. |
mdsim_trj.pdb |
mdsim.out |
5 Measurements |
|
Listing | Source / Input | Output | ||
5.1 |
P05-01-Statistics.py
mdsim.out |
Calculate for an Ar gas time averages of basic parameters (energies and pressure) from an MDsim output file. | ||
5.2 |
P05-02-TimeDep.py
mdsim.out |
Plot for an Ar gas time dependences of basic parameters from an MDsim output file. | ||
5.3 |
P05-03-ReadSetPDB.py
DataInOut1.py mdsim_trj.pdb |
Read/write a particular frame (set) from an MDsim trajectory file. | mdsim_set.pdb | |
5.4 |
P05-04-Vdistrib.py
mdsim_trj.pdb |
Plot for an Ar gas the average velocity distribution from an MDsim trajectory file. | vhisto.out | |
5.5 |
P05-05-HBoltz.py
mdsim.out mdsim_trj.pdb |
Plot the H-Boltzmann function, averaged over sequences of MDsim trajectory frames. | hboltz.out | |
5.6 |
P05-06-Rdistrib.py
mdsim_trj.pdb |
Plot the radial distribution function, averaged over sequences of MDsim frames. | rhisto.out | |
5.7 |
P05-07-DiffCoef.py
mdsim_100ps.out mdsim_trj_100ps.pdb |
Calculate the diffusion coefficient for Ar gas, based on Einstein's formula. |
diffcoef.out |
6 Force fields |
|
Listing | Source / Input | Output | ||
6.1 |
P06-GenBoxCO.py
DataInOut2.py |
Set up a CO gas box of normal density; generate pdb and psf files. |
CO_216.pdb
CO_216.psf |
CO_1000.pdb
CO_1000.psf |
MDsim2.cpp
BasicTypes.h Constants.h Memalloc0.h DataTypes1.h DataInOut2.h Forces2.h InOut2.h PairList0.h Propag2.h Vrescal2.h mdsim.dat mdsim.pdb mdsim.psf mdsim.par |
MDsim2 simulator: main program.
Definition of basic real and complex types. Definition of basic units and conversion factors. Dynamic memory allocation of vectors. Define the main Atom type. Read/write from/to pdb/psf/par files. Calculate Lennard-Jones interaction forces. Define I/O functions for the main simulation parameters. Define functions for setting up pair lists. Define the time propagation function. Define functions for rescaling velocities. Main simulation parameters. System (pdb) configuration file. System (psf) structure file Force field (par) parameter file. |
mdsim_trj.pdb mdsim.out |
|
7 Electrostatics in periodic systems
Listing | Source / Input | Output | ||
MDsim3.cpp
BasicTypes.h Constants.h Memalloc0.h DataTypes1.h DataInOut2.h Forces3.h InOut3.h PairList0.h Propag3.h Vrescal2.h mdsim.dat mdsim.pdb mdsim.psf mdsim.par |
MDsim3 simulator: main program.
Definition of basic real and complex types. Definition of basic units and conversion factors. Dynamic memory allocation of vectors. Define the main Atom type. Read/write from/to pdb/psf/par files. Calculate Lennard-Jones interaction forces. Define I/O functions for the main simulation parameters. Define functions for setting up pair lists. Define the time propagation function. Define functions for rescaling velocities. Main simulation parameters. System (pdb) configuration file. System (psf) structure file Force field (par) parameter file. |
mdsim_trj.pdb mdsim.out |
|
Under construction
Contact
Str. Theodor Capidan, Nr. 13-15, Apt. 7
Cluj-Napoca, RO-400479
www.signumdata.net
[email protected]
+40 752 441 608 +40 745 657 751
Cluj-Napoca, RO-400479
www.signumdata.net
[email protected]
+40 752 441 608 +40 745 657 751