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
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".
- First, choose the type of problem you want to simulate by selecting "constitutive_eq" from the following.
- Navier_Stokes:
- Shear_Navier_Stokes:
- Electrolyte:
- Then, set the parameters shown below as you want.
- 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
- shear_rate
- AC
- shear_rate
- 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}
- ON
- type: {DC, AC}
- DC
- Ex
- Ey
- Ez
- AC
- Ex
- Ey
- Ez
- Frequency
- 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
- NPX
- NPY
- NPZ
- time_increment
- type: {auto, manual}
- auto
- factor
- manual
- delta_t
- 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
- iteration
- user_specify
- Particles[]
- Particles[0]
- R
- x
- y
- z
- v
- x
- y
- z
- FIX_CELL
- x: {ON, OFF}
- y: {ON, OFF}
- z: {ON, OFF}
- boundary_condition
- type
- output
- GTS
- Num_snap
- AVS
- ON
- Out_dir
- Out_name
- FileType
- UDF
- E
- t
- Particles[]
- Particles[]
- R
- x
- y
- z
- v
- x
- y
- z
- resume
- Calculation
Python programing on Gourmet †
- Please take a look at the manual below.