I try to calculate the bulk modulus K and the elastic modulus E for spherical hydrogels using Dissipative Particle Dynamics. To calculate the bulk modulus I used a semipermeable spherical region with a repulsive harmonic potential (only repulsive for network beads, not for solvent). The radius of the sphere shrinks with every timestep (with a constant radial velocity). The calculation of the bulk modulus relies on the diagonal components of the stress tensor. The isotropic compression seems to work but if I try to generate a uniaxial compression (for the calculation of the elastic modulus) with two parallel plates, similar to the isotropic compression, no compression occurs. So I tried different versions using plane and box regions with the â€śmoveâ€ť parameter or compression by deformation of the simulation box - nothing worked.

The script for the isotropic compression:

units lj

atom_style angle

boundary p p p

angle_style cosine

bond_style harmonic

read_data /data/user/data.dat

group net type 1

variable dt equal 0.01

variable t equal step*${dt}

variable expandv equal 0.1

variable r0 equal 27.0

variable r equal ${r0}-${expandv}*v_t

region mySphere sphere 88.6 84.0 85.6 v_r side in

comm_modify vel yes

pair_style hybrid dpd 1 1.0 12345 srp 0.8 * min exclude yes

pair_coeff * * dpd 25.0 4.5 1.0

pair_coeff * * srp 100.0 0.5

pair_coeff 1 1 dpd 25.0 4.5 1.0

pair_coeff 2 2 dpd 25.0 4.5 1.0

pair_coeff 1 2 dpd 25 4.5 1.0

pair_coeff 1 3 none

pair_coeff 2 3 none

pair_coeff 3 3 srp 100.0 0.5

comm_modify cutoff 3.5

fix 1 all nve

fix wall net wall/region mySphere harmonic 25.0 0.0 2.5

compute mystress net stress/atom NULL

compute s net reduce sum c_mystress[1] c_mystress[2] c_mystress[3]

variable sigma equal -(c_s[1]+c_s[2]+c_s[3])

variable sigmapV equal -(c_s[1]+c_s[2]+c_s[3])/(4*v_r*v_r*v_r*PI)

thermo 100

thermo_style custom step temp epair emol press vol density

fix stress all print 1 "$t ${r} ${sigma} " file thermo_output.dat screen no

fix sigma all print 1 "${r} ${sigma} " file sigma.dat screen no

fix sigmapV all print 1 "${r} ${sigmapV} " file sigmapV.dat screen no

timestep 0.01

run 1000

Here are some snapshots:

Is there a way to compress the gelsphere uniaxial with two parallel plates with a script similar to the script for the isotropic compression with a sphere?