mpacts.commands.misc. frictionmatrices

In order to be able to use this module import it like this:

import mpacts.commands.misc.frictionmatrices
#or assign it to a shorter name
import mpacts.commands.misc.frictionmatrices as fri

AssembleCylinderFrictionCoefficientsCommand

class mpacts.commands.misc.frictionmatrices.AssembleCylinderFrictionCoefficientsCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the translational friction coefficients for cylinder.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • c_para (1) — Correction for parallel friction coefficient (see Broesma, J. Chem. Phys. 1981, 74, 6989-6990).
    • c_perp (1) — Correction for perpendicular friction coefficient (see Broesma, J. Chem. Phys. 1981, 74, 6989-6990).
    • eta (kg . m^-1 . s^-1) — Viscosity of the environment.
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, eta, c_para, c_perp, [gate, predicate]
AssembleCylinderFrictionCoefficientsCommand(name, parent, **kwargs)

AssembleCylinderRotationalFrictionCoefficientsCommand

class mpacts.commands.misc.frictionmatrices.AssembleCylinderRotationalFrictionCoefficientsCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the rotational friction coefficients for cylinder.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • c_rot (1) — Correction for rotational friction coefficient (see Broesma, J. Chem. Phys. 1981, 74, 6989-6990).
    • eta (kg . m^-1 . s^-1) — Viscosity of the environment.
    • kBT (m^2 . kg . s^-2) — Temperature of the environment in Joules, i.e. kBT = k_B * T, were k_B is Boltzmann constant (see Pesek et. al., Soft Matter 2016, 12, 3360-3387, DOI: 10.1039/C5SM03106K ).
    • pc — Particle container on which the command is applied
    • tau (s) — Relaxation time of the longitudinal deformation (see Pesek et. al., Soft Matter 2016, 12, 3360-3387, DOI: 10.1039/C5SM03106K ).
  • Optional keywords:
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • k_array (default value = None) — Array containing longitudinal stiffness of the cylindrical segment (either k or k_array has to be specified).
    • k (kg . s^-2) (default value = -1) — Longitudinal stiffness of the cylindrical segment (see Pesek et. al., Soft Matter 2016, 12, 3360-3387, DOI: 10.1039/C5SM03106K ).
    • l0_array (default value = None) — Array containing equilibrium lengths of individial segments (either l0 or l0_array has to be specified).
    • l0 (m) (default value = -1) — Equilibrium length of the segment (see Pesek et. al., Soft Matter 2016, 12, 3360-3387, DOI: 10.1039/C5SM03106K ).
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, eta, c_rot, tau, kBT, [gate, predicate, k, k_array, l0, l0_array]
AssembleCylinderRotationalFrictionCoefficientsCommand(name, parent, **kwargs)

AssembleInverseFrictionMatrixCommand

class mpacts.commands.misc.frictionmatrices.AssembleInverseFrictionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the inverse friction matrix.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, [gate, predicate]
AssembleInverseFrictionMatrixCommand(name, parent, **kwargs)

AssembleInverseRotationalFrictionMatrixCommand

class mpacts.commands.misc.frictionmatrices.AssembleInverseRotationalFrictionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the inverse rotational friction matrix.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, [gate, predicate]
AssembleInverseRotationalFrictionMatrixCommand(name, parent, **kwargs)

ContactMatrixFrictionForceCommand

class mpacts.commands.misc.frictionmatrices.ContactMatrixFrictionForceCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Command to ‘back-compute’ the frictional force (anything due to off-diagonal elements) for systems having a ContactMatrix. This is simply achieved by computing Ffric = F - gamma_diag * v, in which F are the total forces as computed for this timestep gamma_diag are the diagonal values BEFORE SumToDiagonal has modified them i.e. before modification due to contacts, and v are the velocities as already solved e.g. by ConjugateGradient for this very timestep.
This command is useful e.g. to obtain full measured forces on boundaries or measurement devices (e.g. AFM cantilever). When desiring a prescribed velocity on these, high values of diagonal friction and ‘applied force’ might lead to serious precision loss in this command. The function ‘compute_friction_forces’ prevents this issue since it directly computes Gamma_offdiagonal * v as the friction force using contact matrix operators. Usually ‘compute_friction_forces’ is the better choice!
Default location: ‘loop_cmds/body_force_cmds’
  • Required keywords:
    • F_fric — Array of Vector in which the computed frictional force should be stored.
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • diagonals_name (default value = ContactMatrixDiagonal) — Name of the diagonals array. Note: you should keep a copy on which SumToDiagonal has NOT been applied!
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, F_fric, [gate, predicate, diagonals_name]
ContactMatrixFrictionForceCommand(name, parent, **kwargs)

CylinderDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.CylinderDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble both translational and rotational diffusion matrices for a deformable cylinder. ThermalForceCommand has to be executed twice, once for translational degrees of freedom and second time for rotational degrees of freedom.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • eta (kg . m^-1 . s^-1) — Dynamic viscosity of the medium (in kg / (m . s) ).
    • k (kg . s^-2) — Longitudinal rigidity of the cylinder.
    • pc — Particle container on which the command is applied
    • tau (s) — Relaxational time of the longitudinal deformations.
  • Optional keywords:
    • D_sqrt_r (default value = None) — Array that will be containing the square root of rotational diffusion matrix divided by the mobility matrix ( chi_r^{-1} . sqrt_r(D) ). By default the array ‘D_sqrt_r’ is used.
    • D_sqrt_t (default value = None) — Array that will be containing the square root of translational diffusion matrix divided by the mobility matrix ( chi_t^{-1} . sqrt(D_t) ). By default the array ‘D_sqrt_t’ is used.
    • chi_r (default value = None) — Array that will be containing the rotational mobility matrix. By default the array ‘chi_r’ is used.
    • chi_t (default value = None) — Array that will be containing the translational mobility matrix. By default the array ‘chi_t’ is used.
    • div_D_F_r (default value = None) — Array that will be containing the force associated with divergence of the rotational diffusion matrix ( F = chi_r^{-1} . div D_r, where chi is mobility). By default the array ‘div_D_F_r’ is used.
    • div_D_F_t (default value = None) — Array that will be containing the force associated with divergence of the translational diffusion matrix ( F = chi_t^{-1} . div D_t, where chi is mobility). By default the array ‘div_D_F_t’ is used.
    • gamma_r (default value = None) — Array that will be containing the rotational friction matrix. By default the array ‘gamma_r’ is used.
    • gamma_t (default value = None) — Array that will be containing the translational friction matrix. By default the array ‘gamma_t’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, eta, tau, k, [gate, predicate, gamma_t, gamma_r, chi_t, chi_r, D_sqrt_t, D_sqrt_r, div_D_F_t, div_D_F_r]
CylinderDiffusionMatrixCommand(name, parent, **kwargs)

FrictionOnAreaCommand

class mpacts.commands.misc.frictionmatrices.FrictionOnAreaCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Command to add to a given ‘ContactMatrixDiagonal’ array a friction term proportional to a given ‘area’ array, with proportionality ‘gamma_normal’ in the direction of a ‘normal’ (with this name) array, and ‘gamma_tangential’ orthogonal to this direction.
Default location: ‘loop_cmds/body_force_cmds’
  • Required keywords:
    • area — Array containing ‘area’ (or ‘submerged_area’) for each particle. Friction will be scalled with this.
    • gamma_normal — Friction coefficient (in Ns/m^3) in direction of the ‘normal’ array.
    • gamma_tangential — Friction coefficient (in Ns/m^3) orthogonal to the ‘normal’ array.
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • diagonals_name (default value = ContactMatrixDiagonal) — Name of the diagonals array that will be ADDED TO (default: “ContactMatrixDiagonal”).
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, area, gamma_normal, gamma_tangential, [gate, predicate, diagonals_name]
FrictionOnAreaCommand(name, parent, **kwargs)

ModifyDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.ModifyDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Takes into account the relative diffusivity of each particle on the friction matrix, mobility matrix, square root of diffusion matrix (multiplied by mobility matrix) and the divergence of diffusion matrix in the context of the ThermalForceCommand. This command only weights already existing matrices and vectors by a given relative diffusive constant.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • D_r — Array containing the relative diffusivity of each particle.
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • chi (default value = None) — Array that will be containing the mobility matrix. By default the array ‘chi’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gamma (default value = None) — Array that will be containing the friction matrix. By default the array ‘gamma’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, D_r, [gate, predicate, gamma, chi, D_sqrt, div_D_F]
ModifyDiffusionMatrixCommand(name, parent, **kwargs)

RigidCylinderDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.RigidCylinderDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble both translational and rotational diffusion matrices for a rigid cylinder. ThermalForceCommand has to be executed twice, once for translational degrees of freedom and second time for rotational degrees of freedom.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • eta (kg . m^-1 . s^-1) — Dynamic viscosity of the medium (in kg / (m . s) ).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt_r (default value = None) — Array that will be containing the square root of rotational diffusion matrix divided by the mobility matrix ( chi_r^{-1} . sqrt_r(D) ). By default the array ‘D_sqrt_r’ is used.
    • D_sqrt_t (default value = None) — Array that will be containing the square root of translational diffusion matrix divided by the mobility matrix ( chi_t^{-1} . sqrt(D_t) ). By default the array ‘D_sqrt_t’ is used.
    • chi_r (default value = None) — Array that will be containing the rotational mobility matrix. By default the array ‘chi_r’ is used.
    • chi_t (default value = None) — Array that will be containing the translational mobility matrix. By default the array ‘chi_t’ is used.
    • div_D_F_r (default value = None) — Array that will be containing the force associated with divergence of the rotational diffusion matrix ( F = chi_r^{-1} . div D_r, where chi is mobility). By default the array ‘div_D_F_r’ is used.
    • div_D_F_t (default value = None) — Array that will be containing the force associated with divergence of the translational diffusion matrix ( F = chi_t^{-1} . div D_t, where chi is mobility). By default the array ‘div_D_F_t’ is used.
    • gamma_r (default value = None) — Array that will be containing the rotational friction matrix. By default the array ‘gamma_r’ is used.
    • gamma_t (default value = None) — Array that will be containing the translational friction matrix. By default the array ‘gamma_t’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, eta, [gate, predicate, gamma_t, gamma_r, chi_t, chi_r, D_sqrt_t, D_sqrt_r, div_D_F_t, div_D_F_r]
RigidCylinderDiffusionMatrixCommand(name, parent, **kwargs)

RigidSpherocylinderDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.RigidSpherocylinderDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble both translational and rotational diffusion matrices for a rigid spherocylinder. Calculation is based on H. Löwen, Physical Review E, 1994, 50, 1232-1242 ThermalForceCommand has to be executed twice, once for translational degrees of freedom and second time for rotational degrees of freedom.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • eta (kg . m^-1 . s^-1) — Dynamic viscosity of the medium (in kg / (m . s) ).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt_r (default value = None) — Array that will be containing the square root of rotational diffusion matrix divided by the mobility matrix ( chi_r^{-1} . sqrt_r(D) ). By default the array ‘D_sqrt_r’ is used.
    • D_sqrt_t (default value = None) — Array that will be containing the square root of translational diffusion matrix divided by the mobility matrix ( chi_t^{-1} . sqrt(D_t) ). By default the array ‘D_sqrt_t’ is used.
    • chi_r (default value = None) — Array that will be containing the rotational mobility matrix. By default the array ‘chi_r’ is used.
    • chi_t (default value = None) — Array that will be containing the translational mobility matrix. By default the array ‘chi_t’ is used.
    • div_D_F_r (default value = None) — Array that will be containing the force associated with divergence of the rotational diffusion matrix ( F = chi_r^{-1} . div D_r, where chi is mobility). By default the array ‘div_D_F_r’ is used.
    • div_D_F_t (default value = None) — Array that will be containing the force associated with divergence of the translational diffusion matrix ( F = chi_t^{-1} . div D_t, where chi is mobility). By default the array ‘div_D_F_t’ is used.
    • gamma_r (default value = None) — Array that will be containing the rotational friction matrix. By default the array ‘gamma_r’ is used.
    • gamma_t (default value = None) — Array that will be containing the translational friction matrix. By default the array ‘gamma_t’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, eta, [gate, predicate, gamma_t, gamma_r, chi_t, chi_r, D_sqrt_t, D_sqrt_r, div_D_F_t, div_D_F_r]
RigidSpherocylinderDiffusionMatrixCommand(name, parent, **kwargs)

RotationalDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.RotationalDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the square root of diffusion matrix and the divergence of diffusion matrix of the particle undergoing the uniform rotational diffusion in 3D. ThermalForceCommand then provides the direction vector ‘p’ and displacement ‘dp’, which has to be integrated, p(t+dt) = p(t) + dp * dt.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • D (s^-1) — Rotational diffusivity.
    • p (1) — Array containing the direction.
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, D, p, [gate, predicate, D_sqrt, div_D_F]
RotationalDiffusionMatrixCommand(name, parent, **kwargs)

SphereDiffusionInPlaneMatrixCommand

class mpacts.commands.misc.frictionmatrices.SphereDiffusionInPlaneMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the friction matrix, mobility matrix, square root of diffusion matrix (multiplied by mobility matrix) and the divergence of diffusion matrix of the sphere submergend in liquid with given temperature and viscosty, while being restricted to the plane with a given normal, as required for ThermalForceCommand.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • eta (kg . m^-1 . s^-1) — Dynamic viscosity of the medium (in kg / (m . s) ).
    • normal (1) — Normal vector of the plane (normalized!).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • chi (default value = None) — Array that will be containing the mobility matrix. By default the array ‘chi’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gamma (default value = None) — Array that will be containing the friction matrix. By default the array ‘gamma’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
    • r (default value = None) — Array containing the viscous radius. By default the array ‘r’ is used.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, eta, normal, [gate, predicate, r, gamma, chi, D_sqrt, div_D_F]
SphereDiffusionInPlaneMatrixCommand(name, parent, **kwargs)

SphereDiffusionInWaterMatrixCommand

class mpacts.commands.misc.frictionmatrices.SphereDiffusionInWaterMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the friction matrix, mobility matrix, square root of diffusion matrix (multiplied by mobility matrix) and the divergence of diffusion matrix of the sphere submergend in a water with a given temperature as required for ThermalForceCommand.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • chi (default value = None) — Array that will be containing the mobility matrix. By default the array ‘chi’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gamma (default value = None) — Array that will be containing the friction matrix. By default the array ‘gamma’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
    • r (default value = None) — Array containing the viscous radius. By default the array ‘r’ is used.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, [gate, predicate, r, gamma, chi, D_sqrt, div_D_F]
SphereDiffusionInWaterMatrixCommand(name, parent, **kwargs)

SphereDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.SphereDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the friction matrix, mobility matrix, square root of diffusion matrix (multiplied by mobility matrix) and the divergence of diffusion matrix of the sphere submergend in liquid with given temperature and viscosty as required for ThermalForceCommand.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • eta (kg . m^-1 . s^-1) — Dynamic viscosity of the medium (in kg / (m . s) ).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • chi (default value = None) — Array that will be containing the mobility matrix. By default the array ‘chi’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gamma (default value = None) — Array that will be containing the friction matrix. By default the array ‘gamma’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
    • r (default value = None) — Array containing the viscous radius. By default the array ‘r’ is used.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, eta, [gate, predicate, r, gamma, chi, D_sqrt, div_D_F]
SphereDiffusionMatrixCommand(name, parent, **kwargs)

UniformFrictionDiffusionMatrixCommand

class mpacts.commands.misc.frictionmatrices.UniformFrictionDiffusionMatrixCommand

Bases: mpacts.core.command.Command, mpacts.core.baseobject.BaseObject

Assemble the friction matrix, mobility matrix, square root of diffusion matrix (multiplied by mobility matrix) and the divergence of diffusion matrix of an object submergend in liquid with given temperature and uniform friction as required for ThermalForceCommand.
Default location: ‘loop_cmds/pre_body_force_cmds’
  • Required keywords:
    • T (K) — Temperature of the medium (in K).
    • friction (kg . s^-1) — Friction constant (in kg/s).
    • pc — Particle container on which the command is applied
  • Optional keywords:
    • D_sqrt (default value = None) — Array that will be containing the square root of diffusion matrix divided by the mobility matrix ( chi^{-1} . sqrt(D) ). By default the array ‘D_sqrt’ is used.
    • chi (default value = None) — Array that will be containing the mobility matrix. By default the array ‘chi’ is used.
    • div_D_F (default value = None) — Array that will be containing the force associated with divergence of the diffusion matrix ( F = chi^{-1} . div D, where chi is mobility). By default the array ‘div_D_F’ is used.
    • gamma (default value = None) — Array that will be containing the friction matrix. By default the array ‘gamma’ is used.
    • gate (default value = ET::ChildProperty const*) — Can decide to (temporarily) not execute the command in a CommandList. (Default is ExecuteAlways)
    • predicate (default value = None) — Predicate that will decide whether this command is executed for a specific particle, when absent the command is executed for every particle.
object __init__(tuple args, dict kwds) :
args: name, parent kwds: pc, T, friction, [gate, predicate, gamma, chi, D_sqrt, div_D_F]
UniformFrictionDiffusionMatrixCommand(name, parent, **kwargs)