Physical simulation that says which engine actually ran
Molecular dynamics, machine-learned potentials, docking and free energies, quantum estimators and phonons — wired to the same projects, runs and evidence ledger as the rest of the platform.
Every number names the engine that produced it
The provenance registry behind /physics treats a result as a claim: which engine, what kind of computation, what it cannot do, and how far to trust it. Real engine runs are COMPUTED; analytic fallbacks are DEMO with null values; machine-learned potentials are PREDICTED.
Six evidence classes form a ladder. Each class sets a ceiling on trust, and a card may claim a level below its ceiling but never above it — inconsistent labels are caught at card construction and clamped at response time, not printed.
- COMPUTED · E4 — A deterministic solver or exact computation ran — real DFT/MD, closed-form math, or deterministic deck templating whose text is exact.
- PREDICTED · E3 — A statistical or machine-learned model produced the number; accuracy is bounded by its training domain.
- MEASURED · E5 — A certified experimental measurement — the top of the ladder, where lab results live.
- EXTRACTED · E2 — Automated extraction from a vendor file or document, with its source attached.
- HYPOTHESIS · E1 — A generative screening candidate proposed for testing.
- DEMO · E0 — A synthetic or analytic placeholder. Numeric fields are null and the response says why.
value: null plus an install or container next step. Deck text may still be generated — deck templating is deterministic, so it is labelled template text, not a simulation result.GROMACS, OpenMM and LAMMPS from one deck workflow
Build real MD inputs and analysis on the server, with the engine card naming whether gmx, OpenMM or lmp actually ran. Availability is probed live, so an absent engine degrades to a labelled DEMO envelope rather than a quiet substitution.
Five .mdp presets — steepest-descent minimisation, conjugate-gradient polish, NVT, NPT and production — plus a full setup script (pdb2gmx → editconf → solvate → genion → grompp → mdrun) and a force-field/water matrix spanning AMBER, CHARMM, OPLS and GROMOS with TIP3P/TIP4P/SPC/SPCE. Analysis ports Kabsch RMSD, per-atom RMSF, radius of gyration and H-bond counting run over your frame arrays even when the gmx binary is not installed.
AMBER ff14SB/ff19SB, CHARMM36 and OpenFF SMIRNOFF; Langevin-middle and Brownian integrators; NVT or NPT with a Monte-Carlo barostat; StateDataReporter, DCD and checkpoint artifacts. Seeded replicates (up to eight) aggregate mean and standard deviation instead of dressing up one short trajectory, and the platform probe reports which of CPU/CUDA/OpenCL is available.
EAM/alloy and MEAM pair blocks, or ML potentials through pair_style mliap unified (MACE, SevenNet, ORB). A four-stage NPT deck — minimise, NVT equilibrate, NPT equilibrate, NPT production — includes dump and restart blocks, and the vacancy workflow ships paired bulk and defect decks with the E_vac = E_defect − (N−1)/N · E_bulk formula written into the payload so the arithmetic is auditable.
CPU, GPU and MPI batch scripts are returned as copy-paste text for gmx mdrun, long OpenMM runs and MPI LAMMPS defect sweeps. Decks and submission scripts are rendered server-side; the browser never executes a simulation.
Nine potentials, one driver, zero invented numbers
The unified MLIP driver resolves a structure, builds the right ASE calculator lazily, and reports availability before anything runs. Relaxation, MD, equation-of-state fits and benchmarks all reuse the same engine cards.
GET /api/mlip/registry probes every entry on this deployment: MACE, CHGNet, MatterSim, SevenNet, ORB, FAIR-Chem OMat24, M3GNet, ALIGNN and ASE EMT. Unavailable potentials are shown as unavailable, and ALIGNN states openly that it ships no ASE calculator and is property-prediction only. Probing is import-only — no weights are downloaded to answer the question.
Energy, forces and stress from a CIF, POSCAR, pymatgen structure or ASE atoms object; relaxation with BFGS, FIRE, LBFGS or GPMin and a downsampled energy/fmax trajectory; NVT (Langevin) or NPT molecular dynamics through ASE. Every field is machine-learned prediction, labelled PREDICTED/E3 — never COMPUTED as if it were DFT.
An isotropic strain scan single-points each volume and fits a quadratic E(V) around the minimum to report V0 and B0. The uncertainty endpoint runs the same structure across every available potential and returns mean and standard deviation of the per-atom energy as a disagreement proxy — and returns no spread when fewer than two potentials exist, rather than inventing an error bar.
Benchmark runs report energy/force/stress MAE against your reference entries, plus hull-distance and phonon-span errors and a cross-instance leaderboard. The embedded Phonopy workflow then turns MLIP or caller-supplied DFT forces into phonon bands, DOS and thermal properties.
From receptor prep to a ligand network
Vina and Smina score real poses when the binaries are present; preparation steps that are deterministic (boxes, PDBQT text, atom maps) always run. Every scoring path states its engine, and a missing binary returns DEMO with value null.
Receptor preparation writes PDBQT with Open Babel when it is present (hydrogens optional), rigidifies the result for Vina, and can split named flexible residues (chain:RESnum) into a real flex file that matches ATOM records — with a warning when the names match nothing rather than pretending the split worked.
Define a centre and size in the 5–60 Å sanity range, use the auto-centroid blind box, or start from pocket presets (kinase ATP, GPCR orthosteric, protease active, blind) and supply an explicit centre for a real target. The generated vina argv is returned alongside the box.
Single docking returns affinities in kcal/mol plus PDBQT poses and greedy RMSD pose clusters. Array runs screen up to 200 ligands on a worker pool with an optional GPU queue hand-off. Ensemble docking docks one ligand across up to twelve receptor conformations and rolls the scores into a Boltzmann-weighted affinity at a stated temperature.
Build atom maps with sanity filters, plan a relative free-energy network (minimum-spanning-tree strategy), generate lambda schedules and run an MBAR-lite estimator. Chemical-space projection and diversity picking place a ligand set in context. OpenFE alchemical free energy runs behind component validation and atom/step caps: when OpenFE and OpenMM are both present it builds the RBFE network descriptor and a short CPU vacuum/minimisation sanity — explicitly labelled not a production ΔΔG — and otherwise reports a validation-only DEMO rather than a fabricated number.
Fast estimators now, real DFT where a cluster exists
The composition path is a fast physics heuristic; it is honest about being one. Real ab-initio work is dispatched by compute tier, and periodic plane-wave DFT is only ever sent to a configured remote Slurm cluster.
From a formula or POSCAR/CIF: formation energy, d-band centre and adsorption energetics for metallic compositions, with band gaps taken only from a live Materials Project lookup — otherwise null with a note. Three tiers are reported explicitly: GPAW planewave DFT when installed (COMPUTED), a real M3GNet/MatPES GNN relaxation (PREDICTED/E3), or the labelled composition heuristic (DEMO).
A real ASE EMT relaxation runs for the metals EMT is parameterised for, and optional MLIP bridges upgrade the formation-energy path to a genuine interatomic-potential prediction when a checkpoint is configured. The engine name in the response says exactly which path produced the number.
Local execution routes by tier: classical EMT (Al, Ag, Au, Cu, Ni, Pd, Pt), semi-empirical GFN2-xTB on finite clusters up to 60 atoms, and ab-initio Psi4 HF/def2-SVP for formula units up to 12 atoms. Periodic plane-wave DFT (PBE, PBEsol, LDA, RPBE, revPBE, SCAN, HSE06) requires a configured remote Slurm cluster and is dispatched over SSH sbatch; on localhost it fails with an explanation instead of silently substituting EMT.
Generate INCAR, KPOINTS and POSCAR with POTCAR specifications plus a Quantum ESPRESSO deck from a parsed structure or generated prototype cell, with optional Hubbard-U and D3 dispersion settings. This path writes inputs only — it never claims to have run a solver.
Lattice dynamics over MLIP or DFT forces
The Phonopy depth service turns displacements and forces into force constants, then into band structures, density of states and thermal properties — reporting imaginary modes instead of hiding them.
One end-to-end Phonopy workflow: generate supercell displacements, attach forces, produce force constants, then compute a mesh and total DOS, band structure (seekpath auto-path when available) and thermal properties — free energy, entropy and heat capacity over the temperature range you choose.
Caller-supplied force sets in eV/Å take precedence and are shape-validated against the number of displaced supercells and atoms, with a clear error on mismatch. Otherwise the unified MLIP driver evaluates each displacement — defaulting to EMT so the workflow runs on a bare install.
Imaginary frequencies are counted and flagged with a note that they indicate a dynamical instability at 0 K (or unconverged forces), not suppressed. Without forces the service returns the displacement dataset only, and the band, DOS and thermal fields are null — never zero-filled stand-ins.
A CPU-array Slurm template emits one task per phonon displacement for cluster evaluation. For inspection, the animation endpoint returns exact modulated supercells from the eigenvectors — real geometry frames, not a rendered video.
Questions the engine cards already answer
Does Matflow simulate in my browser?
What is the difference between COMPUTED and DEMO here?
Are MLIP energies DFT results?
Can I submit jobs to my own cluster?
What happens if Vina, GROMACS or Phonopy is missing?
Can I use DFT forces in the phonon workflow?
How do I see what actually ran?
Add physics to your campaign
Screen candidates, relax structures and run real engines where installed — then feed the results into the same projects, evidence ledger and reports as the rest of your work.