HyPar  1.0
Finite-Difference Hyperbolic-Parabolic PDE Solver on Cartesian Grids
1D Linear Advection - Sine Wave - Ensemble Simulation

Location: hypar/Examples/1D/LinearAdvection/SineWave_Ensemble (This directory contains all the input files needed to run this case.)

Governing equations: 1D Linear Advection Equation (linearadr.h)

References:

  • Ghosh, D., Baeder, J. D., "Compact Reconstruction Schemes with Weighted ENO Limiting for Hyperbolic Conservation Laws", SIAM Journal on Scientific Computing, 34 (3), 2012, A1678–A1706

Domain: \(0 \le x < 1\), "periodic" (_PERIODIC_) boundary conditions

Initial solution: \(u\left(x,0\right) = \sin\left(2\pi x\right)\)

Ensemble Runs: 4 simulations on grids with 40, 80, 160, and 320 points.

Numerical Method:

Input files required:

simulation.inp

begin
nsims 4
end

solver.inp

begin
ndims 1
nvars 1
size 40 80 160 320
iproc 1 1 1 1
ghost 3
n_iter 1000
time_scheme rk
time_scheme_type 44
hyp_space_scheme upw5
conservation_check yes
dt 0.001
screen_op_iter 10
file_op_iter 200
ip_file_type binary
op_file_format text
op_overwrite no
model linear-advection-diffusion-reaction
end

boundary.inp

2
periodic 0 1 0 0
periodic 0 -1 0 0

physics.inp

begin
advection 1.0
end

To generate initial_<n>.inp (initial solution) and exact_<n>.inp (exact solution), compile and run the following code in the run directory.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define _MAX_STRING_SIZE_ 200
void GetStringFromInteger(int a, char *A, int width)
{
int i;
for (i=0; i<width; i++) {
char digit = (char) (a%10 + '0');
a /= 10;
A[width-1-i] = digit;
}
A[width] = 0;
return;
}
int main()
{
const double pi = 4.0*atan(1.0);
int *NI, ns, ndims, nsims, niter;
char ip_file_type[50];
double adv, dt;
FILE *in;
/* default values */
nsims = 1;
strcpy(ip_file_type,"ascii");
/* find out the number of simulation domains */
printf("Reading file \"simulation.inp\" if available.\n");
in = fopen("simulation.inp","r");
if (in) {
char word[500];
fscanf(in,"%s",word);
if (!strcmp(word, "begin")){
while (strcmp(word, "end")){
fscanf(in,"%s",word);
if (!strcmp(word, "nsims")) fscanf(in,"%d",&nsims);
}
} else printf("Error: Illegal format in solver.inp. Crash and burn!\n");
}
printf("Number of simulation domains: %d\n", nsims);
NI = (int*) calloc (nsims, sizeof(int));
/* read solver.inp */
printf("Reading file \"solver.inp\"...\n");
in = fopen("solver.inp","r");
if (!in) {
printf("Error: Input file \"solver.inp\" not found. Default values will be used.\n");
} else {
char word[500];
fscanf(in,"%s",word);
if (!strcmp(word, "begin")){
while (strcmp(word, "end")){
fscanf(in,"%s",word);
if (!strcmp(word, "ndims")) {
fscanf(in,"%d",&ndims);
} else if (!strcmp(word, "size")) {
for (ns = 0; ns < nsims; ns++) {
fscanf(in, "%d", (NI+ns));
}
} else if (!strcmp(word, "ip_file_type")) {
fscanf(in,"%s",ip_file_type);
} else if (!strcmp(word, "n_iter")) {
fscanf(in,"%d", &niter);
} else if (!strcmp(word, "dt")) {
fscanf(in,"%lf", &dt);
}
}
} else printf("Error: Illegal format in solver.inp. Crash and burn!\n");
}
fclose(in);
/* read physics.inp */
printf("Reading file \"physics.inp\"...\n");
in = fopen("physics.inp","r");
if (!in) {
printf("Error: Input file \"physics.inp\" not found. Default values will be used.\n");
} else {
char word[500];
fscanf(in,"%s",word);
if (!strcmp(word, "begin")){
while (strcmp(word, "end")){
fscanf(in,"%s",word);
if (!strcmp(word, "advection")) {
fscanf(in,"%lf",&adv);
}
}
} else printf("Error: Illegal format in physics.inp. Crash and burn!\n");
}
fclose(in);
/* some checks */
if (ndims != 1) {
printf("ndims is not 1 in solver.inp. this code is to generate 1D initial conditions\n");
return(0);
}
if (nsims == 1) {
printf("Grid:\t\t\t%d\n",NI[0]);
} else {
printf("Grid sizes:\n");
for (ns = 0; ns < nsims; ns++) printf("\t%d\n", NI[ns]);
}
printf("Advection speed: %lf\n", adv);
double tf = ((double)niter) * dt;
printf("Final Time: %lf\n",tf);
for (ns = 0; ns < nsims; ns++) {
int N = NI[ns];
char fname[_MAX_STRING_SIZE_] = "initial";
if (nsims > 1) {
char index[_MAX_STRING_SIZE_];
GetStringFromInteger(ns, index, (int)log10(nsims)+1);
strcat(fname, "_");
strcat(fname, index);
}
strcat(fname, ".inp");
int i;
double dx = 1.0 / ((double)N);
double *x, *u;
x = (double*) calloc (N, sizeof(double));
u = (double*) calloc (N, sizeof(double));
for (i = 0; i < N; i++){
x[i] = i*dx;
u[i] = sin(2*pi*x[i]);
}
FILE *out;
if (!strcmp(ip_file_type,"ascii")) {
printf("Writing ASCII initial solution file %s\n", fname);
out = fopen(fname,"w");
for (i = 0; i < N; i++) fprintf(out,"%lf ",x[i]);
fprintf(out,"\n");
for (i = 0; i < N; i++) fprintf(out,"%lf ",u[i]);
fprintf(out,"\n");
fclose(out);
} else if ((!strcmp(ip_file_type,"binary")) || (!strcmp(ip_file_type,"bin"))) {
printf("Writing binary initial solution file %s\n", fname);
out = fopen(fname,"wb");
fwrite(x,sizeof(double),N,out);
fwrite(u,sizeof(double),N,out);
fclose(out);
}
free(x);
free(u);
}
for (ns = 0; ns < nsims; ns++) {
int N = NI[ns];
char fname[_MAX_STRING_SIZE_] = "exact";
if (nsims > 1) {
char index[_MAX_STRING_SIZE_];
GetStringFromInteger(ns, index, (int)log10(nsims)+1);
strcat(fname, "_");
strcat(fname, index);
}
strcat(fname, ".inp");
int i;
double dx = 1.0 / ((double)N);
double *x, *u;
x = (double*) calloc (N, sizeof(double));
u = (double*) calloc (N, sizeof(double));
for (i = 0; i < N; i++){
x[i] = i*dx;
u[i] = sin(2*pi*(x[i]-adv*tf));
}
FILE *out;
if (!strcmp(ip_file_type,"ascii")) {
printf("Writing ASCII exact solution file %s\n", fname);
out = fopen(fname,"w");
for (i = 0; i < N; i++) fprintf(out,"%lf ",x[i]);
fprintf(out,"\n");
for (i = 0; i < N; i++) fprintf(out,"%lf ",u[i]);
fprintf(out,"\n");
fclose(out);
} else if ((!strcmp(ip_file_type,"binary")) || (!strcmp(ip_file_type,"bin"))) {
printf("Writing binary exact solution file %s\n", fname);
out = fopen(fname,"wb");
fwrite(x,sizeof(double),N,out);
fwrite(u,sizeof(double),N,out);
fclose(out);
}
free(x);
free(u);
}
free(NI);
return(0);
}

The index n is the simulation index (0, ..., 3 in this case).

Output:

After running the code, there should be 24 output files op_<n>_00000.dat, ... op_<n>_00005.dat, with 6 files for each of the 4 simulations in the set; the first one is the solution at \(t=0\) and the final one is the solution at \(t=1\). Since HyPar::op_overwrite is set to no in solver.inp, separate files are written for solutions at each output time. All the files are ASCII text (HyPar::op_file_format is set to text in solver.inp). In these files, the first column is grid index, the second column is x-coordinate, and the third column is the solution.

Solutions for each simulation: The following figure is obtained by plotting op_<n>_00005.dat (n=0,1,2,3):

Solution_1DLinearAdvSine_Ensemble.png

Since the exact solution is available at the final time, the errors are calculated and reported on screen (see below) as well as errors_<n>.dat. The errors for each of the simulation are as follows:

40 1 1.0000000000000000E-03 1.0005635575144123E-05 9.9754196040795641E-06 9.9528251056302253E-06 5.9929299999999996E-01 6.1494000000000004E-01
80 1 1.0000000000000000E-03 3.1288691491060448E-07 3.1265016529349612E-07 3.1247032428183275E-07 5.9929299999999996E-01 6.1494000000000004E-01
160 1 1.0000000000000000E-03 9.7812479078475680E-09 9.7795124254570779E-09 9.7785406438788414E-09 5.9929299999999996E-01 6.1494000000000004E-01
320 1 1.0000000000000000E-03 3.1739479032894612E-10 3.1738122256880153E-10 3.1737379391216791E-10 5.9929299999999996E-01 6.1494000000000004E-01

The numbers are: number of grid points (HyPar::dim_global), number of processors (MPIVariables::iproc), time step size (HyPar::dt), L1, L2, and L-infinity errors (HyPar::error), solver wall time (seconds) (i.e., not accounting for initialization, and cleaning up), and total wall time.

Note: the errors above show 5th order convergence with grid size, as expected.

Since HyPar::ConservationCheck is set to yes in solver.inp, the code checks for conservation error and prints it to screen, as well as the file conservation_<n>.dat:

40 1 1.0000000000000000E-03 7.1991024253037494E-17
80 1 1.0000000000000000E-03 6.7220534694101275E-17
160 1 1.0000000000000000E-03 3.1431020980354774E-16
320 1 1.0000000000000000E-03 9.8716607804805179E-17

The numbers are: number of grid points (HyPar::dim_global), number of processors (MPIVariables::iproc), time step size (HyPar::dt), and conservation error (HyPar::ConservationError).

Expected screen output:

HyPar - Parallel (MPI) version with 1 processes
Compiled with PETSc time integration.
-- Ensemble Simulation --
Number of simulation domains: 4
Allocated simulation object(s).
Reading solver inputs from file "solver.inp".
No. of dimensions : 1
No. of variables : 1
Domain sizes:
domain 0 - 40
domain 1 - 80
domain 2 - 160
domain 3 - 320
Processes along each dimension:
domain 0 - 1
domain 1 - 1
domain 2 - 1
domain 3 - 1
No. of ghosts pts : 3
No. of iter. : 1000
Restart iteration : 0
Time integration scheme : rk (44)
Spatial discretization scheme (hyperbolic) : upw5
Split hyperbolic flux term? : no
Interpolation type for hyperbolic term : characteristic
Spatial discretization type (parabolic ) : nonconservative-1stage
Spatial discretization scheme (parabolic ) : 2
Time Step : 1.000000E-03
Check for conservation : yes
Screen output iterations : 10
File output iterations : 200
Initial solution file type : binary
Initial solution read mode : serial
Solution file write mode : serial
Solution file format : text
Overwrite solution file : no
Physical model : linear-advection-diffusion-reaction
Partitioning domain and allocating data arrays.
Reading array from binary file initial_0.inp (Serial mode).
Volume integral of the initial solution on domain 0:
0: 3.7296554733501353E-17
Reading array from binary file initial_1.inp (Serial mode).
Volume integral of the initial solution on domain 1:
0: -4.9439619065339002E-17
Reading array from binary file initial_2.inp (Serial mode).
Volume integral of the initial solution on domain 2:
0: -1.8529015127777271E-16
Reading array from binary file initial_3.inp (Serial mode).
Volume integral of the initial solution on domain 3:
0: 9.6995436855984440E-17
Domain 0: Reading boundary conditions from boundary.inp.
Boundary periodic: Along dimension 0 and face +1
Boundary periodic: Along dimension 0 and face -1
2 boundary condition(s) read.
Domain 1: Reading boundary conditions from boundary.inp.
Boundary periodic: Along dimension 0 and face +1
Boundary periodic: Along dimension 0 and face -1
2 boundary condition(s) read.
Domain 2: Reading boundary conditions from boundary.inp.
Boundary periodic: Along dimension 0 and face +1
Boundary periodic: Along dimension 0 and face -1
2 boundary condition(s) read.
Domain 3: Reading boundary conditions from boundary.inp.
Boundary periodic: Along dimension 0 and face +1
Boundary periodic: Along dimension 0 and face -1
2 boundary condition(s) read.
Initializing solvers.
Initializing physics. Model = "linear-advection-diffusion-reaction"
Reading physical model inputs from file "physics.inp".
Setting up time integration.
Solving in time (from 0 to 1000 iterations)
Writing solution file op_0_00000.dat.
Writing solution file op_1_00000.dat.
Writing solution file op_2_00000.dat.
Writing solution file op_3_00000.dat.
--
Iteration: 10, Time: 1.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.8077E-16
--
--
Iteration: 20, Time: 2.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2020E-16
--
--
Iteration: 30, Time: 3.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4281E-16
--
--
Iteration: 40, Time: 4.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.6632E-16
--
--
Iteration: 50, Time: 5.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5637E-16
--
--
Iteration: 60, Time: 6.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4580E-16
--
--
Iteration: 70, Time: 7.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.5134E-16
--
--
Iteration: 80, Time: 8.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.4272E-16
--
--
Iteration: 90, Time: 9.000e-02
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 5.6964E-16
--
--
Iteration: 100, Time: 1.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.1600E-16
--
--
Iteration: 110, Time: 1.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.7198E-16
--
--
Iteration: 120, Time: 1.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.6693E-16
--
--
Iteration: 130, Time: 1.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.7338E-16
--
--
Iteration: 140, Time: 1.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.5164E-16
--
--
Iteration: 150, Time: 1.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.8031E-16
--
--
Iteration: 160, Time: 1.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2967E-16
--
--
Iteration: 170, Time: 1.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.6251E-16
--
--
Iteration: 180, Time: 1.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.3538E-16
--
--
Iteration: 190, Time: 1.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4994E-16
--
--
Iteration: 200, Time: 2.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1739E-16
--
Writing solution file op_0_00001.dat.
Writing solution file op_1_00001.dat.
Writing solution file op_2_00001.dat.
Writing solution file op_3_00001.dat.
--
Iteration: 210, Time: 2.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.5949E-16
--
--
Iteration: 220, Time: 2.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2306E-16
--
--
Iteration: 230, Time: 2.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.9908E-16
--
--
Iteration: 240, Time: 2.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.0402E-16
--
--
Iteration: 250, Time: 2.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.4724E-16
--
--
Iteration: 260, Time: 2.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.3960E-16
--
--
Iteration: 270, Time: 2.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.5583E-16
--
--
Iteration: 280, Time: 2.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5583E-16
--
--
Iteration: 290, Time: 2.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.1143E-16
--
--
Iteration: 300, Time: 3.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.6955E-16
--
--
Iteration: 310, Time: 3.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5325E-16
--
--
Iteration: 320, Time: 3.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4211E-16
--
--
Iteration: 330, Time: 3.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1143E-16
--
--
Iteration: 340, Time: 3.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.4233E-16
--
--
Iteration: 350, Time: 3.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.7157E-16
--
--
Iteration: 360, Time: 3.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2839E-16
--
--
Iteration: 370, Time: 3.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6163E-16
--
--
Iteration: 380, Time: 3.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.7349E-16
--
--
Iteration: 390, Time: 3.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.2286E-16
--
--
Iteration: 400, Time: 4.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1857E-16
--
Writing solution file op_0_00002.dat.
Writing solution file op_1_00002.dat.
Writing solution file op_2_00002.dat.
Writing solution file op_3_00002.dat.
--
Iteration: 410, Time: 4.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 5.9447E-16
--
--
Iteration: 420, Time: 4.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.9328E-16
--
--
Iteration: 430, Time: 4.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6873E-16
--
--
Iteration: 440, Time: 4.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1484E-16
--
--
Iteration: 450, Time: 4.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.5423E-16
--
--
Iteration: 460, Time: 4.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.3121E-16
--
--
Iteration: 470, Time: 4.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.3225E-16
--
--
Iteration: 480, Time: 4.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.5938E-16
--
--
Iteration: 490, Time: 4.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.0353E-16
--
--
Iteration: 500, Time: 5.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.0493E-16
--
--
Iteration: 510, Time: 5.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5880E-16
--
--
Iteration: 520, Time: 5.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5112E-16
--
--
Iteration: 530, Time: 5.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6348E-16
--
--
Iteration: 540, Time: 5.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.8201E-16
--
--
Iteration: 550, Time: 5.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1635E-16
--
--
Iteration: 560, Time: 5.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.2071E-16
--
--
Iteration: 570, Time: 5.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.9393E-16
--
--
Iteration: 580, Time: 5.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.4009E-16
--
--
Iteration: 590, Time: 5.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.8471E-16
--
--
Iteration: 600, Time: 6.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.1891E-16
--
Writing solution file op_0_00003.dat.
Writing solution file op_1_00003.dat.
Writing solution file op_2_00003.dat.
Writing solution file op_3_00003.dat.
--
Iteration: 610, Time: 6.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.4269E-16
--
--
Iteration: 620, Time: 6.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.2634E-16
--
--
Iteration: 630, Time: 6.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.3478E-16
--
--
Iteration: 640, Time: 6.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.2990E-16
--
--
Iteration: 650, Time: 6.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2217E-16
--
--
Iteration: 660, Time: 6.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.0350E-16
--
--
Iteration: 670, Time: 6.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.0718E-16
--
--
Iteration: 680, Time: 6.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.3587E-16
--
--
Iteration: 690, Time: 6.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.3874E-16
--
--
Iteration: 700, Time: 7.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.4403E-16
--
--
Iteration: 710, Time: 7.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6245E-16
--
--
Iteration: 720, Time: 7.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.5431E-16
--
--
Iteration: 730, Time: 7.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.6966E-16
--
--
Iteration: 740, Time: 7.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.8099E-16
--
--
Iteration: 750, Time: 7.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6531E-16
--
--
Iteration: 760, Time: 7.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.9533E-16
--
--
Iteration: 770, Time: 7.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.4977E-16
--
--
Iteration: 780, Time: 7.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.9071E-16
--
--
Iteration: 790, Time: 7.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.0940E-16
--
--
Iteration: 800, Time: 8.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.5096E-16
--
Writing solution file op_0_00004.dat.
Writing solution file op_1_00004.dat.
Writing solution file op_2_00004.dat.
Writing solution file op_3_00004.dat.
--
Iteration: 810, Time: 8.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.2257E-16
--
--
Iteration: 820, Time: 8.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.4109E-16
--
--
Iteration: 830, Time: 8.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.1675E-16
--
--
Iteration: 840, Time: 8.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6377E-16
--
--
Iteration: 850, Time: 8.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.4279E-16
--
--
Iteration: 860, Time: 8.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.9046E-16
--
--
Iteration: 870, Time: 8.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.8608E-16
--
--
Iteration: 880, Time: 8.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.6535E-16
--
--
Iteration: 890, Time: 8.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.6849E-16
--
--
Iteration: 900, Time: 9.000e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 1.7618E-16
--
--
Iteration: 910, Time: 9.100e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.9726E-16
--
--
Iteration: 920, Time: 9.200e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.0998E-16
--
--
Iteration: 930, Time: 9.300e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.7529E-16
--
--
Iteration: 940, Time: 9.400e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 2.6705E-16
--
--
Iteration: 950, Time: 9.500e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4803E-16
--
--
Iteration: 960, Time: 9.600e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.3216E-16
--
--
Iteration: 970, Time: 9.700e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.1346E-16
--
--
Iteration: 980, Time: 9.800e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.6292E-16
--
--
Iteration: 990, Time: 9.900e-01
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 4.5622E-16
--
--
Iteration: 1000, Time: 1.000e+00
Max CFL: 3.200E-01, Max Diff. No.: 0.000E+00, Norm: 4.4429E-03
Conservation loss: 3.4386E-16
--
Writing solution file op_0_00005.dat.
Writing solution file op_1_00005.dat.
Writing solution file op_2_00005.dat.
Writing solution file op_3_00005.dat.
Completed time integration (Final time: 1.000000).
Reading array from binary file exact_0.inp (Serial mode).
Reading array from binary file exact_1.inp (Serial mode).
Reading array from binary file exact_2.inp (Serial mode).
Reading array from binary file exact_3.inp (Serial mode).
Computed errors for domain 0:
L1 Error : 1.0005635575144123E-05
L2 Error : 9.9754196040795641E-06
Linfinity Error : 9.9528251056302253E-06
Conservation Errors:
7.1991024253037494E-17
Computed errors for domain 1:
L1 Error : 3.1288691491060448E-07
L2 Error : 3.1265016529349612E-07
Linfinity Error : 3.1247032428183275E-07
Conservation Errors:
6.7220534694101275E-17
Computed errors for domain 2:
L1 Error : 9.7812479078475680E-09
L2 Error : 9.7795124254570779E-09
Linfinity Error : 9.7785406438788414E-09
Conservation Errors:
3.1431020980354774E-16
Computed errors for domain 3:
L1 Error : 3.1739479032894612E-10
L2 Error : 3.1738122256880153E-10
Linfinity Error : 3.1737379391216791E-10
Conservation Errors:
9.8716607804805179E-17
Solver runtime (in seconds): 5.9929299999999996E-01
Total runtime (in seconds): 6.1494000000000004E-01
Deallocating arrays.
Finished.