Skip to content

Commit

Permalink
add ellipsoid chain sim unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisjonesBSU committed Mar 10, 2025
1 parent 82d2409 commit 5b50a43
Showing 1 changed file with 40 additions and 3 deletions.
43 changes: 40 additions & 3 deletions flowermd/tests/base/test_simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@
from flowermd import Simulation
from flowermd.base import Pack
from flowermd.library import OPLS_AA_PPS
from flowermd.library.forcefields import BeadSpring
from flowermd.library.polymers import LJChain
from flowermd.library.forcefields import BeadSpring, EllipsoidForcefield
from flowermd.library.polymers import EllipsoidChain, LJChain
from flowermd.tests import BaseTest
from flowermd.utils import get_target_box_mass_density, set_bond_constraints
from flowermd.utils import (
create_rigid_ellipsoid_chain,
get_target_box_mass_density,
set_bond_constraints,
)


class TestSimulate(BaseTest):
Expand Down Expand Up @@ -403,6 +407,39 @@ def test_d_constrain_sim(self):
sim.run_NVT(n_steps=10, kT=1.0, tau_kt=sim.dt * 100)
assert sim.integrator.integrate_rotational_dof is True

def test_ellipsoid_chain_sim(self):
chain = EllipsoidChain(
lengths=15, num_mols=15, bead_mass=1, lpar=1, bond_L=0.0
)
system = Pack(
molecules=chain,
density=0.0005,
edge=5,
overlap=1,
fix_orientation=True,
)
rigid_snap, rigid = create_rigid_ellipsoid_chain(system.hoomd_snapshot)
forces = EllipsoidForcefield(
angle_k=25,
angle_theta0=2.2,
bond_r0=0.0,
lpar=1,
lperp=0.5,
epsilon=1,
r_cut=3.0,
)
sim = Simulation(
initial_state=rigid_snap,
constraint=rigid,
gsd_file_name="traj.gsd",
gsd_write_freq=100,
forcefield=forces.hoomd_forces,
)
assert isinstance(sim._rigid_constraint, hoomd.md.constrain.Rigid)
assert sim._distance_constraint is None
sim.run_NVT(n_steps=10, kT=1.0, tau_kt=sim.dt * 100)
assert sim.integrator.integrate_rotational_dof is True

def test_save_restart_gsd(self, benzene_system):
sim = Simulation.from_system(benzene_system)
sim.save_restart_gsd("restart.gsd")
Expand Down

0 comments on commit 5b50a43

Please sign in to comment.