2 Highly Optimized Object-oriented Many-particle Dynamics -- Blue Edition
3 (HOOMD-blue) Open Source Software License Copyright 2008-2011 Ames Laboratory
4 Iowa State University and The Regents of the University of Michigan All rights
7 HOOMD-blue may contain modifications ("Contributions") provided, and to which
8 copyright is held, by various Contributors who have granted The Regents of the
9 University of Michigan the right to modify and/or distribute such Contributions.
11 You may redistribute, use, and create derivate works of HOOMD-blue, in source
12 and binary forms, provided you abide by the following conditions:
14 * Redistributions of source code must retain the above copyright notice, this
15 list of conditions, and the following disclaimer both in the code and
16 prominently in any materials provided with the distribution.
18 * Redistributions in binary form must reproduce the above copyright notice, this
19 list of conditions, and the following disclaimer in the documentation and/or
20 other materials provided with the distribution.
22 * All publications and presentations based on HOOMD-blue, including any reports
23 or published results obtained, in whole or in part, with HOOMD-blue, will
24 acknowledge its use according to the terms posted at the time of submission on:
25 http://codeblue.umich.edu/hoomd-blue/citations.html
27 * Any electronic documents citing HOOMD-Blue will link to the HOOMD-Blue website:
28 http://codeblue.umich.edu/hoomd-blue/
30 * Apart from the above required attributions, neither the name of the copyright
31 holder nor the names of HOOMD-blue's contributors may be used to endorse or
32 promote products derived from this software without specific prior written
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' AND
38 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
39 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND/OR ANY
40 WARRANTIES THAT THIS SOFTWARE IS FREE OF INFRINGEMENT ARE DISCLAIMED.
42 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
43 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
45 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
46 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
47 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
48 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
53 Welcome to the \b user documentation for HOOMD-blue!
55 -# \subpage page_install_guide
56 -# \subpage page_quick_start
57 -# \subpage page_units
58 -# \subpage page_example_scripts
59 -# \subpage page_command_list
60 -# \subpage page_xml_file_format
61 -# \subpage page_command_line_options
62 -# \subpage page_conversion_scripts
63 -# \subpage page_compile_guide
64 -# \subpage page_license
65 -# \subpage page_citing
66 -# \subpage page_credits
70 Up to date documentation can be found at the following links:
71 - <a href="http://codeblue.umich.edu/hoomd-blue/doc/">Documentation</a> for the latest <b>packaged release</b>.
72 - <a href="http://codeblue.umich.edu/hoomd-blue/doc-master/">Documentation</a> for the current <b>development version</b> in \em master.
73 - Documentation consistent with any given version can be built from the source code by following the instructions in \ref page_compile_guide.
76 /*! \page page_command_list Index of Script Commands
78 Click on an individual command in the list to go to its documentation. Click on the package link at the
79 beginning of each list to get a general overview of all commands in that package.
84 - \ref sec_index_integration
85 - \ref sec_index_update
86 - \ref sec_index_compute
87 - \ref sec_index_analyze
92 - \ref sec_index_angle
93 - \ref sec_index_dihedral
94 - \ref sec_index_improper
95 - \ref sec_index_charge
97 - \ref sec_index_constraint
98 - \ref sec_index_other
101 - \ref sec_index_group
102 - \ref sec_index_variant
104 - \ref sec_index_tuning
105 - \ref sec_index_benchmark
107 \section sec_index_run Run
108 - \link hoomd_script.run() run\endlink - <i>Runs the simulation for a given number of time steps</i>
109 - \link hoomd_script.run_upto() run_upto\endlink - <i>Runs the simulation up to a given time step number</i>
111 \section sec_index_init Initialize
112 - \link hoomd_script.init.create_empty() init.create_empty\endlink - <i>Create an empty system</i>
113 - \link hoomd_script.init.create_random() init.create_random\endlink - <i>Generates N randomly positioned particles of the same type </i>
114 - \link hoomd_script.init.create_random_polymers() init.create_random_polymers\endlink - <i>Generates any number of randomly positioned polymers of configurable types </i>
115 - \link hoomd_script.init.read_bin() init.read_bin\endlink - <i>Reads initial system state from a binary file </i>
116 - \link hoomd_script.init.read_xml() init.read_xml\endlink - <i>Reads initial system state from an XML file</i>
118 - \link hoomd_script.init.reset() init.reset\endlink - <i>Resets all hoomd_script variables </i>
119 - \link hoomd_script.init.is_initialized() init.is_initialized\endlink - <i>Tests if the system has been initialized </i>
121 - \link hoomd_script.data data access\endlink - <i>Access particles, bonds, and other state information inside scripts </i>
123 \section sec_index_integration Integrate
124 - \link hoomd_script.integrate.mode_minimize_fire integrate.mode_minimize_fire\endlink - <i>Energy Minimizer (FIRE) </i>
125 - \link hoomd_script.integrate.mode_minimize_rigid_fire integrate.mode_minimize_rigid_fire\endlink - <i>Energy Minimizer (rigid bodies) (FIRE)</i>
126 - \link hoomd_script.integrate.mode_standard integrate.mode_standard\endlink - <i>Enables a variety of standard integration methods </i>
127 - \link hoomd_script.integrate.berendsen integrate.berendsen\endlink - <i>NVT integration via the Berendsen thermostat</i>
128 - \link hoomd_script.integrate.bdnvt integrate.bdnvt\endlink - <i>NVT integration via Brownian dynamics </i>
129 - \link hoomd_script.integrate.bdnvt_rigid integrate.bdnvt_rigid\endlink - <i>NVT integration of rigid bodies via Brownian Dynamics</i>
130 - \link hoomd_script.integrate.npt integrate.npt\endlink - <i>NPT Integration via the Nosé-Hoover thermostat, Anderson barostat</i>
131 - \link hoomd_script.integrate.npt_rigid integrate.npt_rigid\endlink - <i>NPT Integration of rigid bodies</i>
132 - \link hoomd_script.integrate.nve integrate.nve\endlink - <i>NVE Integration via Velocity-Verlet </i>
133 - \link hoomd_script.integrate.nve_rigid integrate.nve_rigid\endlink - <i>NVE integration of rigid bodies</i>
134 - \link hoomd_script.integrate.nvt integrate.nvt\endlink - <i>NVT Integration via the Nosé-Hoover thermostat </i>
135 - \link hoomd_script.integrate.nvt_rigid integrate.nvt_rigid\endlink - <i>NVT integration of rigid bodies</i>
137 \section sec_index_update Update
138 - \link hoomd_script.update.box_resize update.box_resize\endlink - <i>Rescales the system box size </i>
139 - \link hoomd_script.update.enforce2d update.enforce2d\endlink - <i>Enforces 2D simulation </i>
140 - \link hoomd_script.update.rescale_temp update.rescale_temp\endlink - <i>Rescales particle velocities </i>
141 - \link hoomd_script.update.sort update.sort\endlink - <i>Sorts particles in memory to improve cache coherency</i>
142 - \link hoomd_script.update.zero_momentum update.zero_momentum\endlink - <i>Zeroes system momentum </i>
144 \section sec_index_compute Compute
145 - \link hoomd_script.compute.thermo compute.thermo\endlink - <i>Compute thermodynamic properties of a group of particles </i>
147 \section sec_index_analyze Analyze
148 - \link hoomd_script.analyze.imd analyze.imd\endlink - <i>Sends simulation snapshots to VMD in real-time </i>
149 - \link hoomd_script.analyze.log analyze.log\endlink - <i>Logs a number of calculated quantities to a file </i>
150 - \link hoomd_script.analyze.msd analyze.msd\endlink - <i>Calculates the mean-squared displacement of groups of particles and logs the values to a file </i>
152 \section sec_index_dump Dump
153 - \link hoomd_script.dump.dcd dump.dcd\endlink - <i>Writes simulation snapshots in the DCD format </i>
154 - \link hoomd_script.dump.mol2 dump.mol2\endlink - <i>Writes a simulation snapshot in the MOL2 format </i>
155 - \link hoomd_script.dump.pdb dump.pdb\endlink - <i>Writes simulation snapshots in the PBD format </i>
156 - \link hoomd_script.dump.bin dump.bin\endlink - <i>Writes simulation snapshots in a binary format </i>
157 - \link hoomd_script.dump.xml dump.xml\endlink - <i>Writes simulation snapshots in the HOOMD XML format </i>
161 \section sec_index_pair Pair potentials
162 - \link hoomd_script.pair.cgcmm pair.cgcmm\endlink - <i>CMM coarse-grain model %pair %force </i>
163 - \link hoomd_script.pair.dpd pair.dpd\endlink - <i>NVT Integration via Dissipative Particle Dynamics %pair %force </i>
164 - \link hoomd_script.pair.dpdlj pair.dpdlj\endlink - <i>NVT Integration via Dissipative Particle Dynamics and LJ Force %pair %force </i>
165 - \link hoomd_script.pair.dpd_conservative pair.dpd_conservative\endlink - <i>DPD Conservative %pair %force </i>
166 - \link hoomd_script.pair.eam pair.eam\endlink - <i>EAM %pair %force </i>
167 - \link hoomd_script.pair.ewald pair.ewald\endlink - <i>Short range ewald %pair %force </i>
168 - \link hoomd_script.pair.gauss pair.gauss\endlink - <i>Gaussian %pair %force </i>
169 - \link hoomd_script.pair.lj pair.lj\endlink - <i>Lennard-Jones %pair %force </i>
170 - \link hoomd_script.pair.morse pair.morse\endlink - <i>Morse %pair %force </i>
171 - \link hoomd_script.pair.table pair.table\endlink - <i>Tabulated %pair %force </i>
172 - \link hoomd_script.pair.slj pair.slj\endlink - <i>Shifted Lennard-Jones %pair %force </i>
173 - \link hoomd_script.pair.yukawa pair.yukawa\endlink - <i>Yukawa %pair %force </i>
174 - \link hoomd_script.pair.nlist nlist\endlink - <i>Interface for controlling neighbor list parameters </i>
176 \section sec_index_bond Bond potentials
177 - \link hoomd_script.bond.harmonic bond.harmonic\endlink - <i>Harmonic %bond force </i>
178 - \link hoomd_script.bond.fene bond.fene\endlink - <i>FENE %bond force </i>
180 \section sec_index_angle Angle potentials
181 - \link hoomd_script.angle.harmonic angle.harmonic\endlink - <i>Harmonic %angle force </i>
182 - \link hoomd_script.angle.cgcmm angle.cgcmm\endlink - <i>CGCMM %angle force </i>
184 \section sec_index_dihedral Dihedral potentials
185 - \link hoomd_script.dihedral.harmonic dihedral.harmonic\endlink - <i>Harmonic %dihedral force </i>
187 \section sec_index_improper Improper potentials
188 - \link hoomd_script.improper.harmonic improper.harmonic\endlink - <i>Harmonic %improper force </i>
190 \section sec_index_charge Electrostatic potentials
191 - \link hoomd_script.charge.pppm charge.pppm\endlink - <i>Long-range electrostatics computed with the PPPM method</i>
193 \section sec_index_wall Wall potentials
194 - \link hoomd_script.wall.lj wall.lj\endlink - <i>Lennard-Jones %wall %force </i>
196 \section sec_index_constraint Constraint forces
197 - \link hoomd_script.constrain.sphere constrain.sphere\endlink - <i>Constrain particles to the surface of a sphere </i>
199 \section sec_index_other Other forces
200 - \link hoomd_script.force.constant force.constant\endlink - <i>Constant %force </i>
205 \section sec_index_group Group
207 - \link hoomd_script.group.all() group.all\endlink - <i>Groups all particles </i>
208 - \link hoomd_script.group.charged() group.charged\endlink - <i>Groups particles that are charged</i>
209 - \link hoomd_script.group.cuboid() group.cuboid\endlink - <i>Groups particles in a cuboid</i>
210 - \link hoomd_script.group.nonrigid() group.nonrigid\endlink - <i>Groups particles that do not belong to rigid bodies</i>
211 - \link hoomd_script.group.rigid() group.rigid\endlink - <i>Groups particles that belong to rigid bodies</i>
212 - \link hoomd_script.group.tag_list() group.tag_list\endlink - <i>Groups particles by tag list </i>
213 - \link hoomd_script.group.tags() group.tags\endlink - <i>Groups particles by tag </i>
214 - \link hoomd_script.group.type() group.type\endlink - <i>Groups particles by type </i>
216 - \link hoomd_script.group.difference() group.difference\endlink - <i>Create a new group from the set difference or complement of two existing groups </i>
217 - \link hoomd_script.group.intersection() group.intersection\endlink - <i>Create a new group from the set intersection of two existing groups </i>
218 - \link hoomd_script.group.union() group.union\endlink - <i>Create a new group from the set union of two existing groups </i>
220 \section sec_index_variant Variants
221 - \link hoomd_script.variant.linear_interp variant.linear_interp\endlink - <i>Linearly interpolated variant</i>
223 <h2>Miscellaneous commands</h2>
224 \section sec_index_tuning Tune
225 - \link hoomd_script.tune.find_optimal_block_sizes() tune.find_optimal_block_sizes\endlink - <i>Determine optimal block size tuning parameters </i>
226 - \link hoomd_script.tune.r_buff() tune.r_buff()\endlink - <i>Make a series of short runs to determine the fastest performing r_buff setting </i>
228 \section sec_index_benchmark Benchmark
229 - \link hoomd_script.benchmark.series() benchmark.series\endlink - <i>Perform a series of short runs to benchmark overall simulation performance</i>