Simulator Inputs
Set model parameters and integration controls, then run the simulation.
Example Data Table
| Scenario | N | ρ | T | dt | Steps | ε | σ | rc |
|---|---|---|---|---|---|---|---|---|
| Dense liquid start | 64 | 0.80 | 1.00 | 0.004 | 5000 | 1.00 | 1.00 | 2.50 |
| Hot gas-like regime | 36 | 0.20 | 2.50 | 0.003 | 4000 | 1.00 | 1.00 | 2.50 |
| Near-solid lattice | 100 | 1.00 | 0.30 | 0.002 | 6000 | 1.00 | 1.00 | 2.50 |
Formula Used
Lennard-Jones potential
The pair interaction between particles i and j is V(r) = 4ε[(σ/r)12 − (σ/r)6]. With shifted cutoff, V(rc) is subtracted so the potential is zero at rc.
Force
The force on i from j is Fij = 24ε(2(σ/r)12 − (σ/r)6) (rij/r2). Periodic boundaries use the minimum-image displacement.
Velocity-Verlet integration
This calculator advances positions and velocities using the velocity-Verlet method: update half-step velocity, update position, recompute forces, then complete the velocity update.
Temperature and pressure
With kB = 1 in 2D, the instantaneous temperature uses equipartition: T = 2KE/(2(N−1)). Pressure uses a virial form: P = ρT + (1/(2V)) Σ rij·Fij.
How to Use This Calculator
- Choose particle count, density, and initial temperature.
- Set interaction parameters ε and σ, then choose a cutoff.
- Select periodic boundaries for bulk-like behavior.
- Pick timestep and steps; start small if unstable.
- Run the simulation and review energies and history.
- Download CSV or PDF to archive your run.
Professional Article
What this simulator models
This calculator runs a two dimensional molecular dynamics experiment for identical particles. It integrates Newton’s equations for N bodies interacting through the Lennard-Jones potential. You control particle count, density, and initial temperature, then observe potential energy, kinetic energy, and pressure during the run in reduced units suitable for fast studies.
Lennard-Jones parameters and reduced units
Lennard-Jones parameters set both strength and size. Epsilon scales interaction energy, while sigma fixes the distance where the potential crosses zero. Many users keep epsilon equals 1 and sigma equals 1 to work in reduced units. Changing them rescales energies, forces, and stable timesteps accordingly for consistent comparisons across cases.
Time integration and stability
The simulator uses velocity-Verlet integration, a symplectic method with good energy behavior. Stability mainly depends on dt, density, and temperature. For liquid-like states, dt between 0.002 and 0.006 is common. If total energy drifts strongly, reduce dt or lower temperature. Increase steps for averaging, but keep sample interval modest always.
Cutoff strategy and computational cost
Force evaluation scales as N squared because every pair is checked. The cutoff radius reduces cost by ignoring distant interactions, and 2.5 sigma is a standard compromise. Shifted cutoff also removes the discontinuity in potential at rc, improving energy smoothness. For larger N, limit steps or sampling points to run.
Boundary conditions and minimum image
Periodic boundaries wrap particles back into the box and apply the minimum image convention, which approximates an infinite material. Open boundaries let particles drift away, which can lower collision rates and distort pressure estimates. For bulk thermodynamics, enable periodic mode and choose a density between 0.3 and 1.0 for realism.
Temperature control and ensemble choice
Temperature control is optional. With no thermostat, the run resembles an NVE trajectory and total energy should remain nearly constant. With velocity rescaling, the code periodically adjusts speeds to match the target temperature, approximating NVT behavior. Apply rescaling every 50 to 200 steps to avoid over-damping while maintaining stable statistics.
Interpreting energy, temperature, and pressure
Kinetic energy comes from velocities after removing center of mass drift, and temperature follows equipartition with 2 times (N minus 1) degrees of freedom in 2D. Pressure is computed from rho T plus a virial term. Compare averages after equilibration, not the first few samples especially when starting from lattice.
Practical tuning for quick, reliable runs
For quick studies, start with N equals 36 to 64, density near 0.6, and temperature 1.0. Use dt 0.004, cutoff 2.5 sigma, and sample every 50 steps. If results look noisy, increase steps before increasing N. Export CSV for plotting and PDF for reports then refine parameters to match system.
FAQs
1) What do reduced units mean here?
Reduced units set kB, mass, sigma, and epsilon as convenient scales. Temperatures, energies, and lengths become dimensionless. Setting epsilon=1 and sigma=1 makes comparisons easier and keeps typical stable timesteps in the 0.002-0.006 range.
2) Why is total energy drifting without a thermostat?
Large dt, strong overlaps, or truncated forces can cause drift. Reduce dt, start from lattice, use shifted cutoff, and keep temperature moderate. With no thermostat, check that total energy fluctuates but does not trend over many samples.
3) What cutoff radius should I choose?
A common choice is rc = 2.5 sigma for Lennard-Jones fluids. Smaller cutoffs run faster but bias energies and pressure. If accuracy matters, keep 2.5 sigma and use the shifted option for smoother behavior.
4) When should I enable velocity rescaling?
Enable velocity rescaling when you want to maintain a target temperature during equilibration or parameter sweeps. Disable it for energy-conserving tests, where you examine drift. If enabled, apply it every 50-200 steps to avoid suppressing natural fluctuations.
5) How is pressure estimated in this simulator?
Pressure uses a two dimensional virial estimator: P = rho T + (1/(2V)) sum over pairs of r_ij dot F_ij. It is sensitive to equilibration and finite size. Average pressure after the transient, and compare runs at the same density and cutoff.
6) Why do results change when I change the seed?
The seed changes the initial random velocities, so early trajectories differ. After enough steps, macroscopic averages should converge if parameters match. Use a fixed seed for reproducible testing, or vary seeds to estimate statistical uncertainty.
7) How can I speed up a slow run?
Reduce N, steps, or max history points, and increase sampleEvery to store fewer rows. Keep rc near 2.5 sigma but consider slightly smaller values for fast previews. Using lattice initialization also avoids expensive rejection placement in dense cases.