********************** Classical MD with NAMD ********************** Classical MD can be performed with `NAMD `_ via an :py:obj:`MD` object, as used in the :ref:`Solvation ` workflow. The following options are for generic MD settings. For NAMD specific options see :py:obj:`NAMD`. General options =============== .. py:attribute:: boundary Periodic boundary conditions (PBCs). Allowed values are: * ``'periodic'`` (default): With PBCs * ``'sphere'``, ``'spherical'``, or ``'droplet'``: Non-periodic without PBCs .. py:attribute:: chk (default: ``''``) Check filename to write out .. py:attribute:: dcd (default: ``''``) DCD filename to write out .. py:attribute:: driver (default: ``'dl_poly'``) We currently only support ``driver='namd'`` for classical MD simulations on biomolecular systems .. py:attribute:: ensemble (default: ``'NPT'``) Ensemble of simulation. No ensemble is applied :py:attr:`periodic` is ``'sphere'``, ``'spherical'``, or ``'droplet'`` .. py:attribute:: ff :noindex: (default: ``'charmm'``) Name of forcefield scheme. We currently only support the `CHARMM-type forcefield `__ (not to be confused with the `CHARMM program `__). See :ref:`INSTALL ` for installing the CHARMM forcefield data .. py:attribute:: fix (default: ``[]``) List of indices of atoms to fix during an MD simulation. In practice, such a list is typically obtained by :py:func:`Fragment.select` .. py:attribute:: freq_chk (default: ``-1``) Frequency of writing out checkpoint files. If undefined the number will be determined by ChemShell as ceil(:py:attr:`nsteps`/100) when :py:attr:`nsteps` is greater than 100 or ``1`` otherwise .. py:attribute:: freq_dcd (default: ``-1``) Frequency of writing out DCD files. If undefined the number will be determined by ChemShell as ceil(:py:attr:`nsteps`/100) when :py:attr:`nsteps` is greater than 100 or ``1`` otherwise .. py:attribute:: freq_xst (default: ``-1``) Frequency of writing out :py:attr:`XST ` files. If undefined the number will be determined by ChemShell as ceil(:py:attr:`nsteps`/100) when :py:attr:`nsteps` is greater than 100 or ``1`` otherwise .. py:attribute:: freq_out_energy (default: ``-1``) Frequency of writing out energies. If undefined the number will be determined by ChemShell as ceil(:py:attr:`nsteps`/100) when :py:attr:`nsteps` is greater than 100 or ``1`` otherwise .. py:attribute:: freq_out_pressure (default: ``-1``) Frequency of writing out pressures. If undefined the number will be determined by ChemShell as ceil(:py:attr:`nsteps`/100) when :py:attr:`nsteps` is greater than 100 or ``1`` otherwise .. py:attribute:: langevin (default: ``True``) Perform Langevin dynamics .. py:attribute:: langevin_temperature (default: ``None``) Temperature of Langevin dynamics .. py:attribute:: langevin_damping (default: ``1`` ps\ :sup:`-1`) Damping coefficient for Langevin dynamics .. py:attribute:: langevin_H (default: ``False``) Apply Langevin dynamics to hydrogen atoms .. py:attribute:: langevin_piston (default: ``False``) Use the Langevin piston pressure control method .. py:attribute:: langevin_piston_target (default: ``1.01325`` bar) Target pressure of the Langevin piston method .. py:attribute:: langevin_piston_period (default: ``100.0`` femtoseconds) Barostat oscillation time scale for the Langevin piston .. py:attribute:: langevin_piston_decay (default: ``50.0`` femtoseconds) Barostat damping time scale for the Langevin piston .. py:attribute:: langevin_piston_temp (default: ``293.15`` Kelvin) Barostat noise temperature for the Langevin piston .. py:attribute:: minimise (default: ``100``) Number of energy minimisation steps to take, typically before an MD simulations starts .. py:attribute:: nsnapshots (default: ``10``) Number of snapshots to take after a simulation is successfully run. They will be taken only from the second half out of a trajectory to use equilibrated data as much as possible. There is also an independent tool for taking snapshots from an existing DCD trajectory: :py:meth:`tools.takeSnapshots` .. py:attribute:: nsteps (default: ``100``) Number of MD steps to simulate .. py:attribute:: pbc_wrap (default: ``[]``) List of atom indices to perform PBC wrapping .. py:attribute:: rigid Use the rigid bond model by making hydrogen---connected--atom constrained. Accepted values are: * ``'all'`` (default) Constrain all hydrogen---connected--atom bonds to the positions defined by the forcefield parameters. Also Constrain all hydrogen---oxygen---hydrogen angles in water molecules * ``'water'`` Constrain only hydrogen---oxygen bonds and hydrogen---oxygen---hydrogen angles of water molecules to the positions defined by the forcefield parameters * ``'none'`` No rigid bond constraint .. py:attribute:: seed (default: ``2020``) Seed number for generating random numbers .. py:attribute:: spheric_r0 (default: ``-1.0`` Bohr) Spherical radius *r*\ :sub:`SBC` in Bohr for non-periodic simulations with spherical boundary conditions (SBCs). The default value ``-1.0`` means that ChemShell will determine it by calculating the system's stretching radius. When defined, it must be a positive decimal number. .. py:attribute:: spheric_k (default: ``10.0``) Force constant *k*\ :sub:`SBC` for the SBCs harmonic potential. The potential is calculated as *P*\ :sub:`SBC` = *k*\ :sub:`SBC`\ (||\ *r*\ :sub:`i` - *r*\ :sub:`centre`\ || - *r*\ :sub:`SBC`)\ \*\*\ *exp*\ :sub:`SBC` .. py:attribute:: spheric_exponent (default: ``2``) Exponent *exp*\ :sub:`SBC` for the SBCs harmonic potential. A typical value is ``2`` or ``4`` .. py:attribute:: temperature (default: ``293.15`` Kelvin) Temperature of simulation .. py:attribute:: theory :noindex: (default: ``None``) `Theory ` object for evaluating the energies and gradients .. py:attribute:: timestep (default: ``1.0`` femtosecond) Timestep of MD simulation