/* set np and nm and allocate the memory for pos[np*3] */ void stokes_set_np (struct stokes * sys, int np, int nm); void stokes_set_l (struct stokes * sys, double lx, double ly, double lz); void stokes_set_xi (struct stokes * sys, double xi, double cutlim); double xi_by_tratio (struct stokes * sys, double tratio); /* set iter param * INPUT * solver : string indicating the solver * sta, sta2, gpb, otmk, or gmres (default) * eps and log10_eps * max (and restart) * debug = 0 : no debug info * = 1 : iteration numbs and residue * out : FILE * to output debug info. */ void stokes_set_iter (struct stokes * sys, const char * solver, int max, int restart, double eps, int debug, FILE * out); /* set pos for all particles safely by another array * INPUT * pos[np*3] : * OUTPUT * sys->pos[i] for (i = 0; i < np*3) */ void stokes_set_pos (struct stokes *sys, const double *pos); /* set pos for mobile particles safely by another array * INPUT * pos[nm*3] : * OUTPUT * sys->pos[i] for (i = 0; i < nm*3) */ void stokes_set_pos_mobile (struct stokes *sys, const double *pos); /* set pos for fixed particles safely by another array * INPUT * pos[nf*3] : only fixed particles are set, where nf = np - nm * OUTPUT * sys->pos[i] for (i = nm*3; i < np*3) */ void stokes_set_pos_fixed (struct stokes *sys, const double *pos);