# Data from: A statistical mechanics framework for constructing non-equilibrium thermodynamic models

## Abstract

Far-from-equilibrium phenomena are critical to all natural and engineered systems, and essential to biological processes responsible for life. For over a century and a half, since Carnot, Clausius, Maxwell, Boltzmann, and Gibbs, among many others, laid the foundation for our understanding of equilibrium processes, scientists and engineers have dreamed of an analogous treatment of non-equilibrium systems. But despite tremendous efforts, a universal theory of non-equilibrium behavior akin to equilibrium statistical mechanics and thermodynamics has evaded description. Several methodologies have proved their ability to accurately describe complex non-equilibrium systems at the macroscopic scale, but their accuracy and predictive capacity is predicated on either phenomenological kinetic equations fit to microscopic data, or on running concurrent simulations at the particle level. Instead, we provide a framework for deriving stand-alone macroscopic thermodynamics models directly from microscopic physics without fitting in overdamped Langevin systems. The only necessary ingredient is a functional form for a parameterized, approximate density of states, in analogy to the assumption of a uniform density of states in the equilibrium microcanonical ensemble. We highlight this framework’s effectiveness by deriving analytical approximations for evolving mechanical and thermodynamic quantities in a model of coiled-coil proteins and double stranded DNA, thus producing, to the authors’ knowledge, the first derivation of the governing equations for a phase propagating system under general loading conditions without appeal to phenomenology. The generality of our treatment allows for application to any system described by Langevin dynamics with arbitrary interaction energies and external driving, including colloidal macromolecules, hydrogels, and biopolymers.

## README: Reproducing data for: a statistical mechanics framework for constructing non-equilibrium thermodynamic models

https://doi.org/10.5061/dryad.kwh70rzbd

### Description of the data and file structure

This data set contains 4 zipped folders (Fig2,Fig3,Fig4,Fig5) each containing the necessary data to reconstruct the associated figure. Source code for producing replica plots using python3 can be found in the github repository below. All data is stored in the Numpy .npy file format as multidimensional arrays. Fig2, and Fig3 simply contain data for a single simulation. Fig4 contains four sub directories (Linear,SineSlow,Step,OffSet) corresponding to simulations with different pulling protocols. Linear is the linear pulling protocol, SineSlow the sinusoidal. Both Step and OffSet feature step protocols but Step features a symmetric potential and OffSet an asymmetric potential. Fig5 contains several simulations of 17 masses and a single simulation of 62 masses. The data are held in subdirectories labeled V2, V1_4 etc. The names correspond to the pulling velocity, V2 -> v = 2, V1_4 -> v = 1/4 etc. VelData and VisDissData contains aggregated data about the front velocity and viscous dissipation for all simulations.

**More detailed description of each directory and the data therein.**

The contents of the zipped files will be described in the following format:

| BaseDirectory/

| - SubDirectoy/

| - - fileName.npy - (data shape\, description) - (data shape\, numeric) --- description of data

| Data/

| - Fig2/

| - - ts.npy - (time steps\,) - (201\,) --- time points for both the Langevin simulation and STIV integrator

| - - x0.npy - (Langevin Simulations\,) - (10e5) --- random initial positions for the Langevin simulation. Used to fit STIV internal variables (mus\, sigs)

| - - xs.npy - (time steps\, Langevin Simulations) - (201\,10e5) --- evaluation points for the random trajectories of the Langevin simulations

| - - Ws.npy - (time steps\, Langevin Simulations) - (201\,10e5) --- The total work done at each time for each Langevin simulation

| - - mus.npy - (time steps\,) - (201\,) --- values of the internal variable associated with the mean position at each time

| - - sigs.npy - (time steps\,) - (201\,) --- values of the internal variable associated with the standard deviation at each time

| - - langevinFex.npy - (time steps\,) - (201\,) --- the average external force of the Langevin simulations for each time

| - - langevinEP.npy - (time steps\,) - (201\,) --- the estimated rate of total entropy production of the Langevin simulations for each time

| - - eyinkFex.npy - (time steps\,) - (201\,) --- the average external force of the STIV approximation for each time

| - - eyinkEP.npy - (time steps\,) - (201\,) --- the estimated rate of total entropy production of the STIV approximation for each time

| - Fig3/

| - - ts.npy - (time steps\,) - (200) - see Fig2

| - - x0.npy - (Langevin Simuations\, system dimension) - (10e5\,2) --- see Fig2\, but last dimension corresponds to positions of masses 1 and 2

| - - xs.npy - (time steps\,Langevin Simulations\,system dimension) - (201\,10e5\,2) --- see Fig2 and Fig3/x0.npy and final entry in time step axis is extra.

| - - Ws.npy - (time steps\, Langevin Simualtions) - (201\,10e5) --- see Fig2 and final entry in time step axis is extra

| - - mus.npy - (time steps\, system dimension) - (200\,2) --- see Fig2 and last axis corresponds to internal variables for masses 1 and 2

| - - SInvs.npy - (time steps\, system dimension\, system dimension) - (200\,2\,2) --- internal variables corresponding to the inverse covariance matrix of masses (final 2 axes) for each point in time.

| - Fig4/

| - - Linear/

| - - - ts.npy - (time steps\,) - (200\,) - see Fig2

| - - - x0.npy - (Langevin Simuations\, system dimension) - (10e5\,8) --- see Fig2

| - - - xs.npy - (time steps\,Langevin Simulations\,system dimension) - (200\,10e5\,8) --- see Fig2\, last axis corresponds to masses 1 -> 8

| - - - Ws.npy - (time steps\, Langevin Simualtions) - (200\,10e5) --- see Fig2

| - - - mus.npy - (time steps\, system dimension) - (200\,8) --- see Fig2\, last axis corresponds to masses 1 -> 8

| - - - SInvs.npy - (time steps\, system dimension\, system dimension) - (200\,8\,8) --- see Fig2\, last 2 axes correspond to masses 1 -> 8

| - - - langevinFex.npy - (time steps\,) - (200\,) --- see Fig2

| - - - langevinEP.npy - (time steps\,) - (200\,) --- see Fig2

| - - - stivFex.npy - (time steps\,) - (200\,) --- same as Fig2/eyinkFex.npy

| - - - stivEP.npy - (time steps\,) - (200\,) --- same as Fig2/eyinkEP.npy

Contents of the remaining directories are identicle to Fig4/Linear/

| - - SineSlow/

| - - Step/

| - - OffSet/

| - Fig5/

| - - Linear17/

| - - - V1/ (

| - - - - ts.npy - (time steps\,) - (501\,) - see Fig2

| - - - - x0.npy - (Langevin Simuations\, system dimension) - (10e4\,17) --- see Fig2

| - - - - xs.npy - (time steps\,Langevin Simulations\,system dimension) - (501\,10e4\,17) --- see Fig4/Linear/xs.nyp

| - - - - Ws.npy - (time steps\, Langevin Simualtions) - (501\,10e4) --- see Fig2

| - - - - langevinFex.npy - (time steps\,) - (501\,) --- see Fig2

| - - - - langevinEP.npy - (time steps\,) - (501\,) --- see Fig2

| - - - - tsLong.npy - (time steps\,) - (399981\,) --- time points for the STIV integrator (extra data was used to check accuracy of the entropy production)

| - - - - musLong.npy - (time steps\, system dimension) - (399981\,17) --- see Fig4/Linear/mus.npy

| - - - - SsLong.npy - (time steps\, system dimension\,system dimenstion) - (399981\,17\,17) --- see Fig4/Linear/SInvs.npy

| - - - - eyinkFex.npy - (time steps\,) - (399981\,) --- see Fig2/eyinkFex.npy

| - - - - eyinkEP.npy - (time steps\,) - (399981\,) --- see Fig2/eyinkEP.npy

Contents of the following directories are identicle ot Fig5/Linear17/V1 except possibly in the numerical length of each axis:

| - - - V1_16/

| - - - V1_8/

| - - - V1_4/

| - - - V1_2/

| - - - V2/

| - - - V4/

| - - - V6/

| - - - V8/

| - - - V10/

| - - - VelData/ (derived data used to determine the phase front velocity)

| - - - - shearRates.npy - (number of shear rates\,) - (10\,) --- Values of the shear rates for each simulation in the above directories = (1/16\,1/8\,..\,8\,10)

| - - - - langTimes.npy - (number of shear rates\, number of masses + 1) - (10\,18) --- times at which each spring transitioned to the other well for the Langevin simulations for each shear rate.

| - - - - langVels.npy - (number of shear rates\,) - (10\,) --- The linear best fit velocity in the reference frame using langTimes.npy for each shear rate for the Langevin Simulations

| - - - - eynTimes.npy - (number of shear rates\, number of masses + 1) - (10\,18) --- times at which each spring transitioned to the other well for the STIV approximation for each shear rate.

| - - - - eynVels.npy - (number of shear rates\,) - (10\,) --- The linear best fit velocity in the reference frame using eynTimes.npy for each shear rate for the STIV approximation

| - - - VisDissData/ (derived data corresponding to the rate of viscous entropy production)

| - - - - lVisDissDataV*.npy - (time steps\,) - (varies\,) --- the rate of viscous entropy production for the Langevin simulation in Fig5/Linear17/V*/

| - - - - eVisDissDataV*.npy - (time steps\,) - (399981\,) --- the rate of viscous entropy production for the STIV approximation in Fig5/Linear17/V*/

| - - Linear 62/

| - - - V1/

| - - - - ts.npy - (time steps\,) - (500\,) - see Fig2

| - - - - x0.npy - (Langevin Simuations\, system dimension) - (10e4\,62) --- see Fig2

| - - - - xs.npy - (time steps\,Langevin Simulations\,system dimension) - (500\,10e4\,62) --- see Fig4/Linear/xs.nyp

| - - - - Ws.npy - (time steps\, Langevin Simualtions) - (500\,10e4) --- see Fig2

| - - - - tsLong.npy - (time steps\,) - (1981\,) --- see Fig5/Linear17/V1/tsLong.npy

| - - - - musLong.npy - (time steps\, system dimension) - (1981\,62) --- see Fig4/Linear/mus.npy

| - - - - SsLong.npy - (time steps\, system dimension\,system dimenstion) - (1981\,62\,62) --- see Fig4/Linear/SInvs.npy

### Sharing/Access information

Data was derived from the following source: https://github.com/tleadbe1/STIV/

## Methods

The source code used to create this dataset can be found at the github repository https://github.com/tleadbe1/STIV/