OpenMD 3.0
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
OpenMD::UniformGradient Class Reference

Applies a uniform electric field gradient to the system. More...

#include <UniformGradient.hpp>

+ Inheritance diagram for OpenMD::UniformGradient:

Public Member Functions

 UniformGradient (SimInfo *info)
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMD::ForceModifier
 ForceModifier (SimInfo *info)
 
- Protected Attributes inherited from OpenMD::ForceModifier
SimInfoinfo_ {nullptr}
 

Detailed Description

Applies a uniform electric field gradient to the system.

The gradient is applied as an external perturbation. The user specifies

uniformGradientStrength = c;
uniformGradientDirection1 = (a1, a2, a3)
uniformGradientDirection2 = (b1, b2, b3);

in the .omd file where the two direction vectors, \( \mathbf{a} \) and \( \mathbf{b} \) are unit vectors, and the value of \( g \) is in units of \( V / \AA^2 \)

The electrostatic potential corresponding to this uniform gradient is

\( \phi(\mathbf{r}) = - \frac{g}{2} \left[ \left(a_1 b_1 - \frac{\cos\psi}{3}\right) x^2 + (a_1 b_2 + a_2 b_1) x y + (a_1 b_3 + a_3 b_1) x z + + (a_2 b_1 + a_1 b_2) y x + \left(a_2 b_2 - \frac{\cos\psi}{3}\right) y^2 + (a_2 b_3 + a_3 b_2) y z + (a_3 b_1 + a_1 b_3) z x + (a_3 b_2 + a_2 b_3) z y + \left(a_3 b_3 - \frac{\cos\psi}{3}\right) z^2 \right] \)

where \( \cos \psi = \mathbf{a} \cdot \mathbf{b} \). Note that this potential grows unbounded and is not periodic. For these reasons, care should be taken in using a Uniform Gradient with point charges.

The corresponding field is:

\( \mathbf{E} = \frac{g}{2} \left( \begin{array}{c} 2\left(a_1 b_1 - \frac{\cos\psi}{3}\right) x + (a_1 b_2 + a_2 b_1) y + (a_1 b_3 + a_3 b_1) z \\ (a_2 b_1 + a_1 b_2) x + 2 \left(a_2 b_2 - \frac{\cos\psi}{3}\right) y + (a_2 b_3 + a_3 b_2) z \\ (a_3 b_1 + a_1 b_3) x + (a_3 b_2 + a_2 b_3) y + 2 \left(a_3 b_3 - \frac{\cos\psi}{3}\right) z \end{array} \right) \)

The field also grows unbounded and is not periodic. For these reasons, care should be taken in using a Uniform Gradient with point dipoles.

The corresponding field gradient is:

\( \nabla \mathbf{E} = \frac{g}{2} \left( \begin{array}{ccc} 2\left(a_1 b_1 - \frac{\cos\psi}{3}\right) & (a_1 b_2 + a_2 b_1) & (a_1 b_3 + a_3 b_1) \\ (a_2 b_1 + a_1 b_2) & 2 \left(a_2 b_2 - \frac{\cos\psi}{3}\right) & (a_2 b_3 + a_3 b_2) \\ (a_3 b_1 + a_1 b_3) & (a_3 b_2 + a_2 b_3) & 2 \left(a_3 b_3 - \frac{\cos\psi}{3}\right) \end{array} \right) \)

which is uniform everywhere.

The uniform field gradient applies a force on charged atoms, \( \mathbf{F} = C \mathbf{E}(\mathbf{r}) \). For dipolar atoms, the gradient applies both a potential, \( U = -\mathbf{D} \cdot \mathbf{E}(\mathbf{r}) \), a force, \( \mathbf{F} = \mathbf{D} \cdot \nabla \mathbf{E} \), and a torque, \( \mathbf{\tau} = \mathbf{D} \times \mathbf{E}(\mathbf{r}) \).

For quadrupolar atoms, the uniform field gradient exerts a potential, \( U = - \mathsf{Q}:\nabla \mathbf{E} \), and a torque \( \mathbf{F} = 2 \mathsf{Q} \times \nabla \mathbf{E} \)

Definition at line 122 of file UniformGradient.hpp.

Constructor & Destructor Documentation

◆ UniformGradient()

OpenMD::UniformGradient::UniformGradient ( SimInfo * info)

Definition at line 60 of file UniformGradient.cpp.


The documentation for this class was generated from the following files: