Tutorial †
Normal simulation procedure †
- Obtain an appropriate sample UDF file for your purpose from our examples.
- Start "Gourmet" and open the UDF file. Modify it for your own purpose and save it as "input.udf".
- Run KAPSEL as follows. (remove "./" if you use Windows command prompt)
> ./kapsel -Iinput.udf -Ooutput.udf -Ddefine.udf -Rrestart.udf
- "-I" option defines the name of UDF file which contains details of simulation (type of simulation, initial conditions, physical and simulation parameters, etc...).
- "-O" option defines the name of UDF file which contains the results (time-dependent positions and velocities of all the particles, etc...) of the simulation.
- "-D" option defines the name of UDF file which contains definitions of KAPSEL data dormat. This is common for any simulations.
- "-R" option defines the name of UDF file which contains values of all dynamical variables at the end of the simulation See "Re-start run" below.
- Field data (fluid velocities, ionic densitied, etc...) is saved in a subdirectory specified in "input.udf" if "output.AVS" = "on". This requires huge disk space (GB order). No field data is saved if "output.AVS" = "off".
- Start "Gourmet" and open "output.udf".
- Instantaneous positions and velocities of all the particles can be seen as variables in "Particles[]". Use slide bar at the bottom of Gourmet window to see variables at different time steps.
- Load "plot.py" to plot time evolutions of the variables. (See STEP4)
- Load "particleshow.py" to visualize motions of particles. (See STEP4)
Re-start run †
- One can re-start simulations from the end of the previous run.
- Start "Gourmet", and open "restart.udf"
- Set "resume.Calculation" = "CONTINUE"
- Increase "output.Num_step", and save it as "input2.udf"
- Run KAPSEL as follows. (remove "./" if you use Windows command prompt)
> ./kapsel -Iinput2.udf -Ooutput2.udf -Ddefine.udf -Rrestart2.udf
Python programing on Gourmet †
- Please see manuals below.
UDF file †
- 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.
- In the case of UDF 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)
- Electrolyte: (electrophoresis)
- See the list below for definitions of all the variables in UDF for KAPSEL.
constitutive_eq: type: {Navier_Stokes, Shear_Navier_Stokes, Electrolyte}
Navier_Stokes
- DX:
- RHO:
- ETA:
- kBT:
- alpha_v:
- alpha_o:
Shear_Navier_Stokes
- DX:
- RHO:
- ETA:
- kBT:
- alpha_v:
- alpha_o:
- External_field: type: {DC, AC}:
- DC
- AC
Electrolyte
- DX:
- RHO:
- ETA:
- kBT:
- Dielectric_cst:
- INIT_profile:
- Add_salt: type: {salt, saltfree}:
- salt
- Valency_positive_ion:
- Valency_negative_ion:
- Onsager_coeff_positive_ion:
- Onsager_coeff_negative_ion:
- Debye_length:
- saltfree
- Valency_counterion:
- Onsager_coeff_counterion:
- Electric_field: type: {ON, OFF}:
- DC
- AC
object_type: type: {spherical_particle, chain}
spherical_particle
- Particle_spec[]
- Particle_spec[0]
- Particle_number
- MASS_RATIO
- Surface_charge
chain
- Chain_spec[]
- Chain_spec[0]
- Beads_number
- Chain_number
- MASS_RATIO
- Surface_charge
A_XI:
A:
gravity:
- G:
- G_direction: {-X, -Y, -Z}
EPSILON:
LJ_powers: {12:6, 24:12, 36:18}
mesh
time_increment: type: {auto, manual}
auto
manual
switch
- ROTATION: {ON, OFF}
- HYDRO_int: {Correct, free draining, squeeze-lubrication and drain}
- Stokes: {with advection, w/o advection}
- LJ_truncate: {ON, OFF, NONE}
- INIT_distribution: type: {uniform_random, random_walk, FCC, BCC, user_specify}
- random_walk
- user_specify
- FIX_CELL
- x: {ON, OFF}
- y: {ON, OFF}
- z: {ON, OFF}
boundary_condition: type: {z_dirichlet, full_periodic}
z_dirichlet
- wall_velocity_x:
- wall_velocity_y:
- wall_velocity_z:
output
- GTS:
- Num_snap:
- AVS: {ON, OFF}
- ON
- Out_dir:
- Out_name:
- File_Type: {BINARY, ASCII}
E:
t:
Particles[]
resume
- Calculation: {NEW, CONTINUE}