• The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
#freeze
* How to Develop KAPSEL [#x0a1d9ed]

- So far, KAPSEL has been developed and used mostly by lab-internal members for scientific purposes. The method ''SPM'' used in KAPSEL, however, possesses very wide applicability for general dynamical problems of colloid/particle dispersions in simple/complex fluids both in scientific and engineering research fields. Therefore, we would like to encourage external scientists and engineers to modify the KAPSEL codes so that they can simulate their own specific problems of interest. To this end, we are happy to provide such motivated scientists/engineers with our accumulated knowledge and experiences. Some of them can be found below, and also email contact to KAPSEL dev. team is always welcome. 

** Online technical documentation for code developers[#j693a2a3]
** Technical documentation for code developers[#j693a2a3]

//- http://www-tph.cheme.kyoto-u.ac.jp/kapsel/Doxygen/html/
  cd Doxygen
  doxygen Doxyfile.in
  ...
  (browse) html/index.html

//|[[''Main page'':http://www-tph.cheme.kyoto-u.ac.jp/kapsel/Doxygen/html/index.html]]|To be updated|
//|[[''Related Pages'':http://www-tph.cheme.kyoto-u.ac.jp/kapsel/Doxygen/html/pages.html]]|To be updated|
|[[''Data Structures'':http://www-tph.cheme.kyoto-u.ac.jp/kapsel/Doxygen/html/annotated.html]]|List of important variables and detailed explanations of the data structures|
|[[''File List'':http://www-tph.cheme.kyoto-u.ac.jp/kapsel/Doxygen/html/files.html]]|List of souce files and detailed explanations of the all source codes including mutual dependencies of functions|

The above html files are generated by Doxygen, and the same documentation is included also in "Doxygen/html" folder of the installation package.
|''Main page''||
|''Related Pages''||
|''Data Structures''|List of important variables and detailed explanations of the data structures|
|''File List''|List of souce files (.cxx, .h) and detailed explanations of the all source codes including mutual dependencies of functions|

#ref(doxygen_files.jpg,,60%)
//The above html files are generated by Doxygen, and the same documentation is included also in "Doxygen/html" folder of the installation package.

** GIT: A version control system [#eeccce6b]
- Bug fixes and new implementations between major updates are provided through Github. You may make a local clone of the newest KAPSEL package by
//#ref(doxygen_files.jpg,,60%)

  > git clone git@github.com:kapsel-dns/kapsel.git my_local_kapsel
** Up-to-date code developments before official release. [#eeccce6b]

#ref(git.jpg,,60%)
- Bug fixes and new implementations between major updates are provided through [[Github:https://github.com/kapsel-dns/kapsel3]]. 

//You may make a local clone of the newest KAPSEL package by
//
//  > git clone git@github.com:kapsel-dns/kapsel3.git path_to_your_local_repository
//
//- If the above command does not work, you may try the following.
//
//  > git clone https://github.com/kapsel-dns/kapsel3.git path_to_your_local_repository
//
//#ref(git.jpg,,60%)

- GIT can be used with command-line-interface and also with client tools such as [[SourceTree:https://www.atlassian.com/software/sourcetree]].

** Contact [#o3d3369d]
- KAPSEL Development Team: kapsel.dev@gmail.com

//** File List [#cc973095]
//
//| ''alloc.c''|			Memory allocation routines|
//| ''alloc.h''|	Memory allocation routines (header file)|
//| ''avs_output.cxx''|	Output routines for field data in AVS/Express format|
//| ''avs_output.h''|	Output routines for field data in AVS/Express format (header file)|
//| ''avs_output_p.cxx''|	Output routines for particle data in AVS/Express format|
//| ''avs_output_p.h''|	Output routines for particle data in AVS/Express format (header file)|
//| ''f_particle.cxx''|	Compute Hydrodynamic force on particle|
//| ''f_particle.h''|	Compute Hydrodynamic force on particle (header file)|
//| ''fft_wrapper.cxx''|	FFT wrapper routines for reciprocal space calculations|
//| ''fft_wrapper.h''|	FFT wrapper routines for reciprocal space calculations (header file)|
//| ''fftsg.c''|	Ooura's 1D FFT routines|
//| ''fftsg3d.c''|	Ooura's 3D FFT routines|
//| ''fluct.cxx''|	Routines to compute random thermal fluctuation forces|
//| ''fluct.h''|	Routines to compute random thermal fluctuation forces (header file)|
//| ''fluid_solver.cxx''|	Solver for Navier-Stokes equations|
//| ''fluid_solver.h''|	Solver for Navier-Stokes equations (header file)|
//| ''init_fluid.cxx''|	Initialize fluid velocity fields|
//| ''init_fluid.h''|	Initialize fluid velocity fields (header file)|
//| ''init_particle.cxx''|	Initialize particle properties|
//| ''init_particle.h''|	Initialize particle properties (header file)|
//| ''input.cxx''|	Read udf input file to start simulation|
//| ''input.h''|	Read udf input file to start simulation (header file)|
//| ''interaction.cxx''|	Compute inter-particle interactions|
//| ''interaction.h''|	Compute inter-particle interactions (header file)|
//| ''lad3.h''|	Basic Matrix / Vector Euclidean 3D routines (not very optimized)|
//| ''macro.h''|	Global parameters and macro function definitions|
//| ''make_phi.cxx''|	Routines to compute smooth profile and grid particle properties|
//| ''make_phi.h''|	Routines to compute smooth profile and grid particle properties (header file)|
//| ''Matrix_Inverse.h''|	|
//| ''md_force.cxx''|	Routines to compute MD forces on particles|
//| ''md_force.h''|	Routines to compute MD forces on particles (header file)|
//| ''mt19937ar.c''|	Randon number generator - You get what you deserve if you modify this file !|
//| ''operate_electrolyte.cxx''|	Routines to compute the charge distributions and forces|
//| ''operate_electrolyte.h''|	Routines to compute the charge distributions and forces (header file)|
//| ''operate_omega.cxx''|	High-level routines to handle basic operations on velocity field|
//| ''operate_omega.h''|	High-level routines to handle basic operations on velocity field (header file)|
//| ''operate_surface.cxx''|	Routines to control the slip velocity at particle fluid boundaries|
//| ''operate_surface.h''|	Routines to control the slip velocity at particle fluid boundaries (header file)|
//| ''parameter_define.h''|	Define global system parameters for FFT routines|
//| ''particle_solver.cxx''|	Solver routines for particle position and velocity|
//| ''particle_solver.h''|	Solver routines for particle position and velocity (header file)|
//| ''profile.cxx''|	Smooth particle profile routines|
//| ''profile.h''|	Smooth particle profile routines (header file)|
//| ''quaternion.h''|	Implements simple quaternion algebra|
//| ''resume.cxx''|	Routines to read/write restart file|
//| ''resume.h''|	Routines to read/write restart file (header file)|
//| ''rigid.h''|	|
//| ''rigid_body.cxx''|	Auxiliary routines to solve equations of motion for rigid bodies|
//| ''rigid_body.h''|	Auxiliary routines to solve equations of motion for rigid bodies (header file)|
//| ''solute_rhs.cxx''|	Routines to compute the terms appearing in the right hand side of the solute advection diffusion equation|
//| ''solute_rhs.h''|	Routines to compute the terms appearing in the right hand side of the solute advection diffusion equation (header file)|
//| ''sp_3d_ns.cxx''|	Main program file|
//| ''sp_3d_ns.h''|	Main program file (header)|
//| ''variable.h''|	Defines the global structs (CTime, Particle, Index_range)|
//| ''Tools/udf2xyz.cxx''||
//| ''Tools/helixudf_generator/''|A tool to generate initial configuration of helicesfor "input.udf"|