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 other parameters 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[]
           - Beads_number
           - Chain_number
           - MASS_RATIO
           - Surface_charge


Python programing on Gourmet