* UDF for KAPSEL (version 2.10) [#sbf148c5]

- UDF is a text file. One can browse and edit it using a text editor, but it.can be more easily handled with GOURMET. See the manuals below for general information on UDF.
-- English: &ref(Tutorial/udf_spec_eng.pdf);
-- Japanese: &ref(Tutorial/UDF_Spec_jpn.pdf);

- In the case of UDF used for KAPSEL, one must first choose the type of problem you want to simulate by selecting "constitutive_eq" from list below.
-- Navier_Stokes: (sedimentation, diffusion, coagulation)
-- Shear_Navier_Stokes: (rheology, chain in shear flow)
-- Shear_Navier_Stokes_Lees_Edwards: (rheology, chain in shear flow)
-- Electrolyte: (electrophoresis)

**  List of variables in UDF for KAPSEL (input.udf) [#y1d5b4c6]

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

Navier_Stokes
- DX: &color(blue){Girid width (this is the unit of length)};
- RHO: &color(blue){Density of fluid};
- ETA:  &color(blue){Viscosity of fluid};
- kBT:  &color(blue){Temperature of dispersion};
- alpha_v:  &color(blue){Scaling factor for fluctuating force (translation)};
- alpha_o:  &color(blue){Scaling factor for fluctuating torque (rotation)};

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

Shear_Navier_Stokes_Lees_Edwards&br;(This type implements Lees-Edwards periodic boundary conditions for fluid fields under shear flow.)
- DX:  &color(blue){Girid width  (this is the unit of length)};
- RHO:  &color(blue){Density of fluid};
- ETA:  &color(blue){Viscosity of fluid};
- kBT:  &color(blue){Temperature of dispersion};
- alpha_v:  &color(blue){Scaling factor for fluctuating force (translation)};
- alpha_o:  &color(blue){Scaling factor for fluctuating torque (rotation)};
- External_field: type: {DC, AC}:  &color(blue){Steady  shear (DC) or Oscillatory shear (AC)};
: DC|
-- shear_rate:  &color(blue){Shear rate (DC)};
: AC(unpopulated)|
-- shear_rate:  &color(blue){Max shear rate (AC)};
-- Frequency:  &color(blue){Alternating frequency of shear flow};


Electrolyte
- DX:  &color(blue){Girid width  (this is the unit of length)};
- RHO:  &color(blue){Density of fluid};
- ETA:  &color(blue){Viscosity of fluid};
- kBT:  &color(blue){Temperature of dispersion};
- alpha_v:  &color(blue){Scaling factor for fluctuating force (translation)};
- alpha_o:  &color(blue){Scaling factor for fluctuating torque (rotation)};
- Dielectric_cst:  &color(blue){Dielectric constant of fluid};
- INIT_profile: 
-- &color(blue){''Uniform:'' use uniform ionic densities as initial state.}; 
-- &color(blue){''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:  &color(blue){''salt:'' salt is added, ''saltfree:'' no salt is added};
: salt|
-- Valency_positive_ion:  &color(blue){Valency of positive ions};
-- Valency_negative_ion:  &color(blue){Valency of negative ions};
-- Onsager_coeff_positive_ion:  &color(blue){Onsager transport coefficient of positive ions};
-- Onsager_coeff_negative_ion:  &color(blue){Onsager transport coefficient of negative ions};
-- Debye_length:  &color(blue){Debye screening length This causes the corresponding salt concentration to be specified automatically.};
: saltfree|
-- Valency_counterion:  &color(blue){Valency of counter ions};
-- Onsager_coeff_counterion:  &color(blue){{Onsager transport coefficient of counter ions};
- Electric_field: type:  &color(blue){''ON:'' apply external electric field, ''OFF:'' no external electric field};
-- ON: type:  &color(blue){''DC:'' apply steady electric field, ''AC:'' apply oscillatory electric field};
:: DC|
--- Ex:  &color(blue){Intensity of electric field in x-direction};
--- Ey:  &color(blue){Intensity of electric field in y-direction};
--- Ez:  &color(blue){Intensity of electric field in z-direction};
:: AC|
--- Ex:  &color(blue){Max intensity of electric field in x-direction};
--- Ey:  &color(blue){Max intensity of electric field in y-direction};
--- Ez:  &color(blue){Max intensity of electric field in z-direction};
--- Frequency:  &color(blue){Alternating frequency of oscillatory electric field.};

''object_type'': type: {spherical_particle, chain}

spherical_particle
- Particle_spec[]
-- Particle_spec[0]:  &color(blue){(0 means the 1st component)};
--- Particle_number:  &color(blue){Number of particles};
--- MASS_RATIO:  &color(blue){Density of particle / density of fluid};
--- Surface_charge:  &color(blue){Valency of particles (total charge carried by a single particle in unit of electron charge)};

chain
- Chain_spec[]
-- Chain_spec[0] &color(blue){(0 meand the 1st component)};
--- Beads_number:  &color(blue){Number of beads in a single chain};
--- Chain_number:  &color(blue){Number of chains in a simulation box};
--- MASS_RATIO:  &color(blue){Density of beads / density of fluid};
--- Surface_charge:  &color(blue){Valency of beads (total charge carried by a single bead in unit of electron charge)};

''A_XI'':  &color(blue){Thickness of the particle-fluid boundary};

''A'':  &color(blue){Radius pd particles or beads};

''gravity''
- G:  &color(blue){Gravitational acceleration};
- G_direction:  &color(blue){Select the direction in which gravity is applied from ''-X'' , ''-Y'' , ''-Z''.};

''EPSILON'':  &color(blue){Energy unit of Lennard-Jones potential};

''LJ_powers'': {12:6, 24:12, 36:18}:  &color(blue){Set of power exponents of the
Lennard-Jones potential};

''mesh''
- NPX:  &color(blue){Defines the size of simulation box in x-direction as Lx=2^NPX};
- NPY:  &color(blue){Defines the size of simulation box in y-direction as Ly=2^NPY};
- NPZ:  &color(blue){Defines the size of simulation box in z-direction as Lz=2^NPZ};

''time_increment'': type:  
- &color(blue){''auto:'' set delta_t automatically};
- &color(blue){''manual:'' set delta_t manually};

auto
- factor:  &color(blue){Set delta_t = factor * min [ rho/(eta k_max^2), 1/(k_B T Gamma_a k_max^2)],};

manual
- delta_t:  &color(blue){Set delta_t manually};

''switch''

- ROTATION:  
-- &color(blue){''ON:'' solve rotational motion of particles properly};
-- &color(blue){''OFF:'' no rotational motion of particles};
- HYDRO_int:  &color(blue){Set ''Correct'' (other options are obsolete)};
- Stokes:  &color(blue){Set ''with advection'' (other options are obsolete)};
- LJ_truncate:  
-- &color(blue){''ON:'' LJ with attractive part};
-- &color(blue){''OFF:'' LJ without attraction (WCA potential)};
-- &color(blue){''ON:'' LJ without attraction (WCA potential)};
-- &color(blue){''OFF:'' LJ with attractive part};
-- &color(blue){''NONE:'' no pair potential at all};
- INIT_distribution: type:  
-- &color(blue){''uniform_random:'' randomly generate initial particle positions};
-- &color(blue){''random_walk:'' add some deviations to a perfect FCC lattice};
-- &color(blue){''FCC:'' place particles on FCC lattice};
-- &color(blue){''BCC:'' place particles on a BCC lattice};
-- &color(blue){''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:  &color(blue){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

: FIX_CELL|
-- x: {ON, OFF} &color(blue){Set ON to avoid the drift of center of gravity in x-direction};
-- y: {ON, OFF} &color(blue){Set ON to avoid the drift of center of gravity in y-direction};
-- z: {ON, OFF} &color(blue){Set ON to avoid the drift of center of gravity in z-direction};

: pin: type:| 
-- &color(blue){''NO:'' do not pin any particles};
-- &color(blue){''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.|

''boundary_condition'': type: &color(blue){Set ''full_periodic''  (other options are obsolete)};

z_dirichlet
- wall_velocity_x:  &color(blue){Unused};
- wall_velocity_y:  &color(blue){Unused};
- wall_velocity_z:  &color(blue){Unused};

''output''
- GTS:  &color(blue){Number of intervals between data saving};
- Num_snap:  &color(blue){Number of data saving. Total number of simulation step is GTS * Num_snap.};
- AVS: {ON, OFF} &color(blue){Set ''ON'' if AVS data is needed. Huge disk space is used if ON.};
: ON|
-- Out_dir:  &color(blue){Name of subdirectory in which AVS data is saved. Make subdirectories ./"Out_dir" and ./"Out_dir"/avs  in advance to run KAPSEL.};
-- Out_name:  &color(blue){Set a name of AVS field data file "Out_name".fld};
-- File_Type:  &color(blue){Select a file format of AVS data from ''BINARY'' or ''ASCII''};
- UDF:  &color(blue){Set ''ON''};

''E'': &color(blue){Unused};

''t'':  &color(blue){Present time};

''Particles[]''  &color(blue){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
  - x:  x-component of temporal particle position
  - y:  y-component of temporal particle position
  - z:  z-component of temporal particle position
 - v
  - x:  x-component of temporal particle velosity
  - y:  y-component of temporal particle velosity
  - z:  z-component of temporal particle velosity

''resume''
- Calculation: {NEW, CONTINUE} 
-- &color(blue){''NEW:'' start a new simulation run};
-- &color(blue){''CONTINUE:'' restart continuing simulation run from the end of the previous run.};