UDF for KAPSEL
List of variables in UDF for KAPSEL (input.udf)
Below is a summary of the main entries. The full description is available in the User’s Manual.
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
 DC
Shear_Navier_Stokes_Lees_Edwards
(This type implements shear flow with LeesEdwards 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)
 DC

 AC(unpopulated)
 shear_rate: Max shear rate (AC)
 Frequency: Alternating frequency of shear flow
 AC(unpopulated)
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 PoissonBoltzman 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
 ON: type: DC: apply steady electric field, AC: apply oscillatory electric field



 Ex: Intensity of electric field in xdirection
 Ey: Intensity of electric field in ydirection
 Ez: Intensity of electric field in zdirection
 ?AC
 Ex: Max intensity of electric field in xdirection
 Ey: Max intensity of electric field in ydirection
 Ez: Max intensity of electric field in zdirection
 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=nonmoving (pinned) particle
 janus_force: x, y, z: selfpropulsion force
 janus_torque: x, y, z: selfpropulsion torque
 janus_slip_vel: Slip velocity coeff B1
 janus_slip_mode: Blake squirmer mode B2/B1
 Particle_spec[0]: (0 means the 1st component)
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
 Chain_spec[0] (0 means the 1st component)
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=nonforced motion
 Rigid_velocity: x, y, z: speed of translation ### fix only ###
 Rigid_omega: x, y, z: angular velocity ### fix only ###
 Rigid_spec[0] (0 means the 1st component)
A_XI: Thickness of the particlefluid 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 LennardJones potential
LJ_powers: {12:6, 24:12, 36:18}: Set of power exponents of the LennardJones potential
mesh
 NPX: Defines the size of simulation box in xdirection as Lx=2^NPX
 NPY: Defines the size of simulation box in ydirection as Ly=2^NPY
 NPZ: Defines the size of simulation box in zdirection 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 selfavoided 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 beadoverlapping 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: xcomponent of initial particle position
 y: ycomponent of initial particle position
 z: zcomponent of initial particle position
 R
 Particles[0]?Particles[]



 v
 x: xcomponent of initial particle velocity
 y: ycomponent of initial particle velocity
 z: zcomponent of initial particle velocity
 q
 q0: 0thcomponent of initial quaternion
 q1: 1stcomponent of initial quaternion
 q2: 2ndcomponent of initial quaternion
 q3: 3rdcomponent of initial quaternion
 omega
 x: xcomponent of initial angular velocity
 y: ycomponent of initial angular velocity
 z: zcomponent of initial angular velocity
 v


FIX_CELL
 x: {ON, OFF} Set ON to avoid the drift of center of gravity in xdirection
 y: {ON, OFF} Set ON to avoid the drift of center of gravity in ydirection
 z: {ON, OFF} Set ON to avoid the drift of center of gravity in zdirection
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.
 pin_rot[0]: Index of the 1st particle to be rotationally pined.
 pin[]
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.
 DOF[0]
 DOF[]
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 HDF5 and Paraview
 ON
 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.