17 double ff0_min,
double ff0_max,
int ff0_res,
18 int grid_reps,
double cnstff0,
19 QList< QVector< US_Solute > >& solute_list )
21 if ( grid_reps < 1 ) grid_reps = 1;
23 int nprs = qMax( 1, ( ( s_res / grid_reps ) - 1 ) );
24 int nprk = qMax( 1, ( ( ff0_res / grid_reps ) - 1 ) );
25 double s_step = fabs( s_max - s_min ) / (double)nprs;
26 double ff0_step = fabs( ff0_max - ff0_min ) / (double)nprk;
27 s_step = ( s_step > 0.0 ) ? s_step : ( s_min * 1.001 );
28 ff0_step = ( ff0_step > 0.0 ) ? ff0_step : ( ff0_min * 1.001 );
29 double s_grid = s_step / grid_reps;
30 double ff0_grid = ff0_step / grid_reps;
33 s_max += 0.01 * s_step;
34 ff0_max += 0.01 * ff0_step;
36 solute_list.reserve(
sq( grid_reps ) );
39 for (
int i = 0; i < grid_reps; i++ )
41 for (
int j = 0; j < grid_reps; j++ )
44 s_min + s_grid * i, s_max, s_step,
45 ff0_min + ff0_grid * j, ff0_max, ff0_step,
52 double s_min,
double s_max,
double s_step,
53 double ff0_min,
double ff0_max,
double ff0_step,
56 QVector< US_Solute > solute_vector;
57 double off0 = cnstff0;
60 for (
double ff0 = ff0_min; ff0 <= ff0_max; ff0 += ff0_step )
67 for (
double s = s_min;
s <= s_max;
s += s_step )
70 if (
s >= -1.0e-14 &&
s <= 1.0e-14 )
continue;
72 solute_vector <<
US_Solute(
s, off0, 0.0, ovbar );