17 int para_coef(
int nmin,
int nmax,
int flag1,
double *a_coef,
double *dx,
18 double *ai_coef,
double *b_coef,
double *bi_coef,
double *c_coef,
19 double *d_x,
double **para,
double *ci_coef) {
22 for (i = nmin - 2; i <= nmax; i++) {
23 a_coef[i] = dx[i] + dx[i + 1];
25 ai_coef[i] = 1.0 / a_coef[i];
26 b_coef[i] = a_coef[i] + dx[i];
27 bi_coef[i] = 1.0 / b_coef[i];
28 c_coef[i] = a_coef[i] + dx[i + 1];
29 ci_coef[i] = 1.0 / c_coef[i];
32 for (i = nmin - 1; i <= nmax; i++) {
33 d_x[i] = 1.0 / (a_coef[i - 1] + a_coef[i + 1]);
34 para[i][0] = dx[i] * ai_coef[i] + 2.0 * dx[i + 1] * dx[i] * d_x[i] * ai_coef[i] * (a_coef[i - 1] * bi_coef[i] - a_coef[i + 1] * ci_coef[i]);
40 para[i][1] = -1 * d_x[i] * dx[i] * a_coef[i - 1] * bi_coef[i];
41 para[i][2] = d_x[i] * dx[i + 1] * a_coef[i + 1] * ci_coef[i];
45 for (i = nmin - 1; i <= nmax; i++) {
46 d_x[i] = dx[i] / (a_coef[i - 1] + dx[i + 1]);
47 para[i][3] = d_x[i] * b_coef[i - 1] * ai_coef[i];
48 para[i][4] = d_x[i] * c_coef[i] * ai_coef[i - 1];