Skip to content

Instantly share code, notes, and snippets.

@akey7
Created March 24, 2020 18:21
Show Gist options
  • Save akey7/f9ed2a818931a44a3515ceb8f8318fd0 to your computer and use it in GitHub Desktop.
Save akey7/f9ed2a818931a44a3515ceb8f8318fd0 to your computer and use it in GitHub Desktop.
NAMD NVT run configuration capturing lots of position frames for smooth animations
# Obviously, this will need to be modified for the particular situations at hand,
# but capturing every 50 timesteps at 2 fs/step is a good starting point for a
# 30 fps animation.
# Run with the following command line
# charmrun ++remote-shell ssh +p10 $(which namd2) 5eui_nvt.namd | tee 5eui_minimize_log.out
structure 5eui_nvt.psf
coordinates 5eui_nvt.pdb
# Temperature is used in both minimization and NVT steps
set temperature 310 ;# target temperature used several times below
# Set temperature to set velocities for minimization. Comment out for NVT.
# temperature $temperature ;# initialize velocities randomly
# continuing a run
# Uncomment these lines to continue run after minimization
# Leave commented out for minimization
set inputname 5eui_minimize ;# only need to edit this in one place!
binCoordinates $inputname.restart.coor ;# coordinates from last run (binary)
binVelocities $inputname.restart.vel ;# velocities from last run (binary)
# .xsc not needed here
# extendedSystem $inputname.xsc ;# cell dimensions from last run
firsttimestep 2000 ;# last step of previous run
# Number of steps is set below, commenting out here
# numsteps 250000 ;# run stops when this step is reached
outputName 5eui_nvt ;# base name for output from this run
# The DCD output deserves special mention. It contains every position of the
# atoms that will show up as a frame in the animation. Write to it frequently
# For 90,000 steps (see below) every 50 steps will give us 1800 frames for
# a minute of video. All other logging output will match its frequency.
dcdfreq 50 ;# Write every 50 steps from to the DCD
# Frequency at which to write the files
restartfreq 500 ;# 500 steps = every 1ps. Don't need restart data at every step.
xstFreq 50
# Energies and the computation time estimates aren't needed for animation,
# so they do not need to be written as often. This boosts performance since
# energies are expensive to compute.
outputEnergies 500; # Energies aren't needed for the animation. Don't compute as often.
outputTiming 500; # Timing until the end of the run aren't used for the animation.
# Force-Field Parameters
paraTypeCharmm on
parameters par_all36_lipid_prot_carb.prm
# These are specified by CHARMM
exclude scaled1-4
1-4scaling 1.0
switching on
# You have some freedom choosing the cutoff
cutoff 12. ;# may use smaller, maybe 10., with PME
switchdist 10. ;# cutoff - 2.
# Promise that atom won't move more than 2A in a cycle
pairlistdist 14. ;# cutoff + 2.
stepspercycle 10 ;# redo pairlists every ten steps
# Integrator Parameters
timestep 2.0 ;# 2 fs/step
rigidBonds all ;# needed for 2fs steps
nonbondedFreq 1 ;# nonbonded forces every step
fullElectFrequency 2 ;# PME only every other step
# Constant Temperature Control
langevin on ;# langevin dynamics
langevinDamping 1. ;# damping coefficient of 1/ps
langevinTemp $temperature ;# random noise at this level
langevinHydrogen no ;# don't couple bath to hydrogens
# Periodic Boundary conditions
cellBasisVector1 70.30900001525879 0 0
cellBasisVector2 0 70.30600166320801 0
cellBasisVector3 0 0 61.305999755859375
cellOrigin -6.241292476654053 -16.991411209106445 -17.680774688720703
# Water wrapping
wrapWater on ;# wrap water to central cell
wrapAll on ;# wrap other molecules too
wrapNearest off ;# use for non-rectangular cells
#PME (for full-system periodic electrostatics)
PME yes
# let NAMD determine grid
PMEGridSpacing 1.0
# manually specify grid
#PMEGridSizeX 32 ;# 2^5, close to 31.2
#PMEGridSizeY 45 ;# 3^2 * 5, close to 44.8
#PMEGridSizeZ 54 ;# 2 * 3^3, close to 51.3
# Constant Pressure Control (variable volume)
useGroupPressure yes ;# needed for rigid bonds
useFlexibleCell no ;# no for water box, yes for membrane
useConstantArea no ;# no for water box, maybe for membrane
langevinPiston on
langevinPistonTarget 1.01325 ;# pressure in bar -> 1 atm
langevinPistonPeriod 100. ;# oscillation period around 100 fs
langevinPistonDecay 50. ;# oscillation decay time of 50 fs
langevinPistonTemp $temperature ;# coupled to heat bath
# We aren't using fixed atoms in this minimization.
# fixedAtoms on
# fixedAtomsFile myfixedatoms.pdb ;# flags are in this file
# fixedAtomsCol B ;# set beta non-zero to fix an atom
IMDon on
IMDport 3000 ;# port number (enter it in VMD)
IMDfreq 1 ;# send every 1 frame
IMDwait no ;# wait for VMD to connect before running?
# Do not attempt to minimize the structure. It is already minimized.
# minimize 2000 ;# lower potential energy for 1000 steps
reinitvels $temperature ;# since minimization zeros velocities
run 90000 ;# Run 90,000 steps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment