SquareDensity

class hoomd.md.many_body.SquareDensity(nlist, default_r_cut=None)

Bases: Triplet

Soft force for simulating a van der Waals liquid.

Parameters:

SquareDensity that the square density three-body force should on every particle in the simulation state.

The self energy per particle takes the form:

Ψex=B(ρA)2\Psi^{ex} = B (\rho - A)^2

which gives a pair-wise additive, three-body force:

fij=(B(niA)+B(njA))wijeij\vec{f}_{ij} = \left( B (n_i - A) + B (n_j - A) \right) w'_{ij} \vec{e}_{ij}

Here, wijw_{ij} is a quadratic, normalized weighting function,

w(x)=152πrc,weight3(1r/rc,weight)2w(x) = \frac{15}{2 \pi r_{c,\mathrm{weight}}^3} (1-r/r_{c,\mathrm{weight}})^2

The local density at the location of particle i is defined as

ni=jiwij(rirj)n_i = \sum\limits_{j\neq i} w_{ij} \left(\big| \vec r_i - \vec r_j \big|\right)

Example:

nl = nlist.Cell()
sqd = md.many_body.SquareDensity(nl, default_r_cut=3.0)
sqd.params[("A", "B")] = dict(A=1.0, B=2.0)
sqd.params[("B", "B")] = dict(A=2.0, B=2.0, default_r_on=1.0)

For further details regarding this multibody potential, see

[1] P. B. Warren, “Vapor-liquid coexistence in many-body dissipative particle dynamics” Phys. Rev. E. Stat. Nonlin. Soft Matter Phys., vol. 68, no. 6 Pt 2, p. 066702, 2003.


Members inherited from AutotunedObject:

property kernel_parameters

Kernel parameters. Read more...

property is_tuning_complete

Check if kernel parameter tuning is complete. Read more...

tune_kernel_parameters()

Start tuning kernel parameters. Read more...


Members inherited from Force:

additional_energy

Additional energy term. Read more...

additional_virial

Additional virial tensor term WadditionalW_\mathrm{additional}. Read more...

cpu_local_force_arrays

Local force arrays on the CPU. Read more...

energies

Energy contribution UiU_i from each particle. Read more...

energy

The potential energy UU of the system from this force. Read more...

forces

The force Fi\vec{F}_i applied to each particle. Read more...

gpu_local_force_arrays

Local force arrays on the GPU. Read more...

torques

The torque τi\vec{\tau}_i applied to each particle. Read more...

virials

Virial tensor contribution WiW_i from each particle. Read more...


Members inherited from Triplet:

r_cut

Cuttoff radius beyond which the energy and force are 0. Read more...

nlist

Neighbor list used to compute the triplet potential. Read more...


Members defined in SquareDensity:

params

The SquareDensity potential parameters. The dictionary has the following keys:

  • A (float, required) - AA - mean density (default:0) [length2][\mathrm{length}^{-2}] in 2D and [length3][\mathrm{length}^{-3}] in 3D

  • B (float, required) - BB - coefficient of the harmonic density term [energylength4][\mathrm{energy} \cdot \mathrm{length}^4] in 2D and [energylength6][\mathrm{energy} \cdot \mathrm{length}^6] in 3D

Type: TypeParameter [tuple [particle_type, particle_type], dict]