ReactionField¶
- class hoomd.md.pair.ReactionField(nlist, default_r_cut=None, default_r_on=0.0, mode='none')¶
Bases:
Pair
Onsager reaction field pair force.
- Parameters:
nlist (hoomd.md.nlist.NeighborList) – Neighbor list.
default_r_cut (float) – Default cutoff radius \([\mathrm{length}]\).
default_r_on (float) – Default turn-on radius \([\mathrm{length}]\).
mode (str) – Energy shifting/smoothing mode.
ReactionField
computes the Onsager reaction field pair force on all particles in the simulation state.Reaction field electrostatics is an approximation to the screened electrostatic interaction, which assumes that the medium can be treated as an electrostatic continuum of dielectric constant \(\epsilon_{RF}\) outside the cutoff sphere of radius \(r_{\mathrm{cut}}\). See: Barker et. al. 1973.
By default (
use_charge=False
), the reaction field potential ignores the particle charges. Two parameters, \(\varepsilon\) and \(\epsilon_{RF}\) are needed. If \(\epsilon_{RF}\) is specified as zero, it will represent infinity:\[U(r) = \varepsilon \left[ \frac{1}{r} + \frac{(\epsilon_{RF}-1) r^2}{(2 \epsilon_{RF} + 1) r_c^3} \right]\]When use_charge is set to
True
, the following formula is evaluated instead:\[U(r) = q_i q_j \varepsilon \left[ \frac{1}{r} + \frac{(\epsilon_{RF}-1) r^2}{(2 \epsilon_{RF} + 1) r_c^3} \right]\]where \(q_i\) and \(q_j\) are the charges of the particle pair.
Example:
nl = nlist.Cell() reaction_field = pair.reaction_field(nl, default_r_cut=3.0) reaction_field.params[("A", "B")] = dict(epsilon=1.0, eps_rf=1.0) reaction_field.params[("B", "B")] = dict( epsilon=1.0, eps_rf=0.0, use_charge=True )
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 \(W_\mathrm{additional}\).
Read more...
- cpu_local_force_arrays¶
Local force arrays on the CPU.
Read more...
- energies¶
Energy contribution \(U_i\) from each particle.
Read more...
- energy¶
The potential energy \(U\) of the system from this force.
Read more...
- forces¶
The force \(\vec{F}_i\) applied to each particle.
Read more...
- gpu_local_force_arrays¶
Local force arrays on the GPU.
Read more...
- torques¶
The torque \(\vec{\tau}_i\) applied to each particle.
Read more...
- virials¶
Virial tensor contribution \(W_i\) from each particle.
Read more...
Members inherited from
Pair
:- nlist¶
Neighbor list used to compute the pair force.
Read more...
- mode¶
Energy smoothing/cutoff mode.
Read more...
- r_cut¶
Cuttoff radius beyond which the energy and force are 0.
Read more...
- r_on¶
Radius at which the XPLOR smoothing function starts.
Read more...
- compute_energy()¶
Compute the energy between two sets of particles.
Read more...
Members defined in
ReactionField
:- params¶
The potential parameters. The dictionary has the following keys:
epsilon
(float
, required) - \(\varepsilon\) \([\mathrm{energy} \cdot \mathrm{length}]\)eps_rf
(float
, required) - \(\epsilon_{RF}\) \([\mathrm{dimensionless}]\)use_charge
(bool
, optional) - evaluate pair force using particle charges (default: False)
Type:
TypeParameter
[tuple
[particle_type
,particle_type
],dict
]