Skip to content

Carbon dioxoide injection in aquifer

This example demonstrates a custom K-value compositional model for the injection of CO2 into a saline aquifer. The physical model for flow of CO2 is a realization of the description in 11th SPE Comparative Solutions Project. Simulation of CO2 can be challenging, and we load the HYPRE package to improve performance.

The model also has an option to run immiscible simulations with otherwise identical PVT behavior. This is often faster to run, but lacks the dissolution model present in the compositional version (i.e. no solubility of CO2 in brine, and no vaporization of water in the vapor phase).

julia
use_immiscible = false
using Jutul, JutulDarcy
using HYPRE
using GLMakie
nx = 100
nz = 50
Darcy, bar, kg, meter, day, yr = si_units(:darcy, :bar, :kilogram, :meter, :day, :year)
(9.86923266716013e-13, 100000.0, 1.0, 1.0, 86400.0, 3.1556952e7)

Set up a 2D aquifer model

We set up a Cartesian mesh that is then transformed into an unstructured mesh. We can then modify the coordinates to create a domain with a undulating top surface. CO2 will flow along the top surface and the topography of the top surface has a large impact on where the CO2 migrates.

julia
cart_dims = (nx, 1, nz)
physical_dims = (1000.0, 1.0, 50.0)
cart_mesh = CartesianMesh(cart_dims, physical_dims)
mesh = UnstructuredMesh(cart_mesh, z_is_depth = true)

points = mesh.node_points
for (i, pt) in enumerate(points)
    x, y, z = pt
    x_u = 2*π*x/1000.0
    w = 0.2
    dz = 0.05*x + 0.05*abs(x - 500.0)+ w*(30*sin(2.0*x_u) + 20*sin(5.0*x_u))
    points[i] = pt + [0, 0, dz]
end;

Find and plot cells intersected by a deviated injector well

We place a single injector well. This well was unfortunately not drilled completely straight, so we cannot directly use add_vertical_well based on logical indices. We instead define a matrix with three columns x, y, z that lie on the well trajectory and use utilities from Jutul to find the cells intersected by the trajectory.

julia
import Jutul: find_enclosing_cells, plot_mesh_edges
trajectory = [
    645.0 0.5 75;    # First point
    660.0 0.5 85;    # Second point
    710.0 0.5 100.0  # Third point
]

wc = find_enclosing_cells(mesh, trajectory)

fig, ax, plt = plot_mesh_edges(mesh)
plot_mesh!(ax, mesh, cells = wc, transparency = true, alpha = 0.4)
MakieCore.Mesh{Tuple{GeometryBasics.Mesh{3, Float64, GeometryBasics.TriangleP{3, Float64, GeometryBasics.PointMeta{3, Float64, GeometryBasics.Point{3, Float64}, (:normals,), Tuple{GeometryBasics.Vec{3, Float32}}}}, GeometryBasics.FaceView{GeometryBasics.TriangleP{3, Float64, GeometryBasics.PointMeta{3, Float64, GeometryBasics.Point{3, Float64}, (:normals,), Tuple{GeometryBasics.Vec{3, Float32}}}}, GeometryBasics.PointMeta{3, Float64, GeometryBasics.Point{3, Float64}, (:normals,), Tuple{GeometryBasics.Vec{3, Float32}}}, GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}, StructArrays.StructVector{GeometryBasics.PointMeta{3, Float64, GeometryBasics.Point{3, Float64}, (:normals,), Tuple{GeometryBasics.Vec{3, Float32}}}, @NamedTuple{position::Vector{GeometryBasics.Point{3, Float64}}, normals::Vector{GeometryBasics.Vec{3, Float32}}}, Int64}, Vector{GeometryBasics.NgonFace{3, GeometryBasics.OffsetInteger{-1, UInt32}}}}}}}

View from the side

julia
ax.azimuth[] = 1.5*π
ax.elevation[] = 0.0
lines!(ax, trajectory', color = :red)
fig

Define permeability and porosity

We loop over all cells and define three layered regions by the K index of each cell. We can then set a corresponding diagonal permeability tensor (3 values) and porosity (scalar) to introduce variation between the layers.

julia
nc = number_of_cells(mesh)
perm = zeros(3, nc)
poro = fill(0.3, nc)
region = zeros(Int, nc)
for cell in 1:nc
    I, J, K = cell_ijk(mesh, cell)
    if K < 0.3*nz
        reg = 1
        permxy = 0.3*Darcy
        phi = 0.2
    elseif K < 0.7*nz
        reg = 2
        permxy = 1.2*Darcy
        phi = 0.35
    else
        reg = 3
        permxy = 0.1*Darcy
        phi = 0.1
    end
    permz = 0.5*permxy
    perm[1, cell] = perm[2, cell] = permxy
    perm[3, cell] = permz
    poro[cell] = phi
    region[cell] = reg
end

fig, ax, plt = plot_cell_data(mesh, poro)
fig

Set up simulation model

We set up a domain and a single injector. We pass the special :co2brine argument in place of the system to the reservoir model setup routine. This will automatically set up a compositional two-component CO2-H2O model with the appropriate functions for density, viscosity and miscibility.

Note that this model by default is isothermal, but we still need to specify a temperature when setting up the model. This is because the properties of CO2 strongly depend on temperature, even when thermal transport is not solved.

The model also accounts for a constant, reservoir-wide salinity. We input mole fractions of salts in the brine so that the solubilities, densities and viscosities for brine cells are corrected in the property model.

julia
domain = reservoir_domain(mesh, permeability = perm, porosity = poro, temperature = convert_to_si(60.0, :Celsius))
Injector = setup_well(domain, wc, name = :Injector, simple_well = true)

if use_immiscible
    physics = :immiscible
else
    physics = :kvalue
end
model = setup_reservoir_model(domain, :co2brine,
    wells = Injector,
    extra_out = false,
    salt_names = ["NaCl", "KCl", "CaSO4", "CaCl2", "MgSO4", "MgCl2"],
    salt_mole_fractions = [0.01, 0.005, 0.005, 0.001, 0.0002, 1e-5],
    co2_physics = physics
);

Customize model by adding relative permeability with hysteresis

We define three relative permeability functions: kro(so) for the brine/liquid phase and krg(g) for both drainage and imbibition. Here we limit the hysteresis to only the non-wetting gas phase, but either combination of wetting or non-wetting hysteresis is supported.

Note that we import a few utilities from JutulDarcy that are not exported by default since hysteresis falls under advanced functionality.

julia
import JutulDarcy: table_to_relperm, add_relperm_parameters!, brooks_corey_relperm
so = range(0, 1, 10)
krog_t = so.^2
krog = PhaseRelativePermeability(so, krog_t, label = :og)
PhaseRelativePermeability for og:
  .k: Internal representation: Jutul.LinearInterpolant{Vector{Float64}, Vector{Float64}, Missing}([-1.0e-16, 0.1111111111111111, 0.2222222222222222, 0.3333333333333333, 0.4444444444444444, 0.5555555555555556, 0.6666666666666666, 0.7777777777777778, 0.8888888888888887, 1.0], [0.0, 0.012345679012345678, 0.04938271604938271, 0.1111111111111111, 0.19753086419753085, 0.308641975308642, 0.4444444444444444, 0.6049382716049383, 0.7901234567901234, 1.0], missing)
  Connate saturation = 0.0
  Critical saturation = 0.0
  Maximum rel. perm = 1.0 at 1.0

Higher resolution for second table:

julia
sg = range(0, 1, 50);

Evaluate Brooks-Corey to generate tables:

julia
tab_krg_drain = brooks_corey_relperm.(sg, n = 2, residual = 0.1)
tab_krg_imb = brooks_corey_relperm.(sg, n = 3, residual = 0.25)

krg_drain  = PhaseRelativePermeability(sg, tab_krg_drain, label = :g)
krg_imb  = PhaseRelativePermeability(sg, tab_krg_imb, label = :g)

fig, ax, plt = lines(sg, tab_krg_drain, label = "krg drainage")
lines!(ax, sg, tab_krg_imb, label = "krg imbibition")
lines!(ax, 1 .- so, krog_t, label = "kro")
axislegend()
fig
# Define a relative permeability variable

JutulDarcy uses type instances to define how different variables inside the simulation are evaluated. The ReservoirRelativePermeabilities type has support for up to three phases with w, ow, og and g relative permeabilities specified as a function of their respective phases. It also supports saturation regions.

Note: If regions are used, all drainage curves come first followed by equal number of imbibition curves. Since we only have a single (implicit) saturation region, the krg input should have two entries: One for drainage, and one for imbibition.

We also call add_relperm_parameters to the model. This makes sure that when hysteresis is enabled, we track maximum saturation for hysteresis in each reservoir cell.

julia
import JutulDarcy: KilloughHysteresis, ReservoirRelativePermeabilities
krg = (krg_drain, krg_imb)
H_g = KilloughHysteresis() # Other options: CarlsonHysteresis, JargonHysteresis
relperm = ReservoirRelativePermeabilities(g = krg, og = krog, hysteresis_g = H_g)
replace_variables!(model, RelativePermeabilities = relperm)
add_relperm_parameters!(model);

Define approximate hydrostatic pressure and set up initial state

The initial pressure of the water-filled domain is assumed to be at hydrostatic equilibrium. If we use an immiscible model, we must provide the initial saturations. If we are using a compositional model, we should instead provide the overall mole fractions. Note that since both are fractions, and the CO2 model has correspondence between phase ordering and component ordering (i.e. solves for liquid and vapor, and H2O and CO2), we can use the same input value.

julia
nc = number_of_cells(mesh)
p0 = zeros(nc)
depth = domain[:cell_centroids][3, :]
g = Jutul.gravity_constant
@. p0 = 160bar + depth*g*1000.0
fig, ax, plt = plot_cell_data(mesh, p0)
fig

Set up initial state and parameters

julia
if use_immiscible
    state0 = setup_reservoir_state(model,
        Pressure = p0,
        Saturations = [1.0, 0.0],
    )
else
    state0 = setup_reservoir_state(model,
        Pressure = p0,
        OverallMoleFractions = [1.0, 0.0],
    )
end
parameters = setup_parameters(model)
Dict{Symbol, Any} with 3 entries:
  :Injector  => Dict{Symbol, Any}(:FluidVolume=>[0.0630954], :PerforationGravit…
  :Reservoir => Dict{Symbol, Any}(:Transmissibilities=>[2.85521e-14, 2.87444e-1…
  :Facility  => Dict{Symbol, Any}()

Find the boundary and apply a constant pressureboundary condition

We find cells on the left and right boundary of the model and set a constant pressure boundary condition to represent a bounding aquifer that retains the initial pressure far away from injection.

julia
boundary = Int[]
for cell in 1:nc
    I, J, K = cell_ijk(mesh, cell)
    if I == 1 || I == nx
        push!(boundary, cell)
    end
end
bc = flow_boundary_condition(boundary, domain, p0[boundary], fractional_flow = [1.0, 0.0])
println("Boundary condition added to $(length(bc)) cells.")
Boundary condition added to 100 cells.

Plot the model

julia
plot_reservoir(model)

Set up schedule

We set up 25 years of injection and 475 years of migration where the well is shut. The density of the injector is set to 630 kg/m^3, which is roughly the density of CO2 at the in-situ conditions.

julia
nstep = 25
nstep_shut = 475
dt_inject = fill(365.0day, nstep)
pv = pore_volume(model, parameters)
inj_rate = 0.075*sum(pv)/sum(dt_inject)

rate_target = TotalRateTarget(inj_rate)
I_ctrl = InjectorControl(rate_target, [0.0, 1.0],
    density = 630.0,
)
InjectorControl{TotalRateTarget{Float64}, Float64, Tuple{Tuple{Int64, Float64}}, Vector{Float64}, Missing}(TotalRateTarget with value 1.084474885844749e-6 [m^3/s], [0.0, 1.0], 630.0, ((1, 1.0),), 293.15, missing, 1.0)

Set up forces for use in injection

julia
controls = Dict(:Injector => I_ctrl)
forces_inject = setup_reservoir_forces(model, control = controls, bc = bc)
Dict{Symbol, Any} with 3 entries:
  :Injector  => (mask = nothing,)
  :Reservoir => (bc = FlowBoundaryCondition{Int64, Float64, Tuple{Float64, Floa…
  :Facility  => (control = Dict{Symbol, InjectorControl{TotalRateTarget{Float64…

Forces with shut wells

julia
forces_shut = setup_reservoir_forces(model, bc = bc)
dt_shut = fill(365.0day, nstep_shut);

Combine the report steps and forces into vectors of equal length

julia
dt = vcat(dt_inject, dt_shut)
forces = vcat(
    fill(forces_inject, nstep),
    fill(forces_shut, nstep_shut)
)
println("$nstep report steps with injection, $nstep_shut report steps with migration.")
25 report steps with injection, 475 report steps with migration.

Add some more outputs for plotting

julia
rmodel = reservoir_model(model)
push!(rmodel.output_variables, :RelativePermeabilities)
push!(rmodel.output_variables, :PhaseViscosities)
9-element Vector{Symbol}:
 :Pressure
 :OverallMoleFractions
 :TotalMasses
 :LiquidMassFractions
 :VaporMassFractions
 :Saturations
 :PhaseMassDensities
 :RelativePermeabilities
 :PhaseViscosities

Simulate the schedule

We set a maximum internal time-step of 30 days to ensure smooth convergence and reduce numerical diffusion.

julia
wd, states, t = simulate_reservoir(state0, model, dt,
    parameters = parameters,
    forces = forces,
    max_timestep = 90day
);

Simulating 499 years, 34.86 weeks as 500 report steps   0%  ETA: 0:35:35
  Progress:  Solving step 2/500 (0.40% of time interval complete)
  Stats:     57 iterations in 6.51 s (114.16 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   1%  ETA: 0:24:46
  Progress:  Solving step 3/500 (0.60% of time interval complete)
  Stats:     92 iterations in 6.90 s (75.01 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   1%  ETA: 0:19:12
  Progress:  Solving step 4/500 (0.80% of time interval complete)
  Stats:     124 iterations in 7.22 s (58.24 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   1%  ETA: 0:15:55
  Progress:  Solving step 5/500 (1.00% of time interval complete)
  Stats:     158 iterations in 7.58 s (47.96 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   1%  ETA: 0:13:43
  Progress:  Solving step 6/500 (1.20% of time interval complete)
  Stats:     190 iterations in 7.93 s (41.72 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   1%  ETA: 0:13:07
  Progress:  Solving step 7/500 (1.40% of time interval complete)
  Stats:     243 iterations in 9.11 s (37.48 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   2%  ETA: 0:11:54
  Progress:  Solving step 8/500 (1.60% of time interval complete)
  Stats:     281 iterations in 9.53 s (33.92 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   2%  ETA: 0:10:50
  Progress:  Solving step 9/500 (1.80% of time interval complete)
  Stats:     311 iterations in 9.83 s (31.61 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   2%  ETA: 0:10:01
  Progress:  Solving step 10/500 (2.00% of time interval complete)
  Stats:     343 iterations in 10.18 s (29.69 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   2%  ETA: 0:09:33
  Progress:  Solving step 11/500 (2.20% of time interval complete)
  Stats:     399 iterations in 10.81 s (27.10 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   2%  ETA: 0:09:02
  Progress:  Solving step 12/500 (2.40% of time interval complete)
  Stats:     445 iterations in 11.25 s (25.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   3%  ETA: 0:08:34
  Progress:  Solving step 13/500 (2.60% of time interval complete)
  Stats:     482 iterations in 11.64 s (24.16 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   3%  ETA: 0:08:15
  Progress:  Solving step 14/500 (2.80% of time interval complete)
  Stats:     538 iterations in 12.19 s (22.66 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   3%  ETA: 0:08:03
  Progress:  Solving step 15/500 (3.00% of time interval complete)
  Stats:     602 iterations in 12.86 s (21.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   3%  ETA: 0:07:57
  Progress:  Solving step 16/500 (3.20% of time interval complete)
  Stats:     682 iterations in 13.67 s (20.04 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   3%  ETA: 0:07:48
  Progress:  Solving step 17/500 (3.40% of time interval complete)
  Stats:     754 iterations in 14.40 s (19.10 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   4%  ETA: 0:07:39
  Progress:  Solving step 18/500 (3.60% of time interval complete)
  Stats:     814 iterations in 15.05 s (18.49 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   4%  ETA: 0:07:32
  Progress:  Solving step 19/500 (3.80% of time interval complete)
  Stats:     878 iterations in 15.75 s (17.93 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   4%  ETA: 0:07:18
  Progress:  Solving step 20/500 (4.00% of time interval complete)
  Stats:     920 iterations in 16.18 s (17.58 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   4%  ETA: 0:07:11
  Progress:  Solving step 21/500 (4.20% of time interval complete)
  Stats:     982 iterations in 16.82 s (17.13 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   4%  ETA: 0:07:01
  Progress:  Solving step 22/500 (4.40% of time interval complete)
  Stats:     1025 iterations in 17.28 s (16.86 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   5%  ETA: 0:06:56
  Progress:  Solving step 23/500 (4.60% of time interval complete)
  Stats:     1090 iterations in 17.97 s (16.48 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   5%  ETA: 0:06:56
  Progress:  Solving step 24/500 (4.80% of time interval complete)
  Stats:     1178 iterations in 18.87 s (16.02 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   5%  ETA: 0:06:49
  Progress:  Solving step 25/500 (5.00% of time interval complete)
  Stats:     1231 iterations in 19.40 s (15.76 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   5%  ETA: 0:06:44
  Progress:  Solving step 26/500 (5.20% of time interval complete)
  Stats:     1294 iterations in 20.07 s (15.51 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   5%  ETA: 0:06:48
  Progress:  Solving step 27/500 (5.40% of time interval complete)
  Stats:     1396 iterations in 21.17 s (15.17 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   6%  ETA: 0:06:38
  Progress:  Solving step 28/500 (5.60% of time interval complete)
  Stats:     1427 iterations in 21.51 s (15.07 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   6%  ETA: 0:06:27
  Progress:  Solving step 29/500 (5.80% of time interval complete)
  Stats:     1446 iterations in 21.71 s (15.02 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   6%  ETA: 0:06:16
  Progress:  Solving step 30/500 (6.00% of time interval complete)
  Stats:     1461 iterations in 21.92 s (15.00 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   6%  ETA: 0:06:05
  Progress:  Solving step 31/500 (6.20% of time interval complete)
  Stats:     1473 iterations in 22.05 s (14.97 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   6%  ETA: 0:05:55
  Progress:  Solving step 32/500 (6.40% of time interval complete)
  Stats:     1486 iterations in 22.18 s (14.92 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   7%  ETA: 0:05:45
  Progress:  Solving step 33/500 (6.60% of time interval complete)
  Stats:     1498 iterations in 22.30 s (14.89 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   7%  ETA: 0:05:36
  Progress:  Solving step 34/500 (6.80% of time interval complete)
  Stats:     1510 iterations in 22.43 s (14.86 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   7%  ETA: 0:05:28
  Progress:  Solving step 35/500 (7.00% of time interval complete)
  Stats:     1523 iterations in 22.57 s (14.82 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   7%  ETA: 0:05:20
  Progress:  Solving step 36/500 (7.20% of time interval complete)
  Stats:     1536 iterations in 22.70 s (14.78 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   7%  ETA: 0:05:12
  Progress:  Solving step 37/500 (7.40% of time interval complete)
  Stats:     1550 iterations in 22.84 s (14.73 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   8%  ETA: 0:05:05
  Progress:  Solving step 38/500 (7.60% of time interval complete)
  Stats:     1563 iterations in 23.00 s (14.71 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   8%  ETA: 0:04:58
  Progress:  Solving step 39/500 (7.80% of time interval complete)
  Stats:     1574 iterations in 23.12 s (14.69 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   8%  ETA: 0:04:52
  Progress:  Solving step 40/500 (8.00% of time interval complete)
  Stats:     1586 iterations in 23.24 s (14.65 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   8%  ETA: 0:04:46
  Progress:  Solving step 41/500 (8.20% of time interval complete)
  Stats:     1602 iterations in 23.39 s (14.60 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   8%  ETA: 0:04:40
  Progress:  Solving step 42/500 (8.40% of time interval complete)
  Stats:     1614 iterations in 23.52 s (14.57 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   9%  ETA: 0:04:34
  Progress:  Solving step 43/500 (8.60% of time interval complete)
  Stats:     1628 iterations in 23.67 s (14.54 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   9%  ETA: 0:04:29
  Progress:  Solving step 44/500 (8.80% of time interval complete)
  Stats:     1640 iterations in 23.81 s (14.52 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   9%  ETA: 0:04:24
  Progress:  Solving step 45/500 (9.00% of time interval complete)
  Stats:     1654 iterations in 23.97 s (14.49 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   9%  ETA: 0:04:19
  Progress:  Solving step 46/500 (9.20% of time interval complete)
  Stats:     1665 iterations in 24.10 s (14.47 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps   9%  ETA: 0:04:14
  Progress:  Solving step 47/500 (9.40% of time interval complete)
  Stats:     1679 iterations in 24.24 s (14.44 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  10%  ETA: 0:04:10
  Progress:  Solving step 48/500 (9.60% of time interval complete)
  Stats:     1691 iterations in 24.38 s (14.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  10%  ETA: 0:04:05
  Progress:  Solving step 49/500 (9.80% of time interval complete)
  Stats:     1705 iterations in 24.52 s (14.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  10%  ETA: 0:04:01
  Progress:  Solving step 50/500 (10.00% of time interval complete)
  Stats:     1715 iterations in 24.64 s (14.37 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  10%  ETA: 0:03:57
  Progress:  Solving step 51/500 (10.20% of time interval complete)
  Stats:     1726 iterations in 24.75 s (14.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  10%  ETA: 0:03:53
  Progress:  Solving step 52/500 (10.40% of time interval complete)
  Stats:     1738 iterations in 24.89 s (14.32 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  11%  ETA: 0:03:50
  Progress:  Solving step 53/500 (10.60% of time interval complete)
  Stats:     1749 iterations in 25.09 s (14.35 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  11%  ETA: 0:03:46
  Progress:  Solving step 54/500 (10.80% of time interval complete)
  Stats:     1760 iterations in 25.21 s (14.33 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  11%  ETA: 0:03:42
  Progress:  Solving step 55/500 (11.00% of time interval complete)
  Stats:     1770 iterations in 25.33 s (14.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  11%  ETA: 0:03:39
  Progress:  Solving step 56/500 (11.20% of time interval complete)
  Stats:     1783 iterations in 25.46 s (14.28 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  11%  ETA: 0:03:36
  Progress:  Solving step 57/500 (11.40% of time interval complete)
  Stats:     1795 iterations in 25.60 s (14.26 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  12%  ETA: 0:03:32
  Progress:  Solving step 58/500 (11.60% of time interval complete)
  Stats:     1806 iterations in 25.72 s (14.24 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  12%  ETA: 0:03:29
  Progress:  Solving step 59/500 (11.80% of time interval complete)
  Stats:     1820 iterations in 25.88 s (14.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  12%  ETA: 0:03:26
  Progress:  Solving step 60/500 (12.00% of time interval complete)
  Stats:     1831 iterations in 26.01 s (14.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  12%  ETA: 0:03:29
  Progress:  Solving step 61/500 (12.20% of time interval complete)
  Stats:     1844 iterations in 26.89 s (14.58 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  12%  ETA: 0:03:26
  Progress:  Solving step 62/500 (12.40% of time interval complete)
  Stats:     1855 iterations in 27.01 s (14.56 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  13%  ETA: 0:03:23
  Progress:  Solving step 63/500 (12.60% of time interval complete)
  Stats:     1866 iterations in 27.13 s (14.54 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  13%  ETA: 0:03:20
  Progress:  Solving step 64/500 (12.80% of time interval complete)
  Stats:     1876 iterations in 27.24 s (14.52 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  13%  ETA: 0:03:17
  Progress:  Solving step 65/500 (13.00% of time interval complete)
  Stats:     1888 iterations in 27.37 s (14.50 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  13%  ETA: 0:03:15
  Progress:  Solving step 66/500 (13.20% of time interval complete)
  Stats:     1898 iterations in 27.49 s (14.48 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  13%  ETA: 0:03:12
  Progress:  Solving step 67/500 (13.40% of time interval complete)
  Stats:     1909 iterations in 27.61 s (14.46 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  14%  ETA: 0:03:10
  Progress:  Solving step 68/500 (13.60% of time interval complete)
  Stats:     1919 iterations in 27.73 s (14.45 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  14%  ETA: 0:03:07
  Progress:  Solving step 69/500 (13.80% of time interval complete)
  Stats:     1930 iterations in 27.87 s (14.44 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  14%  ETA: 0:03:05
  Progress:  Solving step 70/500 (14.00% of time interval complete)
  Stats:     1943 iterations in 28.02 s (14.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  14%  ETA: 0:03:03
  Progress:  Solving step 71/500 (14.20% of time interval complete)
  Stats:     1953 iterations in 28.14 s (14.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  14%  ETA: 0:03:01
  Progress:  Solving step 72/500 (14.40% of time interval complete)
  Stats:     1966 iterations in 28.28 s (14.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  15%  ETA: 0:02:59
  Progress:  Solving step 73/500 (14.60% of time interval complete)
  Stats:     1979 iterations in 28.42 s (14.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  15%  ETA: 0:02:57
  Progress:  Solving step 74/500 (14.80% of time interval complete)
  Stats:     1991 iterations in 28.55 s (14.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  15%  ETA: 0:02:55
  Progress:  Solving step 75/500 (15.00% of time interval complete)
  Stats:     2006 iterations in 28.71 s (14.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  15%  ETA: 0:02:53
  Progress:  Solving step 76/500 (15.20% of time interval complete)
  Stats:     2016 iterations in 28.83 s (14.30 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  15%  ETA: 0:02:51
  Progress:  Solving step 77/500 (15.40% of time interval complete)
  Stats:     2024 iterations in 28.93 s (14.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  16%  ETA: 0:02:49
  Progress:  Solving step 78/500 (15.60% of time interval complete)
  Stats:     2034 iterations in 29.06 s (14.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  16%  ETA: 0:02:47
  Progress:  Solving step 79/500 (15.80% of time interval complete)
  Stats:     2043 iterations in 29.16 s (14.27 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  16%  ETA: 0:02:45
  Progress:  Solving step 80/500 (16.00% of time interval complete)
  Stats:     2053 iterations in 29.26 s (14.25 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  16%  ETA: 0:02:43
  Progress:  Solving step 81/500 (16.20% of time interval complete)
  Stats:     2064 iterations in 29.39 s (14.24 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  16%  ETA: 0:02:41
  Progress:  Solving step 82/500 (16.40% of time interval complete)
  Stats:     2075 iterations in 29.50 s (14.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  17%  ETA: 0:02:40
  Progress:  Solving step 83/500 (16.60% of time interval complete)
  Stats:     2087 iterations in 29.64 s (14.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  17%  ETA: 0:02:38
  Progress:  Solving step 84/500 (16.80% of time interval complete)
  Stats:     2098 iterations in 29.76 s (14.18 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  17%  ETA: 0:02:36
  Progress:  Solving step 85/500 (17.00% of time interval complete)
  Stats:     2109 iterations in 29.88 s (14.17 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  17%  ETA: 0:02:35
  Progress:  Solving step 86/500 (17.20% of time interval complete)
  Stats:     2118 iterations in 29.98 s (14.16 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  17%  ETA: 0:02:33
  Progress:  Solving step 87/500 (17.40% of time interval complete)
  Stats:     2128 iterations in 30.08 s (14.14 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  18%  ETA: 0:02:31
  Progress:  Solving step 88/500 (17.60% of time interval complete)
  Stats:     2137 iterations in 30.19 s (14.13 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  18%  ETA: 0:02:28
  Progress:  Solving step 90/500 (18.00% of time interval complete)
  Stats:     2151 iterations in 30.35 s (14.11 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  18%  ETA: 0:02:25
  Progress:  Solving step 92/500 (18.40% of time interval complete)
  Stats:     2166 iterations in 30.53 s (14.09 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  19%  ETA: 0:02:22
  Progress:  Solving step 94/500 (18.80% of time interval complete)
  Stats:     2183 iterations in 30.73 s (14.08 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  19%  ETA: 0:02:19
  Progress:  Solving step 96/500 (19.20% of time interval complete)
  Stats:     2196 iterations in 30.98 s (14.11 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  19%  ETA: 0:02:18
  Progress:  Solving step 97/500 (19.40% of time interval complete)
  Stats:     2204 iterations in 31.08 s (14.10 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  20%  ETA: 0:02:15
  Progress:  Solving step 99/500 (19.80% of time interval complete)
  Stats:     2220 iterations in 31.28 s (14.09 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  20%  ETA: 0:02:13
  Progress:  Solving step 101/500 (20.20% of time interval complete)
  Stats:     2230 iterations in 31.42 s (14.09 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  21%  ETA: 0:02:10
  Progress:  Solving step 103/500 (20.60% of time interval complete)
  Stats:     2243 iterations in 31.58 s (14.08 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  21%  ETA: 0:02:08
  Progress:  Solving step 105/500 (21.00% of time interval complete)
  Stats:     2256 iterations in 31.75 s (14.07 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  21%  ETA: 0:02:05
  Progress:  Solving step 107/500 (21.40% of time interval complete)
  Stats:     2269 iterations in 31.91 s (14.06 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  22%  ETA: 0:02:03
  Progress:  Solving step 109/500 (21.80% of time interval complete)
  Stats:     2280 iterations in 32.05 s (14.06 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  22%  ETA: 0:02:00
  Progress:  Solving step 111/500 (22.20% of time interval complete)
  Stats:     2291 iterations in 32.20 s (14.06 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  23%  ETA: 0:01:58
  Progress:  Solving step 113/500 (22.60% of time interval complete)
  Stats:     2302 iterations in 32.35 s (14.05 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  23%  ETA: 0:01:56
  Progress:  Solving step 115/500 (23.00% of time interval complete)
  Stats:     2316 iterations in 32.53 s (14.04 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  23%  ETA: 0:01:54
  Progress:  Solving step 117/500 (23.40% of time interval complete)
  Stats:     2329 iterations in 32.71 s (14.04 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  24%  ETA: 0:01:53
  Progress:  Solving step 118/500 (23.60% of time interval complete)
  Stats:     2337 iterations in 32.81 s (14.04 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  24%  ETA: 0:01:52
  Progress:  Solving step 119/500 (23.80% of time interval complete)
  Stats:     2345 iterations in 32.92 s (14.04 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  24%  ETA: 0:01:51
  Progress:  Solving step 121/500 (24.20% of time interval complete)
  Stats:     2361 iterations in 33.11 s (14.03 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  25%  ETA: 0:01:49
  Progress:  Solving step 123/500 (24.60% of time interval complete)
  Stats:     2377 iterations in 33.35 s (14.03 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  25%  ETA: 0:01:47
  Progress:  Solving step 125/500 (25.00% of time interval complete)
  Stats:     2390 iterations in 33.50 s (14.02 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  25%  ETA: 0:01:45
  Progress:  Solving step 127/500 (25.40% of time interval complete)
  Stats:     2400 iterations in 33.63 s (14.01 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  26%  ETA: 0:01:43
  Progress:  Solving step 129/500 (25.80% of time interval complete)
  Stats:     2411 iterations in 33.77 s (14.01 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  26%  ETA: 0:01:42
  Progress:  Solving step 131/500 (26.20% of time interval complete)
  Stats:     2421 iterations in 33.91 s (14.00 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  27%  ETA: 0:01:40
  Progress:  Solving step 133/500 (26.60% of time interval complete)
  Stats:     2431 iterations in 34.03 s (14.00 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  27%  ETA: 0:01:38
  Progress:  Solving step 135/500 (27.00% of time interval complete)
  Stats:     2441 iterations in 34.16 s (14.00 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  27%  ETA: 0:01:37
  Progress:  Solving step 137/500 (27.40% of time interval complete)
  Stats:     2451 iterations in 34.29 s (13.99 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  28%  ETA: 0:01:35
  Progress:  Solving step 139/500 (27.80% of time interval complete)
  Stats:     2462 iterations in 34.43 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  28%  ETA: 0:01:34
  Progress:  Solving step 141/500 (28.20% of time interval complete)
  Stats:     2472 iterations in 34.56 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  29%  ETA: 0:01:32
  Progress:  Solving step 143/500 (28.60% of time interval complete)
  Stats:     2482 iterations in 34.69 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  29%  ETA: 0:01:31
  Progress:  Solving step 145/500 (29.00% of time interval complete)
  Stats:     2493 iterations in 34.84 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  29%  ETA: 0:01:29
  Progress:  Solving step 147/500 (29.40% of time interval complete)
  Stats:     2503 iterations in 34.98 s (13.97 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  30%  ETA: 0:01:28
  Progress:  Solving step 149/500 (29.80% of time interval complete)
  Stats:     2513 iterations in 35.11 s (13.97 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  30%  ETA: 0:01:27
  Progress:  Solving step 151/500 (30.20% of time interval complete)
  Stats:     2525 iterations in 35.30 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  31%  ETA: 0:01:25
  Progress:  Solving step 153/500 (30.60% of time interval complete)
  Stats:     2536 iterations in 35.45 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  31%  ETA: 0:01:24
  Progress:  Solving step 155/500 (31.00% of time interval complete)
  Stats:     2546 iterations in 35.59 s (13.98 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  31%  ETA: 0:01:23
  Progress:  Solving step 157/500 (31.40% of time interval complete)
  Stats:     2556 iterations in 35.72 s (13.97 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  32%  ETA: 0:01:22
  Progress:  Solving step 159/500 (31.80% of time interval complete)
  Stats:     2566 iterations in 35.84 s (13.97 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  32%  ETA: 0:01:20
  Progress:  Solving step 161/500 (32.20% of time interval complete)
  Stats:     2577 iterations in 35.96 s (13.96 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  33%  ETA: 0:01:19
  Progress:  Solving step 163/500 (32.60% of time interval complete)
  Stats:     2587 iterations in 36.09 s (13.95 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  33%  ETA: 0:01:18
  Progress:  Solving step 165/500 (33.00% of time interval complete)
  Stats:     2597 iterations in 36.23 s (13.95 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  33%  ETA: 0:01:17
  Progress:  Solving step 167/500 (33.40% of time interval complete)
  Stats:     2608 iterations in 36.37 s (13.94 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  34%  ETA: 0:01:16
  Progress:  Solving step 169/500 (33.80% of time interval complete)
  Stats:     2618 iterations in 36.49 s (13.94 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  34%  ETA: 0:01:15
  Progress:  Solving step 171/500 (34.20% of time interval complete)
  Stats:     2628 iterations in 36.63 s (13.94 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  35%  ETA: 0:01:14
  Progress:  Solving step 173/500 (34.60% of time interval complete)
  Stats:     2638 iterations in 36.76 s (13.94 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  35%  ETA: 0:01:13
  Progress:  Solving step 175/500 (35.00% of time interval complete)
  Stats:     2648 iterations in 36.89 s (13.93 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  35%  ETA: 0:01:12
  Progress:  Solving step 177/500 (35.40% of time interval complete)
  Stats:     2658 iterations in 37.05 s (13.94 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  36%  ETA: 0:01:11
  Progress:  Solving step 179/500 (35.80% of time interval complete)
  Stats:     2668 iterations in 37.17 s (13.93 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  36%  ETA: 0:01:10
  Progress:  Solving step 181/500 (36.20% of time interval complete)
  Stats:     2678 iterations in 37.29 s (13.92 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  37%  ETA: 0:01:09
  Progress:  Solving step 183/500 (36.60% of time interval complete)
  Stats:     2688 iterations in 37.41 s (13.92 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  37%  ETA: 0:01:08
  Progress:  Solving step 185/500 (37.00% of time interval complete)
  Stats:     2700 iterations in 37.54 s (13.90 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  37%  ETA: 0:01:07
  Progress:  Solving step 187/500 (37.40% of time interval complete)
  Stats:     2710 iterations in 37.65 s (13.89 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  38%  ETA: 0:01:06
  Progress:  Solving step 189/500 (37.80% of time interval complete)
  Stats:     2720 iterations in 37.76 s (13.88 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  38%  ETA: 0:01:05
  Progress:  Solving step 191/500 (38.20% of time interval complete)
  Stats:     2731 iterations in 37.88 s (13.87 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  39%  ETA: 0:01:04
  Progress:  Solving step 193/500 (38.60% of time interval complete)
  Stats:     2743 iterations in 38.01 s (13.86 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  39%  ETA: 0:01:03
  Progress:  Solving step 195/500 (39.00% of time interval complete)
  Stats:     2753 iterations in 38.12 s (13.85 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  39%  ETA: 0:01:02
  Progress:  Solving step 197/500 (39.40% of time interval complete)
  Stats:     2763 iterations in 38.23 s (13.84 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  40%  ETA: 0:01:01
  Progress:  Solving step 199/500 (39.80% of time interval complete)
  Stats:     2773 iterations in 38.37 s (13.84 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  40%  ETA: 0:01:01
  Progress:  Solving step 201/500 (40.20% of time interval complete)
  Stats:     2783 iterations in 38.47 s (13.82 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  41%  ETA: 0:01:00
  Progress:  Solving step 203/500 (40.60% of time interval complete)
  Stats:     2794 iterations in 38.59 s (13.81 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  41%  ETA: 0:00:59
  Progress:  Solving step 205/500 (41.00% of time interval complete)
  Stats:     2804 iterations in 38.71 s (13.80 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  41%  ETA: 0:00:58
  Progress:  Solving step 207/500 (41.40% of time interval complete)
  Stats:     2814 iterations in 38.83 s (13.80 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  42%  ETA: 0:00:57
  Progress:  Solving step 209/500 (41.80% of time interval complete)
  Stats:     2824 iterations in 38.95 s (13.79 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  42%  ETA: 0:00:57
  Progress:  Solving step 211/500 (42.20% of time interval complete)
  Stats:     2834 iterations in 39.06 s (13.78 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  43%  ETA: 0:00:56
  Progress:  Solving step 213/500 (42.60% of time interval complete)
  Stats:     2844 iterations in 39.16 s (13.77 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  43%  ETA: 0:00:55
  Progress:  Solving step 215/500 (43.00% of time interval complete)
  Stats:     2854 iterations in 39.28 s (13.76 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  43%  ETA: 0:00:54
  Progress:  Solving step 217/500 (43.40% of time interval complete)
  Stats:     2865 iterations in 39.41 s (13.75 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  44%  ETA: 0:00:54
  Progress:  Solving step 219/500 (43.80% of time interval complete)
  Stats:     2875 iterations in 39.53 s (13.75 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  44%  ETA: 0:00:53
  Progress:  Solving step 221/500 (44.20% of time interval complete)
  Stats:     2885 iterations in 39.67 s (13.75 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  45%  ETA: 0:00:52
  Progress:  Solving step 223/500 (44.60% of time interval complete)
  Stats:     2896 iterations in 39.78 s (13.74 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  45%  ETA: 0:00:52
  Progress:  Solving step 225/500 (45.00% of time interval complete)
  Stats:     2906 iterations in 39.89 s (13.73 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  45%  ETA: 0:00:51
  Progress:  Solving step 227/500 (45.40% of time interval complete)
  Stats:     2916 iterations in 39.99 s (13.71 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  46%  ETA: 0:00:50
  Progress:  Solving step 230/500 (46.00% of time interval complete)
  Stats:     2932 iterations in 40.15 s (13.69 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  46%  ETA: 0:00:49
  Progress:  Solving step 232/500 (46.40% of time interval complete)
  Stats:     2943 iterations in 40.28 s (13.69 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  47%  ETA: 0:00:48
  Progress:  Solving step 234/500 (46.80% of time interval complete)
  Stats:     2953 iterations in 40.39 s (13.68 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  47%  ETA: 0:00:48
  Progress:  Solving step 236/500 (47.20% of time interval complete)
  Stats:     2963 iterations in 40.50 s (13.67 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  48%  ETA: 0:00:47
  Progress:  Solving step 238/500 (47.60% of time interval complete)
  Stats:     2973 iterations in 40.61 s (13.66 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  48%  ETA: 0:00:47
  Progress:  Solving step 240/500 (48.00% of time interval complete)
  Stats:     2983 iterations in 40.74 s (13.66 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  48%  ETA: 0:00:46
  Progress:  Solving step 242/500 (48.40% of time interval complete)
  Stats:     2993 iterations in 40.85 s (13.65 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  49%  ETA: 0:00:45
  Progress:  Solving step 244/500 (48.80% of time interval complete)
  Stats:     3006 iterations in 40.98 s (13.63 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  49%  ETA: 0:00:45
  Progress:  Solving step 246/500 (49.20% of time interval complete)
  Stats:     3021 iterations in 41.15 s (13.62 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  50%  ETA: 0:00:44
  Progress:  Solving step 248/500 (49.60% of time interval complete)
  Stats:     3034 iterations in 41.28 s (13.61 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  50%  ETA: 0:00:44
  Progress:  Solving step 250/500 (50.00% of time interval complete)
  Stats:     3048 iterations in 41.42 s (13.59 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  50%  ETA: 0:00:43
  Progress:  Solving step 252/500 (50.40% of time interval complete)
  Stats:     3061 iterations in 41.55 s (13.57 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  51%  ETA: 0:00:43
  Progress:  Solving step 254/500 (50.80% of time interval complete)
  Stats:     3074 iterations in 41.69 s (13.56 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  51%  ETA: 0:00:42
  Progress:  Solving step 255/500 (51.00% of time interval complete)
  Stats:     3084 iterations in 41.81 s (13.56 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  51%  ETA: 0:00:42
  Progress:  Solving step 257/500 (51.40% of time interval complete)
  Stats:     3102 iterations in 41.98 s (13.53 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  52%  ETA: 0:00:41
  Progress:  Solving step 259/500 (51.80% of time interval complete)
  Stats:     3118 iterations in 42.14 s (13.52 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  52%  ETA: 0:00:41
  Progress:  Solving step 261/500 (52.20% of time interval complete)
  Stats:     3133 iterations in 42.30 s (13.50 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  52%  ETA: 0:00:40
  Progress:  Solving step 263/500 (52.60% of time interval complete)
  Stats:     3149 iterations in 42.47 s (13.49 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  53%  ETA: 0:00:40
  Progress:  Solving step 265/500 (53.00% of time interval complete)
  Stats:     3159 iterations in 42.58 s (13.48 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  53%  ETA: 0:00:39
  Progress:  Solving step 267/500 (53.40% of time interval complete)
  Stats:     3171 iterations in 42.70 s (13.46 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  54%  ETA: 0:00:39
  Progress:  Solving step 269/500 (53.80% of time interval complete)
  Stats:     3184 iterations in 42.83 s (13.45 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  54%  ETA: 0:00:38
  Progress:  Solving step 271/500 (54.20% of time interval complete)
  Stats:     3197 iterations in 42.98 s (13.44 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  54%  ETA: 0:00:38
  Progress:  Solving step 273/500 (54.60% of time interval complete)
  Stats:     3211 iterations in 43.12 s (13.43 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  55%  ETA: 0:00:37
  Progress:  Solving step 275/500 (55.00% of time interval complete)
  Stats:     3224 iterations in 43.26 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  55%  ETA: 0:00:37
  Progress:  Solving step 277/500 (55.40% of time interval complete)
  Stats:     3239 iterations in 43.42 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  56%  ETA: 0:00:36
  Progress:  Solving step 279/500 (55.80% of time interval complete)
  Stats:     3252 iterations in 43.57 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  56%  ETA: 0:00:36
  Progress:  Solving step 281/500 (56.20% of time interval complete)
  Stats:     3262 iterations in 43.68 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  56%  ETA: 0:00:35
  Progress:  Solving step 283/500 (56.60% of time interval complete)
  Stats:     3272 iterations in 43.79 s (13.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  57%  ETA: 0:00:35
  Progress:  Solving step 285/500 (57.00% of time interval complete)
  Stats:     3282 iterations in 43.90 s (13.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  57%  ETA: 0:00:34
  Progress:  Solving step 287/500 (57.40% of time interval complete)
  Stats:     3292 iterations in 44.01 s (13.37 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  58%  ETA: 0:00:34
  Progress:  Solving step 289/500 (57.80% of time interval complete)
  Stats:     3305 iterations in 44.17 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  58%  ETA: 0:00:33
  Progress:  Solving step 291/500 (58.20% of time interval complete)
  Stats:     3315 iterations in 44.28 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  58%  ETA: 0:00:33
  Progress:  Solving step 293/500 (58.60% of time interval complete)
  Stats:     3326 iterations in 44.42 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  59%  ETA: 0:00:33
  Progress:  Solving step 295/500 (59.00% of time interval complete)
  Stats:     3336 iterations in 44.57 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  59%  ETA: 0:00:32
  Progress:  Solving step 297/500 (59.40% of time interval complete)
  Stats:     3346 iterations in 44.71 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  60%  ETA: 0:00:32
  Progress:  Solving step 299/500 (59.80% of time interval complete)
  Stats:     3358 iterations in 44.86 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  60%  ETA: 0:00:31
  Progress:  Solving step 301/500 (60.20% of time interval complete)
  Stats:     3368 iterations in 44.99 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  60%  ETA: 0:00:31
  Progress:  Solving step 303/500 (60.60% of time interval complete)
  Stats:     3381 iterations in 45.13 s (13.35 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  61%  ETA: 0:00:30
  Progress:  Solving step 305/500 (61.00% of time interval complete)
  Stats:     3392 iterations in 45.25 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  61%  ETA: 0:00:30
  Progress:  Solving step 307/500 (61.40% of time interval complete)
  Stats:     3402 iterations in 45.40 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  62%  ETA: 0:00:30
  Progress:  Solving step 309/500 (61.80% of time interval complete)
  Stats:     3412 iterations in 45.52 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  62%  ETA: 0:00:29
  Progress:  Solving step 311/500 (62.20% of time interval complete)
  Stats:     3424 iterations in 45.67 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  62%  ETA: 0:00:29
  Progress:  Solving step 313/500 (62.60% of time interval complete)
  Stats:     3435 iterations in 45.82 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  63%  ETA: 0:00:28
  Progress:  Solving step 315/500 (63.00% of time interval complete)
  Stats:     3446 iterations in 45.96 s (13.34 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  63%  ETA: 0:00:28
  Progress:  Solving step 317/500 (63.40% of time interval complete)
  Stats:     3458 iterations in 46.10 s (13.33 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  64%  ETA: 0:00:28
  Progress:  Solving step 319/500 (63.80% of time interval complete)
  Stats:     3472 iterations in 46.25 s (13.32 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  64%  ETA: 0:00:27
  Progress:  Solving step 321/500 (64.20% of time interval complete)
  Stats:     3486 iterations in 46.41 s (13.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  64%  ETA: 0:00:27
  Progress:  Solving step 323/500 (64.60% of time interval complete)
  Stats:     3496 iterations in 46.54 s (13.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  65%  ETA: 0:00:26
  Progress:  Solving step 325/500 (65.00% of time interval complete)
  Stats:     3506 iterations in 46.68 s (13.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  65%  ETA: 0:00:26
  Progress:  Solving step 327/500 (65.40% of time interval complete)
  Stats:     3517 iterations in 46.84 s (13.32 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  66%  ETA: 0:00:26
  Progress:  Solving step 329/500 (65.80% of time interval complete)
  Stats:     3531 iterations in 46.99 s (13.31 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  66%  ETA: 0:00:25
  Progress:  Solving step 331/500 (66.20% of time interval complete)
  Stats:     3545 iterations in 47.14 s (13.30 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  66%  ETA: 0:00:25
  Progress:  Solving step 333/500 (66.60% of time interval complete)
  Stats:     3556 iterations in 47.29 s (13.30 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  67%  ETA: 0:00:25
  Progress:  Solving step 335/500 (67.00% of time interval complete)
  Stats:     3566 iterations in 47.42 s (13.30 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  67%  ETA: 0:00:24
  Progress:  Solving step 337/500 (67.40% of time interval complete)
  Stats:     3576 iterations in 47.54 s (13.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  68%  ETA: 0:00:24
  Progress:  Solving step 339/500 (67.80% of time interval complete)
  Stats:     3587 iterations in 47.68 s (13.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  68%  ETA: 0:00:23
  Progress:  Solving step 341/500 (68.20% of time interval complete)
  Stats:     3597 iterations in 47.80 s (13.29 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  68%  ETA: 0:00:23
  Progress:  Solving step 343/500 (68.60% of time interval complete)
  Stats:     3608 iterations in 47.91 s (13.28 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  69%  ETA: 0:00:23
  Progress:  Solving step 345/500 (69.00% of time interval complete)
  Stats:     3620 iterations in 48.06 s (13.28 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  69%  ETA: 0:00:22
  Progress:  Solving step 347/500 (69.40% of time interval complete)
  Stats:     3631 iterations in 48.18 s (13.27 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  70%  ETA: 0:00:22
  Progress:  Solving step 349/500 (69.80% of time interval complete)
  Stats:     3643 iterations in 48.30 s (13.26 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  70%  ETA: 0:00:22
  Progress:  Solving step 351/500 (70.20% of time interval complete)
  Stats:     3654 iterations in 48.42 s (13.25 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  70%  ETA: 0:00:21
  Progress:  Solving step 353/500 (70.60% of time interval complete)
  Stats:     3666 iterations in 48.55 s (13.24 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  71%  ETA: 0:00:21
  Progress:  Solving step 355/500 (71.00% of time interval complete)
  Stats:     3678 iterations in 48.67 s (13.23 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  71%  ETA: 0:00:21
  Progress:  Solving step 357/500 (71.40% of time interval complete)
  Stats:     3688 iterations in 48.78 s (13.23 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  72%  ETA: 0:00:20
  Progress:  Solving step 359/500 (71.80% of time interval complete)
  Stats:     3698 iterations in 48.90 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  72%  ETA: 0:00:20
  Progress:  Solving step 361/500 (72.20% of time interval complete)
  Stats:     3709 iterations in 49.03 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  72%  ETA: 0:00:19
  Progress:  Solving step 363/500 (72.60% of time interval complete)
  Stats:     3719 iterations in 49.14 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  73%  ETA: 0:00:19
  Progress:  Solving step 365/500 (73.00% of time interval complete)
  Stats:     3729 iterations in 49.28 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  73%  ETA: 0:00:19
  Progress:  Solving step 367/500 (73.40% of time interval complete)
  Stats:     3739 iterations in 49.40 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  74%  ETA: 0:00:18
  Progress:  Solving step 369/500 (73.80% of time interval complete)
  Stats:     3749 iterations in 49.51 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  74%  ETA: 0:00:18
  Progress:  Solving step 371/500 (74.20% of time interval complete)
  Stats:     3759 iterations in 49.63 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  74%  ETA: 0:00:18
  Progress:  Solving step 373/500 (74.60% of time interval complete)
  Stats:     3769 iterations in 49.77 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  75%  ETA: 0:00:17
  Progress:  Solving step 375/500 (75.00% of time interval complete)
  Stats:     3779 iterations in 49.90 s (13.21 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  75%  ETA: 0:00:17
  Progress:  Solving step 377/500 (75.40% of time interval complete)
  Stats:     3789 iterations in 50.03 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  76%  ETA: 0:00:17
  Progress:  Solving step 379/500 (75.80% of time interval complete)
  Stats:     3799 iterations in 50.15 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  76%  ETA: 0:00:17
  Progress:  Solving step 381/500 (76.20% of time interval complete)
  Stats:     3809 iterations in 50.28 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  76%  ETA: 0:00:16
  Progress:  Solving step 383/500 (76.60% of time interval complete)
  Stats:     3819 iterations in 50.41 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  77%  ETA: 0:00:16
  Progress:  Solving step 385/500 (77.00% of time interval complete)
  Stats:     3829 iterations in 50.54 s (13.20 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  77%  ETA: 0:00:16
  Progress:  Solving step 387/500 (77.40% of time interval complete)
  Stats:     3839 iterations in 50.75 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  78%  ETA: 0:00:15
  Progress:  Solving step 389/500 (77.80% of time interval complete)
  Stats:     3849 iterations in 50.88 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  78%  ETA: 0:00:15
  Progress:  Solving step 391/500 (78.20% of time interval complete)
  Stats:     3859 iterations in 51.01 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  78%  ETA: 0:00:15
  Progress:  Solving step 393/500 (78.60% of time interval complete)
  Stats:     3869 iterations in 51.14 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  79%  ETA: 0:00:14
  Progress:  Solving step 395/500 (79.00% of time interval complete)
  Stats:     3879 iterations in 51.27 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  79%  ETA: 0:00:14
  Progress:  Solving step 397/500 (79.40% of time interval complete)
  Stats:     3889 iterations in 51.41 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  80%  ETA: 0:00:14
  Progress:  Solving step 399/500 (79.80% of time interval complete)
  Stats:     3899 iterations in 51.54 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  80%  ETA: 0:00:13
  Progress:  Solving step 401/500 (80.20% of time interval complete)
  Stats:     3909 iterations in 51.68 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  80%  ETA: 0:00:13
  Progress:  Solving step 403/500 (80.60% of time interval complete)
  Stats:     3919 iterations in 51.82 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  81%  ETA: 0:00:13
  Progress:  Solving step 405/500 (81.00% of time interval complete)
  Stats:     3929 iterations in 51.96 s (13.22 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  81%  ETA: 0:00:13
  Progress:  Solving step 407/500 (81.40% of time interval complete)
  Stats:     3939 iterations in 52.10 s (13.23 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  82%  ETA: 0:00:12
  Progress:  Solving step 409/500 (81.80% of time interval complete)
  Stats:     3949 iterations in 52.92 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  82%  ETA: 0:00:12
  Progress:  Solving step 411/500 (82.20% of time interval complete)
  Stats:     3959 iterations in 53.06 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  82%  ETA: 0:00:12
  Progress:  Solving step 413/500 (82.60% of time interval complete)
  Stats:     3969 iterations in 53.21 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  83%  ETA: 0:00:11
  Progress:  Solving step 415/500 (83.00% of time interval complete)
  Stats:     3979 iterations in 53.34 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  83%  ETA: 0:00:11
  Progress:  Solving step 417/500 (83.40% of time interval complete)
  Stats:     3989 iterations in 53.48 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  84%  ETA: 0:00:11
  Progress:  Solving step 419/500 (83.80% of time interval complete)
  Stats:     3999 iterations in 53.61 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  84%  ETA: 0:00:11
  Progress:  Solving step 421/500 (84.20% of time interval complete)
  Stats:     4010 iterations in 53.76 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  84%  ETA: 0:00:10
  Progress:  Solving step 423/500 (84.60% of time interval complete)
  Stats:     4020 iterations in 53.90 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  85%  ETA: 0:00:10
  Progress:  Solving step 425/500 (85.00% of time interval complete)
  Stats:     4030 iterations in 54.05 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  85%  ETA: 0:00:10
  Progress:  Solving step 427/500 (85.40% of time interval complete)
  Stats:     4041 iterations in 54.20 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  85%  ETA: 0:00:10
  Progress:  Solving step 428/500 (85.60% of time interval complete)
  Stats:     4051 iterations in 54.31 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  86%  ETA: 0:00:09
  Progress:  Solving step 429/500 (85.80% of time interval complete)
  Stats:     4060 iterations in 54.41 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  86%  ETA: 0:00:09
  Progress:  Solving step 431/500 (86.20% of time interval complete)
  Stats:     4070 iterations in 54.54 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  86%  ETA: 0:00:09
  Progress:  Solving step 433/500 (86.60% of time interval complete)
  Stats:     4080 iterations in 54.68 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  87%  ETA: 0:00:09
  Progress:  Solving step 435/500 (87.00% of time interval complete)
  Stats:     4090 iterations in 54.82 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  87%  ETA: 0:00:08
  Progress:  Solving step 437/500 (87.40% of time interval complete)
  Stats:     4100 iterations in 54.98 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  88%  ETA: 0:00:08
  Progress:  Solving step 439/500 (87.80% of time interval complete)
  Stats:     4110 iterations in 55.13 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  88%  ETA: 0:00:08
  Progress:  Solving step 441/500 (88.20% of time interval complete)
  Stats:     4120 iterations in 55.28 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  88%  ETA: 0:00:08
  Progress:  Solving step 443/500 (88.60% of time interval complete)
  Stats:     4130 iterations in 55.43 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  89%  ETA: 0:00:07
  Progress:  Solving step 445/500 (89.00% of time interval complete)
  Stats:     4140 iterations in 55.58 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  89%  ETA: 0:00:07
  Progress:  Solving step 447/500 (89.40% of time interval complete)
  Stats:     4150 iterations in 55.72 s (13.43 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  90%  ETA: 0:00:07
  Progress:  Solving step 449/500 (89.80% of time interval complete)
  Stats:     4163 iterations in 55.90 s (13.43 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  90%  ETA: 0:00:07
  Progress:  Solving step 450/500 (90.00% of time interval complete)
  Stats:     4173 iterations in 56.02 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  90%  ETA: 0:00:06
  Progress:  Solving step 451/500 (90.20% of time interval complete)
  Stats:     4183 iterations in 56.13 s (13.42 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  90%  ETA: 0:00:06
  Progress:  Solving step 452/500 (90.40% of time interval complete)
  Stats:     4193 iterations in 56.25 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  90%  ETA: 0:00:06
  Progress:  Solving step 453/500 (90.60% of time interval complete)
  Stats:     4203 iterations in 56.37 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  91%  ETA: 0:00:06
  Progress:  Solving step 454/500 (90.80% of time interval complete)
  Stats:     4213 iterations in 56.48 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  91%  ETA: 0:00:06
  Progress:  Solving step 455/500 (91.00% of time interval complete)
  Stats:     4222 iterations in 56.59 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  91%  ETA: 0:00:06
  Progress:  Solving step 457/500 (91.40% of time interval complete)
  Stats:     4232 iterations in 56.73 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  92%  ETA: 0:00:05
  Progress:  Solving step 459/500 (91.80% of time interval complete)
  Stats:     4242 iterations in 56.87 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  92%  ETA: 0:00:05
  Progress:  Solving step 461/500 (92.20% of time interval complete)
  Stats:     4252 iterations in 57.01 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  92%  ETA: 0:00:05
  Progress:  Solving step 462/500 (92.40% of time interval complete)
  Stats:     4260 iterations in 57.12 s (13.41 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  92%  ETA: 0:00:05
  Progress:  Solving step 463/500 (92.60% of time interval complete)
  Stats:     4270 iterations in 57.23 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  93%  ETA: 0:00:05
  Progress:  Solving step 464/500 (92.80% of time interval complete)
  Stats:     4280 iterations in 57.35 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  93%  ETA: 0:00:04
  Progress:  Solving step 466/500 (93.20% of time interval complete)
  Stats:     4294 iterations in 57.52 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  93%  ETA: 0:00:04
  Progress:  Solving step 468/500 (93.60% of time interval complete)
  Stats:     4308 iterations in 57.70 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  94%  ETA: 0:00:04
  Progress:  Solving step 470/500 (94.00% of time interval complete)
  Stats:     4322 iterations in 57.87 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  94%  ETA: 0:00:04
  Progress:  Solving step 472/500 (94.40% of time interval complete)
  Stats:     4336 iterations in 58.04 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  94%  ETA: 0:00:04
  Progress:  Solving step 473/500 (94.60% of time interval complete)
  Stats:     4345 iterations in 58.16 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  95%  ETA: 0:00:03
  Progress:  Solving step 474/500 (94.80% of time interval complete)
  Stats:     4353 iterations in 58.34 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  95%  ETA: 0:00:03
  Progress:  Solving step 475/500 (95.00% of time interval complete)
  Stats:     4363 iterations in 58.46 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  95%  ETA: 0:00:03
  Progress:  Solving step 477/500 (95.40% of time interval complete)
  Stats:     4377 iterations in 58.64 s (13.40 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  95%  ETA: 0:00:03
  Progress:  Solving step 478/500 (95.60% of time interval complete)
  Stats:     4387 iterations in 58.75 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  96%  ETA: 0:00:03
  Progress:  Solving step 480/500 (96.00% of time interval complete)
  Stats:     4401 iterations in 58.93 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  96%  ETA: 0:00:03
  Progress:  Solving step 481/500 (96.20% of time interval complete)
  Stats:     4411 iterations in 59.05 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  96%  ETA: 0:00:02
  Progress:  Solving step 483/500 (96.60% of time interval complete)
  Stats:     4425 iterations in 59.23 s (13.39 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  97%  ETA: 0:00:02
  Progress:  Solving step 484/500 (96.80% of time interval complete)
  Stats:     4435 iterations in 59.35 s (13.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  97%  ETA: 0:00:02
  Progress:  Solving step 486/500 (97.20% of time interval complete)
  Stats:     4449 iterations in 59.53 s (13.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  97%  ETA: 0:00:02
  Progress:  Solving step 487/500 (97.40% of time interval complete)
  Stats:     4459 iterations in 59.64 s (13.38 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  98%  ETA: 0:00:02
  Progress:  Solving step 489/500 (97.80% of time interval complete)
  Stats:     4472 iterations in 59.80 s (13.37 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  98%  ETA: 0:00:01
  Progress:  Solving step 490/500 (98.00% of time interval complete)
  Stats:     4482 iterations in 59.91 s (13.37 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  98%  ETA: 0:00:01
  Progress:  Solving step 492/500 (98.40% of time interval complete)
  Stats:     4495 iterations in 60.08 s (13.37 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  98%  ETA: 0:00:01
  Progress:  Solving step 493/500 (98.60% of time interval complete)
  Stats:     4505 iterations in 60.19 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  99%  ETA: 0:00:01
  Progress:  Solving step 495/500 (99.00% of time interval complete)
  Stats:     4519 iterations in 60.37 s (13.36 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  99%  ETA: 0:00:01
  Progress:  Solving step 496/500 (99.20% of time interval complete)
  Stats:     4529 iterations in 60.48 s (13.35 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  99%  ETA: 0:00:00
  Progress:  Solving step 498/500 (99.60% of time interval complete)
  Stats:     4543 iterations in 60.65 s (13.35 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps  99%  ETA: 0:00:00
  Progress:  Solving step 499/500 (99.80% of time interval complete)
  Stats:     4552 iterations in 60.76 s (13.35 ms each)






Simulating 499 years, 34.86 weeks as 500 report steps 100% Time: 0:01:03
  Progress:  Solved step 500/500
  Stats:     4567 iterations in 60.94 s (13.34 ms each)
╭────────────────┬───────────┬────────────────┬──────────────╮
│ Iteration type │  Avg/step │   Avg/ministep │        Total │
│                │ 500 steps │ 2565 ministeps │     (wasted) │
├────────────────┼───────────┼────────────────┼──────────────┤
│ Newton         │     9.134 │        1.78051 │   4567 (330) │
│ Linearization  │    14.264 │        2.78051 │   7132 (352) │
│ Linear solver  │    40.092 │         7.8152 │ 20046 (1404) │
│ Precond apply  │    80.184 │        15.6304 │ 40092 (2808) │
╰────────────────┴───────────┴────────────────┴──────────────╯
╭───────────────┬─────────┬────────────┬─────────╮
│ Timing type   │    Each │   Relative │   Total │
│               │      ms │ Percentage │       s │
├───────────────┼─────────┼────────────┼─────────┤
│ Properties    │  1.8227 │    13.66 % │  8.3241 │
│ Equations     │  0.9375 │    10.97 % │  6.6860 │
│ Assembly      │  0.5929 │     6.94 % │  4.2286 │
│ Linear solve  │  0.6648 │     4.98 % │  3.0362 │
│ Linear setup  │  3.1590 │    23.68 % │ 14.4274 │
│ Precond apply │  0.3845 │    25.30 % │ 15.4138 │
│ Update        │  0.1929 │     1.45 % │  0.8810 │
│ Convergence   │  0.4174 │     4.89 % │  2.9768 │
│ Input/Output  │  0.1131 │     0.48 % │  0.2901 │
│ Other         │  1.0229 │     7.67 % │  4.6715 │
├───────────────┼─────────┼────────────┼─────────┤
│ Total         │ 13.3425 │   100.00 % │ 60.9354 │
╰───────────────┴─────────┴────────────┴─────────╯

Plot the CO2 mole fraction

We plot the overall CO2 mole fraction. We scale the color range to log10 to account for the fact that the mole fraction in cells made up of only the aqueous phase is much smaller than that of cells with only the gaseous phase, where there is almost just CO2.

The aquifer gives some degree of passive flow through the domain, ensuring that much of the dissolved CO2 will leave the reservoir by the end of the injection period.

julia
using GLMakie
function plot_co2!(fig, ix, x, title = "")
    ax = Axis3(fig[ix, 1],
        zreversed = true,
        azimuth = -0.51π,
        elevation = 0.05,
        aspect = (1.0, 1.0, 0.3),
        title = title)
    plt = plot_cell_data!(ax, mesh, x, colormap = :seaborn_icefire_gradient)
    Colorbar(fig[ix, 2], plt)
end
fig = Figure(size = (900, 1200))
for (i, step) in enumerate([5, nstep, nstep + Int(floor(nstep_shut/2)), nstep+nstep_shut])
    if use_immiscible
        plot_co2!(fig, i, states[step][:Saturations][2, :], "CO2 plume saturation at report step $step/$(nstep+nstep_shut)")
    else
        plot_co2!(fig, i, log10.(states[step][:OverallMoleFractions][2, :]), "log10 of CO2 mole fraction at report step $step/$(nstep+nstep_shut)")
    end
end
fig

Plot all relative permeabilities for all time-steps

We can plot all relative permeability evaluations. This both verifies that the hysteresis model is active, but also gives an indication to how many cells are exhibiting imbibition during the simulation.

julia
kro_val = Float64[]
krg_val = Float64[]
sg_val = Float64[]
for state in states
    kr_state = state[:RelativePermeabilities]
    s_state = state[:Saturations]
    for c in 1:nc
        push!(kro_val, kr_state[1, c])
        push!(krg_val, kr_state[2, c])
        push!(sg_val, s_state[2, c])
    end
end

fig = Figure()
ax = Axis(fig[1, 1], title = "Relative permeability during simulation")
fig, ax, plt = scatter(sg_val, kro_val, label = "kro", alpha = 0.3)
scatter!(ax, sg_val, krg_val, label = "krg", alpha = 0.3)
axislegend()
fig

Plot result in interactive viewer

If you have interactive plotting available, you can explore the results yourself.

julia
plot_reservoir(model, states)
# Calculate and display inventory of CO2

We can classify and plot the status of the CO2 in the reservoir. We use a fairly standard classification where CO2 is divided into:

  • dissolved CO2 (dissolution trapping)

  • residual CO2 (immobile due to zero relative permeability, residual trapping)

  • mobile CO2 (mobile but still inside domain)

  • outside domain (left the simulation model and migrated outside model)

We also note that some of the mobile CO2 could be considered to be structurally trapped, but this is not classified in our inventory.

julia
inventory = co2_inventory(model, wd, states, t)
JutulDarcy.plot_co2_inventory(t, inventory)

Pick a region to investigate the CO2

We can also specify a region to the CO2 inventory. This will introduce additional categories to distinguish between outside and inside the region of interest.

julia
cells = findall(region .== 2)
inventory = co2_inventory(model, wd, states, t, cells = cells)
JutulDarcy.plot_co2_inventory(t, inventory)

Define a region of interest using geometry

Another alternative to determine a region of interest is to use geometry. We pick all cells within an ellipsoid a bit away from the injection point.

julia
is_inside = fill(false, nc)
centers = domain[:cell_centroids]
for cell in 1:nc
    x, y, z = centers[:, cell]
    is_inside[cell] = sqrt((x - 720.0)^2 + 20*(z-70.0)^2) < 75
end
fig, ax, plt = plot_cell_data(mesh, is_inside)
fig

Plot inventory in ellipsoid

Note that a small mobile dip can be seen when free CO2 passes through this region.

julia
inventory = co2_inventory(model, wd, states, t, cells = findall(is_inside))
JutulDarcy.plot_co2_inventory(t, inventory)

Plot the average pressure in the ellipsoid region

Now that we know what cells are within the region of interest, we can easily apply a function over all time-steps to figure out what the average pressure value was.

julia
using Statistics
p_avg = map(
    state -> mean(state[:Pressure][is_inside])./bar,
    states
)
lines(t./yr, p_avg,
    axis = (
        title = "Average pressure in region",
        xlabel = "Years", ylabel = "Pressure (bar)"
    )
)

Make a composite plot to correlate CO2 mass in region with spatial distribution

We create a pair of plots that combine both 2D and 3D plots to simultaneously show the ellipsoid, the mass of CO2 in that region for a specific step, and the time series of the CO2 in the same region.

julia
stepno = 30
co2_mass_in_region = map(
    state -> sum(state[:TotalMasses][2, is_inside])/1e3,
    states
)
fig = Figure(size = (1200, 600))
ax1 = Axis(fig[1, 1],
    title = "Mass of CO2 in region",
    xlabel = "Years",
    ylabel = "Tonnes CO2"
)
lines!(ax1, t./yr, co2_mass_in_region)
scatter!(ax1, t[stepno]./yr, co2_mass_in_region[stepno], markersize = 12, color = :red)
ax2 = Axis3(fig[1, 2], zreversed = true)
plot_cell_data!(ax2, mesh, states[stepno][:TotalMasses][2, :])
plot_mesh!(ax2, mesh, cells = findall(is_inside), alpha = 0.5)
ax2.azimuth[] = 1.5*π
ax2.elevation[] = 0.0
fig

Example on GitHub

If you would like to run this example yourself, it can be downloaded from the JutulDarcy.jl GitHub repository as a script, or as a Jupyter Notebook


This page was generated using Literate.jl.