Exemple #1
0
def test_base_units(
):  # Test the conversion factors used in unit_conversions.py
    assert base_units.base_units()["kcal_to_j"] == 4184
    assert base_units.base_units()["amu_to_kg"] == 1.6605e-27
    assert base_units.base_units()["ang_to_m"] == 1e-10
    assert base_units.base_units()["boltzmann"] == 1.38064852e-23
    assert base_units.base_units()["avogadro"] == 6.022140857e23
Exemple #2
0
def convert_to_real_time(dt, ref_energy, ref_distance, ref_mass, precision=3):
    units = base_units.base_units()
    time_tau = ref_mass * units["amu_to_kg"]
    time_tau *= (ref_distance * units["ang_to_m"])**2
    time_tau /= ref_energy * units["kcal_to_j"] / units["avogadro"]
    real_time = dt * (time_tau**0.5) * 1e15
    real_time = round(real_time, precision)
    return real_time
Exemple #3
0
def reduce_from_kelvin(T_SI, ref_energy, precision=2):
    units = base_units.base_units()
    T = (units["avogadro"] * units["boltzmann"] * T_SI) / (units["kcal_to_j"] *
                                                           ref_energy)
    T = round(T, precision)
    return T
Exemple #4
0
def kelvin_from_reduced(T_reduced, ref_energy, precision=0):
    units = base_units.base_units()
    T_SI = (T_reduced * ref_energy * units["kcal_to_j"]) / (units["avogadro"] *
                                                            units["boltzmann"])
    T_SI = round(T_SI, precision)
    return T_SI
Exemple #5
0
import gsd
import hoomd
import hoomd.md
import mbuild as mb
import numpy as np
import scipy.optimize
from foyer import Forcefield
from hoomd.md import wall
from mbuild.formats.hoomd_simulation import create_hoomd_simulation
from mbuild.lib.recipes import Polymer
from scipy.special import gamma

from uli_init.library import FF_DIR
from uli_init.utils import base_units

units = base_units.base_units()


class Simulation:
    def __init__(
        self,
        system,
        target_box=None,
        r_cut=1.2,
        e_factor=0.5,
        tau_kt=0.1,
        tau_p=None,
        nlist="cell",
        dt=0.0001,
        auto_scale=True,
        ref_units=None,