Claude Code Plugins

Community-maintained marketplace

Feedback

molecular-dynamics

@benchflow-ai/skillsbench
7
0

Molecular dynamics simulation tools for atomistic modeling. Use for simulating ion transport, diffusion coefficients, and electrolyte molecular behavior at the atomic level.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name molecular-dynamics
description Molecular dynamics simulation tools for atomistic modeling. Use for simulating ion transport, diffusion coefficients, and electrolyte molecular behavior at the atomic level.

Molecular Dynamics Simulation

Tools for running molecular dynamics simulations of electrolyte systems.

Common MD Packages

# OpenMM for GPU-accelerated MD
from openmm import app, unit
from openmm.app import PDBFile, ForceField, Simulation

# MDAnalysis for trajectory analysis
import MDAnalysis as mda
from MDAnalysis.analysis import rdf, msd

# ASE for atomistic simulations
from ase import Atoms
from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
from ase.md.langevin import Langevin

Setting Up MD Simulation

from openmm import app
from openmm import LangevinMiddleIntegrator
import openmm.unit as unit

# Load structure
pdb = app.PDBFile('electrolyte.pdb')
forcefield = app.ForceField('amber14-all.xml', 'amber14/tip3p.xml')

# Create system
system = forcefield.createSystem(
    pdb.topology,
    nonbondedMethod=app.PME,
    nonbondedCutoff=1.0*unit.nanometer
)

# Setup integrator
integrator = LangevinMiddleIntegrator(
    300*unit.kelvin,
    1/unit.picosecond,
    0.002*unit.picoseconds
)

# Create simulation
simulation = app.Simulation(pdb.topology, system, integrator)
simulation.context.setPositions(pdb.positions)

# Run simulation
simulation.step(10000)

Calculating Diffusion Coefficients

import MDAnalysis as mda
from MDAnalysis.analysis.msd import EinsteinMSD

# Load trajectory
u = mda.Universe('topology.pdb', 'trajectory.xtc')

# Select lithium ions
li_ions = u.select_atoms('name Li')

# Calculate MSD
msd_analysis = EinsteinMSD(u, select='name Li', msd_type='xyz')
msd_analysis.run()

# Diffusion coefficient from MSD
D = msd_analysis.D  # in A^2/ps

Ion Transport Analysis

def calculate_ionic_conductivity(D, c, z, T):
    """
    Calculate ionic conductivity from diffusion coefficient.

    Nernst-Einstein equation:
    sigma = (z^2 * F^2 * c * D) / (R * T)

    Parameters:
    - D: Diffusion coefficient (m^2/s)
    - c: Concentration (mol/m^3)
    - z: Ion charge
    - T: Temperature (K)
    """
    F = 96485  # C/mol
    R = 8.314  # J/(mol*K)
    return (z**2 * F**2 * c * D) / (R * T)