UDF for KAPSEL

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: If object_type = chain, the choice of this variable is omitted and initial chain configurations are generated by self-avoided random walk unless user_specify is selected.
    • uniform_random: randomly generate initial particle positions
    • random_walk:’ add some deviations to a perfect FCC lattice
      • iteration: Number of trial iteration to avoid bead-overlapping in the process of random walk
    • FCC: place particles on FCC lattice
    • BCC: place particles on a BCC lattice
    • user_specify: Set initial particle positions and velocities manually
      • Particles[0] Particles[]
        (Here, 0 means the 1st particle. If you want to increase/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.