OpenMD 3.2
Molecular Dynamics in the Open
Loading...
Searching...
No Matches
LHDForceModifier.hpp File Reference

Langevin force modifier with intramolecular RPY hydrodynamic interactions for flexible bead molecules in a background flow. More...

#include <memory>
#include <random>
#include <vector>
#include "brains/ForceModifier.hpp"
#include "brains/Velocitizer.hpp"
#include "hydrodynamics/RPYMobility.hpp"
#include "perturbations/VelocityField.hpp"
#include "primitives/Atom.hpp"
#include "primitives/StuntDouble.hpp"
#include "utils/RandNumGen.hpp"

Go to the source code of this file.

Classes

class  OpenMD::LHDForceModifier

Namespaces

namespace  OpenMD
 This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.

Detailed Description

Langevin force modifier with intramolecular RPY hydrodynamic interactions for flexible bead molecules in a background flow.

Translation-only (unstructured spherical atom) case. Each molecule is a hydrodynamically coupled group of N spherical beads; molecules do not interact hydrodynamically with each other. Per step and per molecule:

  • assemble the 3N x 3N RPY mobility and its resistance R = M^{-1} (RPYMobility), Cholesky factor S of R;
  • sample the background flow at each bead (VelocityField) and fold in the dipolar disturbance to get v_inf_eff;
  • add the FDT-consistent correlated random force sqrt(2 kT/dt) S Z;
  • solve the coupled friction f = R (v_inf_eff - v) self-consistently for the full-step velocity (the LDForceModifier iteration, now coupled across the molecule's beads).

Pairs with a velocity-Verlet (LangevinDynamics-style) integrator, which performs the actual velocity update; this modifier only injects forces.

Definition in file LHDForceModifier.hpp.