Scientific computing and visualization
SOPHIA
A molecular simulation workbench created for physics research at the Georgia Institute of Technology.
SOPHIA brings model setup, force-based simulation, energy minimization, trajectory playback, interactive 3D graphics, and quantitative graphing into one Java desktop application. Researchers can move from molecular coordinates to an inspectable, repeatable experiment without assembling a separate tool for every stage.
Research workflow
One application from molecular model to measurable result.
The interface guides the user through selecting a model, configuring the experiment, running it, reviewing the recorded frames, and plotting the variables produced by the solver. A controller layer coordinates the Swing views with separate simulation, recording, visualization, and chart models.
Import a system
Load atomic coordinates and the molecular interactions that define the model.
Configure the run
Choose dimensions, timestep, step count, output interval, temperature, and protocol.
Run the solver
Calculate forces, integrate motion, or minimize the system's potential energy.
Inspect and export
Play the trajectory in 3D, graph recorded variables, and save the result as PDB.
Import and export
A familiar coordinate format with explicit simulation data.
SOPHIA uses the legacy Protein Data Bank text format as its coordinate interchange. PDB ATOM records identify atoms and carry Cartesian X, Y, and Z positions, occupancy, and temperature-factor fields. The format's CONECT records can express connectivity by atom serial number.
PDB coordinate import
The importer reads each atom's identifier, type, molecule, chain, sequence, position, occupancy, temperature factor, mass, radius, and charge. SOPHIA extends the conventional coordinate record with the physical values its solver needs.
Companion structure files
A plain-text .sf file supplies the force field: bonded atom indices, equilibrium lengths and angles, force constants, torsion parameters, and global van der Waals radius and well depth. Keeping these values separate makes a model easier to inspect and tune.
Trajectory export
A completed recording can be written as a multi-frame PDB trajectory. Each frame stores updated coordinates, while connectivity records preserve the bond network so the exported motion can be loaded again for playback.
Format reference: wwPDB coordinate records and connectivity records.
Physics engine
Forces are assembled from the molecular model at every step.
Internally, a molecular cluster is represented as atoms plus associations between them. Each association contributes force vectors to its atoms and reports its own potential energy. The cluster clears the previous net force, applies every active interaction, and converts the result to acceleration through F = ma.
Harmonic bonds
Two-atom spring forces resist stretching or compression away from an equilibrium bond length. Their quadratic energy makes small displacements inexpensive and increasingly penalizes large distortions.
Harmonic angles
Three-atom interactions compare the current angle with its equilibrium value. The calculated force is distributed across all three atoms to restore the preferred molecular geometry.
Torsional rotation
Four connected atoms define a dihedral. A periodic torsion term models the energetic barriers encountered as one part of a molecule rotates around a bond.
van der Waals interaction
Non-bonded atom pairs use a Lennard-Jones-style potential: strong short-range repulsion prevents overlap while a weaker attractive region models dispersion at greater separation.
Electrostatics
Charged non-bonded atoms receive a Coulomb interaction scaled by the configured dielectric constant, producing attraction for opposite charges and repulsion for like charges.
Molecular dynamics
Follow motion through time.
The molecular-dynamics solver assigns initial velocities for the requested temperature, repeatedly calculates forces and accelerations, and advances atom positions and velocities with velocity-Verlet integration. The user controls the timestep in picoseconds, number of dimensions, run length, and how frequently a frame is recorded.
Each stored frame contains coordinates, time, temperature, kinetic energy, potential energy, total energy, and the individual potential terms. Optional temperature cycles can hold or ramp toward targets and rescale velocities during selected portions of a run, making heating, cooling, and equilibration protocols repeatable.
Energy minimization
Find a lower-energy configuration.
SOPHIA also runs geometry optimization without simulated thermal motion. Steepest descent proposes a displacement along the current force. Conjugate gradient combines the current force with the previous search direction to move more efficiently through long, narrow energy valleys.
A trial configuration is retained only when it lowers potential energy. Successful steps grow by a factor of 1.2; rejected steps restore the prior coordinates and shrink by 0.5. The run ends when the relative energy change falls below the selected convergence criterion or the step limit is reached.
Analysis
Turn a trajectory into evidence.
The recording model exposes every quantity available across its frames. JFreeChart then builds either a time-series view or a relationship plot selected by the researcher.
Time plots
Overlay temperature and one or more energy series against frame number. This makes equilibration, drift, transitions, and convergence visible across the complete run.
Scatter plots
Compare any two recorded variables—for example, temperature against kinetic energy or bond energy against total potential—to reveal correlation and outliers.
Energy decomposition
Inspect kinetic, total, and potential energy alongside bond, angle, torsion, van der Waals, and electrostatic contributions instead of relying on one aggregate number.
Interactive 3D graphics
A scene graph built directly from the molecular topology.
The viewer uses jMonkeyEngine and LWJGL. Atoms become lit sphere geometries and bonds become cylinder geometries attached to the scene's root node. For every recorded frame, atom spheres translate to the new Cartesian coordinates; each bond cylinder is scaled to the current distance, rotated onto the bond vector, and placed at its midpoint.
Playback controls step forward and backward, jump to a selected frame, or animate the trajectory at a configurable rate. Researchers can switch between a compact ball-and-stick representation and radius-scaled space-filling atoms, then recolor by element, atom, chain, or sequence to make different structures easier to read.
Read about the jMonkeyEngine scene graph
Technology
