Just as in experiment variable_steps_1 : 2 coupled reactions: 2 S <-> U and S <-> X
However, here:
In either case, the extra chemicals and the enzyme don't vary in concentration - and thus get automatically excluded from considerations about the adaptive variable step sizes , which remain exactly as they were in experiment variable_steps_1
LAST REVISED: June 23, 2024 (using v. 1.0 beta34.1)
import set_path # Importing this module will add the project's home directory to sys.path
Added 'D:\Docs\- MY CODE\BioSimulations\life123-Win7' to sys.path
from experiments.get_notebook_info import get_notebook_basename
from life123 import ChemData as chem
from life123 import UniformCompartment
import numpy as np
# Initialize the system.
chem_data = chem(names=["EXTRA 1", "U", "EXTRA 2", "X", "S", "EXTRA 3"])
# Reaction 2 S <-> U , with 1st-order kinetics for all species (mostly forward)
chem_data.add_reaction(reactants=[(2, "S", 1)], products="U",
forward_rate=8., reverse_rate=2.)
# Reaction S <-> X , with 1st-order kinetics for all species (mostly forward)
chem_data.add_reaction(reactants="S", products="X",
forward_rate=6., reverse_rate=3.)
chem_data.describe_reactions()
Number of reactions: 2 (at temp. 25 C)
0: 2 S <-> U (kF = 8 / kR = 2 / delta_G = -3,436.6 / K = 4) | 1st order in all reactants & products
1: S <-> X (kF = 6 / kR = 3 / delta_G = -1,718.3 / K = 2) | 1st order in all reactants & products
Set of chemicals involved in the above reactions: {'X', 'S', 'U'}
dynamics = UniformCompartment(chem_data=chem_data, preset=None)
dynamics.set_conc(conc={"U": 50., "X": 100., "EXTRA 2": 55., "EXTRA 3": 100. }) # The EXTRA's are junk for testing
dynamics.describe_state()
SYSTEM STATE at Time t = 0:
6 species:
Species 0 (EXTRA 1). Conc: 0.0
Species 1 (U). Conc: 50.0
Species 2 (EXTRA 2). Conc: 55.0
Species 3 (X). Conc: 100.0
Species 4 (S). Conc: 0.0
Species 5 (EXTRA 3). Conc: 100.0
Set of chemicals involved in reactions: {'X', 'S', 'U'}
dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()
# These adaptive-time settings (normally specified with a preset) are being set explicitly
dynamics.set_thresholds(norm="norm_A", low=0.25, high=0.64, abort=1.44)
dynamics.set_step_factors(upshift=2.0, downshift=0.5, abort=0.5, error=0.5)
# Note: upshift=2.0 seems to often be excessive. About 1.4 is currently recommended
dynamics.show_adaptive_parameters()
Parameters used for the automated adaptive time step sizes -
THRESHOLDS: [{'norm': 'norm_A', 'low': 0.25, 'high': 0.64, 'abort': 1.44}]
STEP FACTORS: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
dynamics.single_compartment_react(initial_step=0.01, target_end_time=2.0,
variable_steps=True, explain_variable_steps=[0, 2])
(STEP 0 aborted) SYSTEM TIME 0 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: None
Baseline: [ 0. 50. 55. 100. 0. 100.]
Deltas: [ 0. -1. 0. -3. 5. 0.]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 3.888888888888889}
Thresholds:
norm_A : low 0.25 | high 0.64 | abort 1.44 | (VALUE 3.8889)
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'ABORT' (with step size factor of 0.5)
* INFO: the tentative time step (0.01) leads to a value of ['norm_A'] > its ABORT threshold:
-> will backtrack, and re-do step with a SMALLER Δt, x0.5 (now set to 0.005) [Step started at t=0, and will rewind there]
(STEP 0 completed) SYSTEM TIME 0 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: None
Baseline: [ 0. 50. 55. 100. 0. 100.]
Deltas: [ 0. -0.5 0. -1.5 2.5 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.9722222222222222}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.97222) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0, and will continue to 0.005]
(STEP 1 completed) SYSTEM TIME 0.005 : Examining Conc. changes due to tentative Δt=0.0025 ...
Previous: [ 0. 50. 55. 100. 0. 100.]
Baseline: [ 0. 49.5 55. 98.5 2.5 100. ]
Deltas: [ 0. -0.1975 0. -0.70125 1.09625 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.19250243055555555}
Thresholds:
norm_A : (VALUE 0.1925) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low
[The current step started at System Time: 0.005, and will continue to 0.0075]
(STEP 2 completed) SYSTEM TIME 0.0075 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 49.5 55. 98.5 2.5 100. ]
Baseline: [ 0. 49.3025 55. 97.79875 3.59625 100. ]
Deltas: [ 0. -0.349175 0. -1.35909375 2.05744375 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.6891259762586809}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.68913) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.0075, and will continue to 0.0125]
(STEP 3 completed) SYSTEM TIME 0.0125 : Examining Conc. changes due to tentative Δt=0.0025 ...
Previous: [ 0. 49.3025 55. 97.79875 3.59625 100. ]
Baseline: [ 0. 48.953325 55. 96.43965625 5.65369375
100. ]
Deltas: [ 0. -0.13169275 0. -0.63849202 0.90187752 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.1375997875121511}
Thresholds:
norm_A : (VALUE 0.1376) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low
[The current step started at System Time: 0.0125, and will continue to 0.015]
(STEP 4 completed) SYSTEM TIME 0.015 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.953325 55. 96.43965625 5.65369375
100. ]
Baseline: [ 0. 48.82163225 55. 95.80116423 6.55557127
100. ]
Deltas: [ 0. -0.22599347 0. -1.24035033 1.69233727 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.494838601385062}
Thresholds:
norm_A : low 0.25 | (VALUE 0.49484) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.015, and will continue to 0.02]
(STEP 5 completed) SYSTEM TIME 0.02 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.82163225 55. 95.80116423 6.55557127
100. ]
Baseline: [ 0. 48.59563878 55. 94.56081391 8.24790853
100. ]
Deltas: [ 0. -0.15604005 0. -1.17097495 1.48305505 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.3994425670227834}
Thresholds:
norm_A : low 0.25 | (VALUE 0.39944) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.02, and will continue to 0.025]
(STEP 6 completed) SYSTEM TIME 0.025 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.59563878 55. 94.56081391 8.24790853
100. ]
Baseline: [ 0. 48.43959873 55. 93.38983896 9.73096358
100. ]
Deltas: [ 0. -0.09515744 0. -1.10891868 1.29923357 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.32519593644806855}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3252) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.025, and will continue to 0.03]
(STEP 7 completed) SYSTEM TIME 0.03 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.43959873 55. 93.38983896 9.73096358
100. ]
Baseline: [ 0. 48.34444129 55. 92.28092028 11.03019715
100. ]
Deltas: [ 0. -0.04223653 0. -1.05330789 1.13778094 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.2673096568217399}
Thresholds:
norm_A : low 0.25 | (VALUE 0.26731) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.03, and will continue to 0.035]
(STEP 8 completed) SYSTEM TIME 0.035 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.34444129 55. 92.28092028 11.03019715
100. ]
Baseline: [ 0. 48.30220476 55. 91.22761239 12.16797809
100. ]
Deltas: [ 0. 0.00369708 0. -1.00337484 0.99598069 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.22208358683873192}
Thresholds:
norm_A : (VALUE 0.22208) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low
[The current step started at System Time: 0.035, and will continue to 0.04]
(STEP 9 completed) SYSTEM TIME 0.04 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 48.30220476 55. 91.22761239 12.16797809
100. ]
Baseline: [ 0. 48.30590184 55. 90.22423755 13.16395878
100. ]
Deltas: [ 0. 0.08699867 0. -1.9168896 1.74289227 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.7466342181101149}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.74663) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.005) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.04, and will continue to 0.05]
(STEP 10 completed) SYSTEM TIME 0.05 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [ 0. 48.30590184 55. 90.22423755 13.16395878
100. ]
Baseline: [ 0. 48.3929005 55. 88.30734795 14.90685105
100. ]
Deltas: [ 0. 0.11234504 0. -0.87740469 0.65271461 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.13427741784149083}
Thresholds:
norm_A : (VALUE 0.13428) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low
[The current step started at System Time: 0.05, and will continue to 0.055]
(STEP 11 completed) SYSTEM TIME 0.055 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 48.3929005 55. 88.30734795 14.90685105
100. ]
Baseline: [ 0. 48.50524554 55. 87.42994326 15.55956566
100. ]
Deltas: [ 0. 0.27466034 0. -1.68932436 1.14000367 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.4698737184351335}
Thresholds:
norm_A : low 0.25 | (VALUE 0.46987) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.055, and will continue to 0.065]
(STEP 12 completed) SYSTEM TIME 0.065 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 48.50524554 55. 87.42994326 15.55956566
100. ]
Baseline: [ 0. 48.77990588 55. 85.7406189 16.69956934
100. ]
Deltas: [ 0. 0.36036743 0. -1.57024441 0.84950955 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.3685776282283221}
Thresholds:
norm_A : low 0.25 | (VALUE 0.36858) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.065, and will continue to 0.075]
(STEP 13 completed) SYSTEM TIME 0.075 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 48.77990588 55. 85.7406189 16.69956934
100. ]
Baseline: [ 0. 49.14027331 55. 84.17037449 17.54907888
100. ]
Deltas: [ 0. 0.42112084 0. -1.4721665 0.62992481 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.3046024715786003}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3046) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.075, and will continue to 0.085]
(STEP 14 completed) SYSTEM TIME 0.085 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 49.14027331 55. 84.17037449 17.54907888
100. ]
Baseline: [ 0. 49.56139416 55. 82.69820799 18.1790037
100. ]
Deltas: [ 0. 0.46309241 0. -1.39020602 0.46402119 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.2624936691312418}
Thresholds:
norm_A : low 0.25 | (VALUE 0.26249) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.085, and will continue to 0.095]
(STEP 15 completed) SYSTEM TIME 0.095 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 49.56139416 55. 82.69820799 18.1790037
100. ]
Baseline: [ 0. 50.02448657 55. 81.30800197 18.64302489
100. ]
Deltas: [ 0. 0.49095226 0. -1.32065857 0.33875405 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.23332527475445466}
Thresholds:
norm_A : (VALUE 0.23333) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.095, and will continue to 0.105]
(STEP 16 completed) SYSTEM TIME 0.105 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 50.02448657 55. 81.30800197 18.64302489
100. ]
Baseline: [ 0. 50.51543883 55. 79.98734341 18.98177894
100. ]
Deltas: [ 0. 1.01646708 0. -2.52142713 0.48849298 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.847713943482735}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.84771) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.105, and will continue to 0.125]
(STEP 17 completed) SYSTEM TIME 0.125 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 50.51543883 55. 79.98734341 18.98177894
100. ]
Baseline: [ 0. 51.5319059 55. 77.46591628 19.47027191
100. ]
Deltas: [ 0. 0.52698364 0. -1.15576117 0.1017939 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.18042862670354223}
Thresholds:
norm_A : (VALUE 0.18043) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.125, and will continue to 0.135]
(STEP 18 completed) SYSTEM TIME 0.135 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 51.5319059 55. 77.46591628 19.47027191
100. ]
Baseline: [ 0. 52.05888954 55. 76.3101551 19.57206582
100. ]
Deltas: [ 0. 1.04917495 0. -2.22996141 0.13161151 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.676757504987934}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.67676) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.135, and will continue to 0.155]
(STEP 19 completed) SYSTEM TIME 0.155 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [ 0. 52.05888954 55. 76.3101551 19.57206582
100. ]
Baseline: [ 0. 53.10806449 55. 74.08019369 19.70367733
100. ]
Deltas: [ 0. 0.5141329 0. -1.04018517 0.01191938 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.149606655239135}
Thresholds:
norm_A : (VALUE 0.14961) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.155, and will continue to 0.165]
(STEP 20 completed) SYSTEM TIME 0.165 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 53.10806449 55. 74.08019369 19.70367733
100. ]
Baseline: [ 0. 53.62219739 55. 73.04000852 19.71559671
100. ]
Deltas: [ 0. 1.00960758 0. -2.01652891 -0.00268625 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.5650781675774635}
Thresholds:
norm_A : low 0.25 | (VALUE 0.56508) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.165, and will continue to 0.185]
(STEP 21 completed) SYSTEM TIME 0.185 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 53.62219739 55. 73.04000852 19.71559671
100. ]
Baseline: [ 0. 54.63180496 55. 71.02347962 19.71291046
100. ]
Deltas: [ 0. 0.96879347 0. -1.89585952 -0.04172743 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.5038428113796767}
Thresholds:
norm_A : low 0.25 | (VALUE 0.50384) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.185, and will continue to 0.205]
(STEP 22 completed) SYSTEM TIME 0.205 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 54.63180496 55. 71.02347962 19.71291046
100. ]
Baseline: [ 0. 55.60059844 55. 69.12762009 19.67118303
100. ]
Deltas: [ 0. 0.92336535 0. -1.78711524 -0.05961545 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.4499931616991674}
Thresholds:
norm_A : low 0.25 | (VALUE 0.44999) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.205, and will continue to 0.225]
(STEP 23 completed) SYSTEM TIME 0.225 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 55.60059844 55. 69.12762009 19.67118303
100. ]
Baseline: [ 0. 56.52396378 55. 67.34050485 19.61156758
100. ]
Deltas: [ 0. 0.87689226 0. -1.68704218 -0.06674234 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.4021673223106198}
Thresholds:
norm_A : low 0.25 | (VALUE 0.40217) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.225, and will continue to 0.245]
(STEP 24 completed) SYSTEM TIME 0.245 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 56.52396378 55. 67.34050485 19.61156758
100. ]
Baseline: [ 0. 57.40085605 55. 65.65346267 19.54482524
100. ]
Deltas: [ 0. 0.8311378 0. -1.59382873 -0.06844686 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.3595294483481833}
Thresholds:
norm_A : low 0.25 | (VALUE 0.35953) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.245, and will continue to 0.265]
(STEP 25 completed) SYSTEM TIME 0.265 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 57.40085605 55. 65.65346267 19.54482524
100. ]
Baseline: [ 0. 58.23199384 55. 64.05963394 19.47637838
100. ]
Deltas: [ 0. 0.78694079 0. -1.50641263 -0.06746894 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.32145631944741265}
Thresholds:
norm_A : low 0.25 | (VALUE 0.32146) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.265, and will continue to 0.285]
(STEP 26 completed) SYSTEM TIME 0.285 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 58.23199384 55. 64.05963394 19.47637838
100. ]
Baseline: [ 0. 59.01893463 55. 62.55322131 19.40890943
100. ]
Deltas: [ 0. 0.74466812 0. -1.42412415 -0.0652121 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.2874347575511702}
Thresholds:
norm_A : low 0.25 | (VALUE 0.28743) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.285, and will continue to 0.305]
(STEP 27 completed) SYSTEM TIME 0.305 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 59.01893463 55. 62.55322131 19.40890943
100. ]
Baseline: [ 0. 59.76360275 55. 61.12909716 19.34369733
100. ]
Deltas: [ 0. 0.70444746 0. -1.34650215 -0.06239278 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.25702301402562294}
Thresholds:
norm_A : low 0.25 | (VALUE 0.25702) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.305, and will continue to 0.325]
(STEP 28 completed) SYSTEM TIME 0.325 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 59.76360275 55. 61.12909716 19.34369733
100. ]
Baseline: [ 0. 60.46805022 55. 59.78259501 19.28130456
100. ]
Deltas: [ 0. 0.66628672 0. -1.27319915 -0.05937429 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.22983326503644058}
Thresholds:
norm_A : (VALUE 0.22983) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low
[The current step started at System Time: 0.325, and will continue to 0.345]
(STEP 29 completed) SYSTEM TIME 0.345 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 60.46805022 55. 59.78259501 19.28130456
100. ]
Baseline: [ 0. 61.13433694 55. 58.50939586 19.22193027
100. ]
Deltas: [ 0. 1.26027073 0. -2.40786424 -0.11267722 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.8220876292375117}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.82209) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.02) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.345, and will continue to 0.385]
(STEP 30 completed) SYSTEM TIME 0.385 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [ 0. 61.13433694 55. 58.50939586 19.22193027
100. ]
Baseline: [ 0. 62.39460767 55. 56.10153162 19.10925305
100. ]
Deltas: [ 0. 0.56169618 0. -1.07298153 -0.05041083 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.16325924649115092}
Thresholds:
norm_A : (VALUE 0.16326) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low
[The current step started at System Time: 0.385, and will continue to 0.405]
(STEP 31 completed) SYSTEM TIME 0.405 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 62.39460767 55. 56.10153162 19.10925305
100. ]
Baseline: [ 0. 62.95630385 55. 55.02855009 19.05884222
100. ]
Deltas: [ 0. 1.0623252 0. -2.02930388 -0.09534652 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.5839666694455721}
Thresholds:
norm_A : low 0.25 | (VALUE 0.58397) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.405, and will continue to 0.445]
(STEP 32 completed) SYSTEM TIME 0.445 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 62.95630385 55. 55.02855009 19.05884222
100. ]
Baseline: [ 0. 64.01862905 55. 52.99924621 18.96349569
100. ]
Deltas: [ 0. 0.9468283 0. -1.80867058 -0.08498602 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.4638884123583411}
Thresholds:
norm_A : low 0.25 | (VALUE 0.46389) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.445, and will continue to 0.485]
(STEP 33 completed) SYSTEM TIME 0.485 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 64.01862905 55. 52.99924621 18.96349569
100. ]
Baseline: [ 0. 64.96545735 55. 51.19057563 18.87850968
100. ]
Deltas: [ 0. 0.84388651 0. -1.61202675 -0.07574626 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.36850135438022225}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3685) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.485, and will continue to 0.525]
(STEP 34 completed) SYSTEM TIME 0.525 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 64.96545735 55. 51.19057563 18.87850968
100. ]
Baseline: [ 0. 65.80934386 55. 49.57854888 18.80276341
100. ]
Deltas: [ 0. 0.75213678 0. -1.43676265 -0.06751092 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.29272826302332505}
Thresholds:
norm_A : low 0.25 | (VALUE 0.29273) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.525, and will continue to 0.565]
(STEP 35 completed) SYSTEM TIME 0.565 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 65.80934386 55. 49.57854888 18.80276341
100. ]
Baseline: [ 0. 66.56148064 55. 48.14178623 18.73525249
100. ]
Deltas: [ 0. 0.67036235 0. -1.28055375 -0.06017094 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.23253601370675195}
Thresholds:
norm_A : (VALUE 0.23254) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low
[The current step started at System Time: 0.565, and will continue to 0.605]
(STEP 36 completed) SYSTEM TIME 0.605 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [ 0. 66.56148064 55. 48.14178623 18.73525249
100. ]
Baseline: [ 0. 67.23184299 55. 46.86123248 18.67508155
100. ]
Deltas: [ 0. 1.19495731 0. -2.28265665 -0.10725798 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.7388831828204337}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.73888) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.04) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.605, and will continue to 0.685]
(STEP 37 completed) SYSTEM TIME 0.685 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [ 0. 67.23184299 55. 46.86123248 18.67508155
100. ]
Baseline: [ 0. 68.4268003 55. 44.57857583 18.56782357
100. ]
Deltas: [ 0. 0.46755952 0. -0.89315144 -0.0419676 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.11312140907262146}
Thresholds:
norm_A : (VALUE 0.11312) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low
[The current step started at System Time: 0.685, and will continue to 0.725]
(STEP 38 completed) SYSTEM TIME 0.725 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [ 0. 68.4268003 55. 44.57857583 18.56782357
100. ]
Baseline: [ 0. 68.89435982 55. 43.68542439 18.52585598
100. ]
Deltas: [ 0. 0.83345025 0. -1.59209098 -0.07480952 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.3594432769718806}
Thresholds:
norm_A : low 0.25 | (VALUE 0.35944) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.725, and will continue to 0.805]
(STEP 39 completed) SYSTEM TIME 0.805 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [ 0. 68.89435982 55. 43.68542439 18.52585598
100. ]
Baseline: [ 0. 69.72781007 55. 42.0933334 18.45104645
100. ]
Deltas: [ 0. 0.65222012 0. -1.24589772 -0.05854252 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.2201199373223358}
Thresholds:
norm_A : (VALUE 0.22012) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.16) at the next round, because all norms are low
[The current step started at System Time: 0.805, and will continue to 0.885]
(STEP 40 completed) SYSTEM TIME 0.885 : Examining Conc. changes due to tentative Δt=0.16 ...
Previous: [ 0. 69.72781007 55. 42.0933334 18.45104645
100. ]
Baseline: [ 0. 70.38003019 55. 40.84743568 18.39250394
100. ]
Deltas: [ 0. 1.02079538 0. -1.94996535 -0.0916254 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.5391981423603522}
Thresholds:
norm_A : low 0.25 | (VALUE 0.5392) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.885, and will continue to 1.045]
(STEP 41 completed) SYSTEM TIME 1.045 : Examining Conc. changes due to tentative Δt=0.16 ...
Previous: [ 0. 70.38003019 55. 40.84743568 18.39250394
100. ]
Baseline: [ 0. 71.40082557 55. 38.89747033 18.30087853
100. ]
Deltas: [ 0. 0.57686034 0. -1.10194237 -0.05177831 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.17219175887655633}
Thresholds:
norm_A : (VALUE 0.17219) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.32) at the next round, because all norms are low
[The current step started at System Time: 1.045, and will continue to 1.205]
(STEP 42 completed) SYSTEM TIME 1.205 : Examining Conc. changes due to tentative Δt=0.32 ...
Previous: [ 0. 71.40082557 55. 38.89747033 18.30087853
100. ]
Baseline: [ 0. 71.97768591 55. 37.79552796 18.24910022
100. ]
Deltas: [ 0. 0.65197758 0. -1.24543442 -0.05852075 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.21995626094117085}
Thresholds:
norm_A : (VALUE 0.21996) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.64) at the next round, because all norms are low
[The current step started at System Time: 1.205, and will continue to 1.525]
(STEP 43 completed) SYSTEM TIME 1.525 : Examining Conc. changes due to tentative Δt=0.64 ...
Previous: [ 0. 71.97768591 55. 37.79552796 18.24910022
100. ]
Baseline: [ 0. 72.62966349 55. 36.55009354 18.19057947
100. ]
Deltas: [ 0. 0.16979763 0. -0.32435443 -0.01524084 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [1, 3, 4]
Norms: {'norm_A': 0.01491881249157113}
Thresholds:
norm_A : (VALUE 0.014919) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 1.28) at the next round, because all norms are low
[The current step started at System Time: 1.525, and will continue to 2.165]
44 total step(s) taken
Number of step re-do's because of negative concentrations: 0
Number of step re-do's because of elective soft aborts: 1
Norm usage: {'norm_A': 23, 'norm_B': 15, 'norm_C': 15, 'norm_D': 15}
variable_steps_1¶Notice the extra lines we have this time, saying "Restricting adaptive time step analysis to 3 chemicals only"
dynamics.get_history()
| SYSTEM TIME | EXTRA 1 | U | EXTRA 2 | X | S | EXTRA 3 | caption | |
|---|---|---|---|---|---|---|---|---|
| 0 | 0.0000 | 0.0 | 50.000000 | 55.0 | 100.000000 | 0.000000 | 100.0 | Initialized state |
| 1 | 0.0050 | 0.0 | 49.500000 | 55.0 | 98.500000 | 2.500000 | 100.0 | |
| 2 | 0.0075 | 0.0 | 49.302500 | 55.0 | 97.798750 | 3.596250 | 100.0 | |
| 3 | 0.0125 | 0.0 | 48.953325 | 55.0 | 96.439656 | 5.653694 | 100.0 | |
| 4 | 0.0150 | 0.0 | 48.821632 | 55.0 | 95.801164 | 6.555571 | 100.0 | |
| 5 | 0.0200 | 0.0 | 48.595639 | 55.0 | 94.560814 | 8.247909 | 100.0 | |
| 6 | 0.0250 | 0.0 | 48.439599 | 55.0 | 93.389839 | 9.730964 | 100.0 | |
| 7 | 0.0300 | 0.0 | 48.344441 | 55.0 | 92.280920 | 11.030197 | 100.0 | |
| 8 | 0.0350 | 0.0 | 48.302205 | 55.0 | 91.227612 | 12.167978 | 100.0 | |
| 9 | 0.0400 | 0.0 | 48.305902 | 55.0 | 90.224238 | 13.163959 | 100.0 | |
| 10 | 0.0500 | 0.0 | 48.392901 | 55.0 | 88.307348 | 14.906851 | 100.0 | |
| 11 | 0.0550 | 0.0 | 48.505246 | 55.0 | 87.429943 | 15.559566 | 100.0 | |
| 12 | 0.0650 | 0.0 | 48.779906 | 55.0 | 85.740619 | 16.699569 | 100.0 | |
| 13 | 0.0750 | 0.0 | 49.140273 | 55.0 | 84.170374 | 17.549079 | 100.0 | |
| 14 | 0.0850 | 0.0 | 49.561394 | 55.0 | 82.698208 | 18.179004 | 100.0 | |
| 15 | 0.0950 | 0.0 | 50.024487 | 55.0 | 81.308002 | 18.643025 | 100.0 | |
| 16 | 0.1050 | 0.0 | 50.515439 | 55.0 | 79.987343 | 18.981779 | 100.0 | |
| 17 | 0.1250 | 0.0 | 51.531906 | 55.0 | 77.465916 | 19.470272 | 100.0 | |
| 18 | 0.1350 | 0.0 | 52.058890 | 55.0 | 76.310155 | 19.572066 | 100.0 | |
| 19 | 0.1550 | 0.0 | 53.108064 | 55.0 | 74.080194 | 19.703677 | 100.0 | |
| 20 | 0.1650 | 0.0 | 53.622197 | 55.0 | 73.040009 | 19.715597 | 100.0 | |
| 21 | 0.1850 | 0.0 | 54.631805 | 55.0 | 71.023480 | 19.712910 | 100.0 | |
| 22 | 0.2050 | 0.0 | 55.600598 | 55.0 | 69.127620 | 19.671183 | 100.0 | |
| 23 | 0.2250 | 0.0 | 56.523964 | 55.0 | 67.340505 | 19.611568 | 100.0 | |
| 24 | 0.2450 | 0.0 | 57.400856 | 55.0 | 65.653463 | 19.544825 | 100.0 | |
| 25 | 0.2650 | 0.0 | 58.231994 | 55.0 | 64.059634 | 19.476378 | 100.0 | |
| 26 | 0.2850 | 0.0 | 59.018935 | 55.0 | 62.553221 | 19.408909 | 100.0 | |
| 27 | 0.3050 | 0.0 | 59.763603 | 55.0 | 61.129097 | 19.343697 | 100.0 | |
| 28 | 0.3250 | 0.0 | 60.468050 | 55.0 | 59.782595 | 19.281305 | 100.0 | |
| 29 | 0.3450 | 0.0 | 61.134337 | 55.0 | 58.509396 | 19.221930 | 100.0 | |
| 30 | 0.3850 | 0.0 | 62.394608 | 55.0 | 56.101532 | 19.109253 | 100.0 | |
| 31 | 0.4050 | 0.0 | 62.956304 | 55.0 | 55.028550 | 19.058842 | 100.0 | |
| 32 | 0.4450 | 0.0 | 64.018629 | 55.0 | 52.999246 | 18.963496 | 100.0 | |
| 33 | 0.4850 | 0.0 | 64.965457 | 55.0 | 51.190576 | 18.878510 | 100.0 | |
| 34 | 0.5250 | 0.0 | 65.809344 | 55.0 | 49.578549 | 18.802763 | 100.0 | |
| 35 | 0.5650 | 0.0 | 66.561481 | 55.0 | 48.141786 | 18.735252 | 100.0 | |
| 36 | 0.6050 | 0.0 | 67.231843 | 55.0 | 46.861232 | 18.675082 | 100.0 | |
| 37 | 0.6850 | 0.0 | 68.426800 | 55.0 | 44.578576 | 18.567824 | 100.0 | |
| 38 | 0.7250 | 0.0 | 68.894360 | 55.0 | 43.685424 | 18.525856 | 100.0 | |
| 39 | 0.8050 | 0.0 | 69.727810 | 55.0 | 42.093333 | 18.451046 | 100.0 | |
| 40 | 0.8850 | 0.0 | 70.380030 | 55.0 | 40.847436 | 18.392504 | 100.0 | |
| 41 | 1.0450 | 0.0 | 71.400826 | 55.0 | 38.897470 | 18.300879 | 100.0 | |
| 42 | 1.2050 | 0.0 | 71.977686 | 55.0 | 37.795528 | 18.249100 | 100.0 | |
| 43 | 1.5250 | 0.0 | 72.629663 | 55.0 | 36.550094 | 18.190579 | 100.0 | |
| 44 | 2.1650 | 0.0 | 72.799461 | 55.0 | 36.225739 | 18.175339 | 100.0 |
(transition_times, step_sizes) = dynamics.explain_time_advance(return_times=True)
From time 0 to 0.005, in 1 step of 0.005 From time 0.005 to 0.0075, in 1 step of 0.0025 From time 0.0075 to 0.0125, in 1 step of 0.005 From time 0.0125 to 0.015, in 1 step of 0.0025 From time 0.015 to 0.04, in 5 steps of 0.005 From time 0.04 to 0.05, in 1 step of 0.01 From time 0.05 to 0.055, in 1 step of 0.005 From time 0.055 to 0.105, in 5 steps of 0.01 From time 0.105 to 0.125, in 1 step of 0.02 From time 0.125 to 0.135, in 1 step of 0.01 From time 0.135 to 0.155, in 1 step of 0.02 From time 0.155 to 0.165, in 1 step of 0.01 From time 0.165 to 0.345, in 9 steps of 0.02 From time 0.345 to 0.385, in 1 step of 0.04 From time 0.385 to 0.405, in 1 step of 0.02 From time 0.405 to 0.605, in 5 steps of 0.04 From time 0.605 to 0.685, in 1 step of 0.08 From time 0.685 to 0.725, in 1 step of 0.04 From time 0.725 to 0.885, in 2 steps of 0.08 From time 0.885 to 1.205, in 2 steps of 0.16 From time 1.205 to 1.525, in 1 step of 0.32 From time 1.525 to 2.165, in 1 step of 0.64 (44 steps total)
np.array(step_sizes)
array([0.005 , 0.0025, 0.005 , 0.0025, 0.005 , 0.01 , 0.005 , 0.01 ,
0.02 , 0.01 , 0.02 , 0.01 , 0.02 , 0.04 , 0.02 , 0.04 ,
0.08 , 0.04 , 0.08 , 0.16 , 0.32 , 0.64 ])
np.array(transition_times) # Note: there will be one more transition time (the end time) than step sizes
array([0. , 0.005 , 0.0075, 0.0125, 0.015 , 0.04 , 0.05 , 0.055 ,
0.105 , 0.125 , 0.135 , 0.155 , 0.165 , 0.345 , 0.385 , 0.405 ,
0.605 , 0.685 , 0.725 , 0.885 , 1.205 , 1.525 , 2.165 ])
dynamics.plot_history(colors=['lightgray', 'green', 'lightgray', 'orange', 'darkturquoise', 'lightgray'])
dynamics.curve_intersect("U", "X", t_start=0.3, t_end=0.35)
(0.3183157284824908, 60.23261431038145)
# Initialize the system
chem_data = chem(names=["U", "X", "S", "E"])
# Reaction 2 S <-> U , with 1st-order kinetics for all species (mostly forward)
chem_data.add_reaction(reactants=[(2, "S", 1), "E"], products=["U", "E"],
forward_rate=8., reverse_rate=2.)
# Reaction S <-> X , with 1st-order kinetics for all species (mostly forward)
chem_data.add_reaction(reactants="S", products="X",
forward_rate=6., reverse_rate=3.)
chem_data.describe_reactions()
Number of reactions: 2 (at temp. 25 C)
0: 2 S + E <-> U + E (kF = 8 / kR = 2 / delta_G = -3,436.6 / K = 4) | Enzyme: E | 1st order in all reactants & products
1: S <-> X (kF = 6 / kR = 3 / delta_G = -1,718.3 / K = 2) | 1st order in all reactants & products
Set of chemicals involved in the above reactions (not counting enzymes): {'X', 'S', 'U'}
Set of enzymes involved in the above reactions: {'E'}
dynamics = UniformCompartment(chem_data=chem_data, preset=None)
dynamics.set_conc(conc={"U": 50., "X": 100., "E": 1. })
dynamics.describe_state()
SYSTEM STATE at Time t = 0:
4 species:
Species 0 (U). Conc: 50.0
Species 1 (X). Conc: 100.0
Species 2 (S). Conc: 0.0
Species 3 (E). Conc: 1.0
Set of chemicals involved in reactions (not counting enzymes): {'X', 'S', 'U'}
Set of enzymes involved in reactions: {'E'}
dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()
# These adaptive-time settings (normally specified with a preset) are being set explicitly
dynamics.set_thresholds(norm="norm_A", low=0.25, high=0.64, abort=1.44)
dynamics.set_step_factors(upshift=2.0, downshift=0.5, abort=0.5, error=0.5)
dynamics.show_adaptive_parameters()
Parameters used for the automated adaptive time step sizes -
THRESHOLDS: [{'norm': 'norm_A', 'low': 0.25, 'high': 0.64, 'abort': 1.44}]
STEP FACTORS: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
dynamics.single_compartment_react(initial_step=0.01, target_end_time=2.0,
variable_steps=True, explain_variable_steps=[0,2])
(STEP 0 aborted) SYSTEM TIME 0 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: None
Baseline: [ 50. 100. 0. 1.]
Deltas: [-1. -3. 5. 0.]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 3.888888888888889}
Thresholds:
norm_A : low 0.25 | high 0.64 | abort 1.44 | (VALUE 3.8889)
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'ABORT' (with step size factor of 0.5)
* INFO: the tentative time step (0.01) leads to a value of ['norm_A'] > its ABORT threshold:
-> will backtrack, and re-do step with a SMALLER Δt, x0.5 (now set to 0.005) [Step started at t=0, and will rewind there]
(STEP 0 completed) SYSTEM TIME 0 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: None
Baseline: [ 50. 100. 0. 1.]
Deltas: [-0.5 -1.5 2.5 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.9722222222222222}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.97222) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0, and will continue to 0.005]
(STEP 1 completed) SYSTEM TIME 0.005 : Examining Conc. changes due to tentative Δt=0.0025 ...
Previous: [ 50. 100. 0. 1.]
Baseline: [49.5 98.5 2.5 1. ]
Deltas: [-0.1975 -0.70125 1.09625 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.19250243055555555}
Thresholds:
norm_A : (VALUE 0.1925) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low
[The current step started at System Time: 0.005, and will continue to 0.0075]
(STEP 2 completed) SYSTEM TIME 0.0075 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [49.5 98.5 2.5 1. ]
Baseline: [49.3025 97.79875 3.59625 1. ]
Deltas: [-0.349175 -1.35909375 2.05744375 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.6891259762586809}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.68913) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.0075, and will continue to 0.0125]
(STEP 3 completed) SYSTEM TIME 0.0125 : Examining Conc. changes due to tentative Δt=0.0025 ...
Previous: [49.3025 97.79875 3.59625 1. ]
Baseline: [48.953325 96.43965625 5.65369375 1. ]
Deltas: [-0.13169275 -0.63849202 0.90187752 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.1375997875121511}
Thresholds:
norm_A : (VALUE 0.1376) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low
[The current step started at System Time: 0.0125, and will continue to 0.015]
(STEP 4 completed) SYSTEM TIME 0.015 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.953325 96.43965625 5.65369375 1. ]
Baseline: [48.82163225 95.80116423 6.55557127 1. ]
Deltas: [-0.22599347 -1.24035033 1.69233727 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.494838601385062}
Thresholds:
norm_A : low 0.25 | (VALUE 0.49484) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.015, and will continue to 0.02]
(STEP 5 completed) SYSTEM TIME 0.02 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.82163225 95.80116423 6.55557127 1. ]
Baseline: [48.59563878 94.56081391 8.24790853 1. ]
Deltas: [-0.15604005 -1.17097495 1.48305505 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.3994425670227834}
Thresholds:
norm_A : low 0.25 | (VALUE 0.39944) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.02, and will continue to 0.025]
(STEP 6 completed) SYSTEM TIME 0.025 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.59563878 94.56081391 8.24790853 1. ]
Baseline: [48.43959873 93.38983896 9.73096358 1. ]
Deltas: [-0.09515744 -1.10891868 1.29923357 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.32519593644806855}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3252) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.025, and will continue to 0.03]
(STEP 7 completed) SYSTEM TIME 0.03 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.43959873 93.38983896 9.73096358 1. ]
Baseline: [48.34444129 92.28092028 11.03019715 1. ]
Deltas: [-0.04223653 -1.05330789 1.13778094 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.2673096568217399}
Thresholds:
norm_A : low 0.25 | (VALUE 0.26731) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.03, and will continue to 0.035]
(STEP 8 completed) SYSTEM TIME 0.035 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.34444129 92.28092028 11.03019715 1. ]
Baseline: [48.30220476 91.22761239 12.16797809 1. ]
Deltas: [ 0.00369708 -1.00337484 0.99598069 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.22208358683873192}
Thresholds:
norm_A : (VALUE 0.22208) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low
[The current step started at System Time: 0.035, and will continue to 0.04]
(STEP 9 completed) SYSTEM TIME 0.04 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [48.30220476 91.22761239 12.16797809 1. ]
Baseline: [48.30590184 90.22423755 13.16395878 1. ]
Deltas: [ 0.08699867 -1.9168896 1.74289227 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.7466342181101149}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.74663) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.005) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.04, and will continue to 0.05]
(STEP 10 completed) SYSTEM TIME 0.05 : Examining Conc. changes due to tentative Δt=0.005 ...
Previous: [48.30590184 90.22423755 13.16395878 1. ]
Baseline: [48.3929005 88.30734795 14.90685105 1. ]
Deltas: [ 0.11234504 -0.87740469 0.65271461 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.13427741784149083}
Thresholds:
norm_A : (VALUE 0.13428) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low
[The current step started at System Time: 0.05, and will continue to 0.055]
(STEP 11 completed) SYSTEM TIME 0.055 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [48.3929005 88.30734795 14.90685105 1. ]
Baseline: [48.50524554 87.42994326 15.55956566 1. ]
Deltas: [ 0.27466034 -1.68932436 1.14000367 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.4698737184351335}
Thresholds:
norm_A : low 0.25 | (VALUE 0.46987) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.055, and will continue to 0.065]
(STEP 12 completed) SYSTEM TIME 0.065 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [48.50524554 87.42994326 15.55956566 1. ]
Baseline: [48.77990588 85.7406189 16.69956934 1. ]
Deltas: [ 0.36036743 -1.57024441 0.84950955 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.3685776282283221}
Thresholds:
norm_A : low 0.25 | (VALUE 0.36858) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.065, and will continue to 0.075]
(STEP 13 completed) SYSTEM TIME 0.075 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [48.77990588 85.7406189 16.69956934 1. ]
Baseline: [49.14027331 84.17037449 17.54907888 1. ]
Deltas: [ 0.42112084 -1.4721665 0.62992481 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.3046024715786003}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3046) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.075, and will continue to 0.085]
(STEP 14 completed) SYSTEM TIME 0.085 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [49.14027331 84.17037449 17.54907888 1. ]
Baseline: [49.56139416 82.69820799 18.1790037 1. ]
Deltas: [ 0.46309241 -1.39020602 0.46402119 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.2624936691312418}
Thresholds:
norm_A : low 0.25 | (VALUE 0.26249) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.085, and will continue to 0.095]
(STEP 15 completed) SYSTEM TIME 0.095 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [49.56139416 82.69820799 18.1790037 1. ]
Baseline: [50.02448657 81.30800197 18.64302489 1. ]
Deltas: [ 0.49095226 -1.32065857 0.33875405 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.23332527475445466}
Thresholds:
norm_A : (VALUE 0.23333) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.095, and will continue to 0.105]
(STEP 16 completed) SYSTEM TIME 0.105 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [50.02448657 81.30800197 18.64302489 1. ]
Baseline: [50.51543883 79.98734341 18.98177894 1. ]
Deltas: [ 1.01646708 -2.52142713 0.48849298 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.847713943482735}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.84771) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.105, and will continue to 0.125]
(STEP 17 completed) SYSTEM TIME 0.125 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [50.51543883 79.98734341 18.98177894 1. ]
Baseline: [51.5319059 77.46591628 19.47027191 1. ]
Deltas: [ 0.52698364 -1.15576117 0.1017939 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.18042862670354223}
Thresholds:
norm_A : (VALUE 0.18043) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.125, and will continue to 0.135]
(STEP 18 completed) SYSTEM TIME 0.135 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [51.5319059 77.46591628 19.47027191 1. ]
Baseline: [52.05888954 76.3101551 19.57206582 1. ]
Deltas: [ 1.04917495 -2.22996141 0.13161151 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.676757504987934}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.67676) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.135, and will continue to 0.155]
(STEP 19 completed) SYSTEM TIME 0.155 : Examining Conc. changes due to tentative Δt=0.01 ...
Previous: [52.05888954 76.3101551 19.57206582 1. ]
Baseline: [53.10806449 74.08019369 19.70367733 1. ]
Deltas: [ 0.5141329 -1.04018517 0.01191938 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.149606655239135}
Thresholds:
norm_A : (VALUE 0.14961) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low
[The current step started at System Time: 0.155, and will continue to 0.165]
(STEP 20 completed) SYSTEM TIME 0.165 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [53.10806449 74.08019369 19.70367733 1. ]
Baseline: [53.62219739 73.04000852 19.71559671 1. ]
Deltas: [ 1.00960758 -2.01652891 -0.00268625 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.5650781675774635}
Thresholds:
norm_A : low 0.25 | (VALUE 0.56508) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.165, and will continue to 0.185]
(STEP 21 completed) SYSTEM TIME 0.185 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [53.62219739 73.04000852 19.71559671 1. ]
Baseline: [54.63180496 71.02347962 19.71291046 1. ]
Deltas: [ 0.96879347 -1.89585952 -0.04172743 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.5038428113796767}
Thresholds:
norm_A : low 0.25 | (VALUE 0.50384) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.185, and will continue to 0.205]
(STEP 22 completed) SYSTEM TIME 0.205 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [54.63180496 71.02347962 19.71291046 1. ]
Baseline: [55.60059844 69.12762009 19.67118303 1. ]
Deltas: [ 0.92336535 -1.78711524 -0.05961545 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.4499931616991674}
Thresholds:
norm_A : low 0.25 | (VALUE 0.44999) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.205, and will continue to 0.225]
(STEP 23 completed) SYSTEM TIME 0.225 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [55.60059844 69.12762009 19.67118303 1. ]
Baseline: [56.52396378 67.34050485 19.61156758 1. ]
Deltas: [ 0.87689226 -1.68704218 -0.06674234 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.4021673223106198}
Thresholds:
norm_A : low 0.25 | (VALUE 0.40217) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.225, and will continue to 0.245]
(STEP 24 completed) SYSTEM TIME 0.245 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [56.52396378 67.34050485 19.61156758 1. ]
Baseline: [57.40085605 65.65346267 19.54482524 1. ]
Deltas: [ 0.8311378 -1.59382873 -0.06844686 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.3595294483481833}
Thresholds:
norm_A : low 0.25 | (VALUE 0.35953) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.245, and will continue to 0.265]
(STEP 25 completed) SYSTEM TIME 0.265 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [57.40085605 65.65346267 19.54482524 1. ]
Baseline: [58.23199384 64.05963394 19.47637838 1. ]
Deltas: [ 0.78694079 -1.50641263 -0.06746894 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.32145631944741265}
Thresholds:
norm_A : low 0.25 | (VALUE 0.32146) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.265, and will continue to 0.285]
(STEP 26 completed) SYSTEM TIME 0.285 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [58.23199384 64.05963394 19.47637838 1. ]
Baseline: [59.01893463 62.55322131 19.40890943 1. ]
Deltas: [ 0.74466812 -1.42412415 -0.0652121 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.2874347575511702}
Thresholds:
norm_A : low 0.25 | (VALUE 0.28743) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.285, and will continue to 0.305]
(STEP 27 completed) SYSTEM TIME 0.305 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [59.01893463 62.55322131 19.40890943 1. ]
Baseline: [59.76360275 61.12909716 19.34369733 1. ]
Deltas: [ 0.70444746 -1.34650215 -0.06239278 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.25702301402562294}
Thresholds:
norm_A : low 0.25 | (VALUE 0.25702) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.305, and will continue to 0.325]
(STEP 28 completed) SYSTEM TIME 0.325 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [59.76360275 61.12909716 19.34369733 1. ]
Baseline: [60.46805022 59.78259501 19.28130456 1. ]
Deltas: [ 0.66628672 -1.27319915 -0.05937429 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.22983326503644058}
Thresholds:
norm_A : (VALUE 0.22983) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low
[The current step started at System Time: 0.325, and will continue to 0.345]
(STEP 29 completed) SYSTEM TIME 0.345 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [60.46805022 59.78259501 19.28130456 1. ]
Baseline: [61.13433694 58.50939586 19.22193027 1. ]
Deltas: [ 1.26027073 -2.40786424 -0.11267722 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.8220876292375117}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.82209) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.02) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.345, and will continue to 0.385]
(STEP 30 completed) SYSTEM TIME 0.385 : Examining Conc. changes due to tentative Δt=0.02 ...
Previous: [61.13433694 58.50939586 19.22193027 1. ]
Baseline: [62.39460767 56.10153162 19.10925305 1. ]
Deltas: [ 0.56169618 -1.07298153 -0.05041083 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.16325924649115092}
Thresholds:
norm_A : (VALUE 0.16326) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low
[The current step started at System Time: 0.385, and will continue to 0.405]
(STEP 31 completed) SYSTEM TIME 0.405 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [62.39460767 56.10153162 19.10925305 1. ]
Baseline: [62.95630385 55.02855009 19.05884222 1. ]
Deltas: [ 1.0623252 -2.02930388 -0.09534652 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.5839666694455721}
Thresholds:
norm_A : low 0.25 | (VALUE 0.58397) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.405, and will continue to 0.445]
(STEP 32 completed) SYSTEM TIME 0.445 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [62.95630385 55.02855009 19.05884222 1. ]
Baseline: [64.01862905 52.99924621 18.96349569 1. ]
Deltas: [ 0.9468283 -1.80867058 -0.08498602 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.4638884123583411}
Thresholds:
norm_A : low 0.25 | (VALUE 0.46389) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.445, and will continue to 0.485]
(STEP 33 completed) SYSTEM TIME 0.485 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [64.01862905 52.99924621 18.96349569 1. ]
Baseline: [64.96545735 51.19057563 18.87850968 1. ]
Deltas: [ 0.84388651 -1.61202675 -0.07574626 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.36850135438022225}
Thresholds:
norm_A : low 0.25 | (VALUE 0.3685) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.485, and will continue to 0.525]
(STEP 34 completed) SYSTEM TIME 0.525 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [64.96545735 51.19057563 18.87850968 1. ]
Baseline: [65.80934386 49.57854888 18.80276341 1. ]
Deltas: [ 0.75213678 -1.43676265 -0.06751092 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.29272826302332505}
Thresholds:
norm_A : low 0.25 | (VALUE 0.29273) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.525, and will continue to 0.565]
(STEP 35 completed) SYSTEM TIME 0.565 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [65.80934386 49.57854888 18.80276341 1. ]
Baseline: [66.56148064 48.14178623 18.73525249 1. ]
Deltas: [ 0.67036235 -1.28055375 -0.06017094 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.23253601370675195}
Thresholds:
norm_A : (VALUE 0.23254) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low
[The current step started at System Time: 0.565, and will continue to 0.605]
(STEP 36 completed) SYSTEM TIME 0.605 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [66.56148064 48.14178623 18.73525249 1. ]
Baseline: [67.23184299 46.86123248 18.67508155 1. ]
Deltas: [ 1.19495731 -2.28265665 -0.10725798 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.7388831828204337}
Thresholds:
norm_A : low 0.25 | high 0.64 | (VALUE 0.73888) | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'HIGH' (with step size factor of 0.5)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.04) at the next round, because ['norm_A'] is high
[The current step started at System Time: 0.605, and will continue to 0.685]
(STEP 37 completed) SYSTEM TIME 0.685 : Examining Conc. changes due to tentative Δt=0.04 ...
Previous: [67.23184299 46.86123248 18.67508155 1. ]
Baseline: [68.4268003 44.57857583 18.56782357 1. ]
Deltas: [ 0.46755952 -0.89315144 -0.0419676 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.11312140907262146}
Thresholds:
norm_A : (VALUE 0.11312) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low
[The current step started at System Time: 0.685, and will continue to 0.725]
(STEP 38 completed) SYSTEM TIME 0.725 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [68.4268003 44.57857583 18.56782357 1. ]
Baseline: [68.89435982 43.68542439 18.52585598 1. ]
Deltas: [ 0.83345025 -1.59209098 -0.07480952 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.3594432769718806}
Thresholds:
norm_A : low 0.25 | (VALUE 0.35944) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.725, and will continue to 0.805]
(STEP 39 completed) SYSTEM TIME 0.805 : Examining Conc. changes due to tentative Δt=0.08 ...
Previous: [68.89435982 43.68542439 18.52585598 1. ]
Baseline: [69.72781007 42.0933334 18.45104645 1. ]
Deltas: [ 0.65222012 -1.24589772 -0.05854252 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.2201199373223358}
Thresholds:
norm_A : (VALUE 0.22012) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.16) at the next round, because all norms are low
[The current step started at System Time: 0.805, and will continue to 0.885]
(STEP 40 completed) SYSTEM TIME 0.885 : Examining Conc. changes due to tentative Δt=0.16 ...
Previous: [69.72781007 42.0933334 18.45104645 1. ]
Baseline: [70.38003019 40.84743568 18.39250394 1. ]
Deltas: [ 1.02079538 -1.94996535 -0.0916254 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.5391981423603522}
Thresholds:
norm_A : low 0.25 | (VALUE 0.5392) | high 0.64 | abort 1.44
=> Action: 'STAY' (with step size factor of 1)
INFO: COMPLETE NORMALLY - we're inside the target range of all norms. No change to step size.
[The current step started at System Time: 0.885, and will continue to 1.045]
(STEP 41 completed) SYSTEM TIME 1.045 : Examining Conc. changes due to tentative Δt=0.16 ...
Previous: [70.38003019 40.84743568 18.39250394 1. ]
Baseline: [71.40082557 38.89747033 18.30087853 1. ]
Deltas: [ 0.57686034 -1.10194237 -0.05177831 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.17219175887655633}
Thresholds:
norm_A : (VALUE 0.17219) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.32) at the next round, because all norms are low
[The current step started at System Time: 1.045, and will continue to 1.205]
(STEP 42 completed) SYSTEM TIME 1.205 : Examining Conc. changes due to tentative Δt=0.32 ...
Previous: [71.40082557 38.89747033 18.30087853 1. ]
Baseline: [71.97768591 37.79552796 18.24910022 1. ]
Deltas: [ 0.65197758 -1.24543442 -0.05852075 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.21995626094117085}
Thresholds:
norm_A : (VALUE 0.21996) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.64) at the next round, because all norms are low
[The current step started at System Time: 1.205, and will continue to 1.525]
(STEP 43 completed) SYSTEM TIME 1.525 : Examining Conc. changes due to tentative Δt=0.64 ...
Previous: [71.97768591 37.79552796 18.24910022 1. ]
Baseline: [72.62966349 36.55009354 18.19057947 1. ]
Deltas: [ 0.16979763 -0.32435443 -0.01524084 0. ]
Restricting adaptive time step analysis to 3 chemicals only: {'X', 'S', 'U'} , with indexes: [0, 1, 2]
Norms: {'norm_A': 0.01491881249157113}
Thresholds:
norm_A : (VALUE 0.014919) | low 0.25 | high 0.64 | abort 1.44
Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5, 'error': 0.5}
=> Action: 'LOW' (with step size factor of 2.0)
INFO: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 1.28) at the next round, because all norms are low
[The current step started at System Time: 1.525, and will continue to 2.165]
44 total step(s) taken
Number of step re-do's because of negative concentrations: 0
Number of step re-do's because of elective soft aborts: 1
Norm usage: {'norm_A': 23, 'norm_B': 15, 'norm_C': 15, 'norm_D': 15}
variable_steps_1¶Notice the extra lines we have this time, saying "Restricting adaptive time step analysis to 3 chemicals only"
dynamics.get_history()
| SYSTEM TIME | U | X | S | E | caption | |
|---|---|---|---|---|---|---|
| 0 | 0.0000 | 50.000000 | 100.000000 | 0.000000 | 1.0 | Initialized state |
| 1 | 0.0050 | 49.500000 | 98.500000 | 2.500000 | 1.0 | |
| 2 | 0.0075 | 49.302500 | 97.798750 | 3.596250 | 1.0 | |
| 3 | 0.0125 | 48.953325 | 96.439656 | 5.653694 | 1.0 | |
| 4 | 0.0150 | 48.821632 | 95.801164 | 6.555571 | 1.0 | |
| 5 | 0.0200 | 48.595639 | 94.560814 | 8.247909 | 1.0 | |
| 6 | 0.0250 | 48.439599 | 93.389839 | 9.730964 | 1.0 | |
| 7 | 0.0300 | 48.344441 | 92.280920 | 11.030197 | 1.0 | |
| 8 | 0.0350 | 48.302205 | 91.227612 | 12.167978 | 1.0 | |
| 9 | 0.0400 | 48.305902 | 90.224238 | 13.163959 | 1.0 | |
| 10 | 0.0500 | 48.392901 | 88.307348 | 14.906851 | 1.0 | |
| 11 | 0.0550 | 48.505246 | 87.429943 | 15.559566 | 1.0 | |
| 12 | 0.0650 | 48.779906 | 85.740619 | 16.699569 | 1.0 | |
| 13 | 0.0750 | 49.140273 | 84.170374 | 17.549079 | 1.0 | |
| 14 | 0.0850 | 49.561394 | 82.698208 | 18.179004 | 1.0 | |
| 15 | 0.0950 | 50.024487 | 81.308002 | 18.643025 | 1.0 | |
| 16 | 0.1050 | 50.515439 | 79.987343 | 18.981779 | 1.0 | |
| 17 | 0.1250 | 51.531906 | 77.465916 | 19.470272 | 1.0 | |
| 18 | 0.1350 | 52.058890 | 76.310155 | 19.572066 | 1.0 | |
| 19 | 0.1550 | 53.108064 | 74.080194 | 19.703677 | 1.0 | |
| 20 | 0.1650 | 53.622197 | 73.040009 | 19.715597 | 1.0 | |
| 21 | 0.1850 | 54.631805 | 71.023480 | 19.712910 | 1.0 | |
| 22 | 0.2050 | 55.600598 | 69.127620 | 19.671183 | 1.0 | |
| 23 | 0.2250 | 56.523964 | 67.340505 | 19.611568 | 1.0 | |
| 24 | 0.2450 | 57.400856 | 65.653463 | 19.544825 | 1.0 | |
| 25 | 0.2650 | 58.231994 | 64.059634 | 19.476378 | 1.0 | |
| 26 | 0.2850 | 59.018935 | 62.553221 | 19.408909 | 1.0 | |
| 27 | 0.3050 | 59.763603 | 61.129097 | 19.343697 | 1.0 | |
| 28 | 0.3250 | 60.468050 | 59.782595 | 19.281305 | 1.0 | |
| 29 | 0.3450 | 61.134337 | 58.509396 | 19.221930 | 1.0 | |
| 30 | 0.3850 | 62.394608 | 56.101532 | 19.109253 | 1.0 | |
| 31 | 0.4050 | 62.956304 | 55.028550 | 19.058842 | 1.0 | |
| 32 | 0.4450 | 64.018629 | 52.999246 | 18.963496 | 1.0 | |
| 33 | 0.4850 | 64.965457 | 51.190576 | 18.878510 | 1.0 | |
| 34 | 0.5250 | 65.809344 | 49.578549 | 18.802763 | 1.0 | |
| 35 | 0.5650 | 66.561481 | 48.141786 | 18.735252 | 1.0 | |
| 36 | 0.6050 | 67.231843 | 46.861232 | 18.675082 | 1.0 | |
| 37 | 0.6850 | 68.426800 | 44.578576 | 18.567824 | 1.0 | |
| 38 | 0.7250 | 68.894360 | 43.685424 | 18.525856 | 1.0 | |
| 39 | 0.8050 | 69.727810 | 42.093333 | 18.451046 | 1.0 | |
| 40 | 0.8850 | 70.380030 | 40.847436 | 18.392504 | 1.0 | |
| 41 | 1.0450 | 71.400826 | 38.897470 | 18.300879 | 1.0 | |
| 42 | 1.2050 | 71.977686 | 37.795528 | 18.249100 | 1.0 | |
| 43 | 1.5250 | 72.629663 | 36.550094 | 18.190579 | 1.0 | |
| 44 | 2.1650 | 72.799461 | 36.225739 | 18.175339 | 1.0 |
(transition_times, step_sizes) = dynamics.explain_time_advance(return_times=True)
From time 0 to 0.005, in 1 step of 0.005 From time 0.005 to 0.0075, in 1 step of 0.0025 From time 0.0075 to 0.0125, in 1 step of 0.005 From time 0.0125 to 0.015, in 1 step of 0.0025 From time 0.015 to 0.04, in 5 steps of 0.005 From time 0.04 to 0.05, in 1 step of 0.01 From time 0.05 to 0.055, in 1 step of 0.005 From time 0.055 to 0.105, in 5 steps of 0.01 From time 0.105 to 0.125, in 1 step of 0.02 From time 0.125 to 0.135, in 1 step of 0.01 From time 0.135 to 0.155, in 1 step of 0.02 From time 0.155 to 0.165, in 1 step of 0.01 From time 0.165 to 0.345, in 9 steps of 0.02 From time 0.345 to 0.385, in 1 step of 0.04 From time 0.385 to 0.405, in 1 step of 0.02 From time 0.405 to 0.605, in 5 steps of 0.04 From time 0.605 to 0.685, in 1 step of 0.08 From time 0.685 to 0.725, in 1 step of 0.04 From time 0.725 to 0.885, in 2 steps of 0.08 From time 0.885 to 1.205, in 2 steps of 0.16 From time 1.205 to 1.525, in 1 step of 0.32 From time 1.525 to 2.165, in 1 step of 0.64 (44 steps total)
np.array(step_sizes)
array([0.005 , 0.0025, 0.005 , 0.0025, 0.005 , 0.01 , 0.005 , 0.01 ,
0.02 , 0.01 , 0.02 , 0.01 , 0.02 , 0.04 , 0.02 , 0.04 ,
0.08 , 0.04 , 0.08 , 0.16 , 0.32 , 0.64 ])
np.array(transition_times) # Note: there will be one more transition time (the end time) than step sizes
array([0. , 0.005 , 0.0075, 0.0125, 0.015 , 0.04 , 0.05 , 0.055 ,
0.105 , 0.125 , 0.135 , 0.155 , 0.165 , 0.345 , 0.385 , 0.405 ,
0.605 , 0.685 , 0.725 , 0.885 , 1.205 , 1.525 , 2.165 ])
dynamics.plot_history(colors=['green', 'orange', 'darkturquoise', 'gray'])
dynamics.curve_intersect("U", "X", t_start=0.3, t_end=0.35)
(0.3183157284824908, 60.23261431038145)