UDF for KAPSEL (version 3.1)

List of variables in UDF for KAPSEL (input.udf)

constitutive_eq: type: {Navier_Stokes, Shear_Navier_Stokes, Shear_Navier_Stokes_Lees_Edwards,Electrolyte}

Navier_Stokes

  • DX: Girid width (this is the unit of length)
  • RHO: Density of fluid
  • ETA: Viscosity of fluid
  • kBT: Temperature of dispersion
  • alpha_v: Scaling factor for fluctuating force (translation)
  • alpha_o: Scaling factor for fluctuating torque (rotation)

Shear_Navier_Stokes
(This type implements shear flow with zigzag shape.)

  • DX: Girid width (this is the unit of length)
  • RHO: Density of fluid
  • ETA: Viscosity of fluid
  • kBT: Temperature of dispersion
  • alpha_v: Scaling factor for fluctuating force (translation)
  • alpha_o: Scaling factor for fluctuating torque (rotation)
  • External_field: type: {DC, AC}: Steady shear (DC) or Oscillatory shear (AC)
DC
  • shear_rate: Shear rate (DC)
AC
  • shear_rate: Max shear rate (AC)
  • Frequency: Alternating frequency of shear flow

Shear_Navier_Stokes_Lees_Edwards
(This type implements shear flow with Lees-Edwards periodic boundary condition.)

  • DX: Girid width (this is the unit of length)
  • RHO: Density of fluid
  • ETA: Viscosity of fluid
  • kBT: Temperature of dispersion
  • alpha_v: Scaling factor for fluctuating force (translation)
  • alpha_o: Scaling factor for fluctuating torque (rotation)
  • External_field: type: {DC, AC}: Steady shear (DC) or Oscillatory shear (AC)
DC
  • shear_rate: Shear rate (DC)
AC(unpopulated)
  • shear_rate: Max shear rate (AC)
  • Frequency: Alternating frequency of shear flow

Electrolyte

  • DX: Girid width (this is the unit of length)
  • RHO: Density of fluid
  • ETA: Viscosity of fluid
  • kBT: Temperature of dispersion
  • alpha_v: Scaling factor for fluctuating force (translation)
  • alpha_o: Scaling factor for fluctuating torque (rotation)
  • Dielectric_cst: Dielectric constant of fluid
  • INIT_profile:
    • Uniform: use uniform ionic densities as initial state.
    • Poisson_Boltzmann: use optimal ionic densities as initial state by solving Poisson-Boltzman Eq. for a given initial particle configuration in advance to start simulation.
  • Add_salt: type: salt: salt is added, saltfree: no salt is added
salt
  • Valency_positive_ion: Valency of positive ions
  • Valency_negative_ion: Valency of negative ions
  • Onsager_coeff_positive_ion: Onsager transport coefficient of positive ions
  • Onsager_coeff_negative_ion: Onsager transport coefficient of negative ions
  • Debye_length: Debye screening length This causes the corresponding salt concentration to be specified automatically.
saltfree
  • Valency_counterion: Valency of counter ions
  • Onsager_coeff_counterion: {Onsager transport coefficient of counter ions
  • Electric_field: type: ON: apply external electric field, OFF: no external electric field
    • ON: type: DC: apply steady electric field, AC: apply oscillatory electric field
    DC
    • Ex: Intensity of electric field in x-direction
    • Ey: Intensity of electric field in y-direction
    • Ez: Intensity of electric field in z-direction
    AC
    • Ex: Max intensity of electric field in x-direction
    • Ey: Max intensity of electric field in y-direction
    • Ez: Max intensity of electric field in z-direction
    • Frequency: Alternating frequency of oscillatory electric field.

object_type: type: {spherical_particle, chain, rigid}

spherical_particle

  • Particle_spec[]
    • Particle_spec[0]: (0 means the 1st component)
      • Particle_number: Number of particles
      • MASS_RATIO: Density of particle / density of fluid
      • Surface_charge: Valency of particles (total charge carried by a single particle in unit of electron charge)
      • janus_axis: select {'NONE', 'X', 'Y', 'Z'}: janus axis in body_fixed frame
      • janus_propulsion: select{'OFF', 'TUMBLER', 'SQUIRMER', 'OBSTACLE'}:OFF=inert particle, TUMBLER=rotating particle by external torque, SQUIRMER=swimming particles by surface tangential slip, OBSTACLE=non-moving (pinned) particle
      • janus_force: x, y, z: self-propulsion force
      • janus_torque: x, y, z: self-propulsion torque
      • janus_slip_vel: Slip velocity coeff B1
      • janus_slip_mode: Blake squirmer mode B2/B1

chain

  • Chain_spec[]
    • Chain_spec[0] (0 means the 1st component)
      • Beads_number: Number of beads in a single chain
      • Chain_number: Number of chains in a simulation box
      • MASS_RATIO: Density of beads / density of fluid
      • Surface_charge: Valency of beads (total charge carried by a single bead in unit of electron charge)
      • janus_axis: select {'NONE', 'X', 'Y', 'Z'}: janus axis in body_fixed frame

rigid

  • Rigid_spec[]
    • Rigid_spec[0] (0 means the 1st component)
      • Beads_number: number of beads in a chain
      • Chain_number: number of chains
      • MASS_RATIO: mass density ratio chain/solvent
      • Surface_charge: surface charge of colloid
      • Rigid_motion: select {'fix','free'}: fix=forced motion, free=non-forced motion
      • Rigid_velocity: x, y, z: speed of translation ### fix only ###
      • Rigid_omega: x, y, z: angular velocity ### fix only ###

A_XI: Thickness of the particle-fluid boundary

A: Radius pd particles or beads

gravity

  • G: Gravitational acceleration
  • G_direction: Select the direction in which gravity is applied from -X , -Y , -Z.

EPSILON: Energy unit of Lennard-Jones potential

LJ_powers: {12:6, 24:12, 36:18}: Set of power exponents of the Lennard-Jones potential

mesh

  • NPX: Defines the size of simulation box in x-direction as Lx=2^NPX
  • NPY: Defines the size of simulation box in y-direction as Ly=2^NPY
  • NPZ: Defines the size of simulation box in z-direction as Lz=2^NPZ

time_increment: type:

  • auto: set delta_t automatically
  • manual: set delta_t manually

auto

  • factor: Set delta_t = factor * min [ rho/(eta k_max^2), 1/(k_B T Gamma_a k_max^2)],

manual

  • delta_t: Set delta_t manually

switch

  • ROTATION:
    • ON: solve rotational motion of particles properly
    • OFF: no rotational motion of particles
  • LJ_truncate:
    • ON: LJ without attraction (WCA potential)
    • OFF: LJ with attractive part
    • NONE: no pair potential at all
  • INIT_distribution: type:
    • uniform_random: randomly generate initial particle positions
    • random_walk:' add some deviations to a perfect FCC lattice
    • FCC: place particles on FCC lattice
    • BCC: place particles on a BCC lattice
    • user_specify: Set initial particle positions and velocities manually
    (If object_type = chain, all the above options are omitted and initial chain configurations are generated by self-avoided random walk unless user_specify is selected.)
random_walk
  • iteration: Number of trial iteration to avoid bead-overlapping in the process of random walk
user_specify
  • Particles[]
    • Particles[0]
    (0 means properties of the 1st particle. If you want to inclease/decrease the number of particles, select "Edit" menu -> "Add Array Elements"/"Delete Array Elements" to change the number of "Particles[]" box. Modify also "Particle_number" in "object_type" section to be consistent.)
    - R
     - x:  x-component of initial particle position
     - y:  y-component of initial particle position
     - z:  z-component of initial particle position
    - v
     - x:  x-component of initial particle velocity
     - y:  y-component of initial particle velocity
     - z:  z-component of initial particle velocity
    - q
     - q0:  0th-component of initial quaternion
     - q1:  1st-component of initial quaternion
     - q2:  2nd-component of initial quaternion
     - q3:  3rd-component of initial quaternion
    - omega
     - x:  x-component of initial angular velocity
     - y:  y-component of initial angular velocity
     - z:  z-component of initial angular velocity
FIX_CELL
  • x: {ON, OFF} Set ON to avoid the drift of center of gravity in x-direction
  • y: {ON, OFF} Set ON to avoid the drift of center of gravity in y-direction
  • z: {ON, OFF} Set ON to avoid the drift of center of gravity in z-direction
pin: type:
  • NO: do not pin any particles
  • YES: pin specified particles
    - pin[]
     - pin[0]: Index of the 1st particle to be transitionally pined.
    - pin_rot[]
     - pin_rot[0]: Index of the 1st particle to be rotationally pined.
If you want to inclease/decrease the number of pined particles, select "Edit" menu -> "Add Array Elements"/"Delete Array Elements" to change the number of "pin[#]" and "pin_rot[#]" box.
free_rigid: type:
  • NO: free all degrees of freedom of all rigid particles
  • YES: freeze some degrees of freedom of some rigid particles
    - DOF[]
     - DOF[0]
      - spec_id: Index of the 1st particle to freeze.
      - vel (x,y,z)
      - omega (x,y,z)
If you want to inclease/decrease the number of freezing particles, select "Edit" menu -> "Add Array Elements"/"Delete Array Elements" to change the number of "DOF[#]" box.
ns_solver: OBL_INT:
  • linear:
  • spline:

output

  • GTS: Number of intervals between data saving
  • Num_snap: Number of data saving. Total number of simulation step is GTS * Num_snap.
  • AVS: {ON, OFF} Set ON if AVS data is needed. Huge disk space is used if ON.
ON
  • Out_dir: Name of subdirectory in which AVS data is saved. Make subdirectories ./"Out_dir" and ./"Out_dir"/avs in advance to run KAPSEL.
  • Out_name: Set a name of AVS field data file "Out_name".fld
  • File_Type: {BINARY, ASCII, EXTENDED};
    • EXTENDED: support for HDF-5 and Paraview
  • UDF: Set ON

E: Unused

t: Present time

Particles[] There is no data in this section of input UDF. Temporal particle positions and velocities are stored here in restart and output UDF.

  • Particles[]
    - R
    - R_raw
    - v
    - q
    - omega
    - f_hydro
    - torque_hydro
    - f_slip
    - torque_slip

Rigidparticles[] There is no data in this section of input UDF. Temporal particle positions and velocities are stored here in restart and output UDF.

  • Rigidparticles[]
    - R
    - R_raw
    - v
    - q
    - omega
    - f_hydro
    - torque_hydro
    - f_slip
    - torque_slip

resume

  • Calculation: {NEW, CONTINUE}
    • NEW: start a new simulation run
    • CONTINUE: restart continuing simulation run from the end of the previous run.