• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
#freeze
* How to simulate your own problems[#f5c9dfdb]

** To make "input.udf" for own purpose [#e1cb8b6d]

- The simplest way is to use an appropriate sample UDF which can be found in "Examples" in the left menu.

- Start GOURMET and open an appropriate UDF. Modify it for your own purpose if necessarily and save it as "input.udf". GOURMET operation manual is here.
-- &ref(Docs/gourmetoperation_eng.pdf);.
-- &ref(Docs/GourmetOperation_jpn.pdf);.

- 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(Docs/udf_spec_eng.pdf);
-- Japanese: &ref(Docs/UDF_Spec_jpn.pdf);

- In UDF of 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: (dynamics in shear flow, rheology)
-- Shear_Navier_Stokes_Lees_Edwards: (dynamics in shear flow, rheology)
-- Electrolyte: (electrophoresis)

- Computation times of each run scale almost lineally with the size of CFD grid the iteration steps (L^3 x Step). The largest part of the computation time is used by FFT calculations for solving fluid motion (and also for Poisson Eq. in case of electrolyte).  Additional costs for solving particles motions are quite small.
- Computation times of each run scale almost lineally with the size of CFD grid times the iteration steps (L^3 x Step). The largest part of the computation time is used by FFT calculations for solving fluid motion (and also for Poisson Eq. in case of electrolyte).  Additional costs for solving particles motions are quite small.
-- 10^5 iterations of 256^3 system takes roughly 5 days on a single core of Intel CPU.
-- Use of OpenMP much improves the computational performance on multi-core machines. The speed-up depends on the size of CFD grids (the speed-up is typically between 4 and 6 times using 8 cores).

- Older versions of UDF(v2.0,v2.1) must be converted to UDF(v3.0) before run. You can use &ref(convert.py); for this conversion. The script requires &ref(input_3.00.udf); and &ref(define_3.00.udf); additionally to old input_2.00.udf, which is to be converted, and define_2.00.udf called from it. In the following example, input_2.00.udf (v2.0) is converted to input_new.udf (v3.0).

  > ls
  > convert.py define_2.00.udf define_3.00.udf input_2.00.udf input_3.00.udf
  > python convert.py input_2.00.udf input_new.udf


** To perform normal simulation [#le4c697d]

- Run KAPSEL as follows.

  > ../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 format. This is common for any simulations, but the versions of input.udf and define.udf must be the same.
-- "''-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".

** To re-start from past runs [#u7810c9a]

- One can re-start normally terminated 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. 

  > ../kapsel -Iinput2.udf -Ooutput2.udf -Ddefine.udf -Rrestart2.udf