/* Set the X coordinates of the N nodes. */ x = ( double * ) malloc ( ( n + 2 ) * sizeof ( double ) ); for ( i = 0; i <= n + 1; i++ ) { x[i] = ( ( double ) ( id * n + i - 1 ) * x_max + ( double ) ( p * n - id * n - i ) * x_min ) / ( double ) ( p * n - 1 ); } /* Set the values of H at the initial time. */ time = time_min; h = ( double * ) malloc ( ( n + 2 ) * sizeof ( double ) ); h_new = ( double * ) malloc ( ( n + 2 ) * sizeof ( double ) ); h[0] = 0.0; for ( i = 1; i <= n; i++ ) { h[i] = initial_condition ( x[i], time ); } h[n+1] = 0.0; time_delta = ( time_max - time_min ) / ( double ) ( j_max - j_min ); x_delta = ( x_max - x_min ) / ( double ) ( p * n - 1 );