Force fields in colloidal systems

Force fields in colloidal systems

Forces

class pystokes.forceFields.Forces

Computes forces in a system of colloidal particles

Methods in the Forces class take input,
  • arrays of positions, forces

  • parameters for a given potential

The array of forces is then update by each method.

Parameters:

particles (int) – Number of particles (N)

VdW(F, r, A=0.0, a0=0.0)

generic van der Waals attraction to a wall at z=0 with Hamaker constant a

dlvo(F, r, B=1.0, kap=0.1, A=1.0)

generic DLVO interaction used for example in thesis

harmonicConfinement(F, r, cn)

Forces on colloids in a harmonic trap

lennardJones(F, r, lje=0.01, ljr=3.0)

The standard Lennard-Jones potential truncated at the minimum (aslo called WCA potential)

We choose phi(r) = lje/12 (rr^12 - 2*rr^6 ) + lje/12, as the standard WCA potential. ljr: minimum of the LJ potential and rr=ljr/r.

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • lje (float) – Strength of the LJ

  • ljr (float) – Range of the LJ

lennardJonesWall(F, r, lje=0.01, ljr=3.0, wlje=0.01, wljr=3.0)

The standard Lennard-Jones potential truncated at the minimum (aslo called WCA potential)

We choose phi(r) = lje/12 (rr^12 - 2*rr^6 ) + lje/12, as the standard WCA potential. ljr: minimum of the LJ potential and rr=ljr/r.

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • lje (float) – Strength of the LJ

  • ljr (float) – Range of the LJ

lennardJonesXWall(F, r, wlje=0.12, wljr=3.0)

The standard Lennard-Jones potential truncated at the minimum (aslo called WCA potential)

We choose phi(r) = lje/12 (rr^12 - 2*rr^6 ) + lje/12, as the standard WCA potential. ljr: minimum of the LJ potential and rr=ljr/r. This force is only in z-direction due to wall at x=0

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • lje (float) – Strength of the LJ

  • ljr (float) – Range of the LJ

membraneBound(F, r, cn, r0)

Force on colloids in membraneSurface

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • r0 (np.array) – An array of trap centers An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • cn (float) – Stiffness of the trap

membraneConfinement(F, r, cn, r0)

Force on colloids in membraneSurface

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • r0 (np.array) – An array of trap centers An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • cn (float) – Stiffness of the trap

membraneSurface(Nmx, Nmy, F, r, bondLength, springModulus, bendModulus)

Force on colloids connected as a membrane

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • bondLength (float) – The size of natural spring

  • springModulus (float) – Stiffness of the trap

  • bendModulus (float) – Bending cost

multiRingpolymers(Nf, F, r, bondLength, springModulus, bendModulus, twistModulus)

Force on colloids connected by a spring in a ring polymer

Parameters:
  • r (np.array) – An array of positions

  • F (np.array) – An array of forces An array of size 3*N, An array of size 3*N,

  • bondLength (float) – The size of natural spring

  • springModulus (float) – Stiffness of the trap

multipolymers(Nf, F, r, bondLength, springModulus, bendModulus, twistModulus)

Force on colloids in many polymers connected by a spring

Parameters:
  • r (np.array) – An array of positions

  • F (np.array) – An array of forces An array of size 3*N, An array of size 3*N,

  • bondLength (float) – The size of natural spring

  • springModulus (float) – Stiffness of the trap

opticalConfinement(F, r, r0, k)

Force on colloids in optical traps of varying stiffnesses

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • r0 (np.array) – An array of trap centers An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • k (float) – Stiffness of the trap

sedimentation(F, g)

Force on colloids in sedimentation

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • g (float) – Gravity

softSpringLJWall(F, r, pk=0.01, prmin=3.0, prmax=4.0, lje=0.001, ljr=3.0, wlje=0.001, wljr=1.5)

lj potential fron wall to particles and spring and lj between particles F = -k(r-rmin) lj stabilises numerical solver when particles get close

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • pk (float) – Strength of harmonic potential between particles

  • prmin (float) – Minimum of harmonic potential

  • prmax (float) – Cutoff distance of harmonic potential

  • lje (LJ strength between particles) –

  • ljr (LJ min between particles) –

  • wlje (float) – Strength of the LJ from wall

  • wljr (float) – Range of the LJ from wall

softSpringWall(F, r, pk=0.01, prmin=3.0, prmax=4.0, wlje=0.001, wljr=1.5)

lj potential fron wall to particles and spring between particles F = -k(r-rmin)

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • pk (float) – Strength of harmonic potential between particles

  • prmin (float) – Minimum of harmonic potential

  • prmax (float) – Cutoff distance of harmonic potential

  • wlje (float) – Strength of the LJ from wall

  • wljr (float) – Range of the LJ from wall

spring(F, r, bondLength, springModulus)

Force on colloids connected by a spring in a single polymer

Parameters:
  • r (np.array) – An array of positions

  • F (np.array) – An array of forces An array of size 3*N, An array of size 3*N,

  • bondLength (float) – The size of natural spring

  • springModulus (float) – Stiffness of the trap

staticHarmonic(F, r, rS, pk=0.01, prmin=3.0, prmax=4.0, a=1.0)

non-dynamical static particles useful for simulating infinite crystal

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • rS (float) – positions of non-dynamic particles

staticlennardJones(F, r, rS, lje=0.01, ljr=3.0, a=1.0)

non-dynamical static particles useful for simulating infinite crystal

Parameters:
  • r (np.array) – An array of positions An array of size 3*N,

  • F (np.array) – An array of forces An array of size 3*N,

  • rS (float) – positions of non-dynamic particles

Torques

class pystokes.forceFields.Torques

Computes torques in a system of colloidal particles

Methods in the Torques class take input,
  • arrays of positions, Torques

  • parameters for a given potential

The array of torques is then update by each method.

Parameters:

particles (int) – Number of particles (N)

bottomHeaviness(T, p, bh=1.0)

Torque due to bottom-heaviness

Parameters:
  • p (np.array) – An array of Orientations An array of size 3*N,

  • F (np.array) – An array of Torques An array of size 3*N,

  • bh (float) – bottomHeaviness

magnetic(T, p, m0, Bx, By, Bz)

Torque due to magnetotaxis. The torque on microparticle in an external magnetic field ${f B}$ is ${f T} = {f m imes B}$ We assume $m = m_0 f p$

… :param p: An array of Orientations

An array of size 3*N,

Parameters:
  • T (np.array) – An array of Torques An array of size 3*N,

  • m0 (float) – magnetic moment

  • Bx (float) – magnetic field components

  • By (float) – magnetic field components

  • Bz (float) – magnetic field components