Skip to content

BDHI Lanczos

Raul edited this page Feb 5, 2019 · 3 revisions

This BDHI method solves the terms M·F and B·dW in a Brownian Hydrodynamics simulation. See BDHI[1] for more details.

Lanczos solves M·F as a matrix free matrix-vector multiplication, imposing the Rotne-Prager-Yamakawa approximation for the mobility.

The sqrt of the mobility tensor, specifically the product sqrt(M)·dW is computed using a Krylov subspace decomposition iterative technique[2] in O(N^2) time. See Integrator/BDHI/BDHI_Lanczos.cuh and misc/LanczosAlgorithm.cuh

The noise dW is computed with cuRAND.

USAGE

Use it alongside a Brownian Hydrodynamics integrator [1].

  BDHI::Parameters par;
  par.temperature = 1.0;
  par.viscosity = 1.0;
  //If the hydrodynamic radius is not provided, this module will try to get the particle radius from 
  //the global ParticleData radius. If that was not provided either, it will fail with a critical error message.
  //par.hydrodynamicRadius = 1.0;
  par.dt = 0.01;
  //Tolerance to compute the noise term
  par.tolerance=1e-3;
  
  auto bdhi = make_shared<BDHI::EulerMaruyama<BDHI::Lanczos>>(pd, pg, sys, par);

In the case of different sized particles Lanczos uses the RPY approximation given in [3].


References:
[1] https://github.com/RaulPPelaez/UAMMD/wiki/BDHI-EulerMaruyama
[2] The Journal of Chemical Physics 140, 184903 (2014); doi: 10.1063/1.4873999
[3] P.J. Zuk et al. 2014. Journal of Fluid Dynamics. "Rotne–Prager–Yamakawa approximation for different-sized particles in application to macromolecular bead models."









Clone this wiki locally