diff --git a/.buildinfo b/.buildinfo deleted file mode 100644 index 180947445..000000000 --- a/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 1c82cd5269d3c20d896f2dd212837e77 -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/README.doctree b/.doctrees/README.doctree deleted file mode 100644 index 12e0d48f1..000000000 Binary files a/.doctrees/README.doctree and /dev/null differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle deleted file mode 100644 index 0a1c9c968..000000000 Binary files a/.doctrees/environment.pickle and /dev/null differ diff --git a/.doctrees/examples/batch_chromatography.doctree b/.doctrees/examples/batch_chromatography.doctree deleted file mode 100644 index bda231ed9..000000000 Binary files a/.doctrees/examples/batch_chromatography.doctree and /dev/null differ diff --git a/.doctrees/examples/index.doctree b/.doctrees/examples/index.doctree deleted file mode 100644 index c64a4febc..000000000 Binary files a/.doctrees/examples/index.doctree and /dev/null differ diff --git a/.doctrees/examples/load_wash_elute.doctree b/.doctrees/examples/load_wash_elute.doctree deleted file mode 100644 index 41d5ae2b2..000000000 Binary files a/.doctrees/examples/load_wash_elute.doctree and /dev/null differ diff --git a/.doctrees/examples/reaction_cstr.doctree b/.doctrees/examples/reaction_cstr.doctree deleted file mode 100644 index 94a389bf8..000000000 Binary files a/.doctrees/examples/reaction_cstr.doctree and /dev/null differ diff --git a/.doctrees/examples/rtd.doctree b/.doctrees/examples/rtd.doctree deleted file mode 100644 index b03657d99..000000000 Binary files a/.doctrees/examples/rtd.doctree and /dev/null differ diff --git a/.doctrees/getting_started/build_linux.doctree b/.doctrees/getting_started/build_linux.doctree deleted file mode 100644 index 56a60b044..000000000 Binary files a/.doctrees/getting_started/build_linux.doctree and /dev/null differ diff --git a/.doctrees/getting_started/build_osx.doctree b/.doctrees/getting_started/build_osx.doctree deleted file mode 100644 index ba896d931..000000000 Binary files a/.doctrees/getting_started/build_osx.doctree and /dev/null differ diff --git a/.doctrees/getting_started/build_windows.doctree b/.doctrees/getting_started/build_windows.doctree deleted file mode 100644 index 9641f218f..000000000 Binary files a/.doctrees/getting_started/build_windows.doctree and /dev/null differ diff --git a/.doctrees/getting_started/index.doctree b/.doctrees/getting_started/index.doctree deleted file mode 100644 index 354f4a518..000000000 Binary files a/.doctrees/getting_started/index.doctree and /dev/null differ diff --git a/.doctrees/getting_started/installation.doctree b/.doctrees/getting_started/installation.doctree deleted file mode 100644 index 2a4f0b994..000000000 Binary files a/.doctrees/getting_started/installation.doctree and /dev/null differ diff --git a/.doctrees/getting_started/overview.doctree b/.doctrees/getting_started/overview.doctree deleted file mode 100644 index eac43824c..000000000 Binary files a/.doctrees/getting_started/overview.doctree and /dev/null differ diff --git a/.doctrees/getting_started/tutorials/breakthrough.doctree b/.doctrees/getting_started/tutorials/breakthrough.doctree deleted file mode 100644 index c17fdc58d..000000000 Binary files a/.doctrees/getting_started/tutorials/breakthrough.doctree and /dev/null differ diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree deleted file mode 100644 index 6ffee02f8..000000000 Binary files a/.doctrees/index.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/bi_steric_mass_action.doctree b/.doctrees/interface/binding/bi_steric_mass_action.doctree deleted file mode 100644 index e483c62ff..000000000 Binary files a/.doctrees/interface/binding/bi_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree b/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree deleted file mode 100644 index acf1178f8..000000000 Binary files a/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/freundlich_ldf.doctree b/.doctrees/interface/binding/freundlich_ldf.doctree deleted file mode 100644 index 31a399a08..000000000 Binary files a/.doctrees/interface/binding/freundlich_ldf.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/generalized_ion_exchange.doctree b/.doctrees/interface/binding/generalized_ion_exchange.doctree deleted file mode 100644 index 03db8d1a4..000000000 Binary files a/.doctrees/interface/binding/generalized_ion_exchange.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/hic_constant_water_activity.doctree b/.doctrees/interface/binding/hic_constant_water_activity.doctree deleted file mode 100644 index 3134a42ef..000000000 Binary files a/.doctrees/interface/binding/hic_constant_water_activity.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree b/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree deleted file mode 100644 index b894d2b43..000000000 Binary files a/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/index.doctree b/.doctrees/interface/binding/index.doctree deleted file mode 100644 index ea873af9b..000000000 Binary files a/.doctrees/interface/binding/index.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/linear.doctree b/.doctrees/interface/binding/linear.doctree deleted file mode 100644 index d5799eb80..000000000 Binary files a/.doctrees/interface/binding/linear.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree b/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree deleted file mode 100644 index 416d1133a..000000000 Binary files a/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_anti_langmuir.doctree b/.doctrees/interface/binding/multi_component_anti_langmuir.doctree deleted file mode 100644 index dd6446a62..000000000 Binary files a/.doctrees/interface/binding/multi_component_anti_langmuir.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_bi_langmuir.doctree b/.doctrees/interface/binding/multi_component_bi_langmuir.doctree deleted file mode 100644 index 3135fe75c..000000000 Binary files a/.doctrees/interface/binding/multi_component_bi_langmuir.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree b/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree deleted file mode 100644 index fdc662668..000000000 Binary files a/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_langmuir.doctree b/.doctrees/interface/binding/multi_component_langmuir.doctree deleted file mode 100644 index acc809b3b..000000000 Binary files a/.doctrees/interface/binding/multi_component_langmuir.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree b/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree deleted file mode 100644 index a571d4da4..000000000 Binary files a/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree deleted file mode 100644 index 079c85c47..000000000 Binary files a/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_component_spreading.doctree b/.doctrees/interface/binding/multi_component_spreading.doctree deleted file mode 100644 index 0703b54e7..000000000 Binary files a/.doctrees/interface/binding/multi_component_spreading.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/multi_state_steric_mass_action.doctree b/.doctrees/interface/binding/multi_state_steric_mass_action.doctree deleted file mode 100644 index 717d264df..000000000 Binary files a/.doctrees/interface/binding/multi_state_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/saska.doctree b/.doctrees/interface/binding/saska.doctree deleted file mode 100644 index 5459bb5dc..000000000 Binary files a/.doctrees/interface/binding/saska.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/self_association.doctree b/.doctrees/interface/binding/self_association.doctree deleted file mode 100644 index 86dd7b250..000000000 Binary files a/.doctrees/interface/binding/self_association.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree b/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree deleted file mode 100644 index 4e9f563c8..000000000 Binary files a/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/interface/binding/steric_mass_action.doctree b/.doctrees/interface/binding/steric_mass_action.doctree deleted file mode 100644 index 01e809f81..000000000 Binary files a/.doctrees/interface/binding/steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/interface/consistent_initialization.doctree b/.doctrees/interface/consistent_initialization.doctree deleted file mode 100644 index 7c193bcbb..000000000 Binary files a/.doctrees/interface/consistent_initialization.doctree and /dev/null differ diff --git a/.doctrees/interface/flux_reconstruction.doctree b/.doctrees/interface/flux_reconstruction.doctree deleted file mode 100644 index 6ebcfe96e..000000000 Binary files a/.doctrees/interface/flux_reconstruction.doctree and /dev/null differ diff --git a/.doctrees/interface/index.doctree b/.doctrees/interface/index.doctree deleted file mode 100644 index c67b488e2..000000000 Binary files a/.doctrees/interface/index.doctree and /dev/null differ diff --git a/.doctrees/interface/input_group.doctree b/.doctrees/interface/input_group.doctree deleted file mode 100644 index 406292c0d..000000000 Binary files a/.doctrees/interface/input_group.doctree and /dev/null differ diff --git a/.doctrees/interface/introduction.doctree b/.doctrees/interface/introduction.doctree deleted file mode 100644 index 1e2d7a643..000000000 Binary files a/.doctrees/interface/introduction.doctree and /dev/null differ diff --git a/.doctrees/interface/meta_group.doctree b/.doctrees/interface/meta_group.doctree deleted file mode 100644 index c69482ac8..000000000 Binary files a/.doctrees/interface/meta_group.doctree and /dev/null differ diff --git a/.doctrees/interface/output_group.doctree b/.doctrees/interface/output_group.doctree deleted file mode 100644 index b936cd1ff..000000000 Binary files a/.doctrees/interface/output_group.doctree and /dev/null differ diff --git a/.doctrees/interface/reactions.doctree b/.doctrees/interface/reactions.doctree deleted file mode 100644 index 7531c9282..000000000 Binary files a/.doctrees/interface/reactions.doctree and /dev/null differ diff --git a/.doctrees/interface/return_data.doctree b/.doctrees/interface/return_data.doctree deleted file mode 100644 index c8d24d94e..000000000 Binary files a/.doctrees/interface/return_data.doctree and /dev/null differ diff --git a/.doctrees/interface/sensitivities.doctree b/.doctrees/interface/sensitivities.doctree deleted file mode 100644 index cb1d4e308..000000000 Binary files a/.doctrees/interface/sensitivities.doctree and /dev/null differ diff --git a/.doctrees/interface/solver.doctree b/.doctrees/interface/solver.doctree deleted file mode 100644 index a54e374a6..000000000 Binary files a/.doctrees/interface/solver.doctree and /dev/null differ diff --git a/.doctrees/interface/system.doctree b/.doctrees/interface/system.doctree deleted file mode 100644 index 66811c41f..000000000 Binary files a/.doctrees/interface/system.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/2d_general_rate_model.doctree b/.doctrees/interface/unit_operations/2d_general_rate_model.doctree deleted file mode 100644 index ce262541c..000000000 Binary files a/.doctrees/interface/unit_operations/2d_general_rate_model.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/cstr.doctree b/.doctrees/interface/unit_operations/cstr.doctree deleted file mode 100644 index e445d409f..000000000 Binary files a/.doctrees/interface/unit_operations/cstr.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/general_rate_model.doctree b/.doctrees/interface/unit_operations/general_rate_model.doctree deleted file mode 100644 index b5bdd5fa8..000000000 Binary files a/.doctrees/interface/unit_operations/general_rate_model.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/index.doctree b/.doctrees/interface/unit_operations/index.doctree deleted file mode 100644 index 8ab7c57ea..000000000 Binary files a/.doctrees/interface/unit_operations/index.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/inlet.doctree b/.doctrees/interface/unit_operations/inlet.doctree deleted file mode 100644 index 354a55919..000000000 Binary files a/.doctrees/interface/unit_operations/inlet.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree b/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree deleted file mode 100644 index cba438dc2..000000000 Binary files a/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree b/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree deleted file mode 100644 index 54c163854..000000000 Binary files a/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree and /dev/null differ diff --git a/.doctrees/interface/unit_operations/outlet.doctree b/.doctrees/interface/unit_operations/outlet.doctree deleted file mode 100644 index 3d2d506e9..000000000 Binary files a/.doctrees/interface/unit_operations/outlet.doctree and /dev/null differ diff --git a/.doctrees/license.doctree b/.doctrees/license.doctree deleted file mode 100644 index 6a2aa8e5a..000000000 Binary files a/.doctrees/license.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/bi_steric_mass_action.doctree b/.doctrees/modelling/binding/bi_steric_mass_action.doctree deleted file mode 100644 index cad923f8c..000000000 Binary files a/.doctrees/modelling/binding/bi_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree b/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree deleted file mode 100644 index c2ea3390b..000000000 Binary files a/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/freundlich_ldf.doctree b/.doctrees/modelling/binding/freundlich_ldf.doctree deleted file mode 100644 index 8da796b8e..000000000 Binary files a/.doctrees/modelling/binding/freundlich_ldf.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/generalized_ion_exchange.doctree b/.doctrees/modelling/binding/generalized_ion_exchange.doctree deleted file mode 100644 index bd38a54a6..000000000 Binary files a/.doctrees/modelling/binding/generalized_ion_exchange.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/hic_constant_water_activity.doctree b/.doctrees/modelling/binding/hic_constant_water_activity.doctree deleted file mode 100644 index 97dd109d2..000000000 Binary files a/.doctrees/modelling/binding/hic_constant_water_activity.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree b/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree deleted file mode 100644 index 6ec47d91f..000000000 Binary files a/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/index.doctree b/.doctrees/modelling/binding/index.doctree deleted file mode 100644 index 7596752f4..000000000 Binary files a/.doctrees/modelling/binding/index.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/linear.doctree b/.doctrees/modelling/binding/linear.doctree deleted file mode 100644 index e7ddd1fd0..000000000 Binary files a/.doctrees/modelling/binding/linear.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree b/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree deleted file mode 100644 index 064883b74..000000000 Binary files a/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree b/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree deleted file mode 100644 index dec35ae23..000000000 Binary files a/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree b/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree deleted file mode 100644 index fb5e59536..000000000 Binary files a/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree b/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree deleted file mode 100644 index d17c53fca..000000000 Binary files a/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_langmuir.doctree b/.doctrees/modelling/binding/multi_component_langmuir.doctree deleted file mode 100644 index fac57bff1..000000000 Binary files a/.doctrees/modelling/binding/multi_component_langmuir.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree b/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree deleted file mode 100644 index fb13dbbdc..000000000 Binary files a/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree deleted file mode 100644 index bca6284b9..000000000 Binary files a/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_component_spreading.doctree b/.doctrees/modelling/binding/multi_component_spreading.doctree deleted file mode 100644 index 44f23b2ba..000000000 Binary files a/.doctrees/modelling/binding/multi_component_spreading.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree b/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree deleted file mode 100644 index bbc662a49..000000000 Binary files a/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/saska.doctree b/.doctrees/modelling/binding/saska.doctree deleted file mode 100644 index 47cc2d61e..000000000 Binary files a/.doctrees/modelling/binding/saska.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/self_association.doctree b/.doctrees/modelling/binding/self_association.doctree deleted file mode 100644 index fe861232f..000000000 Binary files a/.doctrees/modelling/binding/self_association.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree b/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree deleted file mode 100644 index 639dfe101..000000000 Binary files a/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/modelling/binding/steric_mass_action.doctree b/.doctrees/modelling/binding/steric_mass_action.doctree deleted file mode 100644 index 30daa8b05..000000000 Binary files a/.doctrees/modelling/binding/steric_mass_action.doctree and /dev/null differ diff --git a/.doctrees/modelling/index.doctree b/.doctrees/modelling/index.doctree deleted file mode 100644 index 8e4e6424f..000000000 Binary files a/.doctrees/modelling/index.doctree and /dev/null differ diff --git a/.doctrees/modelling/networks.doctree b/.doctrees/modelling/networks.doctree deleted file mode 100644 index 8524a5e03..000000000 Binary files a/.doctrees/modelling/networks.doctree and /dev/null differ diff --git a/.doctrees/modelling/reactions.doctree b/.doctrees/modelling/reactions.doctree deleted file mode 100644 index 6261b39cb..000000000 Binary files a/.doctrees/modelling/reactions.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree b/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree deleted file mode 100644 index dc1fc4a69..000000000 Binary files a/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/cstr.doctree b/.doctrees/modelling/unit_operations/cstr.doctree deleted file mode 100644 index a97d4cf32..000000000 Binary files a/.doctrees/modelling/unit_operations/cstr.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/general_rate_model.doctree b/.doctrees/modelling/unit_operations/general_rate_model.doctree deleted file mode 100644 index be35e37b0..000000000 Binary files a/.doctrees/modelling/unit_operations/general_rate_model.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/index.doctree b/.doctrees/modelling/unit_operations/index.doctree deleted file mode 100644 index 7aa081936..000000000 Binary files a/.doctrees/modelling/unit_operations/index.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/inlet.doctree b/.doctrees/modelling/unit_operations/inlet.doctree deleted file mode 100644 index 69b1366d1..000000000 Binary files a/.doctrees/modelling/unit_operations/inlet.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree b/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree deleted file mode 100644 index a0d29b9d1..000000000 Binary files a/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree b/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree deleted file mode 100644 index bff83f168..000000000 Binary files a/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree and /dev/null differ diff --git a/.doctrees/modelling/unit_operations/outlet.doctree b/.doctrees/modelling/unit_operations/outlet.doctree deleted file mode 100644 index 87d6e2a82..000000000 Binary files a/.doctrees/modelling/unit_operations/outlet.doctree and /dev/null differ diff --git a/.doctrees/simulation/index.doctree b/.doctrees/simulation/index.doctree deleted file mode 100644 index c4119dfd4..000000000 Binary files a/.doctrees/simulation/index.doctree and /dev/null differ diff --git a/.doctrees/zbibliography.doctree b/.doctrees/zbibliography.doctree deleted file mode 100644 index 075a109af..000000000 Binary files a/.doctrees/zbibliography.doctree and /dev/null differ diff --git a/CADET-Match/master/.buildinfo b/CADET-Match/master/.buildinfo index 0ff8315b9..567d7fc47 100644 --- a/CADET-Match/master/.buildinfo +++ b/CADET-Match/master/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: e73b19390289fa2ed9cb8a9b742d61fa +config: fea4467a17452a77df173d4fa924414c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/master/.doctrees/cli/examples.doctree b/CADET-Match/master/.doctrees/cli/examples.doctree index 66b547f00..04a6c956f 100644 Binary files a/CADET-Match/master/.doctrees/cli/examples.doctree and b/CADET-Match/master/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/master/.doctrees/cli/index.doctree b/CADET-Match/master/.doctrees/cli/index.doctree index e049d1866..2c97732ec 100644 Binary files a/CADET-Match/master/.doctrees/cli/index.doctree and b/CADET-Match/master/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/basic_config.doctree b/CADET-Match/master/.doctrees/configuration/basic_config.doctree index 5ec6c631e..00e56ee23 100644 Binary files a/CADET-Match/master/.doctrees/configuration/basic_config.doctree and b/CADET-Match/master/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/error.doctree b/CADET-Match/master/.doctrees/configuration/error.doctree index 7b3be8b93..85d5e756f 100644 Binary files a/CADET-Match/master/.doctrees/configuration/error.doctree and b/CADET-Match/master/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/experiments.doctree b/CADET-Match/master/.doctrees/configuration/experiments.doctree index b90b62aaf..ab5b65c4d 100644 Binary files a/CADET-Match/master/.doctrees/configuration/experiments.doctree and b/CADET-Match/master/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/graphing.doctree b/CADET-Match/master/.doctrees/configuration/graphing.doctree index 7b68ceddf..a8fba2edc 100644 Binary files a/CADET-Match/master/.doctrees/configuration/graphing.doctree and b/CADET-Match/master/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/index.doctree b/CADET-Match/master/.doctrees/configuration/index.doctree index 7a1814347..5465498a4 100644 Binary files a/CADET-Match/master/.doctrees/configuration/index.doctree and b/CADET-Match/master/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/misc.doctree b/CADET-Match/master/.doctrees/configuration/misc.doctree index 7ced71b42..25ac3bd97 100644 Binary files a/CADET-Match/master/.doctrees/configuration/misc.doctree and b/CADET-Match/master/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/scores.doctree b/CADET-Match/master/.doctrees/configuration/scores.doctree index b6e23c779..5679a233f 100644 Binary files a/CADET-Match/master/.doctrees/configuration/scores.doctree and b/CADET-Match/master/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/search.doctree b/CADET-Match/master/.doctrees/configuration/search.doctree index 6740cb1ed..beead549e 100644 Binary files a/CADET-Match/master/.doctrees/configuration/search.doctree and b/CADET-Match/master/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/master/.doctrees/configuration/transform.doctree b/CADET-Match/master/.doctrees/configuration/transform.doctree index cbb1e4f18..3029efa1f 100644 Binary files a/CADET-Match/master/.doctrees/configuration/transform.doctree and b/CADET-Match/master/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/master/.doctrees/environment.pickle b/CADET-Match/master/.doctrees/environment.pickle index 7e6ed1bc5..79ea88f21 100644 Binary files a/CADET-Match/master/.doctrees/environment.pickle and b/CADET-Match/master/.doctrees/environment.pickle differ diff --git a/CADET-Match/master/.doctrees/index.doctree b/CADET-Match/master/.doctrees/index.doctree index 4bb480234..777d15d08 100644 Binary files a/CADET-Match/master/.doctrees/index.doctree and b/CADET-Match/master/.doctrees/index.doctree differ diff --git a/CADET-Match/master/.doctrees/install/index.doctree b/CADET-Match/master/.doctrees/install/index.doctree index 1595825bb..9a978741d 100644 Binary files a/CADET-Match/master/.doctrees/install/index.doctree and b/CADET-Match/master/.doctrees/install/index.doctree differ diff --git a/CADET-Match/master/.doctrees/license.doctree b/CADET-Match/master/.doctrees/license.doctree index 4f2e2d24a..f3b1ca970 100644 Binary files a/CADET-Match/master/.doctrees/license.doctree and b/CADET-Match/master/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.6.50/.buildinfo b/CADET-Match/v0.6.50/.buildinfo index a4feb90d0..5b2678f89 100644 --- a/CADET-Match/v0.6.50/.buildinfo +++ b/CADET-Match/v0.6.50/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 8fcf1c62adeafc08f010c6594b42facb +config: b4a601ba7b005b209b98c5a4382f78a0 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.6.50/.doctrees/cli/examples.doctree b/CADET-Match/v0.6.50/.doctrees/cli/examples.doctree index 9f5f14e3f..98de66a70 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/cli/examples.doctree and b/CADET-Match/v0.6.50/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/cli/index.doctree b/CADET-Match/v0.6.50/.doctrees/cli/index.doctree index 85ece9e03..b3e59ecb8 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/cli/index.doctree and b/CADET-Match/v0.6.50/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/basic_config.doctree index 811314338..68b56300c 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/error.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/error.doctree index 82b09a420..a2adcd034 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/error.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/experiments.doctree index 54955a5fe..60cc8071d 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/graphing.doctree index 61dcd67b4..5d577f688 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/index.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/index.doctree index c59efd422..e13ac1b83 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/index.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/misc.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/misc.doctree index 1d8baf50d..bab549fbd 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/scores.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/scores.doctree index 9f6282875..2284f9a98 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/search.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/search.doctree index 39249e6a7..6612891e6 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/search.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/configuration/transform.doctree b/CADET-Match/v0.6.50/.doctrees/configuration/transform.doctree index a1f002422..2d3550a49 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.6.50/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/environment.pickle b/CADET-Match/v0.6.50/.doctrees/environment.pickle index 10c5c12c9..4dfef3b96 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/environment.pickle and b/CADET-Match/v0.6.50/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.6.50/.doctrees/index.doctree b/CADET-Match/v0.6.50/.doctrees/index.doctree index f51c9fe75..82a33327a 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/index.doctree and b/CADET-Match/v0.6.50/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/install/index.doctree b/CADET-Match/v0.6.50/.doctrees/install/index.doctree index 1ec17e67b..2dd4d28ce 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/install/index.doctree and b/CADET-Match/v0.6.50/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.6.50/.doctrees/license.doctree b/CADET-Match/v0.6.50/.doctrees/license.doctree index 11a1233ae..7723fccf2 100644 Binary files a/CADET-Match/v0.6.50/.doctrees/license.doctree and b/CADET-Match/v0.6.50/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.7.0/.buildinfo b/CADET-Match/v0.7.0/.buildinfo index 3e94f88f2..3e2ba5adf 100644 --- a/CADET-Match/v0.7.0/.buildinfo +++ b/CADET-Match/v0.7.0/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 17d3e35007d672e9c5e9c4f115d95d09 +config: 05a697634e721c5b318b10958090deb6 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.7.0/.doctrees/cli/examples.doctree b/CADET-Match/v0.7.0/.doctrees/cli/examples.doctree index b4610264b..93c7a2814 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/cli/examples.doctree and b/CADET-Match/v0.7.0/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/cli/index.doctree b/CADET-Match/v0.7.0/.doctrees/cli/index.doctree index 930db2662..ed23697fd 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/cli/index.doctree and b/CADET-Match/v0.7.0/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/basic_config.doctree index cd9f7dce5..503ff9267 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/error.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/error.doctree index 8bb124693..0f35308ea 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/error.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/experiments.doctree index 0a28b7cb1..c0a534be7 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/graphing.doctree index 5f1ef07de..24f4e447d 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/index.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/index.doctree index bd3d1bcf2..4aa38bbad 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/index.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/misc.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/misc.doctree index 3979a6efe..1bc923c4d 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/scores.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/scores.doctree index c8f2368e8..81fc2fc0e 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/search.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/search.doctree index c1b2e143f..23de931cd 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/search.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/configuration/transform.doctree b/CADET-Match/v0.7.0/.doctrees/configuration/transform.doctree index 3ab79f87a..ccc5d2c92 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.7.0/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/environment.pickle b/CADET-Match/v0.7.0/.doctrees/environment.pickle index 9063545f7..69d60bbc4 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/environment.pickle and b/CADET-Match/v0.7.0/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.7.0/.doctrees/index.doctree b/CADET-Match/v0.7.0/.doctrees/index.doctree index 05ba75953..4bb4ec24f 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/index.doctree and b/CADET-Match/v0.7.0/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/install/index.doctree b/CADET-Match/v0.7.0/.doctrees/install/index.doctree index 9429f0e63..ac190f9ff 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/install/index.doctree and b/CADET-Match/v0.7.0/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.7.0/.doctrees/license.doctree b/CADET-Match/v0.7.0/.doctrees/license.doctree index 20e236959..e58fd951f 100644 Binary files a/CADET-Match/v0.7.0/.doctrees/license.doctree and b/CADET-Match/v0.7.0/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.7.1/.buildinfo b/CADET-Match/v0.7.1/.buildinfo index 0d93be978..781ccb397 100644 --- a/CADET-Match/v0.7.1/.buildinfo +++ b/CADET-Match/v0.7.1/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: cdede869c369db6971c46ee153015e5a +config: 8edc08b70dc654c38b4891aa6cc15ff3 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.7.1/.doctrees/cli/examples.doctree b/CADET-Match/v0.7.1/.doctrees/cli/examples.doctree index abe363694..511159ee2 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/cli/examples.doctree and b/CADET-Match/v0.7.1/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/cli/index.doctree b/CADET-Match/v0.7.1/.doctrees/cli/index.doctree index 698078e5a..39c4c91cd 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/cli/index.doctree and b/CADET-Match/v0.7.1/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/basic_config.doctree index 542452309..50a63fc49 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/error.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/error.doctree index 7d2805786..45b7679af 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/error.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/experiments.doctree index 337834990..b0f23aaf6 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/graphing.doctree index a58965080..7029e5022 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/index.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/index.doctree index 9358ca1ad..650ac570d 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/index.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/misc.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/misc.doctree index 030fb0c48..8d345b21a 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/scores.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/scores.doctree index d112e1eef..5197a9ad4 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/search.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/search.doctree index c7ddfaec9..011acf99c 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/search.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/configuration/transform.doctree b/CADET-Match/v0.7.1/.doctrees/configuration/transform.doctree index 50222d89d..6eec06c6c 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.7.1/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/environment.pickle b/CADET-Match/v0.7.1/.doctrees/environment.pickle index 984923196..f7b7d944b 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/environment.pickle and b/CADET-Match/v0.7.1/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.7.1/.doctrees/index.doctree b/CADET-Match/v0.7.1/.doctrees/index.doctree index 40de9f611..0a7264761 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/index.doctree and b/CADET-Match/v0.7.1/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/install/index.doctree b/CADET-Match/v0.7.1/.doctrees/install/index.doctree index 5448909c8..fd00b1bd6 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/install/index.doctree and b/CADET-Match/v0.7.1/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.7.1/.doctrees/license.doctree b/CADET-Match/v0.7.1/.doctrees/license.doctree index f91220a6d..89dd61738 100644 Binary files a/CADET-Match/v0.7.1/.doctrees/license.doctree and b/CADET-Match/v0.7.1/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.0/.buildinfo b/CADET-Match/v0.8.0/.buildinfo index 2afe88dcf..dd8ab7b61 100644 --- a/CADET-Match/v0.8.0/.buildinfo +++ b/CADET-Match/v0.8.0/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 7da66af8bbd3c39c788f52dd55099b16 +config: ce2d0fc6b48cbe8fafdd287fc0b98ef7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.0/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.0/.doctrees/cli/examples.doctree index 884d408ad..1ed12466c 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.0/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/cli/index.doctree b/CADET-Match/v0.8.0/.doctrees/cli/index.doctree index bcb386aac..78561408c 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.0/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/basic_config.doctree index 8a80abef3..a22cba3d3 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/error.doctree index b764a25f3..7b0ba9730 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/experiments.doctree index a932a8d90..91689f0e6 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/graphing.doctree index 23b5ce467..0f19d3b1a 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/index.doctree index 1e56e1e15..12a178fe9 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/misc.doctree index 172571bcd..f6b689929 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/scores.doctree index 329b3eeb0..6dd595426 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/search.doctree index 088106a4f..7c118998e 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.0/.doctrees/configuration/transform.doctree index 1001695ba..051e35a21 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.0/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/environment.pickle b/CADET-Match/v0.8.0/.doctrees/environment.pickle index 9eccad667..6fd7f2805 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/environment.pickle and b/CADET-Match/v0.8.0/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.0/.doctrees/index.doctree b/CADET-Match/v0.8.0/.doctrees/index.doctree index 35ea48d48..d18167ef2 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/index.doctree and b/CADET-Match/v0.8.0/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/install/index.doctree b/CADET-Match/v0.8.0/.doctrees/install/index.doctree index cdf9012fe..ccc3f9566 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/install/index.doctree and b/CADET-Match/v0.8.0/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.0/.doctrees/license.doctree b/CADET-Match/v0.8.0/.doctrees/license.doctree index bafa9762b..d599216a4 100644 Binary files a/CADET-Match/v0.8.0/.doctrees/license.doctree and b/CADET-Match/v0.8.0/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.10/.buildinfo b/CADET-Match/v0.8.10/.buildinfo index 7c452ee8d..e7766b42f 100644 --- a/CADET-Match/v0.8.10/.buildinfo +++ b/CADET-Match/v0.8.10/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: dce9fa8a7397f38043317470efc693dd +config: a242e0ef786c289947c38743afd0fad9 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.10/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.10/.doctrees/cli/examples.doctree index 2f5e4a45e..91d93d353 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.10/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/cli/index.doctree b/CADET-Match/v0.8.10/.doctrees/cli/index.doctree index b9142e992..657fe0eb2 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.10/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/basic_config.doctree index 7bb685eb4..2972cd0ab 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/error.doctree index 482d6c3a0..7d4308f00 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/experiments.doctree index 10405d562..ceb663a76 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/graphing.doctree index 08612359b..820644079 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/index.doctree index facf128df..dc0f528c3 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/misc.doctree index d1f0d05ae..f439c16c6 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/scores.doctree index 4c05ee6a3..6472e538b 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/search.doctree index 39275e77d..79853da4f 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.10/.doctrees/configuration/transform.doctree index 0ba0053a3..b279c4d6e 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.10/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/environment.pickle b/CADET-Match/v0.8.10/.doctrees/environment.pickle index da6808426..5741c18b7 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/environment.pickle and b/CADET-Match/v0.8.10/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.10/.doctrees/index.doctree b/CADET-Match/v0.8.10/.doctrees/index.doctree index 397f48268..aed9151ab 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/index.doctree and b/CADET-Match/v0.8.10/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/install/index.doctree b/CADET-Match/v0.8.10/.doctrees/install/index.doctree index 6b835c166..b651a5ba4 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/install/index.doctree and b/CADET-Match/v0.8.10/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.10/.doctrees/license.doctree b/CADET-Match/v0.8.10/.doctrees/license.doctree index 61eb85b9e..8acac0497 100644 Binary files a/CADET-Match/v0.8.10/.doctrees/license.doctree and b/CADET-Match/v0.8.10/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.12/.buildinfo b/CADET-Match/v0.8.12/.buildinfo index a7d2a4541..e5d94410f 100644 --- a/CADET-Match/v0.8.12/.buildinfo +++ b/CADET-Match/v0.8.12/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 59d29c5514edd643e4b9d3dbf3f20589 +config: cd3502f602e66e106761debd9f350a09 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.12/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.12/.doctrees/cli/examples.doctree index dfcac6eb6..182e6970a 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.12/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/cli/index.doctree b/CADET-Match/v0.8.12/.doctrees/cli/index.doctree index 30a8a7cc6..860ddd312 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.12/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/basic_config.doctree index 5cd334065..842453813 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/error.doctree index f48970822..9287b8043 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/experiments.doctree index fe6e2d2bb..b64673d5a 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/graphing.doctree index b42911991..0d52cb955 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/index.doctree index 46f3b6401..f161cd5a8 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/misc.doctree index 012e18bb6..e8c897b93 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/scores.doctree index 8da2033de..a99c258a1 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/search.doctree index a982421fa..53d155809 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.12/.doctrees/configuration/transform.doctree index f1b94890f..638c6feca 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.12/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/environment.pickle b/CADET-Match/v0.8.12/.doctrees/environment.pickle index 33dec0628..a71b32245 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/environment.pickle and b/CADET-Match/v0.8.12/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.12/.doctrees/index.doctree b/CADET-Match/v0.8.12/.doctrees/index.doctree index dc4c3b887..e7f603e2e 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/index.doctree and b/CADET-Match/v0.8.12/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/install/index.doctree b/CADET-Match/v0.8.12/.doctrees/install/index.doctree index 1631a25ba..b4df246a6 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/install/index.doctree and b/CADET-Match/v0.8.12/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.12/.doctrees/license.doctree b/CADET-Match/v0.8.12/.doctrees/license.doctree index 56ea70b34..96a2e89c1 100644 Binary files a/CADET-Match/v0.8.12/.doctrees/license.doctree and b/CADET-Match/v0.8.12/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.13/.buildinfo b/CADET-Match/v0.8.13/.buildinfo index bcdeffa88..19abbabd1 100644 --- a/CADET-Match/v0.8.13/.buildinfo +++ b/CADET-Match/v0.8.13/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 243616f0966d6dd2379d9d4469af92c0 +config: bb1d693b33e4f192190366be8fd22db2 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.13/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.13/.doctrees/cli/examples.doctree index 8cd9b5c1d..b188619f1 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.13/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/cli/index.doctree b/CADET-Match/v0.8.13/.doctrees/cli/index.doctree index 50bdc5786..c381c26f1 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.13/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/basic_config.doctree index bff2dca4a..6258c0381 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/error.doctree index 56338a5c2..a40025f98 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/experiments.doctree index d8e7430f9..47de39688 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/graphing.doctree index bb1b27725..59afaacd0 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/index.doctree index 9e7b3f093..5b82d0275 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/misc.doctree index e91786718..aa4973de4 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/scores.doctree index bc42a67e0..b007079d6 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/search.doctree index ee3ea8ae3..d6efda4cd 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.13/.doctrees/configuration/transform.doctree index c3e9d7223..cca2d8841 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.13/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/environment.pickle b/CADET-Match/v0.8.13/.doctrees/environment.pickle index 938d507f6..c45cfed44 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/environment.pickle and b/CADET-Match/v0.8.13/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.13/.doctrees/index.doctree b/CADET-Match/v0.8.13/.doctrees/index.doctree index 52126b848..97a2c626a 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/index.doctree and b/CADET-Match/v0.8.13/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/install/index.doctree b/CADET-Match/v0.8.13/.doctrees/install/index.doctree index bb97b5b3b..bb38b9c7e 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/install/index.doctree and b/CADET-Match/v0.8.13/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.13/.doctrees/license.doctree b/CADET-Match/v0.8.13/.doctrees/license.doctree index 8d4e81693..0e1d6c47e 100644 Binary files a/CADET-Match/v0.8.13/.doctrees/license.doctree and b/CADET-Match/v0.8.13/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.14/.buildinfo b/CADET-Match/v0.8.14/.buildinfo index eed1ee497..9c92b41bb 100644 --- a/CADET-Match/v0.8.14/.buildinfo +++ b/CADET-Match/v0.8.14/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 5f6482064ca1140057ef8b474d04620d +config: a18413ee0a8439153d05ec859cafe690 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.14/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.14/.doctrees/cli/examples.doctree index 01399b6df..d6517c38c 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.14/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/cli/index.doctree b/CADET-Match/v0.8.14/.doctrees/cli/index.doctree index 4b7f22b08..f6ddecbca 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.14/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/basic_config.doctree index 50b0f8335..7a62dd109 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/error.doctree index c6004a76c..b1eb9bc30 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/experiments.doctree index c065e2953..1743d4b49 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/graphing.doctree index 2c028d690..f432c0790 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/index.doctree index b31bc1bf4..df6ed5b7d 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/misc.doctree index d4c0d31eb..5696d5e2f 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/scores.doctree index 2ee3de88c..76e555f07 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/search.doctree index 5e6919efd..d567ee697 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.14/.doctrees/configuration/transform.doctree index 2c4c771d0..8c62327ce 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.14/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/environment.pickle b/CADET-Match/v0.8.14/.doctrees/environment.pickle index 4d5b7e624..182d9817e 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/environment.pickle and b/CADET-Match/v0.8.14/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.14/.doctrees/index.doctree b/CADET-Match/v0.8.14/.doctrees/index.doctree index 518a828b0..66e1d237c 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/index.doctree and b/CADET-Match/v0.8.14/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/install/index.doctree b/CADET-Match/v0.8.14/.doctrees/install/index.doctree index 884218d9e..681cb0479 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/install/index.doctree and b/CADET-Match/v0.8.14/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.14/.doctrees/license.doctree b/CADET-Match/v0.8.14/.doctrees/license.doctree index 16bea2dd9..e37a7f896 100644 Binary files a/CADET-Match/v0.8.14/.doctrees/license.doctree and b/CADET-Match/v0.8.14/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.15/.buildinfo b/CADET-Match/v0.8.15/.buildinfo index f18e00b9e..bb58833bd 100644 --- a/CADET-Match/v0.8.15/.buildinfo +++ b/CADET-Match/v0.8.15/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 512491a45d99c8e228db78f59d7526ce +config: eea316163239cc4437db9bd555aa7e63 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.15/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.15/.doctrees/cli/examples.doctree index b39230943..4b1644d8e 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.15/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/cli/index.doctree b/CADET-Match/v0.8.15/.doctrees/cli/index.doctree index 8a40f96a8..f474fc35e 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.15/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/basic_config.doctree index acc8b1674..305c23a8f 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/error.doctree index 4feeeaadd..1ebc475f3 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/experiments.doctree index fa6517e8e..9c6e060a0 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/graphing.doctree index 77235ddd6..8bfb07a28 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/index.doctree index 9809b2b6c..fc1e0905f 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/misc.doctree index 7986750a4..a4c22d442 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/scores.doctree index d5427f918..36ac1c0f5 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/search.doctree index ff4f550f9..bd469f1a8 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.15/.doctrees/configuration/transform.doctree index b41dd684b..5ed153a19 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.15/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/environment.pickle b/CADET-Match/v0.8.15/.doctrees/environment.pickle index aa79a3c6f..fa02469fd 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/environment.pickle and b/CADET-Match/v0.8.15/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.15/.doctrees/index.doctree b/CADET-Match/v0.8.15/.doctrees/index.doctree index fa8f05b0c..ea18d0472 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/index.doctree and b/CADET-Match/v0.8.15/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/install/index.doctree b/CADET-Match/v0.8.15/.doctrees/install/index.doctree index 0289d986b..6c6d6e768 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/install/index.doctree and b/CADET-Match/v0.8.15/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.15/.doctrees/license.doctree b/CADET-Match/v0.8.15/.doctrees/license.doctree index 7ed602efa..7f3cb8987 100644 Binary files a/CADET-Match/v0.8.15/.doctrees/license.doctree and b/CADET-Match/v0.8.15/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.16/.buildinfo b/CADET-Match/v0.8.16/.buildinfo index a3f9762fb..18beda988 100644 --- a/CADET-Match/v0.8.16/.buildinfo +++ b/CADET-Match/v0.8.16/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: c9b253586996ec1fd75470d4ca5b48aa +config: e389afd11533c7eca1c3dcdf494c5e68 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.16/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.16/.doctrees/cli/examples.doctree index 66b547f00..04a6c956f 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.16/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/cli/index.doctree b/CADET-Match/v0.8.16/.doctrees/cli/index.doctree index e049d1866..2c97732ec 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.16/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/basic_config.doctree index 5ec6c631e..00e56ee23 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/error.doctree index 7b3be8b93..85d5e756f 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/experiments.doctree index b90b62aaf..ab5b65c4d 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/graphing.doctree index 7b68ceddf..a8fba2edc 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/index.doctree index 7a1814347..5465498a4 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/misc.doctree index 7ced71b42..25ac3bd97 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/scores.doctree index b6e23c779..5679a233f 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/search.doctree index 6740cb1ed..beead549e 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.16/.doctrees/configuration/transform.doctree index cbb1e4f18..3029efa1f 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.16/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/environment.pickle b/CADET-Match/v0.8.16/.doctrees/environment.pickle index e6817038b..a6585aa69 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/environment.pickle and b/CADET-Match/v0.8.16/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.16/.doctrees/index.doctree b/CADET-Match/v0.8.16/.doctrees/index.doctree index 4bb480234..777d15d08 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/index.doctree and b/CADET-Match/v0.8.16/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/install/index.doctree b/CADET-Match/v0.8.16/.doctrees/install/index.doctree index 1595825bb..9a978741d 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/install/index.doctree and b/CADET-Match/v0.8.16/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.16/.doctrees/license.doctree b/CADET-Match/v0.8.16/.doctrees/license.doctree index 4f2e2d24a..f3b1ca970 100644 Binary files a/CADET-Match/v0.8.16/.doctrees/license.doctree and b/CADET-Match/v0.8.16/.doctrees/license.doctree differ diff --git a/CADET-Match/v0.8.7/.buildinfo b/CADET-Match/v0.8.7/.buildinfo index 604bd3613..26609c40d 100644 --- a/CADET-Match/v0.8.7/.buildinfo +++ b/CADET-Match/v0.8.7/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 3d10b55d95c2e1d33ceb34f20d24ec79 +config: e5b85fd1bdb1a466be37968684b9e37d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/CADET-Match/v0.8.7/.doctrees/cli/examples.doctree b/CADET-Match/v0.8.7/.doctrees/cli/examples.doctree index ea82f3302..ff0326971 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/cli/examples.doctree and b/CADET-Match/v0.8.7/.doctrees/cli/examples.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/cli/index.doctree b/CADET-Match/v0.8.7/.doctrees/cli/index.doctree index df6211cc6..dee457b0b 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/cli/index.doctree and b/CADET-Match/v0.8.7/.doctrees/cli/index.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/basic_config.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/basic_config.doctree index 3265a6560..d89f0c327 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/basic_config.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/basic_config.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/error.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/error.doctree index 640479220..6243141ba 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/error.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/error.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/experiments.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/experiments.doctree index a590eeb77..98b4e15da 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/experiments.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/experiments.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/graphing.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/graphing.doctree index a6dde8f61..c96fc93ff 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/graphing.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/graphing.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/index.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/index.doctree index 8ad03d4f3..5a8f4f630 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/index.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/index.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/misc.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/misc.doctree index ed89cf7be..d64054af7 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/misc.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/misc.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/scores.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/scores.doctree index d308dadd1..3501fdd65 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/scores.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/scores.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/search.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/search.doctree index 13a5f84ff..15810c72f 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/search.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/search.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/configuration/transform.doctree b/CADET-Match/v0.8.7/.doctrees/configuration/transform.doctree index e121d4454..9770f99d2 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/configuration/transform.doctree and b/CADET-Match/v0.8.7/.doctrees/configuration/transform.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/environment.pickle b/CADET-Match/v0.8.7/.doctrees/environment.pickle index d23c98178..b79e1e87e 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/environment.pickle and b/CADET-Match/v0.8.7/.doctrees/environment.pickle differ diff --git a/CADET-Match/v0.8.7/.doctrees/index.doctree b/CADET-Match/v0.8.7/.doctrees/index.doctree index 1ac410564..2bd1e481f 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/index.doctree and b/CADET-Match/v0.8.7/.doctrees/index.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/install/index.doctree b/CADET-Match/v0.8.7/.doctrees/install/index.doctree index d924c65be..58265441f 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/install/index.doctree and b/CADET-Match/v0.8.7/.doctrees/install/index.doctree differ diff --git a/CADET-Match/v0.8.7/.doctrees/license.doctree b/CADET-Match/v0.8.7/.doctrees/license.doctree index df5aed7a9..0478fa246 100644 Binary files a/CADET-Match/v0.8.7/.doctrees/license.doctree and b/CADET-Match/v0.8.7/.doctrees/license.doctree differ diff --git a/README.html b/README.html deleted file mode 100644 index 83dd1b64a..000000000 --- a/README.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - CADET Documentation — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

CADET Documentation

-

To build the documentation locally, install sphinx and other dependencies by running

-
pip install -r requirements.txt
-
-
-

Then, in the doc folder run:

-

sphinx-build -b html . build

-

The output is in the build directory and can be opened with any browser.

-

To build the documentation for all releases and the master branch, run:

-

sphinx-multiversion ./ ./build/.

-

Any changes to the documentation will automatically be pushed to the github-pages repository (https://github.com/cadet/cadet.github.io) using github actions.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/_images/breakthrough_chromatogram.png b/_images/breakthrough_chromatogram.png deleted file mode 100644 index 26e932489..000000000 Binary files a/_images/breakthrough_chromatogram.png and /dev/null differ diff --git a/_images/breakthrough_system.png b/_images/breakthrough_system.png deleted file mode 100644 index 40142b021..000000000 Binary files a/_images/breakthrough_system.png and /dev/null differ diff --git a/_images/cadet_logo.png b/_images/cadet_logo.png deleted file mode 100644 index f56f4fef3..000000000 Binary files a/_images/cadet_logo.png and /dev/null differ diff --git a/_images/column_bead_model.png b/_images/column_bead_model.png deleted file mode 100644 index cede3331b..000000000 Binary files a/_images/column_bead_model.png and /dev/null differ diff --git a/_images/column_bulk_model.png b/_images/column_bulk_model.png deleted file mode 100644 index 46e4e9733..000000000 Binary files a/_images/column_bulk_model.png and /dev/null differ diff --git a/_images/column_particle_geometries.png b/_images/column_particle_geometries.png deleted file mode 100644 index 5eb42a547..000000000 Binary files a/_images/column_particle_geometries.png and /dev/null differ diff --git a/_images/file_format_input.png b/_images/file_format_input.png deleted file mode 100644 index 41e53f163..000000000 Binary files a/_images/file_format_input.png and /dev/null differ diff --git a/_images/file_format_input_model_unit.png b/_images/file_format_input_model_unit.png deleted file mode 100644 index 0a3e2146e..000000000 Binary files a/_images/file_format_input_model_unit.png and /dev/null differ diff --git a/_images/file_format_output.png b/_images/file_format_output.png deleted file mode 100644 index de8bd0a6e..000000000 Binary files a/_images/file_format_output.png and /dev/null differ diff --git a/_images/file_format_structure.png b/_images/file_format_structure.png deleted file mode 100644 index 453bc44dc..000000000 Binary files a/_images/file_format_structure.png and /dev/null differ diff --git a/_images/multiple_bound_states.png b/_images/multiple_bound_states.png deleted file mode 100644 index f80378ebd..000000000 Binary files a/_images/multiple_bound_states.png and /dev/null differ diff --git a/_images/sections.png b/_images/sections.png deleted file mode 100644 index cea9b3cca..000000000 Binary files a/_images/sections.png and /dev/null differ diff --git a/_images/sections1.png b/_images/sections1.png deleted file mode 100644 index 835ac448f..000000000 Binary files a/_images/sections1.png and /dev/null differ diff --git a/_images/time_integration.png b/_images/time_integration.png deleted file mode 100644 index f2342e678..000000000 Binary files a/_images/time_integration.png and /dev/null differ diff --git a/_sources/README.md.txt b/_sources/README.md.txt deleted file mode 100644 index a9ee5ff35..000000000 --- a/_sources/README.md.txt +++ /dev/null @@ -1,21 +0,0 @@ -## CADET Documentation - - -To build the documentation locally, install sphinx and other dependencies by running - -``` -pip install -r requirements.txt - -``` - -Then, in the `doc` folder run: - -`sphinx-build -b html . build` - -The output is in the `build` directory and can be opened with any browser. - -To build the documentation for all releases and the master branch, run: - -`sphinx-multiversion ./ ./build/`. - -Any changes to the documentation will automatically be pushed to the github-pages repository (https://github.com/cadet/cadet.github.io) using github actions. diff --git a/_sources/examples/batch_chromatography.rst.txt b/_sources/examples/batch_chromatography.rst.txt deleted file mode 100644 index 6f408bb3b..000000000 --- a/_sources/examples/batch_chromatography.rst.txt +++ /dev/null @@ -1,3 +0,0 @@ -Batch chromatography -==================== - diff --git a/_sources/examples/index.rst.txt b/_sources/examples/index.rst.txt deleted file mode 100644 index 6885aed41..000000000 --- a/_sources/examples/index.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -.. _examples: - -Examples -======== - -.. toctree:: - :maxdepth: 2 - - reaction_cstr - rtd - batch_chromatography - load_wash_elute diff --git a/_sources/examples/load_wash_elute.rst.txt b/_sources/examples/load_wash_elute.rst.txt deleted file mode 100644 index d811f9944..000000000 --- a/_sources/examples/load_wash_elute.rst.txt +++ /dev/null @@ -1,3 +0,0 @@ -Load Wash Elute -=============== - diff --git a/_sources/examples/reaction_cstr.rst.txt b/_sources/examples/reaction_cstr.rst.txt deleted file mode 100644 index 31ff5a3ef..000000000 --- a/_sources/examples/reaction_cstr.rst.txt +++ /dev/null @@ -1,2 +0,0 @@ -Chemical reactions -================== diff --git a/_sources/examples/rtd.rst.txt b/_sources/examples/rtd.rst.txt deleted file mode 100644 index 591d27ffe..000000000 --- a/_sources/examples/rtd.rst.txt +++ /dev/null @@ -1,3 +0,0 @@ -Residence time distributions -============================ - diff --git a/_sources/getting_started/build_linux.rst.txt b/_sources/getting_started/build_linux.rst.txt deleted file mode 100644 index f8eb9105e..000000000 --- a/_sources/getting_started/build_linux.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -.. _build_linux: - -Build for Linux -=============== - -.. mdinclude:: ../../BUILD-LINUX.md \ No newline at end of file diff --git a/_sources/getting_started/build_osx.rst.txt b/_sources/getting_started/build_osx.rst.txt deleted file mode 100644 index da452d886..000000000 --- a/_sources/getting_started/build_osx.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -.. _build_osx: - -Build for OSX -============= - -.. mdinclude:: ../../BUILD-OSX.md \ No newline at end of file diff --git a/_sources/getting_started/build_windows.rst.txt b/_sources/getting_started/build_windows.rst.txt deleted file mode 100644 index 2a39d1ab9..000000000 --- a/_sources/getting_started/build_windows.rst.txt +++ /dev/null @@ -1,6 +0,0 @@ -.. _build_windows: - -Build for MS Windows -==================== - -.. mdinclude:: ../../BUILD-WINDOWS.md \ No newline at end of file diff --git a/_sources/getting_started/index.rst.txt b/_sources/getting_started/index.rst.txt deleted file mode 100644 index d9a39fcaf..000000000 --- a/_sources/getting_started/index.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _getting_started: - -Getting started -=============== - -This section details the steps to install CADET, as pre-built binaries or building from scratch, and also provides the series of tutorials that will help in building complete model from scratch in CADET. - -.. toctree:: - :maxdepth: 1 - - installation - -.. toctree:: - :maxdepth: 1 - - tutorials/breakthrough diff --git a/_sources/getting_started/installation.rst.txt b/_sources/getting_started/installation.rst.txt deleted file mode 100644 index 5b9168733..000000000 --- a/_sources/getting_started/installation.rst.txt +++ /dev/null @@ -1,70 +0,0 @@ -.. _installation: - -Installation -============ - -A CADET installation consists of two parts: The CADET core simulator and a frontend. - -Install CADET core simulator ----------------------------- - -The core simulator can be compiled from source, or you can download pre-built binaries. -If you want to extend or modify CADET (e.g., add a custom binding model), you will need to build CADET from source. - -Install pre-built binaries -^^^^^^^^^^^^^^^^^^^^^^^^^^ -CADET can be installed via conda from the ``conda-forge channel``. - -``conda install -c conda-forge cadet`` - -This requires a working `conda installation `_. - -Optionally, use `mamba `_ which uses a faster dependency solver than ``conda``. - -``mamba install -c conda-forge cadet`` - -Install from source -^^^^^^^^^^^^^^^^^^^ - -- :ref:`build_linux` -- :ref:`build_windows` -- :ref:`build_osx` - -.. _cadet_python: - -Install a frontend ------------------- - -As of now, a MATLAB and a Python frontend are provided. -In general, we recommend to use the Python frontend. -Note that the MATLAB interface is no longer actively developed and will be deprecated in a later version. - -Install CADET-Python -^^^^^^^^^^^^^^^^^^^^ - -The easiest way to create CADET simulations is to use the `CADET-Python `_ frontend. -For this purpose, we recommend installing `Anaconda `_. -Anaconda is a high-performance scientific distribution of Python that includes many common packages needed for scientific and engineering work. -Download the installer from their `website `_ and run it for the local user. - -To install ``CADET-Python``, open an `Anaconda Shell` and execute: - -.. code-block:: bash - - pip install cadet-python - -If you would also like to use `CADET-Match `_ for parameter estimation, run: - -.. code-block:: bash - - pip install cadetmatch - - -Install CADET-MI -^^^^^^^^^^^^^^^^ - -.. warning:: - Note that the MATLAB interface is no longer actively developed and will be deprecated in a later version. - -The MATLAB frontend is distributed with the pre-built binaries. -Run MATLAB and call ``installCADET()`` in the command window. diff --git a/_sources/getting_started/overview.rst.txt b/_sources/getting_started/overview.rst.txt deleted file mode 100644 index 086e36ba8..000000000 --- a/_sources/getting_started/overview.rst.txt +++ /dev/null @@ -1,64 +0,0 @@ -.. _overview: - -CADET Overview -============== - -Performing a forward simulation comprises several steps: - -.. toctree:: - :maxdepth: 1 - -For this example, we will use CADET-Python (see :ref:`cadet_python`) -CADET-Python is a file based interface for CADET. -CADET still must be downloaded and built from https://github.com/modsim/CADET - -CADET-Python almost exactly maps to the documented CADET interface except that all dataset names are lowercase. -This simplifies using the interface. - -This package includes the Cadet class and H5 class. -H5 can be used as a simple generic HDF5 interface. - -As an example look at setting column porosity for column 1. -From the CADET manual the path for this is /input/model/unit_001/COL_POROSITY - -In the python interface this becomes -`` -sim = Cadet() sim.root.input.model.unit_001.col_porosity = 0.33 -`` -Once the simulation has been created it must be saved before it can be run -`` -sim.filename = "/path/to/where/you/want/the/file.hdf5" sim.save() -`` - -Define unit operation parameters --------------------------------- -See also: :ref:`unit_operation_models` - -Define adsorption and reaction paramters ----------------------------------------- -See also: :ref:`binding_models`, and :ref:`FFAdsorption` - -See also: :ref:`reaction_models`, and :ref:`FFReaction` - - -Setup connections and switches ------------------------------- -See also: :ref:`simulation`, and :ref:`networks`, - -See Tables :ref:`FFModelSystemConnections` and :ref:`FFModelConnectionSwitch`. - - -.. image:: sections.png - - -Configure solver ----------------- - - -Call solver and read results ----------------------------- - -`` -sim.load() -`` - diff --git a/_sources/getting_started/tutorials/breakthrough.rst.txt b/_sources/getting_started/tutorials/breakthrough.rst.txt deleted file mode 100644 index dc9447f54..000000000 --- a/_sources/getting_started/tutorials/breakthrough.rst.txt +++ /dev/null @@ -1,267 +0,0 @@ -CADET Introduction -================== - -Performing a forward simulation comprises several steps: - * Setting up the model including all parameters and discretization options - * Defining sections and switches - * Setting up the simulator and actually running the simulation - * Evaluating results (e.g., plotting) - -In this tutorial, we will build a simple forward simulation with a breakthrough of one component using the following system: - -.. figure:: _images/breakthrough_system.png - -For this purpose, we use :ref:`CADET-Python `, a file based frontend for CADET. -CADET still must be downloaded (or built from source) as explained in the :ref:`installation guide `. -The Python frontend almost exactly maps to the documented :ref:`CADET file format ` except that all dataset names are lowercase. -This simplifies using the frontend. -The package includes a ``Cadet`` class which serves as a generic HDF5 frontend. - -As an example, we consider setting the external porosity for the column model (``unit_001``). -From :ref:`file format `, the path for this is ``/input/model/unit_001/COL_POROSITY``. -In the Python frontend, this becomes: - -.. code-block:: Python3 - - sim = Cadet() - sim.root.input.model.unit_001.col_porosity = 0.33 - -0. Preliminary Steps --------------------- - -First, we need to import some libraries and specify the location of the ``cadet-cli`` executable (core simulator). -It is located in the ``bin`` folder where CADET was installed. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 2-6 - - -To create the model and specify its parameters, we create an instance of the ``Cadet`` class. -In the ``root`` attribute of this object, the parameter structure is defined as described in the :ref:`file format reference `. -It is implemented as a ``Dict`` of the |addict package|_. -This allows for creating arbitrary nested dictionaries using dot-notation. - -.. |addict package| replace:: ``addict`` package -.. _addict package: https://github.com/mewwts/addict - -.. warning:: Note, that the ``Cadet`` class does not provide any sanity checks. - If parameters are misspelled or have the wrong dimensions, they are simply ignored. - This can cause problems later on, when the simulator is run. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 9 - - -1. Setting Up the Model ------------------------ - -Although the order of the parameter specification does not matter, it is reasonable to first specify the number of unit operations before we select the models and define the parameters. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 12 - -The available models are listed in the :ref:`unit operation chapter `. -The units of the different parameters and quantities are given in the corresponding :ref:`file format ` of the respective unit operation. - -Inlet Model -^^^^^^^^^^^ - -In CADET, the ``INLET`` pseudo unit operation serves as a source for the system and is used to create arbitary concentration profiles as boundary conditions. -First, we define an ``INLET`` as the first unit operation by adding the field ``unit_000`` in the ``/input/model/`` group. -The concentration profile is described using a piecewise cubic polynomial (cubic spline in the continuous case) for each component, where the pieces are given by the time sections. -Later, we will define the polynomials, when we look at time sections. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 15-17 - -General Rate Model -^^^^^^^^^^^^^^^^^^ - -We now add a second unit operation, the column model. -For the :ref:`general rate model model `, we set the ``unit_type`` parameter of the corresponding unit operation model to ``GENERAL_RATE_MODEL``. -In this group, we set the parameters related to transport and column geometry. -For a more detailed description of the parameters and their units, see the :ref:`corresponding file format `. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 20-34 - -Note that film, particle, and surface diffusion are all component-specific, that is, they are vectors of length ``n_components``. - -Adsorption Model -~~~~~~~~~~~~~~~~ - -Every column model can be equipped with an adsorption model. -The available models are listed in the :ref:`binding model chapter `. - -For the :ref:`Langmuir model `, we set the ``adsorption_model`` parameter of the corresponding unit operation model to ``MULTI_COMPONENT_LANGMUIR``. -Then, we decide if we want to use the :ref:`rapid-equilibrium assumption ` in the binding model (``is_kinetic = False``), which is not the case here (dynamic binding). -Finally, the parameters of the binding model have to be set for each component (they are vectors of length ``n_components``). -They are described in the :ref:`corresponding file format specification `. -In case of the Langmuir model, we have to specify the parameters ``kA``, ``kD``, and ``qMAX``. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 37-41 - -Initial Conditions -~~~~~~~~~~~~~~~~~~ - -Next, we specify the initial conditions (concentration of the components in the mobile and stationary phases) for the column. -These concentrations are entered as vectors, where each entry gives the concentration for the corresponding component. -In this example, we start with an empty column. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 44-45 - -Setting up the Discretization -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are several options for adapting the spatial discretization of the PDE model. -However, the two most important ones are the number of grid cells in the column (axial direction) and the particles, which are also set in this example. -We choose ``20`` axial cells in the column ``ncol`` and ``5`` radial cells in the particle ``npar``. - -.. warning:: These are rather low values to make the examples run faster, since they are only for educational purposes. - In practice, much higher values are expected (say 100-200 axial cells and 16-32 particle cells). - Note that the WENO scheme, which handles the advection, drastically reduces the required amount of cells compared to an upwind scheme. - -Moreover, we have to specify the number of bound states for each component. -Finally, we set some other options for the discretization, which usually do not need to be changed. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 48-66 - -Outlet Model -^^^^^^^^^^^^ - -The ``OUTLET`` is another pseudo unit operation that serves as sink for the system. - -.. note:: In this case, the outlet unit is actually not required. We could use the outlet concentration signal of the column model instead. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 69-70 - - -2. Setting up Time Sections and Connections -------------------------------------------- - -Time Sections -^^^^^^^^^^^^^ - -:ref:`Time sections ` are used to specify changes of parameter values during the simulation. -A section typically corresponds to an operating step (load, wash, elute etc.), but can also be used to indicate changes in connectivity, or even discontinuities of :ref:`model parameters `. - -In the ``/input/solver/sections/`` group, ``nsec`` denotes the number of sections. -The start and end times of a section are given in the ``section_times`` vector. -It should always start at ``0.0`` and contains ``nsec + 1`` values, that is, the ``i``\ th section goes from ``section_times[i]`` to ``section_times[i+1]``. - -The ``section_continuity`` indicates whether a transition from one section to the next is continuous in both the inlet and the parameters. -It has ``nsec - 1`` number of values, since there is one transition less than there are sections. -The continuity is used in CADET’s time integrator, which needs to decide whether to restart on entering a new section. -If the transition is continuous, the time integrator can try to step over the transition without restarting, thus saving some computation time (since the restart is costly). -If you are unsure about the continuity, just leave it at ``0``. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 73-75 - -As mentioned earlier, we now define the ``INLET`` profile using a piecewise cubic polynomial. -On each section :math:`[ t_i, t_{i+1} ]` a cubic polynomial :math:`p_i` is defined: - -.. math:: - - p_i( t ) = d * (t - t_i)^3 + c * (t - t_i)^2 + b * (t - t_i) + a, - -where the coefficients of the polynomial are ``const_coeff`` (a), ``lin_coeff`` (b), ``quad_coeff`` (c), and ``cube_coeff`` (d). -Note that the constant coefficient ``const_coeff`` determines the starting concentration on each section. -The stopping concentration is given by :math:`p_i( t_{i+1} )` or :math:`p_{i+1}( t_{i+1} )` in case of a continuous profile. - -In this example, which has only one section, we define its coefficients by adding the field ``sec_000`` to the inlet unit (``unit_000``). -Since the column should be constantly fed with :math:`1.0 \cdot 10^{-3} mol / m^3`, we set ``const_coeff`` to ``[1.0e-3]`` and all other cofficients to ``[0.0]``. -Note that for more components, a vector of coefficients needs to be specified. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 78-81 - -System Connectivity -^^^^^^^^^^^^^^^^^^^ - -In order to specify the :ref:`connectivity of the network `, we have to provide a list of connections. -CADET requires that we append all connections to a long vector (i.e., if each connection is a row in a matrix, CADET wants this matrix in row-major storage). -Moreover, we have to specify the section in which the specified connectivity should be applied. - -The elements of a connection are (in order): - - ``[UnitOpID from, UnitOpID to, Component from, Component to, Volumetric flow rate]`` - -Usually, ``Component from`` and ``Component to`` can be set to ``-1``, which will connect all components from the origin and destination unit operations. - -.. note:: Since CADET version 4.1, the flow rates can also be defined with piecewise cubic polynomials. - Also, for the 2D General rate model inlet ports need to be speciefied. - For more information on the parameters, see the :ref:`file format specification `. - -In this case, we connect all components of ``unit_000`` to ``unit_001``, and from ``unit_001`` to ``unit_002``. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 84-88 - -.. note:: Since the flow in the column models is incompressible, the total entering flow rate must equal the total outgoing flow rate. - This restriction does not apply to a :ref:`CSTR model `, because it has a variable volume. - -3. Setting Up the Simulator and Running the Simulation ------------------------------------------------------- - -Before we can start the simulation, we have to specify some settings for the simulator. - -First, we set some options for the solver and the time integrator. -Usually, these only need to be adapted in special cases. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 91-104 - -Of these options, the most interesting ones are ``time_integrator.abstol`` and ``time_integrator.reltol``, which control the errors during time integration, and ``nthreads``, which sets the number of CPU cores CADET is allowed to use. - -Second, we have to specify which results we want CADET to return. -For this, we have to specify the ``/input/return/`` group. -For more information, see the :ref:`file format specification `. - -.. note::Because ``return`` is a reserved keyword in Python, we cannot use dot-notation but have to use the ‘proper’ dictionary indexing syntax. - -In this example, we want to write the concentration profile of the inlet and outlet of each unit operation. -In addition, we are interested in the concentration in the interstitial volume (bulk volume) of the column. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 106-115 - -Finally, we have to set the time points at which we want to evaluate the solution. -Note that the end time must not exceed the last section time specified in the model. -If the time points are not set explicitly, the time integrator outputs the solution at arbitrary time points between ``0`` and ``section_times[-1]``. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 117-118 - -The last remaining step is to actually run the simulation. -For this, we have to specify a filename, save the configuration to ``H5``-format and call call the ``model``\ ’s ``run()`` function. -We check if the simulation has completed successfully and load the results. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 121-131 - -4. Plotting the Results ------------------------ - -The data is stored in the ``/output/`` group of the ``Cadet`` object. -The structure and format of the data is described in the :ref:`file format specification `. -Finally, we plot the concentration signal at the outlet of the column. - -.. literalinclude:: ../../examples/breakthrough.py - :lines: 134-141 - -.. image:: _images/breakthrough_chromatogram.png - - -Exercises ---------- - -- Add a second inlet section from ``10000`` to ``40000`` seconds in which no sample is fed into the column (rectangular pulse). -- Increase the length of the column and the flow rate. -- Increase the desorption coefficient ``MCL_KD``. -- Add a second component. -- Plot the concentration profile of the ``INLET`` unit operation diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt deleted file mode 100644 index cedba7aec..000000000 --- a/_sources/index.rst.txt +++ /dev/null @@ -1,109 +0,0 @@ -.. _contents: - -.. image:: _static/cadet_logo.png - -| - -.. image:: https://img.shields.io/github/release/modsim/cadet.svg - :target: https://github.com/modsim/CADET/releases - -.. image:: https://github.com/modsim/CADET/actions/workflows/ci.yml/badge.svg - :target: https://github.com/modsim/CADET/actions/workflows/ci.yml - -.. image:: https://anaconda.org/conda-forge/cadet/badges/downloads.svg - :target: https://anaconda.org/conda-forge/cadet - -.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8179015.svg - :target: https://doi.org/10.5281/zenodo.8179015 - -| - -CADET -===== -CADET is developed at the Institute of Bio- and Geosciences 1 (IBG-1) of Forschungszentrum Jülich (FZJ) under supervision of Dr. Eric von Lieres. -The heart of the CADET software is a fast and accurate solver for a comprehensive model family. -Typical applications include (but are by far not limited to) chromatography, filtration, crystallization, and fermentation. -CADET can handle arbitrary sequences and networks of unit operations, including reactors, tanks, tubes, pumps, valves, detectors, etc. -The resulting models are solved with state-of-the-art mathematical algorithms and scientific computing techniques. - -- **Forum:** https://forum.cadet-web.de -- **Source:** https://github.com/modsim/cadet -- **Demo:** http://cadet-web.de -- **Newsletter:** https://cadet-web.de/newsletter/ - -Features --------- - -* Fast and accurate solution of strongly coupled partial differential algebraic equations (PDAE) -* Computation of parameter sensitivities with algorithmic differentiation (AD) -* Shared memory parallelization using Intel TBB -* Python interface (recommended) and native MATLAB interface (deprecated) -* Support of HDF5 and XML data formats -* Flexible and extensible through modular design -* Works on Windows, Linux, and Mac OS X - - -Installation ------------- -CADET can be installed via conda from the ``conda-forge`` channel. - -``conda install -c conda-forge cadet`` - -This requires a working `conda installation `_. - -Optionally, use `mamba `_ which uses a faster dependency solver than ``conda``. - -``mamba install -c conda-forge cadet`` - -For more information on how to install and build CADET, see :ref:`here `. - -Ongoing Development -------------------- - -We do our best to provide you with a stable API. -However, CADET is actively developed and breaking changes can sometimes be unavoidable. -For non-developers, it is recommended to upgrade from release to release instead of always working with the most recent commit. - - -Bugs ----- - -Please report any bugs that you find `here `_. Or, even better, fork the repository on `GitHub `_ and create a pull request (PR) with the fix. - -Donations ---------- - -`Donations `_ for helping to host, maintain, and further develop the CADET project are highly appreciated. - - -Citing ------- - -To cite CADET please use the following publication: - -* Leweke, S.; von Lieres, E.: `Chromatography Analysis and Design Toolkit (CADET) `_, Computers and Chemical Engineering 113 (2018), 274–294. -* Püttmann, A.; Schnittert, S.; Leweke, S.; von Lieres, E.: `Utilizing algorithmic differentiation to efficiently compute chromatograms and parameter sensitivities `_, Chemical Engineering Science, 139 (2016), 152–162. -* Püttmann, A.; Schnittert, S.; Naumann, U.; von Lieres, E.: `Fast and accurate parameter sensitivities for the general rate model of column liquid chromatography `_, Computers and Chemical Engineering 56,13 (2013), 46-57. -* von Lieres, E.; Andersson, J.: `A fast and accurate solver for the general rate model of column liquid chromatography `_, Computers and Chemical Engineering 34,8 (2010), 1180–1191. - -Acknowledgments ---------------- - -Please refer to the `list of contributors `_ who helped building and funding this project. - - -.. toctree:: - :maxdepth: 3 - :hidden: - - getting_started/index - modelling/index - simulation/index - interface/index - .. examples/index - CADET-Match - license - zbibliography - Legal notice - - diff --git a/_sources/interface/binding/bi_steric_mass_action.rst.txt b/_sources/interface/binding/bi_steric_mass_action.rst.txt deleted file mode 100644 index 4ece990b1..000000000 --- a/_sources/interface/binding/bi_steric_mass_action.rst.txt +++ /dev/null @@ -1,89 +0,0 @@ -.. _bi_steric_mass_action_config: - -Bi Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = BI_STERIC_MASS_ACTION** - -For information on model equations, refer to :ref:`bi_steric_mass_action_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ======================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ======================= - -``BISMA_KA`` - Adsorption rate constants in state-major ordering - -**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``BISMA_KD`` - Desorption rate constants in state-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``BISMA_NU`` - Characteristic charges :math:`\nu_{i,j}` of the :math:`i`\ th protein - with respect to the :math:`j`\ th binding site type in state-major - ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``BISMA_SIGMA`` - Steric factors :math:`\sigma_{i,j}` of the :math:`i`\ th protein with - respect to the :math:`j`\ th binding site type in state-major - ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``BISMA_LAMBDA`` - Stationary phase capacity (monovalent salt counterions) of the - different binding site types :math:`\lambda_j` - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= =============================== -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES -=================== ========================= =============================== - -``BISMA_REFC0`` - Reference liquid phase concentration for each binding site type or - one value for all types (optional, defaults to :math:`1.0`) - -**Unit:** :math:`mol~m_{MP}^{-3}` - -=================== ========================= =============================== -**Type:** double **Range:** :math:`\gt 0` **Length:** {1,NSTATES} -=================== ========================= =============================== - -``BISMA_REFQ`` - Reference solid phase concentration for each binding site type or one - value for all types (optional, defaults to :math:`1.0`) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= =============================== -**Type:** double **Range:** :math:`\gt 0` **Length:** {1,NSTATES} -=================== ========================= =============================== diff --git a/_sources/interface/binding/extended_mobile_phase_modulator_langmuir.rst.txt b/_sources/interface/binding/extended_mobile_phase_modulator_langmuir.rst.txt deleted file mode 100644 index eb2e1fa74..000000000 --- a/_sources/interface/binding/extended_mobile_phase_modulator_langmuir.rst.txt +++ /dev/null @@ -1,78 +0,0 @@ -.. _extended_mobile_phase_modulator_langmuir_config: - -Extended Mobile Phase Modulator Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = EXTENDED_MOBILE_PHASE_MODULATOR** - -For information on model equations, refer to :ref:`extended_mobile_phase_modulator_langmuir_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``EMPM_COMP_MODE`` - Determines the mode of each component (:math:`0` denotes the modifier - component, :math:`1` is linear binding, :math:`2` is modified Langmuir - binding). At most one modifier component is allowed, that is, a - modifier is not required. - - Note that this field has the same name for the externally dependent - variant of the model. - -=================== ============================ ========================================= -**Type:** int **Range:** :math:`\{0,1,2\}` **Length:** NCOMP -=================== ============================ ========================================= - -``EMPM_KA`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``EMPM_KD`` - Desorption rate constants - -**Unit:** :math:`m_{MP}^{3\beta}~mol^{-\beta}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``EMPM_QMAX`` - Maximum adsorption capacities - - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``EMPM_BETA`` - Parameters describing the ion-exchange characteristics (IEX) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``EMPM_GAMMA`` - Parameters describing the hydrophobicity (HIC) - -**Unit:** :math:`m_{MP}^{3} mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= diff --git a/_sources/interface/binding/freundlich_ldf.rst.txt b/_sources/interface/binding/freundlich_ldf.rst.txt deleted file mode 100644 index f145624ca..000000000 --- a/_sources/interface/binding/freundlich_ldf.rst.txt +++ /dev/null @@ -1,54 +0,0 @@ -.. _freundlich_ldf_config: - -Freundlich LDF -~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = FREUNDLICH_LDF** - -For information on model equations, refer to :ref:`freundlich_ldf_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ================================== -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ================================== - -``FLDF_KKIN`` - Driving force coefficient for each component - - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** 1/NTOTALBND -=================== ========================= ================================== - - -``FLDF_KF`` - Freundlich coefficient for each component - -**Unit:** :math:`m_{MP}^3~mol^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** 1/NTOTALBND -=================== ========================= ================================== - -``FLDF_N`` - Freundlich exponent for each component - -**Unit:** :[-] - -=================== ========================= ================================== -**Type:** double **Range:** :math:`> 0` **Length:** 1/NTOTALBND -=================== ========================= ================================== - - - - - - diff --git a/_sources/interface/binding/generalized_ion_exchange.rst.txt b/_sources/interface/binding/generalized_ion_exchange.rst.txt deleted file mode 100644 index 9c6688562..000000000 --- a/_sources/interface/binding/generalized_ion_exchange.rst.txt +++ /dev/null @@ -1,181 +0,0 @@ -.. _generalized_ion_exchange_config: - -Generalized Ion Exchange -~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = GENERALIZED_ION_EXCHANGE** - -For information on model equations, refer to :ref:`generalized_ion_exchange_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``GIEX_KA`` - Base value of adsorption rate constant - -**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``GIEX_KA_LIN`` - Coefficient of linear dependence of adsorption rate constant on - modifier component - -**Unit:** :math:`\text{[Mod]}^{-1}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KA_QUAD`` - Coefficient of quadratic dependence of adsorption rate constant on - modifier component - -**Unit:** :math:`\text{[Mod]}^{-2}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KA_SALT`` - Salt coefficient of adsorption rate constants; difference of - water-protein and salt-protein interactions - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KA_PROT`` - Protein coefficient of adsorption rate constants; difference of - water-protein and protein-protein interactions - -**Unit:** :math:`m_{MP}^{3} mol^{-1}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KD`` - Base value of desorption rate constant - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``GIEX_KD_LIN`` - Coefficient of linear dependence of desorption rate constant on - modifier component - -**Unit:** :math:`\text{[Mod]}^{-1}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KD_QUAD`` - Coefficient of quadratic dependence of desorption rate constant on - modifier component - -**Unit:** :math:`\text{[Mod]}^{-2}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KD_SALT`` - Salt coefficient of desorption rate constants; difference of - water-protein and salt-protein interactions - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_KD_PROT`` - Protein coefficient of desorption rate constants; difference of - water-protein and protein-protein interactions - -**Unit:** :math:`m_{MP}^{3} mol^{-1}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_NU`` - Base value for characteristic charges of the protein; The number of - sites :math:`\nu` that the protein interacts with on the resin - surface - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_NU_LIN`` - Coefficient of linear dependence of characteristic charge on modifier - component - -**Unit:** :math:`\text{[Mod]}^{-1}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_NU_QUAD`` - Coefficient of quadratic dependence of characteristic charge on - modifier component - -**Unit:** :math:`\text{[Mod]}^{-2}` - -=================== ========================= -**Type:** double **Length:** NCOMP -=================== ========================= - -``GIEX_SIGMA`` - Steric factors of the protein; The number of sites :math:`\sigma` on - the surface that are shielded by the protein and prevented from - exchange with the salt counterions in solution - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``GIEX_LAMBDA`` - Stationary phase capacity (monovalent salt counterions); The total - number of binding sites available on the resin surface - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``GIEX_REFC0`` - Reference liquid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{MP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - -``GIEX_REFQ`` - Reference solid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= diff --git a/_sources/interface/binding/hic_constant_water_activity.rst.txt b/_sources/interface/binding/hic_constant_water_activity.rst.txt deleted file mode 100644 index 753f4ff87..000000000 --- a/_sources/interface/binding/hic_constant_water_activity.rst.txt +++ /dev/null @@ -1,80 +0,0 @@ -.. _hic_constant_water_activity_config: - -HIC Constant Water Activity -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = HIC_CONSTANT_WATER_ACTIVITY** - -For information on model equations, refer to :ref:`hic_constant_water_activity_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ======================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ======================= - -``HICCWA_KA`` - Adsorption rate constant - -**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``HICCWA_KD`` - Desorption rate constant - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``HICCWA_NU`` - Number of ligands per ligand-protein interaction - -**Unit: [-]** - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - - -``HICCWA_QMAX`` - Maximum binding capacity - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - - -``HICCWA_BETA0`` - Parameters describing the number of highly ordered water molecules - that stabilize the hydrophobic surfaces at infinitely diluted - salt concentration - -**Unit: [-]** - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``HICCWA_BETA1`` - Parameters describing the change in the number of highly ordered - water molecules that stabilize the hydrophobic surfaces with - respect to changes in the salt concentration - -**Unit:** :math:`m_{MP}^{3}~mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - diff --git a/_sources/interface/binding/hic_water_on_hydrophobic_surfaces.rst.txt b/_sources/interface/binding/hic_water_on_hydrophobic_surfaces.rst.txt deleted file mode 100644 index 31ff02484..000000000 --- a/_sources/interface/binding/hic_water_on_hydrophobic_surfaces.rst.txt +++ /dev/null @@ -1,80 +0,0 @@ -.. _hic_water_on_hydrophobic_surfaces_config: - -HIC Water on Hydrophobic Surfaces -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = HIC_WATER_ON_HYDROPHOBIC_SURFACES** - -For information on model equations, refer to :ref:`hic_water_on_hydrophobic_surfaces_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ======================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ======================= - -``HICWHS_KA`` - Adsorption rate constant - -**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``HICWHS_KD`` - Desorption rate constant - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``HICWHS_NU`` - Number of ligands per ligand-protein interaction - -**Unit: [-]** - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - - -``HICWHS_QMAX`` - Maximum binding capacity - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - - -``HICWHS_BETA0`` - Parameters describing the number of highly ordered water molecules - that stabilize the hydrophobic surfaces at infinitely diluted - salt concentration - -**Unit: [-]** - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``HICWHS_BETA1`` - Parameters describing the change in the number of highly ordered - water molecules that stabilize the hydrophobic surfaces with - respect to changes in the salt concentration - -**Unit:** :math:`m_{MP}^{3}~mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - diff --git a/_sources/interface/binding/index.rst.txt b/_sources/interface/binding/index.rst.txt deleted file mode 100644 index 047de2dc7..000000000 --- a/_sources/interface/binding/index.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -.. _FFAdsorption: - -Binding models -============== - -Externally dependent binding models ------------------------------------ - -Some binding models have a variant that can use external sources as specified in :ref:`/input/model/external/` (also see Section :ref:`dependence-on-external-function_bind` for more information, and Section :ref:`binding_model_feature` on which binding models support this feature). -For the sake of brevity, only the standard variant of those binding models is specified below. -In order to obtain the format for the externally dependent variant, first replace the binding model name ``XXX`` by ``EXT_XXX``. -Each parameter :math:`p` (except for reference concentrations ``XXX_REFC0`` and ``XXX_REFQ``) depends on a (possibly distinct) external source in a polynomial way: - -.. math:: - - \begin{aligned} - p(T) &= p_{\texttt{TTT}} T^3 + p_{\texttt{TT}} T^2 + p_{\texttt{T}} T + p. - \end{aligned} - -Thus, a parameter ``XXX_YYY`` of the standard binding model variant is replaced by the four parameters ``EXT_XXX_YYY``, ``EXT_XXX_YYY_T``, ``EXT_XXX_YYY_TT``, and ``EXT_XXX_YYY_TTT``. -Since each parameter can depend on a different external source, the dataset ``EXTFUN`` (not listed in the standard variants below) should contain a vector of 0-based integer indices of the external source of each parameter. -The ordering of the parameters in ``EXTFUN`` is given by the ordering in the standard variant. -However, if only one index is passed in ``EXTFUN``, this external source is used for all parameters. - -Note that parameter sensitivities with respect to column radius, column length, particle core radius, and particle radius may be wrong when using externally dependent binding models. -This is caused by not taking into account the derivative of the external profile with respect to column position. - - -Non-binding components ----------------------- - -For binding models that do not support multiple bound states, many parameters can vary per component and their length is taken as ``NCOMP``. -However, these models still support non-binding components. -In this case, the entries in their parameters that correspond to non-binding components are simply ignored. - - -.. _multiple-particle-types_binding: - -Multiple particle types ------------------------ - -The group that contains the parameters of a binding model in unit operation with index ``XXX`` reads ``/input/model/unit_XXX/adsorption``. -This is valid for models with a single particle type. -If a model has multiple particle types, it may have a different binding model in each type. -The parameters are then placed in the group ``/input/model/unit_XXX/adsorption_YYY`` instead, where ``YYY`` denotes the index of the particle type. - -Note that, in any case, ``/input/model/unit_XXX/adsorption_000`` contains the parameters of the first (and possibly sole) particle type. -This group also takes precedence over a possibly existing ``/input/model/unit_XXX/adsorption`` group. - -.. toctree:: - :maxdepth: 2 - - linear - multi_component_langmuir - multi_component_langmuir_ldf - multi_component_langmuir_ldf_liquid_phase - mobile_phase_modulator_langmuir - extended_mobile_phase_modulator_langmuir - multi_component_bi_langmuir - multi_component_bi_langmuir_ldf - multi_component_anti_langmuir - multi_component_spreading - steric_mass_action - multi_state_steric_mass_action - simplified_multi_state_steric_mass_action - bi_steric_mass_action - generalized_ion_exchange - saska - self_association - freundlich_ldf - hic_water_on_hydrophobic_surfaces - hic_constant_water_activity - diff --git a/_sources/interface/binding/linear.rst.txt b/_sources/interface/binding/linear.rst.txt deleted file mode 100644 index 30d80cc86..000000000 --- a/_sources/interface/binding/linear.rst.txt +++ /dev/null @@ -1,44 +0,0 @@ -.. _linear_config: - -Linear -~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = LINEAR** - -For information on model equations, refer to :ref:`linear_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``LIN_KA`` - Adsorption rate constants for each component - - -**Unit:** :math:`m_{MP}^3~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** 1/NTOTALBND -=================== ========================= ================================== - - -``LIN_KD`` - Desorption rate constants for each component - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** 1/NTOTALBND -=================== ========================= ================================== - - - - - diff --git a/_sources/interface/binding/mobile_phase_modulator_langmuir.rst.txt b/_sources/interface/binding/mobile_phase_modulator_langmuir.rst.txt deleted file mode 100644 index a93c7c8e1..000000000 --- a/_sources/interface/binding/mobile_phase_modulator_langmuir.rst.txt +++ /dev/null @@ -1,65 +0,0 @@ -.. _mobile_phase_modulator_langmuir_config: - -Mobile Phase Modulator Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MOBILE_PHASE_MODULATOR** - -For information on model equations, refer to :ref:`mobile_phase_modulator_langmuir_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MPM_KA`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MPM_KD`` - Desorption rate constants - -**Unit:** :math:`m_{MP}^{3\beta}~mol^{-\beta}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MPM_QMAX`` - Maximum adsorption capacities - - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MPM_BETA`` - Parameters describing the ion-exchange characteristics (IEX) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MPM_GAMMA`` - Parameters describing the hydrophobicity (HIC) - -**Unit:** :math:`m_{MP}^{3} mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= diff --git a/_sources/interface/binding/multi_component_anti_langmuir.rst.txt b/_sources/interface/binding/multi_component_anti_langmuir.rst.txt deleted file mode 100644 index 1263b71da..000000000 --- a/_sources/interface/binding/multi_component_anti_langmuir.rst.txt +++ /dev/null @@ -1,55 +0,0 @@ -.. _multi_component_anti_langmuir_config: - -Multi Component Anti-Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_ANTILANGMUIR** - -For information on model equations, refer to :ref:`multi_component_anti_langmuir_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCAL_KA`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MCAL_KD`` - Desorption rate constants - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ================================== - -``MCAL_QMAX`` - Maximum adsorption capacities - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP -=================== ========================= ================================== - -``MCAL_ANTILANGMUIR`` - Anti-Langmuir coefficients (optional) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ================================== -**Type:** double **Range:** {-1,1} **Length:** NCOMP -=================== ========================= ================================== diff --git a/_sources/interface/binding/multi_component_bi_langmuir.rst.txt b/_sources/interface/binding/multi_component_bi_langmuir.rst.txt deleted file mode 100644 index 5a6a1bcbb..000000000 --- a/_sources/interface/binding/multi_component_bi_langmuir.rst.txt +++ /dev/null @@ -1,47 +0,0 @@ -.. _multi_component_bi_langmuir_config: - -Multi Component Bi-Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_BILANGMUIR** - -For information on model equations, refer to :ref:`multi_component_bi_langmuir_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCBL_KA`` - Adsorption rate constants in state-major ordering (see :ref:`ordering_multi_dimensional_data`) - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``MCBL_KD`` - Desorption rate constants in state-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - -``MCBL_QMAX`` - Maximum adsorption capacities in state-major ordering - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NSTATES :math:`\cdot` NCOMP -=================== ========================= ========================================= - diff --git a/_sources/interface/binding/multi_component_bi_langmuir_ldf.rst.txt b/_sources/interface/binding/multi_component_bi_langmuir_ldf.rst.txt deleted file mode 100644 index 325b76136..000000000 --- a/_sources/interface/binding/multi_component_bi_langmuir_ldf.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _multi_component_bi_langmuir_ldf_config: - -Multi Component Bi-Langmuir LDF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_BILANGMUIR_LDF** - -For information on model equations, refer to :ref:`multi_component_bi_langmuir_ldf_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCBLLDF_KEQ`` - Equillibrium loading constants in state-major ordering (see :ref:`ordering_multi_dimensional_data`) - -**Unit:** :math:`m_{MP}^3~mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP :math:`\cdot` NSTATES -=================== ========================= ========================================= - -``MCBLLDF_KKIN`` - Linear driving force coefficients in state-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP :math:`\cdot` NSTATES -=================== ========================= ========================================= - -``MCBLLDF_QMAX`` - Maximum adsorption capacities in state-major ordering - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP :math:`\cdot` NSTATES -=================== ========================= ========================================= diff --git a/_sources/interface/binding/multi_component_langmuir.rst.txt b/_sources/interface/binding/multi_component_langmuir.rst.txt deleted file mode 100644 index 174846c21..000000000 --- a/_sources/interface/binding/multi_component_langmuir.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _multi_component_langmuir_config: - -Multi Component Langmuir -======================== - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR** - -For information on model equations, refer to :ref:`multi_component_langmuir_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCL_KA`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MCL_KD`` - Desorption rate constants - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ================================== - -``MCL_QMAX`` - Maximum adsorption capacities - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP -=================== ========================= ================================== diff --git a/_sources/interface/binding/multi_component_langmuir_ldf.rst.txt b/_sources/interface/binding/multi_component_langmuir_ldf.rst.txt deleted file mode 100644 index f703731be..000000000 --- a/_sources/interface/binding/multi_component_langmuir_ldf.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _multi_component_langmuir_ldf_config: - -Multi Component Langmuir LDF -============================ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR_LDF** - -For information on model equations, refer to :ref:`multi_component_langmuir_ldf_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCLLDF_KEQ`` - Equillibrium loading constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MCLLDF_KKIN`` - Linear driving force coefficients - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ================================== - -``MCLLDF_QMAX`` - Maximum adsorption capacities - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP -=================== ========================= ================================== diff --git a/_sources/interface/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt b/_sources/interface/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt deleted file mode 100644 index 1bf25bbb8..000000000 --- a/_sources/interface/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _multi_component_langmuir_ldf_liquid_phase_config: - -Multi Component Langmuir LDF Liquid Phase -========================================== - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR_LDF_LIQUID_PHASE** - -For information on model equations, refer to :ref:`multi_component_langmuir_ldf_liquid_phase_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCLLDFC_KEQ`` - Equillibrium loading constants - -**Unit:** :math:`m_{MP}^3~mol^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MCLLDFC_KKIN`` - Linear driving force coefficients - -**Unit:** :math:`s^{-1}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ================================== - -``MCLLDFC_QMAX`` - Maximum adsorption capacities - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ================================== -**Type:** double **Range:** :math:`\gt 0` **Length:** NCOMP -=================== ========================= ================================== diff --git a/_sources/interface/binding/multi_component_spreading.rst.txt b/_sources/interface/binding/multi_component_spreading.rst.txt deleted file mode 100644 index 203bcbc19..000000000 --- a/_sources/interface/binding/multi_component_spreading.rst.txt +++ /dev/null @@ -1,64 +0,0 @@ -.. _multi_component_spreading_config: - -Multi Component Spreading -~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_SPREADING** - -For information on model equations, refer to :ref:`multi_component_spreading_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MCSPR_KA`` - Adsorption rate constants in state-major ordering - -**Unit:** :math:`m_{MP}^3~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MCSPR_KD`` - Desorption rate constants in state-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MCSPR_QMAX`` - Maximum adsorption capacities in state-major ordering - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MCSPR_K12`` - Exchange rates from the first to the second bound state - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``MCSPR_K21`` - Exchange rates from the second to the first bound state - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= diff --git a/_sources/interface/binding/multi_state_steric_mass_action.rst.txt b/_sources/interface/binding/multi_state_steric_mass_action.rst.txt deleted file mode 100644 index ecc587179..000000000 --- a/_sources/interface/binding/multi_state_steric_mass_action.rst.txt +++ /dev/null @@ -1,95 +0,0 @@ -.. _multi_state_steric_mass_action_config: - -Multi-State Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTISTATE_STERIC_MASS_ACTION** - -For information on model equations, refer to :ref:`multi_state_steric_mass_action_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``MSSMA_KA`` - Adsorption rate constants of the components to the different bound - states in component-major ordering - -**Unit:** :math:`m_{MP}^3~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MSSMA_KD`` - Desorption rate constants of the components in the different bound - states in component-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MSSMA_NU`` - Characteristic charges of the components in the different bound - states in component-major ordering - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MSSMA_SIGMA`` - Steric factors of the components in the different bound states in - component-major ordering - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``MSSMA_RATES`` - Conversion rates between different bound states in - component-row-major ordering - -**Unit:** :math:`s^{-1}` - -=================== ========================= =================================================================== -**Type:** double **Range:** :math:`\ge 0` **Length:** :math:`\sum_{i=0}^{\text{NCOMP}-1} \text{NBND}_{i}^{2}` -=================== ========================= =================================================================== - -``MSSMA_LAMBDA`` - Stationary phase capacity (monovalent salt counterions); The total - number of binding sites available on the resin surface - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``MSSMA_REFC0`` - Reference liquid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{MP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - -``MSSMA_REFQ`` - Reference solid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= diff --git a/_sources/interface/binding/saska.rst.txt b/_sources/interface/binding/saska.rst.txt deleted file mode 100644 index cd4da6899..000000000 --- a/_sources/interface/binding/saska.rst.txt +++ /dev/null @@ -1,42 +0,0 @@ -.. _saska_config: - -Saska -~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SASKA** - -For information on model equations, refer to :ref:`saska_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - - -``SASKA_H`` - Henry coefficient - -**Unit:** :math:`m_{MP}^3~m_{SP}^{-3}~s^{-1}` - -=================== ================================= ========================================= -**Type:** double **Range:** :math:`\mathbb {R}` **Length:** NCOMP -=================== ================================= ========================================= - - -``SASKA_K`` - Quadratic factors - -**Unit:** :math:`m_{MP}^6~m_{SP}^{-3}~s^{-1}` - -=================== ================================ ========================================= -**Type:** double **Range:** :math:`\mathbb {R}` **Length:** :math:`\text{NCOMP}^2` -=================== ================================ ========================================= - - - diff --git a/_sources/interface/binding/self_association.rst.txt b/_sources/interface/binding/self_association.rst.txt deleted file mode 100644 index febe7773b..000000000 --- a/_sources/interface/binding/self_association.rst.txt +++ /dev/null @@ -1,93 +0,0 @@ -.. _self_association_config: - -Self Association -~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SELF_ASSOCIATION** - -For information on model equations, refer to :ref:`self_association_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``SAI_KA1`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SAI_KA2`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^6~m_{SP}^{-3}~mol^{-1}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SAI_KD`` - Desorption rate constants - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SAI_NU`` - Characteristic charges :math:`\nu` of the protein - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SAI_SIGMA`` - Steric factors :math:`\sigma` of the protein - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SAI_LAMBDA`` - Stationary phase capacity (monovalent salt counterions); The total - number of binding sites available on the resin surface - -**Unit:** :math:`mol m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - - -``SAI_REFC0`` - Reference liquid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol m_{MP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - - -``SAI_REFQ`` - Reference solid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - diff --git a/_sources/interface/binding/simplified_multi_state_steric_mass_action.rst.txt b/_sources/interface/binding/simplified_multi_state_steric_mass_action.rst.txt deleted file mode 100644 index c682369ea..000000000 --- a/_sources/interface/binding/simplified_multi_state_steric_mass_action.rst.txt +++ /dev/null @@ -1,178 +0,0 @@ -.. _simplified_multi_state_steric_mass_action_config: - -Simplified Multi-State Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SIMPLIFIED_MULTISTATE_STERIC_MASS_ACTION** - -For information on model equations, refer to :ref:`simplified_multi_state_steric_mass_action_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``SMSSMA_LAMBDA`` - Stationary phase capacity (monovalent salt counterions); The total - number of binding sites available on the resin surface - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``SMSSMA_KA`` - Adsorption rate constants of the components to the different bound - states in component-major ordering - -**Unit:** :math:`m_{MP}^{3}~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``SMSSMA_KD`` - Desorption rate constants of the components to the different bound - states in component-major ordering - - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NTOTALBND -=================== ========================= ========================================= - -``SMSSMA_NU_MIN`` - Characteristic charges of the components in the first (weakest) bound - state - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_NU_MAX`` - Characteristic charges of the components in the last (strongest) - bound state - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_NU_QUAD`` - Quadratic modifiers of the characteristic charges of the different - components depending on the index of the bound state - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_SIGMA_MIN`` - Steric factors of the components in the first (weakest) bound state - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_SIGMA_MAX`` - Steric factors of the components in the last (strongest) bound state - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_SIGMA_QUAD`` - Quadratic modifiers of steric factors of the different components - depending on the index of the bound state - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_KWS`` - Exchange rates from a weakly bound state to the next stronger bound - state - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_KWS_LIN`` - Linear exchange rate coefficients from a weakly bound state to the - next stronger bound state - -**Unit:** :math:`s^{-1}` - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_KWS_QUAD`` - Quadratic exchange rate coefficients from a weakly bound state to the - next stronger bound state - -**Unit:** :math:`s^{-1}` - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_KSW`` - Exchange rates from a strongly bound state to the next weaker bound - state - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMSSMA_KSW_LIN`` - Linear exchange rate coefficients from a strongly bound state to the - next weaker bound state - -**Unit:** :math:`s^{-1}` - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_KSW_QUAD`` - Quadratic exchange rate coefficients from a strongly bound state to - the next weaker bound state - -**Unit:** :math:`s^{-1}` - -=================== ============================== ========================================= -**Type:** double **Range:** :math:`\mathbb{R}` **Length:** NCOMP -=================== ============================== ========================================= - -``SMSSMA_REFC0`` - Reference liquid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{MP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - -``SMSSMA_REFQ`` - Reference solid phase concentration (optional, defaults to - :math:`1.0`) - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= diff --git a/_sources/interface/binding/steric_mass_action.rst.txt b/_sources/interface/binding/steric_mass_action.rst.txt deleted file mode 100644 index ed48c44fa..000000000 --- a/_sources/interface/binding/steric_mass_action.rst.txt +++ /dev/null @@ -1,87 +0,0 @@ -.. _steric_mass_action_config: - -Steric Mass Action -~~~~~~~~~~~~~~~~~~ - -**Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = STERIC_MASS_ACTION** - -For information on model equations, refer to :ref:`steric_mass_action_model`. - - -``IS_KINETIC`` - Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = - quasi-stationary. If a single value is given, the mode is set for all - bound states. Otherwise, the adsorption mode is set for each bound - state separately. - -=================== ========================= ========================================= -**Type:** int **Range:** {0,1} **Length:** 1/NTOTALBND -=================== ========================= ========================================= - -``SMA_KA`` - Adsorption rate constants - -**Unit:** :math:`m_{MP}^3~m_{SP}^{-3}~s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMA_KD`` - Desorption rate constants - - -**Unit:** :math:`s^{-1}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMA_NU`` - Characteristic charges of the protein; The number of sites - :math:`\nu` that the protein interacts with on the resin surface - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMA_SIGMA`` - Steric factors of the protein; The number of sites :math:`\sigma` on - the surface that are shielded by the protein and prevented from - exchange with the salt counterions in solution - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** NCOMP -=================== ========================= ========================================= - -``SMA_LAMBDA`` - Stationary phase capacity (monovalent salt counterions); The total - number of binding sites available on the resin surface - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\ge 0` **Length:** 1 -=================== ========================= ========================================= - -``SMA_REFC0`` - Reference liquid phase concentration (optional, defaults to - :math:`1.0`) - - -**Unit:** :math:`mol~m_{MP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= - -``SMA_REFQ`` - Reference solid phase concentration (optional, defaults to - :math:`1.0`) - - -**Unit:** :math:`mol~m_{SP}^{-3}` - -=================== ========================= ========================================= -**Type:** double **Range:** :math:`\gt 0` **Length:** 1 -=================== ========================= ========================================= diff --git a/_sources/interface/consistent_initialization.rst.txt b/_sources/interface/consistent_initialization.rst.txt deleted file mode 100644 index 6635338f4..000000000 --- a/_sources/interface/consistent_initialization.rst.txt +++ /dev/null @@ -1,39 +0,0 @@ -.. _non_consistency_solver_parameters: - -Nonlinear solver for consistent initialization -=============================================== - -Group /input/model/unit_XXX/discretization/consistency_solver - Nonlinear consistency solver paramters ------------------------------------------------------------------------------------------------------- - -``SOLVER_NAME`` - -Name of the solver. Available solvers are ``LEVMAR``, ``ATRN_RES``, ``ATRN_ERR``, and ``COMPOSITE``. - - ================== ======================= - **Type:** string **Length:** :math:`1` - ================== ======================= - -``INIT_DAMPING`` - -Initial damping factor (default is :math:`0.01`) - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\ge 0` **Length:** :math:`1` - ================ ============================= ================================== - -``MIN_DAMPING`` - -Minimal damping factor (default is :math:`0.0001`; ignored by ``LEVMAR``) - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\ge 0` **Length:** :math:`1` - ================ ============================= ================================== - -``SUBSOLVERS`` - -Vector with names of solvers for the composite solver (only required for composite solver). See ``SOLVER_NAME`` for available solvers. - - ================== ========================== - **Type:** string **Length:** :math:`\gt 1` - ================== ========================== diff --git a/_sources/interface/flux_reconstruction.rst.txt b/_sources/interface/flux_reconstruction.rst.txt deleted file mode 100644 index 6d861733e..000000000 --- a/_sources/interface/flux_reconstruction.rst.txt +++ /dev/null @@ -1,40 +0,0 @@ -.. _flux_restruction_methods: - -Flux reconstruction methods -=========================== - -Group /input/model/unit_XXX/discretization/weno - WENO Parameters ------------------------------------------------------------------ - -``BOUNDARY_MODEL`` - - Boundary model type: - 0. Lower WENO order (stable) - 1. Zero weights (unstable for small :math:`D_{\mathrm{ax}}`) - 2. Zero weights for :math:`p \neq 0` (stable?) - 3. Large ghost points - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 3\}` **Length:** 1 - ============= =========================== ============= - -``WENO_EPS`` - - WENO :math:`\varepsilon` - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 3\}` **Length:** 1 - ============= =========================== ============= - -``WENO_ORDER`` - - WENO order, also called WENO :math:`k`: - - 1. Standard upwind scheme (order 1) - 2. WENO 2 (order 3) - 3. WENO 3 (order 5) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{1, 3\}` **Length:** 1 - ============= =========================== ============= - diff --git a/_sources/interface/index.rst.txt b/_sources/interface/index.rst.txt deleted file mode 100644 index 5ef57e6fb..000000000 --- a/_sources/interface/index.rst.txt +++ /dev/null @@ -1,28 +0,0 @@ -.. _file_format: - -Interface specifications -======================== - -The CADET framework is designed to work on a file format structured into groups and datasets. -This concept may be implemented by different file formats. -At the moment, CADET natively supports HDF5 and XML as file formats. -The choice is not limited to those two formats but can be extended as needed. -In this section the general layout and structure of the file format is described. - -.. topic:: File format versions - - The file format may change and evolve over time as new features are added to the simulator. - This manual describes the most recent file format version that is also set as default value in ``/meta/FILE_FORMAT`` (see Tab. :ref:`FFMeta`). - The simulator assumes that the input file uses the most recent format version and does not update old files to the current standard. - - -.. toctree:: - :maxdepth: 3 - - introduction - input_group - output_group - meta_group - - - diff --git a/_sources/interface/input_group.rst.txt b/_sources/interface/input_group.rst.txt deleted file mode 100644 index e8e940176..000000000 --- a/_sources/interface/input_group.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -.. _FFInput: - -Input Group -=========== - -.. toctree:: - :maxdepth: 3 - - system - unit_operations/index - binding/index - reactions - flux_reconstruction - consistent_initialization - return_data - sensitivities - solver - - diff --git a/_sources/interface/introduction.rst.txt b/_sources/interface/introduction.rst.txt deleted file mode 100644 index b0f7ac9c6..000000000 --- a/_sources/interface/introduction.rst.txt +++ /dev/null @@ -1,143 +0,0 @@ -.. _FFIntroduction: - -Introduction -============ - -Global structure ----------------- - -The global structure (see :numref:`FFRootFig`) is divided into three parts: ``input``, ``output``, and ``meta``. -Every valid CADET file needs an ``input`` group (see :numref:`FFInputFig`) which contains all relevant information for simulating a model. -It does not need an ``output`` (see :numref:`FFOutputFig`) or ``meta`` (see :numref:`FFRootFig`) group, since those are created when results are written. -Whereas the ``output`` group is solely used as output and holds the results of the simulation, the ``meta`` group is used for input and output. -Details such as file format version and simulator version are read from and written to the ``meta`` group. - -If not explicitly stated otherwise, all datasets are mandatory. -By convention all group names are lowercase, whereas all dataset names are uppercase. -Note that this is just a description of the file format and not a detailed explanation of the meaning of the parameters. -For the latter, please refer to the corresponding sections in the previous chapter. - -.. _FFRootFig: -.. figure:: file_format_structure.png - - Structure of the groups in the root group of the file format - -.. _FFInputFig: -.. figure:: file_format_input.png - - High-level structure of the groups in the input part of the file format - -.. _FFModelUnitOpColumnFig: -.. figure:: file_format_input_model_unit.png - - Structure of the groups in a column unit operation (/input/model group) - -.. _FFOutputFig: -.. figure:: file_format_output.png - - Structure of the groups in the output part of the file format - -Notation and identifiers ------------------------- - -Reference volumes are denoted by subscripts: - -- :math:`m_{IV}^{3}` Interstitial volume -- :math:`m_{MP}^{3}` Bead mobile phase volume -- :math:`m_{SP}^{3}` Bead solid phase volume - -Common notation and identifiers that are used in the subsequent description are listed in -:numref:`table_notation_identifiers`. - -.. _table_notation_identifiers: -.. list-table:: Common notation and identifiers used in the file format description - :widths: 30 70 - :header-rows: 1 - - * - Identifier - - Meaning - * - NCOMP - - Number of components of a unit operation - * - NTOTALCOMP - - Total number of components in the system (sum of all unit operation components) - * - NPARTYPE - - Number of particles types of a unit operation - * - NBND\ :sub:`i` \ - - Number of bound states of component i of the current particle type - * - NTOTALBND - - Total number of bound states of the current particle type (sum of all bound states of all components) - * - NSTATES - - Maximum of the number of bound states for each component of a particle type - * - NREACT - - Number of reactions (in bulk volume or in the current particle type) - * - NDOF - - Total number of degrees of freedom of the current unit operation model or system of unit operations - * - NSEC - - Number of time integration sections - * - PARAM_VALUE - - Value of a generic unspecified parameter - -.. _ordering_multi_dimensional_data: - -Ordering of multi dimensional data ----------------------------------- - -Some model parameters, especially in certain binding models, require multi dimensional data. -Since CADET only reads one dimensional arrays, the layout of the data has to be specified (i.e., the way how the data is linearized in memory). -The term “*xyz*-major” means that the index corresponding to *xyz* changes the slowest. - -For instance, suppose a model with :math:`2` components and :math:`3` bound states has a “state-major” dataset. -Then, the requested matrix is stored in memory such that all components are listed for each bound state (i.e., the bound state index changes the slowest and the component index the fastest): - -:: - - comp0bnd0, comp1bnd0, comp0bnd1, comp1bnd1, comp0bnd2, comp1bnd2 - - -This linear array can also be represented as a :math:`3 \times 2` matrix in “row-major” storage format: - -:: - - comp0bnd0, comp1bnd0 - comp0bnd1, comp1bnd1 - comp0bnd2, comp1bnd2 - - -.. _section_dependent_parameters: - -Section dependent model parameters ----------------------------------- - -Some model parameters (see :numref:`section_dependent_datasets`) can be assigned different values for each section. -For example, the velocity a column is operated with could differ in the load, wash, and elution phases. -Section dependency is recognized by specifying the appropriate number of values for the parameters (see *Length* column in the following tables). -If a parameter depends on both the component and the section, the ordering is section-major. - -For instance, the *Length* field of the parameter ``VELOCITY`` reads :math:`1 / NSEC` which means that it is not recognized as section dependent if only :math:`1` value (scalar) is passed. However, if ``NSEC`` many values (vector) are present, it will be treated as section dependent. - -Note that all components of component dependent datasets have to be section dependent (e.g., you cannot have a section dependency on component :math:`2` only while the other components are not section dependent). - -.. _section_dependent_datasets: -.. list-table:: Section dependent datasets in the 1D unit operation models (``/input/model/unit_XXX group``) - :widths: 40 30 30 - :header-rows: 1 - - * - Dataset - - Component dependent - - Section dependent - * - COL_DISPERSION - - ✓ - - ✓ - * - FILM_DIFFUSION - - ✓ - - ✓ - * - PAR_DIFFUSION - - ✓ - - ✓ - * - PAR_SURDIFFUSION - - ✓ - - ✓ - * - VELOCITY - - - - ✓ - diff --git a/_sources/interface/meta_group.rst.txt b/_sources/interface/meta_group.rst.txt deleted file mode 100644 index 0aba45435..000000000 --- a/_sources/interface/meta_group.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -.. _FFMeta: - -Meta Group -========== - -``FILE_FORMAT`` - - Version of the file format (defaults to 040000 = 4.0.0 if omitted) with two digits per part (Major.Minor.Patch) - - ================ ========================= - **In/out:** In **Type:** int - ================ ========================= - -``CADET_VERSION`` - - Version of the executed :math:`\texttt{CADET}` simulator - - ================ ========================= - **In/out:** Out **Type:** string - ================ ========================= - -``CADET_COMMIT`` - - Git commit SHA1 from which the :math:`\texttt{CADET}` simulator was built - - ================ ========================= - **In/out:** Out **Type:** string - ================ ========================= - -``CADET_BRANCH`` - - Git branch from which the :math:`\texttt{CADET}` simulator was built - - ================ ========================= - **In/out:** Out **Type:** string - ================ ========================= - -``TIME_SIM`` - - Time that the time integration took (excluding any preparations and postprocessing) - - **Unit:** :math:`\mathrm{s}` - - ================ ========================= - **In/out:** Out **Type:** double - ================ ========================= diff --git a/_sources/interface/output_group.rst.txt b/_sources/interface/output_group.rst.txt deleted file mode 100644 index 9ba4ca6eb..000000000 --- a/_sources/interface/output_group.rst.txt +++ /dev/null @@ -1,578 +0,0 @@ -.. _FFOutput: - -Output Group -=============== - -Group /output -------------- - -``LAST_STATE_Y`` - - Full state vector at the last time point of the time integrator if :math:`\texttt{WRITE_SOLUTION_LAST}` in :math:`\texttt{/input/return}` is enabled - - **Type:** double - -``LAST_STATE_YDOT`` - - Full time derivative state vector at the last time point of the time integrator if :math:`\texttt{WRITE_SOLUTION_LAST}` in :math:`\texttt{/input/return}` is enabled - - **Type:** double - -``LAST_STATE_SENSY_XXX`` - - Full state vector of the ``XXX`` th sensitivity system at the last time point of the time integrator if :math:`\texttt{WRITE_SENS_LAST}` in :math:`\texttt{/input/return}` is enabled - - **Type:** double - -``LAST_STATE_SENSYDOT_XXX`` - - Full time derivative state vector of the ``XXX`` th sensitivity system at the last time point of the time integrator if :math:`\texttt{WRITE_SENS_LAST}` in :math:`\texttt{/input/return}` is enabled - - **Type:** double - -Group /output/solution ----------------------- - -``SOLUTION_TIMES`` - - Time points at which the solution is written if :math:`\texttt{WRITE_SOLUTION_TIMES}` in :math:`\texttt{/input/return}` is enabled - - **Unit:** :math:`\mathrm{s}` - - **Type:** double - - -Group /output/solution/unit_XXX -------------------------------- - -``SOLUTION_BULK`` - - Interstitial solution as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_PARTICLE`` - - Mobile phase solution inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}` - - **Type:** double - -``SOLUTION_PARTICLE_PARTYPE_XXX`` - - Mobile phase solution inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}` - - **Type:** double - -``SOLUTION_SOLID`` - - Solid phase solution inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - **Type:** double - -``SOLUTION_SOLID_PARTYPE_XXX`` - - Solid phase solution inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - **Type:** double - -``SOLUTION_FLUX`` - - Flux solution as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLUTION_VOLUME`` - - Volume solution - - **Unit:** :math:`\mathrm{m}^{3}` - - **Type:** double - -``SOLUTION_OUTLET`` - - Tensor of solutions at the unit operation outlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_INLET`` - - Tensor of solutions at the unit operation inlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_OUTLET_COMP_XXX`` - - Component ``XXX`` of the solution at all outlet ports of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_INLET_COMP_XXX`` - - Component ``XXX`` of the solution at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_OUTLET_PORT_XXX`` - - All components at outlet port ``XXX`` of the solution of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_INLET_PORT_XXX`` - - All components at inlet port ``XXX`` of the solution of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_OUTLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at outlet port ``XXX`` of the solution of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLUTION_INLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at inlet port ``XXX`` of the solution of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - **Type:** double - -``SOLDOT_BULK`` - - Interstitial solution time derivative as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_PARTICLE`` - - Mobile phase solution time derivative inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_PARTICLE_PARTYPE_XXX`` - - Mobile phase solution time derivative inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_SOLID`` - - Solid phase solution time derivative inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_SOLID_PARTYPE_XXX`` - - Solid phase solution time derivative inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_FLUX`` - - Flux solution time derivative as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-2}` - - **Type:** double - -``SOLDOT_VOLUME`` - - Volume solution time derivative - - **Unit:** :math:`\mathrm{m}^{3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_OUTLET`` - - Tensor of solution time derivatives at the unit operation outlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_INLET`` - - Tensor of solution time derivatives at the unit operation inlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_OUTLET_COMP_XXX`` - - Component ``XXX`` of the solution time derivative at all outlet ports of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_INLET_COMP_XXX`` - - Component ``XXX`` of the solution time derivative at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_OUTLET_PORT_XXX`` - - All components at outlet port ``XXX`` of the solution time derivative of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_INLET_PORT_XXX`` - - All components at inlet port ``XXX`` of the solution time derivative of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_OUTLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at outlet port ``XXX`` of the solution time derivative of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``SOLDOT_INLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at inlet port ``XXX`` of the solution time derivative of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - **Type:** double - -``LAST_STATE_Y`` - - State vector of this unit at the last time point of the time integrator if :math:`\texttt{WRITE_SOLUTION_LAST_UNIT}` in :math:`\texttt{/input/return/unit_XXX}` is enabled. - Note that the vector includes the dedicated inlet DOFs at the beginning (length: :math:`\texttt{NCOMP} \cdot \texttt{NPORT}`). - - **Type:** double - -``LAST_STATE_YDOT`` - - Time derivative state vector of this unit at the last time point of the time integrator if :math:`\texttt{WRITE_SOLUTION_LAST_UNIT}` in :math:`\texttt{/input/return/unit_XXX}` is enabled. - Note that the vector includes the dedicated inlet DOFs at the beginning (length: :math:`\texttt{NCOMP} \cdot \texttt{NPORT}`). - - **Type:** double - - -Group /output/sensitivity/param_XXX/unit_YYY --------------------------------------------- - -``SENS_BULK`` - - Interstitial sensitivity as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_PARTICLE`` - - Mobile phase sensitivity inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_PARTICLE_PARTYPE_XXX`` - - Mobile phase sensitivity inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_SOLID`` - - Solid phase sensitivity inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_SOLID_PARTYPE_XXX`` - - Solid phase sensitivity inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_FLUX`` - - Flux sensitivity as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_VOLUME`` - - Volume sensitivity - - **Unit:** :math:`\mathrm{m}^{3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_OUTLET`` - - Tensor of sensitivities at the unit operation outlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_INLET`` - - Tensor of sensitivities at the unit operation inlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_OUTLET_COMP_XXX`` - - Component ``XXX`` of the sensitivity at all outlet ports of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_INLET_COMP_XXX`` - - Component ``XXX`` of the sensitivity at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_OUTLET_PORT_XXX`` - - All components at outlet port ``XXX`` of the sensitivity of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_INLET_PORT_XXX`` - - All components at inlet port ``XXX`` of the sensitivity of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_OUTLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at outlet port ``XXX`` of the sensitivity of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENS_INLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at inlet port ``XXX`` of the sensitivity of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_BULK`` - - Interstitial sensitivity time derivative as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_PARTICLE`` - - Mobile phase sensitivity time derivative inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_PARTICLE_PARTYPE_XXX`` - - Mobile phase sensitivity time derivative inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_SOLID`` - - Solid phase sensitivity time derivative inside the particles as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if just one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_SOLID_PARTYPE_XXX`` - - Solid phase sensitivity time derivative inside the particles of type ``XXX`` as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage. Only present if more than one particle type is defined. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_FLUX`` - - Flux sensitivity time derivative as :math:`n_{\text{Time}} \times \texttt{UNITOPORDERING}` tensor in row-major storage - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-2}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_VOLUME`` - - Volume sensitivity time derivative - - **Unit:** :math:`^{3}\,\mathrm{s}\mathrm{m}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_OUTLET`` - - Tensor of sensitivity time derivatives at the unit operation outlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_INLET`` - - Tensor of sensitivity time derivatives at the unit operation inlet with components as columns in time-port-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are both disabled. If the unit operation only has a single port, the port-dimension is removed if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_OUTLET_COMP_XXX`` - - Component ``XXX`` of the sensitivity time derivative at all outlet ports of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_INLET_COMP_XXX`` - - Component ``XXX`` of the sensitivity time derivative at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is enabled and :math:`\texttt{SPLIT_PORTS_DATA}` is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is disabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_OUTLET_PORT_XXX`` - - All components at outlet port ``XXX`` of the sensitivity time derivative of the unit operation as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_INLET_PORT_XXX`` - - All components at inlet port ``XXX`` of the sensitivity time derivative of the unit operation inlet as matrix in time-major storage. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` is disabled and :math:`\texttt{SPLIT_PORTS_DATA}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_OUTLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at outlet port ``XXX`` of the sensitivity time derivative of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - -``SENSDOT_INLET_PORT_XXX_COMP_YYY`` - - Component ``YYY`` at inlet port ``XXX`` of the sensitivity time derivative of the unit operation. Only present if :math:`\texttt{SPLIT_COMPONENTS_DATA}` and :math:`\texttt{SPLIT_PORTS_DATA}` are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if :math:`\texttt{SINGLE_AS_MULTI_PORT}` is enabled. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}` - - **Type:** double - - -/output/coordinates/unit_XXX ------------------------------- - -``AXIAL_COORDINATES`` - - Axial coordinates of the bulk discretization nodes - - **Unit:** :math:`\mathrm{m}` - - ================ ================================= - **Type:** double **Length:** :math:`\texttt{NCOL}` - ================ ================================= - -``RADIAL_COORDINATES`` - - Radial coordinates of the bulk discretization nodes (only for 2D unit operations) - - **Unit:** :math:`\mathrm{m}` - - ================ ================================= - **Type:** double **Length:** :math:`\texttt{NRAD}` - ================ ================================= - -``PARTICLE_COORDINATES_XXX`` - - Coordinates of the particle discretization nodes in particles of type ``XXX`` - - **Unit:** :math:`\mathrm{m}` - - ================ ================================= - **Type:** double **Length:** :math:`\texttt{NPAR}` - ================ ================================= diff --git a/_sources/interface/reactions.rst.txt b/_sources/interface/reactions.rst.txt deleted file mode 100644 index f874dce2c..000000000 --- a/_sources/interface/reactions.rst.txt +++ /dev/null @@ -1,197 +0,0 @@ -.. _FFReaction: - -Reaction models -=============== - -Externally dependent reaction models ------------------------------------- - -Some reaction models have a variant that can use external sources as specified :ref:`/input/model/external/` (also see Section :ref:`dependence-on-external-function_react`). -For the sake of brevity, only the standard variant of those reaction models is specified below. -In order to obtain the format for the externally dependent variant, first replace the reaction model name ``XXX`` by ``EXT_XXX``. -Each parameter :math:`p` (except for stoichiometric and exponent matrices) depends on a (possibly distinct) external source in a polynomial way: - -.. math:: - - \begin{aligned} - p(T) &= p_{\texttt{TTT}} T^3 + p_{\texttt{TT}} T^2 + p_{\texttt{T}} T + p. - \end{aligned} - -Thus, a parameter ``XXX_YYY`` of the standard reaction model variant is replaced by the four parameters ``EXT_XXX_YYY``, ``EXT_XXX_YYY_T``, ``EXT_XXX_YYY_TT``, and ``EXT_XXX_YYY_TTT``. -Since each parameter can depend on a different external source, the dataset ``EXTFUN`` (not listed in the standard variants below) should contain a vector of 0-based integer indices of the external source of each parameter. -The ordering of the parameters in ``EXTFUN`` is given by the ordering in the standard variant. -However, if only one index is passed in ``EXTFUN``, this external source is used for all parameters. - -Note that parameter sensitivities with respect to column radius, column length, particle core radius, and particle radius may be wrong when using externally dependent reaction models. -This is caused by not taking into account the derivative of the external profile with respect to column position. - - -.. _multiple-particle-types_reactions: - -Multiple particle types ------------------------ - -The group that contains the parameters of a reaction model in unit operation with index ``XXX`` reads ``/input/model/unit_XXX/reaction_particle``. -This is valid for models with a single particle type. -If a model has multiple particle types, it may have a different reaction model in each type. -The parameters are then placed in the group ``/input/model/unit_XXX/reaction_particle_YYY`` instead, where ``YYY`` denotes the index of the particle type. - -Note that, in any case, ``/input/model/unit_XXX/reaction_particle_000`` contains the parameters of the first (and possibly sole) particle type. -This group also takes precedence over a possibly existing ``/input/model/unit_XXX/adsorption_particle`` group. - -.. _FFReactionMassActionLaw: - -Group /input/model/unit_XXX/reaction - REACTION_MODEL = MASS_ACTION_LAW ------------------------------------------------------------------------ - -``MAL_KFWD_BULK`` - - Forward rate constants for bulk volume reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_KBWD_BULK`` - - Backward rate constants for bulk volume reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_KFWD_LIQUID`` - - Forward rate constants for particle liquid phase reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_KBWD_LIQUID`` - - Backward rate constants for particle liquid phase reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_KFWD_SOLID`` - - Forward rate constants for particle solid phase reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_KBWD_SOLID`` - - Backward rate constants for particle solid phase reactions (available for external functions) - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NREACT}` - ================ ========================= =================================== - -``MAL_STOICHIOMETRY_BULK`` - - Stoichiometric matrix of bulk volume reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_BULK_FWD`` - - Forward exponent matrix of bulk volume reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_BULK}` by default) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_BULK_BWD`` - - Backward exponent matrix of bulk volume reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_BULK}` by default) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_STOICHIOMETRY_LIQUID`` - - Stoichiometric matrix of particle liquid phase reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_LIQUID_FWD`` - - Forward exponent matrix of particle liquid phase reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_LIQUID}` by default) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_LIQUID_BWD`` - - Backward exponent matrix of particle liquid phase reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_LIQUID}` by default) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_LIQUID_FWD_MODSOLID`` - - Forward solid phase modifier exponent matrix of particle liquid phase reactions as :math:`\texttt{NTOTALBND} \times \texttt{NREACT}` matrix in row-major storage (optional, defaults to all 0) - - ================ ============================================================ - **Type:** double **Length:** :math:`\texttt{NTOTALBND} \cdot \texttt{NREACT}` - ================ ============================================================ - -``MAL_EXPONENTS_LIQUID_BWD_MODSOLID`` - - Backward solid phase modifier exponent matrix of particle liquid phase reactions as :math:`\texttt{NTOTALBND} \times \texttt{NREACT}` matrix in row-major storage (optional, defaults to all 0) - - ================ ============================================================ - **Type:** double **Length:** :math:`\texttt{NTOTALBND} \cdot \texttt{NREACT}` - ================ ============================================================ - -``MAL_STOICHIOMETRY_SOLID`` - - Stoichiometric matrix of particle solid phase reactions as :math:`\texttt{NTOTALBND} \times \texttt{NREACT}` matrix in row-major storage - - ================ ============================================================ - **Type:** double **Length:** :math:`\texttt{NTOTALBND} \cdot \texttt{NREACT}` - ================ ============================================================ - -``MAL_EXPONENTS_SOLID_FWD`` - - Forward exponent matrix of particle solid phase reactions as :math:`\texttt{NTOTALBND} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_SOLID}` by default) - - ================ ============================================================ - **Type:** double **Length:** :math:`\texttt{NTOTALBND} \cdot \texttt{NREACT}` - ================ ============================================================ - -``MAL_EXPONENTS_SOLID_BWD`` - - Backward exponent matrix of particle solid phase reactions as :math:`\texttt{NTOTALBND} \times \texttt{NREACT}` matrix in row-major storage (optional, calculated from :math:`\texttt{MAL_STOICHIOMETRY_SOLID}` by default) - - ================ ============================================================ - **Type:** double **Length:** :math:`\texttt{NTOTALBND} \cdot \texttt{NREACT}` - ================ ============================================================ - -``MAL_EXPONENTS_SOLID_FWD_MODLIQUID`` - - Forward liquid phase modifier exponent matrix of particle solid phase reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, defaults to all 0) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== - -``MAL_EXPONENTS_SOLID_BWD_MODLIQUID`` - - Backward liquid phase modifier exponent matrix of particle solid phase reactions as :math:`\texttt{NCOMP} \times \texttt{NREACT}` matrix in row-major storage (optional, defaults to all 0) - - ================ ======================================================== - **Type:** double **Length:** :math:`\texttt{NCOMP} \cdot \texttt{NREACT}` - ================ ======================================================== diff --git a/_sources/interface/return_data.rst.txt b/_sources/interface/return_data.rst.txt deleted file mode 100644 index 6426a3a95..000000000 --- a/_sources/interface/return_data.rst.txt +++ /dev/null @@ -1,300 +0,0 @@ -.. _return: - -Return data -=========== - -Group /input/return -------------------- - -``WRITE_SOLUTION_TIMES`` - - Write times at which a solution was produced (optional, defaults to 1) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_LAST`` - - Write full solution state vector at last time point (optional, defaults to 0) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_LAST`` - - Write full sensitivity state vectors at last time point (optional, defaults to 0) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``SPLIT_COMPONENTS_DATA`` - - Determines whether a joint dataset (matrix or tensor) for all components is created or if each component is put in a separate dataset (:math:`\texttt{XXX_COMP_000}`, :math:`\texttt{XXX_COMP_001}`, etc.) (optional, defaults to 1) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``SPLIT_PORTS_DATA`` - - Determines whether a joint dataset (matrix or tensor) for all inlet/outlet ports is created or if each port is put in a separate dataset (:math:`\texttt{XXX_PORT_000}`, :math:`\texttt{XXX_PORT_001}`, etc.) (optional, defaults to 1) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``SINGLE_AS_MULTI_PORT`` - - Determines whether single port unit operations are treated as multi port unit operations in the output naming scheme (i.e., :math:`\texttt{_PORT_XYZ_}` is added to the name) (optional, defaults to 0) - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - - -Group /input/return/unit_XXX ----------------------------- - -``WRITE_COORDINATES`` - - Write coordinates of discretization nodes - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_INLET`` - - Write solutions at unit operation inlet :math:`c^l_i(t,0)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_OUTLET`` - - Write solutions at unit operation outlet (chromatograms) :math:`c^l_i(t,L)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_BULK`` - - Write solutions of the bulk volume :math:`c^l_i` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_PARTICLE`` - - Write solutions of the particle mobile phase :math:`c^p_{j,i}` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_SOLID`` - - Write solutions of the solid phase :math:`c^s_{j,i,m_{j,i}}` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_FLUX`` - - Write solutions of the bead fluxes :math:`j_{f,i}` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_VOLUME`` - - Write solutions of the volume V - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_INLET`` - - Write solution time derivatives at unit operation inlet :math:`\partial c^l_i(t,0) / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_OUTLET`` - - Write solution time derivatives at unit operation outlet (chromatograms) :math:`\partial c^l_i(t,L) / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_BULK`` - - Write solution time derivatives of the bulk volume :math:`\partial c^l_i / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_PARTICLE`` - - Write solution time derivatives of the particle mobile phase :math:`\partial c^p_{j,i} / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_SOLID`` - - Write solution time derivatives of the solid phase :math:`\partial c^s_{j,i,m_{j,i}} / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_FLUX`` - - Write solution time derivatives of the bead fluxes :math:`\partial j_{f,i} / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLDOT_VOLUME`` - - Write solution time derivatives of the volume :math:`\partial V / \partial t` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_INLET`` - - Write sensitivities at unit operation inlet :math:`\partial c^l_i(t,0) / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_OUTLET`` - - Write sensitivities at unit operation outlet (chromatograms) :math:`\partial c^l_i(t,L) / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_BULK`` - - Write sensitivities of the bulk volume :math:`\partial c^l_i / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_PARTICLE`` - - Write sensitivities of the particle mobile phase :math:`\partial c^p_{j,i} / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_SOLID`` - - Write sensitivities of the solid phase :math:`\partial c^s_{j,i,m_{j,i}} / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_FLUX`` - - Write sensitivities of the bead fluxes :math:`\partial j_{f,i} / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENS_VOLUME`` - - Write sensitivities of the volume :math:`\partial V / \partial p` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_INLET`` - - Write sensitivity time derivatives at unit operation inlet :math:`\partial^2 c^l_i(t,0) / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_OUTLET`` - - Write sensitivity time derivatives at unit operation outlet (chromatograms) :math:`\partial^2 c^l_i(t,L) / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_BULK`` - - Write sensitivity time derivatives of the bulk volume :math:`\partial^2 c^l_i / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_PARTICLE`` - - Write sensitivity time derivatives of the particle mobile phase :math:`\partial^2 c^p_{j,i} / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_SOLID`` - - Write sensitivity time derivatives of the solid phase :math:`\partial^2 c^s_{j,i,m_{j,i}} / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_FLUX`` - - Write sensitivity time derivatives of the bead fluxes :math:`\partial^2 j_{f,i} / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SENSDOT_VOLUME`` - - Write sensitivity time derivatives of the volume :math:`\partial^2 V / (\partial p, \partial t)` - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - -``WRITE_SOLUTION_LAST_UNIT`` - - Write solution state vector of this unit at last time point - - ============= ========================== - **Type:** int **Range:** :math:`\{0,1\}` - ============= ========================== - diff --git a/_sources/interface/sensitivities.rst.txt b/_sources/interface/sensitivities.rst.txt deleted file mode 100644 index 958476ef1..000000000 --- a/_sources/interface/sensitivities.rst.txt +++ /dev/null @@ -1,102 +0,0 @@ -.. _sensitivity: - -Parameter Sensitivities -======================= - -.. _FFSensitivity: - -Group /input/sensitivity ------------------------- - -``NSENS`` - - Number of sensitivities to be computed - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``SENS_METHOD`` - - Method used for computation of sensitivities (algorithmic differentiation) - - ================ =============================== ============= - **Type:** string **Range:** :math:`\texttt{ad1}` **Length:** 1 - ================ =============================== ============= - -.. _FFSensitivityParam: - -Group /input/sensitivity/param_XXX ----------------------------------- - -``SENS_UNIT`` - - Unit operation index - - ============= ========================= ========================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\geq 1` - ============= ========================= ========================== - -``SENS_NAME`` - - Name of the parameter - - ================ =========================== - **Type:** string **Length:** :math:`\geq 1` - ================ =========================== - -``SENS_COMP`` - - Component index (:math:`-1` if parameter is independent of components) - - ============= ========================== ============================ - **Type:** int **Range:** :math:`\geq -1` **Length:** :math:`\geq 1` - ============= ========================== ============================ - -``SENS_PARTYPE`` - - Particle type index (:math:`-1` if parameter is independent of particle types) - - ============= ========================== =========================== - **Type:** int **Range:** :math:`\geq -1` **Length:** :math:`\geq 1` - ============= ========================== =========================== - -``SENS_REACTION`` - - Reaction index (:math:`-1` if parameter is independent of reactions) - - ============= ========================== =========================== - **Type:** int **Range:** :math:`\geq -1` **Length:** :math:`\geq 1` - ============= ========================== =========================== - -``SENS_BOUNDPHASE`` - - Bound phase index (:math:`-1` if parameter is independent of bound phases) - - ============= ========================== ========================== - **Type:** int **Range:** :math:`\geq -1` **Length:** :math:`\geq 1` - ============= ========================== ========================== - -``SENS_SECTION`` - - Section index (:math:`-1` if parameter is independent of sections) - - ============= ========================== ========================== - **Type:** int **Range:** :math:`\geq -1` **Length:** :math:`\geq 1` - ============= ========================== ========================== - -``SENS_ABSTOL`` - - Absolute tolerance used in the computation of the sensitivities (optional). Rule of thumb: :math:`\texttt{ABSTOL} / \texttt{PARAM_VALUE}` - - ================ =========================== ========================== - **Type:** double **Range:** :math:`\geq 0.0` **Length:** :math:`\geq 1` - ================ =========================== ========================== - -``SENS_FACTOR`` - - Linear factor of the combined sensitivity (optional, taken as :math:`1.0` if left out) - - ================ ============================= ========================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\geq 1` - ================ ============================= ========================== diff --git a/_sources/interface/solver.rst.txt b/_sources/interface/solver.rst.txt deleted file mode 100644 index 073bc6e74..000000000 --- a/_sources/interface/solver.rst.txt +++ /dev/null @@ -1,196 +0,0 @@ -.. _solver: - -Solver Configuration -==================== - -Group /input/solver -------------------- - -``NTHREADS`` - - Number of used threads - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``USER_SOLUTION_TIMES`` - - Vector with timepoints at which the solution is evaluated - - **Unit:** :math:`\mathrm{s}` - - ================ ========================= ===================== - **Type:** double **Range:** :math:`\geq 0` **Length:** Arbitrary - ================ ========================= ===================== - -``CONSISTENT_INIT_MODE`` - - Consistent initialization mode (optional, defaults to :math:`1`). Valid values are: - - 0. None - 1. Full - 2. Once, full - 3. Lean - 4. Once, lean - 5. Full once, then lean - 6. None once, then full - 7. None once, then lean - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{ 0, \dots, 7\}` **Length:** 1 - ============= =================================== ============= - -``CONSISTENT_INIT_MODE_SENS`` - - Consistent initialization mode for parameter sensitivities (optional, defaults to :math:`1`). Valid values are: - - 0. None - 1. Full - 2. Once, full - 3. Lean - 4. Once, lean - 5. Full once, then lean - 6. None once, then full - 7. None once, then lean - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{ 0, \dots, 7\}` **Length:** 1 - ============= =================================== ============= - -.. _FFSolverTime: - -Group /solver/time_integrator ------------------------------ - -``ABSTOL`` - - Absolute tolerance in the solution of the original system - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``RELTOL`` - - Relative tolerance in the solution of the original system - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``ALGTOL`` - - Tolerance in the solution of the nonlinear consistency equations - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``RELTOL_SENS`` - - Relative tolerance in the solution of the sensitivity systems - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``INIT_STEP_SIZE`` - - Initial time integrator step size for each section or one value for all sections (0.0: IDAS default value), see IDAS guide 4.5, p.\ 36f. - - **Unit:** :math:`\mathrm{s}` - - ================ ========================= ===================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`1 / \texttt{NSEC}` - ================ ========================= ===================================== - -``MAX_STEPS`` - - Maximum number of timesteps taken by IDAS (0: IDAS default = 500), see IDAS guide Sec.~4.5 - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``MAX_STEP_SIZE`` - - Maximum size of timesteps taken by IDAS (optional, defaults to unlimited 0.0), see IDAS guide Sec.~4.5 - - **Unit:** :math:`\mathrm{s}` - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``ERRORTEST_SENS`` - - Determines whether (forward) sensitivities take part in local error test (optional, defaults to 1) - - ============= ========================== ============= - **Type:** int **Range:** :math:`\{0,1\}` **Length:** 1 - ============= ========================== ============= - -``MAX_NEWTON_ITER`` - - Maximum number of Newton iterations in time step (optional, defaults to 3) - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``MAX_ERRTEST_FAIL`` - - Maximum number of local error test failures in time step (optional, defaults to 7) - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``MAX_CONVTEST_FAIL`` - - Maximum number of Newton convergence test failures (optional, defaults to 10) - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``MAX_NEWTON_ITER_SENS`` - - Maximum number of Newton iterations in forward sensitivity time step (optional, defaults to 3) - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -.. _FFSolverSections: - -Group /solver/sections ----------------------- - -``NSEC`` - - Number of sections - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``SECTION_TIMES`` - - Simulation times at which the model changes or behaves discontinously; including start and end times - - **Unit:** :math:`\mathrm{s}` - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NSEC}+1` - ================ ========================= =================================== - -``SECTION_CONTINUITY`` - - Continuity indicator for each section transition: 0 (discontinuous) or 1 (continuous). - - ============= ========================== =================================== - **Type:** int **Range:** :math:`\{0,1\}` **Length:** :math:`\texttt{NSEC}-1` - ============= ========================== =================================== - diff --git a/_sources/interface/system.rst.txt b/_sources/interface/system.rst.txt deleted file mode 100644 index 035e5e3e5..000000000 --- a/_sources/interface/system.rst.txt +++ /dev/null @@ -1,276 +0,0 @@ -.. _FFModelSystem: - -System of unit operations -========================= - -Group /input/model ------------------- - -``NUNITS`` - - Number of unit operations in the system - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``INIT_STATE_Y`` - - Initial full state vector (optional, unit operation specific initial data is ignored) - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``INIT_STATE_YDOT`` - - Initial full time derivative state vector (optional, unit operation specific initial data is ignored) - - ================ ================================== - **Type:** double **Length:** :math:`\texttt{NDOF}` - ================ ================================== - -``INIT_STATE_SENSY_XXX`` - - Number of unit operations in the system - - ================ ================================== - **Type:** double **Length:** :math:`\texttt{NDOF}` - ================ ================================== - -``INIT_STATE_SENSYDOT_XXX`` - - Initial full state vector of the :math:`\texttt{XXX}` th sensitivity system (optional, unit operation specific initial data is ignored) - - ================ ================================== - **Type:** double **Length:** :math:`\texttt{NDOF}` - ================ ================================== - -``NUNITS`` - - Initial full time derivative state vector of the :math:`\texttt{XXX}` th sensitivity system (optional, unit operation specific initial data is ignored) - - ================ ================================== - **Type:** double **Length:** :math:`\texttt{NDOF}` - ================ ================================== - -.. _FFModelSystemConnections: - -Group /input/model/connections ------------------------------- - -``NSWITCHES`` - - Number of valve switches - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``CONNECTIONS_INCLUDE_PORTS`` - - Determines whether the :math:`\texttt{CONNECTIONS}` table includes ports (:math:`1`) or not (:math:`0`). Optional, defaults to 0 unless a unit operation model with multiple ports is present. - - ============= ============================ ============= - **Type:** int **Range:** :math:`\{ 0,1 \}` **Length:** 1 - ============= ============================ ============= - -``CONNECTIONS_INCLUDE_DYNAMIC_FLOW`` - - Determines whether the :math:`\texttt{CONNECTIONS}` table includes linear, quadratic, and cubic flow rate coefficients (1) or not (0). Optional, defaults to 0. - - ============= ============================ ============= - **Type:** int **Range:** :math:`\{ 0,1 \}` **Length:** 1 - ============= ============================ ============= - - -.. _FFModelConnectionSwitch: - -Group /input/model/connections/switch_XXX ------------------------------------------ - -``SECTION`` - - Index of the section that activates this connection set - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``CONNECTIONS`` - - Matrix with list of connections in row-major storage. Columns are *UnitOpID from*, *UnitOpID to*, *Port from*, *Port to*, *Component from*, *Component to*, *volumetric flow rate*, *linear flow rate coefficient*, *quadratic flow rate coefficient*, *cubic flow rate coefficient*. - If both port indices are :math:`-1`, all ports are connected. - If both component indices are :math:`-1`, all components are connected. - - The flow rate is a cubic function of time, - - .. math:: - Q = Q_0 + Q_1(t - t_s) + Q_2(t-t_s)^2 + Q_3(t-t_s)^3, - - where :math:`t_s` is the beginning of the section that activates the switch (i.e., :math:`\texttt{SECTION_TIMES}` at index :math:`\texttt{SECTION}`). - - The port indices are left out if :math:`\texttt{CONNECTIONS_INCLUDE_PORTS}` is set to :math:`0` and no unit operation with multiple ports is present in the system. If a unit operation with multiple ports is present, :math:`\texttt{CONNECTIONS_INCLUDE_PORTS}` is ignored and port indices are mandatory. - - The last three flow rate coefficients are left out if :math:`\texttt{CONNECTIONS_INCLUDE_DYNAMIC_FLOW}` is set to :math:`0`. - Contrary to the constant coefficient, which has the parameter name :math:`\texttt{CONNECTION}`, the other coefficients are named :math:`\texttt{CONNECTION_LIN}`, :math:`\texttt{CONNECTION_QUAD}`, and :math:`\texttt{CONNECTION_CUB}`, respectively. - - For addressing the flow rates as a parameter senstivity, the mapping is as follows: - - - :math:`\texttt{SENS_UNIT}` Unused, always set to :math:`-1` - - :math:`\texttt{SENS_BOUNDPHASE}` *UnitOpID from* - - :math:`\texttt{SENS_REACTION}` *UnitOpID to* - - :math:`\texttt{SENS_COMP}` *Port from* - - :math:`\texttt{SENS_PARTYPE}` *Port to* - - :math:`\texttt{SENS_SECTION}` :math:`\texttt{SECTION}` that activates the valve switch - - ================ ========================== ============================================================ - **Type:** double **Range:** :math:`\geq -1` **Length:** :math:`\{5,7,8,10\} \cdot \texttt{NCONNECTIONS}` - ================ ========================== ============================================================ - -.. _FFModelExternalSourceLinInterp: - -Group /input/model/external/source_XXX - EXTFUN_TYPE = LINEAR_INTERP_DATA -------------------------------------------------------------------------- - -``VELOCITY`` - - Velocity of the external profile in positive column axial direction. - The velocity is normalized to a column with length 1, hence the unit :math:`\mathrm{s}^{-1}`. - - **Unit:** :math:`\mathrm{s}^{-1}` - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``DATA`` - - Function values :math:`T` at the data points - - **Unit:** :math:`[\mathrm{Ext}]` - - ================ ============================= ===================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** Arbitrary - ================ ============================= ===================== - -``TIME`` - Time of the data points - - **Unit:** :math:`\mathrm{s}` - - ================ =========================== ========================================= - **Type:** double **Range:** :math:`\geq 0.0` **Length:** Same as :math:`\texttt{DATA}` - ================ =========================== ========================================= - - -.. _FFModelExternalSourcePieceCubicPoly: - -Group /input/model/external/source_XXX - EXTFUN_TYPE = PIECEWISE_CUBIC_POLY ---------------------------------------------------------------------------- - -``VELOCITY`` - - Velocity of the external profile in positive column axial direction. - The velocity is normalized to a column with length 1, hence the unit :math:`\mathrm{s}^{-1}`. - - **Unit:** :math:`\mathrm{s}^{-1}` - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``CONST_COEFF`` - - Constant coefficients of piecewise cubic polynomial - - **Unit:** :math:`[\mathrm{Ext}]` - - ================ ============================= ===================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** Arbitrary - ================ ============================= ===================== - -``LIN_COEFF`` - - Linear coefficients of piecewise cubic polynomial - - **Unit:** :math:`[\mathrm{Ext}]\,\mathrm{s}^{-1}` - - ================ ============================= ================================================ - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** Same as :math:`\texttt{CONST_COEFF}` - ================ ============================= ================================================ - -``QUAD_COEFF`` - - Quadratic coefficients of piecewise cubic polynomial - - **Unit:** :math:`[\mathrm{Ext}]\,\mathrm{s}^{-2}` - - ================ ============================= ================================================ - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** Same as :math:`\texttt{CONST_COEFF}` - ================ ============================= ================================================ - -``CUBE_COEFF`` - - Cubic coefficients of piecewise cubic polynomial - - **Unit:** :math:`[\mathrm{Ext}]\,\mathrm{s}^{-3}` - - ================ ============================= ================================================ - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** Same as :math:`\texttt{CONST_COEFF}` - ================ ============================= ================================================ - -``SECTION_TIMES`` - - Simulation times at which a new piece begins (breaks of the piecewise polynomial) - - **Unit:** :math:`\mathrm{s}` - - ================ =========================== ========================================== - **Type:** double **Range:** :math:`\geq 0.0` **Length:** :math:`\texttt{CONST_COEFF}+1` - ================ =========================== ========================================== - -.. _FFModelSolver: - -Group /input/model/solver -------------------------- - -``GS_TYPE`` - - Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of :math:`0` enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``MAX_KRYLOV`` - - Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: :math:`\texttt{MAX_KRYLOV} = \texttt{NDOF}`) - - ============= ============================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, \texttt{NDOF}\}` **Length:** 1 - ============= ============================================== ============= - -``MAX_RESTARTS`` - - Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``SCHUR_SAFETY`` - - Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5. - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``LINEAR_SOLUTION_MODE`` - - Determines whether the system of models is solved in parallel (1) or sequentially (2). A sequential solution is only possible for systems without cyclic connections. The setting can be chosen automatically (0) based on a heuristic (less than 25 unit operations and acyclic network selects sequential mode). Optional, defaults to automatic (0). - - ============= ============================== ============= - **Type:** int **Range:** :math:`\{ 0,1,2 \}` **Length:** 1 - ============= ============================== ============= diff --git a/_sources/interface/unit_operations/2d_general_rate_model.rst.txt b/_sources/interface/unit_operations/2d_general_rate_model.rst.txt deleted file mode 100644 index e9ae68488..000000000 --- a/_sources/interface/unit_operations/2d_general_rate_model.rst.txt +++ /dev/null @@ -1,505 +0,0 @@ -.. _2d_general_rate_model_config: - -Two dimensional general rate model -================================== - -Group /input/model/unit_XXX - UNIT_TYPE = GENERAL_RATE_MODEL_2D ---------------------------------------------------------------- - -For information on model equations, refer to :ref:`2d_general_rate_model_model`. - - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - ================ ================================================= ============= - **Type:** string **Range:** :math:`\texttt{GENERAL_RATE_MODEL_2D}` **Length:** 1 - ================ ================================================= ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``ADSORPTION_MODEL`` - - Specifies the type of binding model of each particle type (or of all particle types if length is 1) - - ================ ========================================== ========================================== - **Type:** string **Range:** See Section :ref:`FFAdsorption` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ========================================== ========================================== - -``ADSORPTION_MODEL_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{ADSORPTION_MODEL}`. If set to 0, each particle type has a different binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is :math:`\texttt{NPARTYPE}`. If set to 1, all particle types share the same binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is 1. This field is optional and inferred from the length of :math:`\texttt{ADSORPTION_MODEL}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``REACTION_MODEL_BULK`` - - Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup :math:`\texttt{reaction_bulk}`. - - ================ ======================================== ============= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** 1 - ================ ======================================== ============= - -``REACTION_MODEL_PARTICLES`` - - Specifies the type of reaction model of each particle type (or of all particle types if length is 1). The model is configured in the subgroup :math:`\texttt{reaction_particle}`, or :math:`\texttt{reaction_particle_XXX}` in case of disabled multiplexing. - - ================ ======================================== ========================================== - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================================== ========================================== - -``REACTION_MODEL_PARTICLES_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{REACTION_MODEL_PARTICLES}`. If set to 0, each particle type has a different reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`\texttt{NPARTYPE}`. If set to 1, all particle types share the same reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is 1. This field is optional and inferred from the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``INIT_C`` - - Initial concentrations for each component in all radial zones the bulk mobile phase (length :math:`\texttt{NCOMP}`), or for each component in each radial zone (length :math:`\texttt{NCOMP} \cdot \texttt{NRAD}`, ordering radial-major) - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ========================= ========================================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP} / \texttt{NCOMP} \cdot \texttt{NRAD}` - ================ ========================= ========================================================================= - -``INIT_CP`` - - Initial concentrations for each component in the bead liquid phase (optional, :math:`\texttt{INIT_C}` is used if left out). The length of this field can be :math:`\texttt{NCOMP}` (same values for each radial zone and particle type), :math:`\texttt{NPARTYPE} \cdot \texttt{NCOMP}` (same values for each radial zone), :math:`\texttt{RAD} \cdot \texttt{NCOMP}` (same values for each particle type), or :math:`\texttt{NRAD} \cdot \texttt{NPARTYPE} \cdot \texttt{NCOMP}`. The ordering is radial-type-major. Values for each particle type can only be given when :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is 0. In the radial-inhomogeneous case, the :math:`\texttt{SENS_REACTION}` field is used for indexing the radial zone when specifying parameter sensitivities. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}` - - ================ ========================= - **Type:** double **Range:** :math:`\geq 0` - ================ ========================= - -``INIT_Q`` - - Initial concentrations for each bound state of each component in the bead solid phase. If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is 0, values for each particle type are required in type-component-major ordering (length is :math:`\texttt{NTOTALBND}`). If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is 1, values for one particle type are required in component-major ordering (length is :math:`\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i`). Alternatively, values for each radial zone can be supplied. If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is 0, values for each radial zone and each particle type are required in radial-type-component-major ordering (length is :math:`\texttt{NRAD} \cdot \texttt{NTOTALBND}`). If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is 1, values for each radial zone and all particle types are required in radial-component-major ordering (length is :math:`\texttt{NRAD} \cdot \sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i`). In the radial-inhomogeneous case, the :math:`\texttt{SENS_REACTION}` field is used for indexing the radial zone when specifying parameter sensitivities. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - ================ ========================= - **Type:** double **Range:** :math:`\geq 0` - ================ ========================= - -``INIT_STATE`` - - Full state vector for initialization (optional, :math:`\texttt{INIT_C}`, :math:`\texttt{INIT_CP}`, and :math:`\texttt{INIT_Q}` will be ignored; if length is :math:`2\texttt{NDOF}`, then the second half is used for time derivatives) - - **Unit:** :math:`various` - - ================ ============================= ================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NDOF} / 2\texttt{NDOF}` - ================ ============================= ================================================== - -``COL_DISPERSION`` - - Axial dispersion coefficient. In case of a spatially inhomogeneous setting, the :math:`\texttt{SENS_PARTYPE}` field is used for indexing the radial zone when specifying parameter sensitivities. - - **Unit:** :math:`\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{COL_DISPERSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``COL_DISPERSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{COL_DISPERSION}`. Determines whether :math:`\texttt{COL_DISPERSION}` is treated as component-, radial-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{COL_DISPERSION}`. Valid modes are: - - 0. Component-independent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is 1 - 1. Component-independent, radial-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NRAD}` - 2. Component-dependent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP}` - 3. Component-dependent, radial-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NRAD}`; ordering is radial-major - 4. Component-independent, radial-independent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NSEC}` - 5. Component-independent, radial-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NRAD} \cdot \texttt{NSEC}`; ordering is section-major - 6. Component-dependent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 7. Component-dependent, radial-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NRAD} \cdot \texttt{NSEC}`; ordering is section-radial-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 7 \}` **Length:** 1 - ============= =================================== ============= - -``COL_DISPERSION_RADIAL`` - - Radial dispersion coefficient. In case of a spatially inhomogeneous setting, the :math:`\texttt{SENS_PARTYPE}` field is used for indexing the radial zone when specifying parameter sensitivities. - - **Unit:** :math:`\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ================================================================ - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{COL_DISPERSION_RADIAL_MULTIPLEX}` - ================ ========================= ================================================================ - -``COL_DISPERSION_RADIAL_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{COL_DISPERSION_RADIAL}`. Determines whether :math:`\texttt{COL_DISPERSION_RADIAL}` is treated as component-, radial-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{COL_DISPERSION_RADIAL}`. Valid modes are: - - 0. Component-independent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is 1 - 1. Component-independent, radial-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NRAD}` - 2. Component-dependent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NCOMP}` - 3. Component-dependent, radial-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NCOMP} \cdot \texttt{NRAD}`; ordering is radial-major - 4. Component-independent, radial-independent, section-dependent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NSEC}` - 5. Component-independent, radial-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NRAD} \cdot \texttt{NSEC}`; ordering is section-major - 6. Component-dependent, radial-independent, section-independent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 7. Component-dependent, radial-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION_RADIAL}` is :math:`\texttt{NCOMP} \cdot \texttt{NRAD} \cdot \texttt{NSEC}`; ordering is section-radial-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 7 \}` **Length:** 1 - ============= =================================== ============= - -``COL_LENGTH`` - - Column length - - **Unit:** :math:`\mathrm{m}` - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``COL_RADIUS`` - - Column radius - - **Unit:** :math:`\mathrm{m}` - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``COL_POROSITY`` - - Column porosity, either constant (length is 1) or for each radial zone (length is :math:`\texttt{NRAD}`). In case of a spatially inhomogeneous setting, the :math:`\texttt{SENS_PARTYPE}` field is used for indexing the radial zone when specifying parameter sensitivities. - - ================ ======================== ===================================== - **Type:** double **Range:** :math:`(0,1]` **Length:** :math:`1 / \texttt{NRAD}` - ================ ======================== ===================================== - -``FILM_DIFFUSION`` - - Film diffusion coefficients for each component of each particle type - - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ========================= ======================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{FILM_DIFFUSION_MULTIPLEX}` - ================ ========================= ======================================================= - -``FILM_DIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{FILM_DIFFUSION}`. Determines whether :math:`\texttt{FILM_DIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{FILM_DIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_POROSITY`` - - Particle porosity of all particle types or for each particle type - - ================ ======================== ========================================= - **Type:** double **Range:** :math:`(0,1]` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================== ========================================= - -``PAR_RADIUS`` - - Particle radius of all particle types or for each particle type - - **Unit:** :math:`\mathrm{m}` - - ================ ===================== ========================================= - **Type:** double **Range:** :math:`>0` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ===================== ========================================= - -``PAR_CORERADIUS`` - - Particle core radius of all particle types or for each particle type (optional, defaults to :math:`0~m`) - - **Unit:** :math:`\mathrm{m}` - - ================ =========================================== ========================================= - **Type:** double **Range:** :math:`[0, \texttt{PAR_RADIUS})` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ =========================================== ========================================= - -``PORE_ACCESSIBILITY`` - - Pore accessibility factor of each component in each particle type (optional, defaults to 1). - Note: Should not be used in combination with any binding model! - - ================ ========================= ============================================================= - **Type:** double **Range:** :math:`(0, 1]` **Length:** see :math:`\texttt{PORE_ACCESSIBILITY_MULTIPLEX}` - ================ ========================= ============================================================= - -``PORE_ACCESSIBILITY_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PORE_ACCESSIBILITY}`. Determines whether :math:`\texttt{PORE_ACCESSIBILITY}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PORE_ACCESSIBILITY}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_DIFFUSION`` - - Effective particle diffusion coefficients of each component in each particle type - - **Unit:** :math:`\mathrm{m}_{\mathrm{MP}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ======================================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{PAR_DIFFUSION_MULTIPLEX}` - ================ ========================= ======================================================== - -``PAR_DIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PAR_DIFFUSION}`. Determines whether :math:`\texttt{PAR_DIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PAR_DIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_SURFDIFFUSION`` - - Particle surface diffusion coefficients of each bound state of each component in each particle type (optional, defaults to all :math:`0~m_{SP}^2 s^{-1}`) - - **Unit:** :math:`\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ============================================================ - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{PAR_SURFDIFFUSION_MULTIPLEX}` - ================ ========================= ============================================================ - -``PAR_SURFDIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PAR_SURFDIFFUSION}`. Determines whether :math:`\texttt{PAR_SURFDIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PAR_SURFDIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NBND}`; ordering is component-major - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NBND} \cdot \texttt{NSEC}`; ordering is section-component-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NTOTALBND}`; ordering is type-component-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NTOTALBND} \cdot \texttt{NSEC}`; ordering is section-type-component-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``VELOCITY`` - - Indicates flow direction in each radial zone (forward if value is positive, backward if value is negative), see Section :ref:`MUOPGRMflow2D`). In case of a spatially inhomogeneous setting, the :math:`\texttt{SENS_PARTYPE}` field is used for indexing the radial cell when specifying parameter sensitivities. - - ================ ============================= =================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** see :math:`\texttt{VELOCITY_MULTIPLEX}` - ================ ============================= =================================================== - -``VELOCITY_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{VELOCITY}`. Determines whether :math:`\texttt{VELOCITY}` is treated as radial- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{VELOCITY}`. Valid modes are: - - 0. Radial-independent, section-independent; length of :math:`\texttt{VELOCITY}` is 1 - 1. Radial-dependent, section-independent; length of :math:`\texttt{VELOCITY}` is :math:`\texttt{NRAD}` - 2. Section-dependent; length of :math:`\texttt{VELOCITY}` is :math:`\texttt{NSEC}` - 3. Radial-dependent, section-dependent; length of :math:`\texttt{VELOCITY}` is :math:`\texttt{NRAD} \cdot \texttt{NSEC}`; ordering is section-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_TYPE_VOLFRAC`` - - Volume fractions of the particle types. The volume fractions can be set homogeneous or individually along both axes. For each cell, the volume fractions have to sum to 1. In case of a spatially inhomogeneous setting, the :math:`\texttt{SENS_SECTION}` field is used for indexing the axial cell and the :math:`\texttt{SENS_REACTION}` field is used for indexing the radial cell when specifying parameter sensitivities. This field is optional in case of only one particle type. - - ================ ======================== =========================================================== - **Type:** double **Range:** :math:`[0,1]` **Length:** see :math:`\texttt{PAR_TYPE_VOLFRAC_MULTIPLEX}` - ================ ======================== =========================================================== - -``PAR_TYPE_VOLFRAC_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PAR_TYPE_VOLFRAC}`. Determines whether :math:`\texttt{PAR_TYPE_VOLFRAC}` is treated as radial- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PAR_TYPE_VOLFRAC}`. Valid modes are: - - 0. Radial-independent, axial-independent; length of :math:`\texttt{PAR_TYPE_VOLFRAC}` is :math:`\texttt{NPARTYPE}` - 1. Radial-dependent, axial-independent; length of :math:`\texttt{PAR_TYPE_VOLFRAC}` is :math:`\texttt{NRAD} \cdot \texttt{NPARTYPE}`; ordering is radial-major - 2. Axial-dependent; length of :math:`\texttt{PAR_TYPE_VOLFRAC}` is :math:`\texttt{NCOL} \cdot \texttt{NPARTYPE}`; ordering is axial-major - 3. Radial-dependent, axial-dependent; length of :math:`\texttt{PAR_TYPE_VOLFRAC}` is :math:`\texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NPARTYPE}`; ordering is axial-radial-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - - -Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL_2D ------------------------------------------------------------------------------- - -``NCOL`` - - Number of axial column discretization cells - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NRAD`` - - Number of radial column discretization cells - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NPARTYPE`` - - Number of particle types. Optional, inferred from the length of :math:`\texttt{NPAR}` or :math:`\texttt{NBOUND}` if left out. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NPAR`` - - Number of particle (radial) discretization cells for each particle type - - ============= ========================= ========================================= - **Type:** int **Range:** :math:`\geq 1` **Length:** :math:`1 / \texttt{NPARTYPE}` - ============= ========================= ========================================= - -``NBOUND`` - - Number of bound states for each component in each particle type in type-major ordering - - ============= ========================= ========================================================================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ============= ========================= ========================================================================== - -``PAR_GEOM`` - - Specifies the particle geometry for all or each particle type. Valid values are :math:`\texttt{SPHERE}`, :math:`\texttt{CYLINDER}`, :math:`\texttt{SLAB}`. Optional, defaults to :math:`\texttt{SPHERE}`. - - ================ ================================================= - **Type:** string **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ================ ================================================= - -``RADIAL_DISC_TYPE`` - - Specifies the radial discretization scheme. Valid values are :math:`\texttt{EQUIDISTANT}`, :math:`\texttt{EQUIVOLUME}`, and :math:`\texttt{USER_DEFINED}`. - - ================ ============= - **Type:** string **Length:** 1 - ================ ============= - -``RADIAL_COMPARTMENTS`` - - Coordinates for the radial compartment boundaries (ignored if :math:`\texttt{RADIAL_DISC_TYPE} \neq \texttt{USER_DEFINED}`). The coordinates are absolute and have to include the endpoints 0 and :math:`\texttt{COLUMN_RADIUS}`. The values are expected in ascending order (i.e., 0 is the first and :math:`\texttt{COLUMN_RADIUS}` the last value in the array). - - **Unit:** :math:`\mathrm{m}` - - ================ ============================================= ==================================== - **Type:** double **Range:** :math:`[0,\texttt{COLUMN_RADIUS}]` **Length:** :math:`\texttt{NRAD} + 1` - ================ ============================================= ==================================== - -``PAR_DISC_TYPE`` - - Specifies the discretization scheme inside the particles for all or each particle type. Valid values are :math:`\texttt{EQUIDISTANT_PAR}`, :math:`\texttt{EQUIVOLUME_PAR}`, and :math:`\texttt{USER_DEFINED_PAR}`. - - ================ ========================================= - **Type:** string **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ========================================= - -``PAR_DISC_VECTOR`` - - Node coordinates for the cell boundaries (ignored if :math:`\texttt{PAR_DISC_TYPE} \neq \texttt{USER_DEFINED_PAR}`). The coordinates are relative and have to include the endpoints 0 and 1. They are later linearly mapped to the true radial range :math:`[r_{c,j}, r_{p,j}]`. The coordinates for each particle type are appended to one long vector in type-major ordering. - - ================ ======================== =============================================== - **Type:** double **Range:** :math:`[0,1]` **Length:** :math:`sum_i (\texttt{NPAR}_i + 1)` - ================ ======================== =============================================== - -``PAR_BOUNDARY_ORDER`` - - Order of accuracy of outer particle boundary condition. Optional, defaults to 2. - - ============= ============================ ============= - **Type:** int **Range:** :math:`\{ 1,2 \}` **Length:** 1 - ============= ============================ ============= - -``USE_ANALYTIC_JACOBIAN`` - - Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``LINEAR_SOLVER_BULK`` - - Linear solver used for the sparse column bulk block. This field is optional, the best available method is selected (i.e., sparse direct solver if possible). Valid values are: - - - :math:`\texttt{DENSE}` Converts the sparse matrix into a banded matrix and uses regular LAPACK. Slow and memory intensive, but always available. - - :math:`\texttt{UMFPACK}` Uses the UMFPACK sparse direct solver (LU decomposition) from SuiteSparse. Fast, but has to be enabled when compiling and requires UMFPACK library. - - :math:`\texttt{SUPERLU}` Uses the SuperLU sparse direct solver (LU decomposition). Fast, but has to be enabled when compiling and requires SuperLU library. - - ================ ======================================================================= ============= - **Type:** string **Range:** :math:`\{\texttt{DENSE},\texttt{UMFPACK},\texttt{SUPERLU}\}` **Length:** 1 - ================ ======================================================================= ============= - -``RECONSTRUCTION`` - - Type of reconstruction method for fluxes - - ================ ================================ ============= - **Type:** string **Range:** :math:`\texttt{WENO}` **Length:** 1 - ================ ================================ ============= - -``GS_TYPE`` - - Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of 0 enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``MAX_KRYLOV`` - - Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: :math:`\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}`) - - ============= ================================================================================================================ ============= - **Type:** int **Range:** :math:`\{0, \dots, \texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}` **Length:** 1 - ============= ================================================================================================================ ============= - -``MAX_RESTARTS`` - - Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``SCHUR_SAFETY`` - - Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5. - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -For further discretization parameters, see also :ref:`flux_restruction_methods`, and :ref:`non_consistency_solver_parameters`. diff --git a/_sources/interface/unit_operations/cstr.rst.txt b/_sources/interface/unit_operations/cstr.rst.txt deleted file mode 100644 index ac7be01d4..000000000 --- a/_sources/interface/unit_operations/cstr.rst.txt +++ /dev/null @@ -1,140 +0,0 @@ -.. _cstr_config: - -Continuous stirred tank reactor model -===================================== - -Group /input/model/unit_XXX - UNIT_TYPE = CSTR ----------------------------------------------- - - -For information on model equations, refer to :ref:`cstr_model`. - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - ================ ================================ ============= - **Type:** string **Range:** :math:`\texttt{CSTR}` **Length:** 1 - ================ ================================ ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NBOUND`` - - Number of bound states for each component in each particle type in type-major ordering (optional, defaults to all 0) - - ============= ========================= =========================================================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ============= ========================= =========================================================== - -``USE_ANALYTIC_JACOBIAN`` - - Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``ADSORPTION_MODEL`` - - Specifies the type of binding model of each particle type - - ================ ========================================== ===================================== - **Type:** string **Range:** See Section :ref:`FFAdsorption` **Length:** :math:`\texttt{NPARTYPE}` - ================ ========================================== ===================================== - -``REACTION_MODEL`` - - Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup :math:`\texttt{reaction_bulk}`. - - ================ ======================================== ============= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** 1 - ================ ======================================== ============= - -``REACTION_MODEL_PARTICLES`` - - Specifies the type of reaction model of each particle type (or of all particle types if length is 1). The model is configured in the subgroup :math:`\texttt{reaction_particle}`, or :math:`\texttt{reaction_particle_XXX}` in case of disabled multiplexing. - - ================ ======================================== ========================================= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================================== ========================================= - -``REACTION_MODEL_PARTICLES_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{REACTION_MODEL_PARTICLES}`. If set to 0, each particle type has a different reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`\texttt{NPARTYPE}`. If set to 1, all particle types share the same reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is 1. This field is optional and inferred from the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``INIT_C`` - - Initial concentrations for each component in the mobile phase - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ========================= ================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` - ================ ========================= ================================== - -``INIT_VOLUME`` - - Initial tank volume - - **Unit:** :math:`\mathrm{m}^{3}` - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``INIT_Q`` - - Initial concentrations for each bound state of each component in the bead solid phase of each particle type in type-component-major ordering. This field is optional and defaults to all 0. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - ================ ========================= ======================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NTOTALBND}` - ================ ========================= ======================================= - -``INIT_STATE`` - - Full state vector for initialization (optional, :math:`\texttt{INIT_C}`, :math:`\texttt{INIT_Q}`, and :math:`\texttt{INIT_VOLUME}` will be ignored; if length is :math:`2\texttt{NDOF}`, then the second half is used for time derivatives) - - **Unit:** :math:`various` - - ================ ============================= ==================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NDOF} / 2\texttt{NDOF}` - ================ ============================= ==================================================== - -``POROSITY`` - - Porosity :math:`\varepsilon` (defaults to 1) - - ================ ======================== ============= - **Type:** double **Range:** :math:`(0,1]` **Length:** 1 - ================ ======================== ============= - -``FLOWRATE_FILTER`` - - Flow rate of pure liquid without components (optional, defaults to :math:`\mathrm{m}^{3}\,\mathrm{s}^{-1}`) - - **Unit:** :math:`\mathrm{m}^{3}\,\mathrm{s}^{-1}` - - ================ ========================= ====================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`1 / \texttt{NSEC}` - ================ ========================= ====================================== - -``PAR_TYPE_VOLFRAC`` - - Volume fractions of the particle types, have to sum to 1 - - ================ ======================== ===================================== - **Type:** double **Range:** :math:`[0,1]` **Length:** :math:`\texttt{NPARTYPE}` - ================ ======================== ===================================== diff --git a/_sources/interface/unit_operations/general_rate_model.rst.txt b/_sources/interface/unit_operations/general_rate_model.rst.txt deleted file mode 100644 index 5d81dc7fc..000000000 --- a/_sources/interface/unit_operations/general_rate_model.rst.txt +++ /dev/null @@ -1,558 +0,0 @@ -.. _general_rate_model_config: - -General Rate Model -================== - -Group /input/model/unit_XXX - UNIT_TYPE - GENERAL_RATE_MODEL ------------------------------------------------------------- - -For information on model equations, refer to :ref:`general_rate_model_model`. - - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - ================ ============================================== ============= - **Type:** string **Range:** :math:`\texttt{GENERAL_RATE_MODEL}` **Length:** 1 - ================ ============================================== ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``ADSORPTION_MODEL`` - - Specifies the type of binding model of each particle type (or of all particle types if length is :math:`1`) - - ================ ============================== ========================================= - **Type:** string **Range:** :ref:`FFAdsorption` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ============================== ========================================= - -``ADSORPTION_MODEL_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{ADSORPTION_MODEL}`. If set to :math:`0`, each particle type has a different binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is :math:`\texttt{NPARTYPE}`. If set to :math:`1`, all particle types share the same binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is :math:`1`. This field is optional and inferred from the length of :math:`\texttt{ADSORPTION_MODEL}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``REACTION_MODEL_BULK`` - - Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup :math:`\texttt{reaction_bulk}`. - - ================ ======================================== ============= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** 1 - ================ ======================================== ============= - -``REACTION_MODEL_PARTICLES`` - - Specifies the type of reaction model of each particle type (or of all particle types if length is :math:`1`). The model is configured in the subgroup :math:`\texttt{reaction_particle}`, or :math:`\texttt{reaction_particle_XXX}` in case of disabled multiplexing. - - ================ ======================================== ========================================= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================================== ========================================= - -``REACTION_MODEL_PARTICLES_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{REACTION_MODEL_PARTICLES}`. If set to :math:`0`, each particle type has a different reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`\texttt{NPARTYPE}`. If set to :math:`1`, all particle types share the same reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`1`. This field is optional and inferred from the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``INIT_C`` - - Initial concentrations for each component in the bulk mobile phase - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ========================= ================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` - ================ ========================= ================================== - -``INIT_CP`` - - Initial concentrations for each component in the bead liquid phase (optional, :math:`\texttt{INIT_C}` is used if left out). The length of this field can be :math:`\texttt{NCOMP}` (same values for each particle type) or :math:`\texttt{NPARTYPE} \cdot \texttt{NCOMP}` Values for each particle type can only be given when :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`0`. The ordering is type-major. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}` - - ================ ========================= =========================================================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ================ ========================= =========================================================================== - -``INIT_Q`` - - Initial concentrations for each bound state of each component in the bead solid phase. If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`0`, values for each particle type are required in type-component-major ordering (length is :math:`\texttt{NTOTALBND}`). If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`1`, values for one particle type are required in component-major ordering (length is :math:`\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i`). - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - ================ ========================= - **Type:** double **Range:** :math:`\geq 0` - ================ ========================= - -``INIT_STATE`` - - Full state vector for initialization (optional, :math:`\texttt{INIT_C}`, :math:`\texttt{INIT_CP}`, and :math:`\texttt{INIT_Q}` will be ignored; if length is :math:`2\texttt{NDOF}`, then the second half is used for time derivatives) - - **Unit:** :math:`various` - - ================ ============================= ================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NDOF} / 2\texttt{NDOF}` - ================ ============================= ================================================== - -``COL_DISPERSION`` - - Axial dispersion coefficient - - **Unit:** :math:`\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{COL_DISPERSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``COL_DISPERSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{COL_DISPERSION}`. Determines whether :math:`\texttt{COL_DISPERSION}` is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{COL_DISPERSION}`. Valid modes are: - - 0. Component-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`1` - 1. Component-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP}` - 2. Component-independent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NSEC}` - 3. Component-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``COL_LENGTH`` - - Column length - - **Unit:** :math:`\mathrm{m}` - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``COL_POROSITY`` - - Column porosity - - ================ ======================== ============= - **Type:** double **Range:** :math:`(0,1]` **Length:** 1 - ================ ======================== ============= - -``FILM_DIFFUSION`` - - Film diffusion coefficients for each component of each particle type - - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{FILM_DIFFUSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``FILM_DIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{FILM_DIFFUSION}`. Determines whether :math:`\texttt{FILM_DIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{FILM_DIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_POROSITY`` - - Particle porosity of all particle types or for each particle type - - ================ ======================== ========================================= - **Type:** double **Range:** :math:`(0,1]` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================== ========================================= - -``PAR_RADIUS`` - - Particle radius of all particle types or for each particle type - - **Unit:** :math:`\mathrm{m}` - - ================ ===================== ========================================= - **Type:** double **Range:** :math:`>0` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ===================== ========================================= - -``PAR_CORERADIUS`` - - Particle core radius of all particle types or for each particle type (optional, defaults to :math:`\mathrm{m}`) - - **Unit:** :math:`\mathrm{m}` - - ================ =========================================== ========================================= - **Type:** double **Range:** :math:`[0, \texttt{PAR_RADIUS})` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ =========================================== ========================================= - -``PORE_ACCESSIBILITY`` - - Pore accessibility factor of each component in each particle type (optional, defaults to :math:`1`). - Note: Should not be used in combination with any binding model! - - ================ ========================= ============================================================= - **Type:** double **Range:** :math:`(0, 1]` **Length:** see :math:`\texttt{PORE_ACCESSIBILITY_MULTIPLEX}` - ================ ========================= ============================================================= - -``PORE_ACCESSIBILITY_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PORE_ACCESSIBILITY}`. Determines whether :math:`\texttt{PORE_ACCESSIBILITY}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PORE_ACCESSIBILITY}`. Valid modes are: - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_DIFFUSION`` - - Effective particle diffusion coefficients of each component in each particle type - - **Unit:** :math:`\mathrm{m}_{\mathrm{MP}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ======================================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{PAR_DIFFUSION_MULTIPLEX}` - ================ ========================= ======================================================== - -``PAR_DIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{PAR_DIFFUSION}`. Determines whether :math:`\texttt{PAR_DIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PAR_DIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PAR_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_SURFDIFFUSION`` - - Particle surface diffusion coefficients of each bound state of each component in each particle type (optional, defaults to all 0 :math:`\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}`) - - **Unit:** :math:`\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ============================================================ - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{PAR_SURFDIFFUSION_MULTIPLEX}` - ================ ========================= ============================================================ - -``PAR_SURFDIFFUSION_MULTIPLEX`` - Multiplexing mode of :math:`\texttt{PAR_SURFDIFFUSION}`. Determines whether :math:`\texttt{PAR_SURFDIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PAR_SURFDIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NBND}`; ordering is component-major - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NBND} \cdot \texttt{NSEC}`; ordering is section-component-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NTOTALBND}`; ordering is type-component-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PAR_SURFDIFFUSION}` is :math:`\texttt{NTOTALBND} \cdot \texttt{NSEC}`; ordering is section-type-component-major - -``PAR_SURFDIFFUSION_MULTIPLEX`` - ============= ==================================== ============= - **Type:** int **Range:** :math:`\{ 0, \dots, 3 \}` **Length:** 1 - ============= ==================================== ============= - -``PAR_SURFDIFFUSION_DEP`` - - Parameter dependence of :math:`\texttt{PAR_SURFDIFFUSION}`. Valid dependencies are: - - - :math:`\texttt{NONE}` Original parameter is used unmodified. - - :math:`\texttt{LIQUID_SALT_EXPONENTIAL}` Original parameter is modified by exponential law of liquid phase salt concentration. - - :math:`\texttt{LIQUID_SALT_POWER}` Original parameter is modified by power law of liquid phase salt concentration. - - :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}` Original parameter is modified by colloidal binding affinity based on liquid phase salt concentration. - - Optional: If left out, no parameter dependence is assumed and the original surface diffusion coefficients are used unmodified. - - - ================ ========================================= - **Type:** string **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ========================================= - -``PAR_SURFDIFFUSION_EXPFACTOR`` - - Factor :math:`\texttt{p1}` in exponential law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_EXPONENTIAL}`. - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NBOUND}` - ================ ========================= =================================== - -``PAR_SURFDIFFUSION_EXPARGMULT`` - - Factor :math:`\texttt{p2}` in exponential law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_EXPONENTIAL}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_POWFACTOR`` - - Factor :math:`\texttt{p1}` in power law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_POWER}`. - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NBOUND}` - ================ ========================= =================================== - -``PAR_SURFDIFFUSION_POWEXP`` - - Fjactor :math:`\texttt{p2}` in power law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient. Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_POWER}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_LOGKEQFACTOR`` - - Factor :math:`\texttt{p1}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_LOGKEQEXP`` - - Factor :math:`\texttt{p2}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_LOGKEQCONST`` - - Factor :math:`\texttt{p3}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_POWFACTOR`` - - Factor :math:`\texttt{p4}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_POWEXP`` - - Factor :math:`\texttt{p5}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - - ``PAR_SURFDIFFUSION_EXPFACTOR`` - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``PAR_SURFDIFFUSION_POWEXP`` - - Factor :math:`\texttt{p5}` in colloidal affinity law particle surface diffusion relation - :math:`D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]` - where :math:`\tilde{D}_{s, i, m}` is the original surface diffusion coefficient and - :math:`k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}`. - Only required if :math:`\texttt{PAR_SURFDIFFUSION_DEP}` is :math:`\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}`. - - ================ ============================= =================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NBOUND}` - ================ ============================= =================================== - -``VELOCITY`` - - Interstitial velocity of the mobile phase (optional if :math:`\texttt{CROSS_SECTION_AREA}` is present, see Section :ref:`MUOPGRMflow`) - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ============================= ======================================= - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`1 / \texttt{NSEC}` - ================ ============================= ======================================= - -``CROSS_SECTION_AREA`` - - Cross section area of the column (optional if :math:`\texttt{VELOCITY}` is present, see Section :ref:`MUOPGRMflow`) - **Unit:** :math:`\mathrm{m}^{2}` - - ================ ===================== ============= - **Type:** double **Range:** :math:`>0` **Length:** 1 - ================ ===================== ============= - -``PAR_TYPE_VOLFRAC`` - - Volume fractions of the particle types. The volume fractions can be set for all axial cells together or for each individual axial cell. For each cell, the volume fractions have to sum to :math:`1`. In case of a spatially inhomogeneous setting, the data is expected in cell-major ordering and the :math:`\texttt{SENS_SECTION}` field is used for indexing the axial cell when specifying parameter sensitivities. This field is optional in case of only one particle type. - - ================ ======================== ============================================================================= - **Type:** double **Range:** :math:`[0,1]` **Length:** :math:`\texttt{NPARTYPE} / \texttt{NCOL} \cdot \texttt{NPARTYPE}` - ================ ======================== ============================================================================= - - -Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL ---------------------------------------------------------------------------- - - -``NCOL`` - - Number of axial column discretization cells - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NPARTYPE`` - - Number of particle types. Optional, inferred from the length of :math:`\texttt{NPAR}` or :math:`\texttt{NBOUND}` if left out. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NPAR`` - - Number of particle (radial) discretization cells for each particle type - - ============= ========================= ================================================= - **Type:** int **Range:** :math:`\geq 1` **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ============= ========================= ================================================= - -``NBOUND`` - - Number of bound states for each component in each particle type in type-major ordering - - ============= ========================= =================================================================================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` / :math:`\texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ============= ========================= =================================================================================== - -``PAR_GEOM`` - - Specifies the particle geometry for all or each particle type. Valid values are :math:`\texttt{SPHERE}`, :math:`\texttt{CYLINDER}`, :math:`\texttt{SLAB}`. Optional, defaults to :math:`\texttt{SPHERE}`. - - ================ ================================================= - **Type:** string **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ================ ================================================= - -``PAR_DISC_TYPE`` - - Specifies the discretization scheme inside the particles for all or each particle type. Valid values are :math:`\texttt{EQUIDISTANT_PAR}`, :math:`\texttt{EQUIVOLUME_PAR}`, and :math:`\texttt{USER_DEFINED_PAR}`. - - ================ ================================================= - **Type:** string **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ================ ================================================= - -``PAR_DISC_VECTOR`` - - Node coordinates for the cell boundaries (ignored if :math:`\texttt{PAR_DISC_TYPE} \neq \texttt{USER_DEFINED_PAR}`). The coordinates are relative and have to include the endpoints :math:`0` and :math:`1`. They are later linearly mapped to the true radial range :math:`[r_{c,j}, r_{p,j}]`. The coordinates for each particle type are appended to one long vector in type-major ordering. - - ================ ======================== ================================================ - **Type:** double **Range:** :math:`[0,1]` **Length:** :math:`\sum_i (\texttt{NPAR}_i + 1)` - ================ ======================== ================================================ - -``PAR_BOUNDARY_ORDER`` - - Order of accuracy of outer particle boundary condition. Optional, defaults to :math:`2`. - - ============= ============================ ============= - **Type:** int **Range:** :math:`\{ 1,2 \}` **Length:** 1 - ============= ============================ ============= - -``USE_ANALYTIC_JACOBIAN`` - - Determines whether analytically computed Jacobian matrix (faster) is used (value is :math:`1`) instead of Jacobians generated by algorithmic differentiation (slower, value is :math:`0`) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``RECONSTRUCTION`` - - Type of reconstruction method for fluxes - - ================ ================================ ============= - **Type:** string **Range:** :math:`\texttt{WENO}` **Length:** 1 - ================ ================================ ============= - -``GS_TYPE`` - - Type of Gram-Schmidt orthogonalization, see IDAS guide Section 4.5.7.3, p. 41f. A value of :math:`0` enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``MAX_KRYLOV`` - - Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: :math:`\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}`) - - ============= ============================================================================================ ============= - **Type:** int **Range:** :math:`\{0, \dots, \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}` **Length:** 1 - ============= ============================================================================================ ============= - -``MAX_RESTARTS`` - - Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``SCHUR_SAFETY`` - - Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5. - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -``FIX_ZERO_SURFACE_DIFFUSION`` - - Determines whether the surface diffusion parameters :math:`\texttt{PAR_SURFDIFFUSION}` are fixed if the parameters are zero. If the parameters are fixed to zero (:math:`\texttt{FIX_ZERO_SURFACE_DIFFUSION} = 1`, :math:`\texttt{PAR_SURFDIFFUSION} = 0`), the parameters must not become non-zero during this or subsequent simulation runs. The internal data structures are optimized for a more efficient simulation. This field is optional and defaults to :math:`0` (optimization disabled in favor of flexibility). - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -For further discretization parameters, see also :ref:`flux_restruction_methods`, and :ref:`non_consistency_solver_parameters`. - diff --git a/_sources/interface/unit_operations/index.rst.txt b/_sources/interface/unit_operations/index.rst.txt deleted file mode 100644 index 42cb27dd3..000000000 --- a/_sources/interface/unit_operations/index.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _unit_operation_config: - -Unit Operations -=============== - -.. toctree:: - :maxdepth: 2 - - inlet - outlet - general_rate_model - lumped_rate_model_with_pores - lumped_rate_model_without_pores - 2d_general_rate_model - cstr - diff --git a/_sources/interface/unit_operations/inlet.rst.txt b/_sources/interface/unit_operations/inlet.rst.txt deleted file mode 100644 index fba0fc476..000000000 --- a/_sources/interface/unit_operations/inlet.rst.txt +++ /dev/null @@ -1,79 +0,0 @@ -.. _inlet_config: - -Inlet -===== - -Group /input/model/unit_XXX - UNIT-TYPE = INLET ------------------------------------------------ - -For information on model equations, refer to :ref:`inlet_model`. - - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - ================ ================================= ============= - **Type:** string **Range:** :math:`\texttt{INLET}` **Length:** 1 - ================ ================================= ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``INLET_TYPE`` - - Specifies the type of inlet profile - - ================ ================================================ ============= - **Type:** string **Range:** :math:`\texttt{PIECEWISE_CUBIC_POLY}` **Length:** 1 - ================ ================================================ ============= - -Group /input/model/unit_XXX/sec_XXX ------------------------------------ - -``CONST_COEFF`` - - Constant coefficients for inlet concentrations - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NCOMP}` - ================ ============================= ================================== - -``LIN_COEFF`` - - Linear coefficients for inlet concentrations - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}` - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NCOMP}` - ================ ============================= ================================== - -``QUAD_COEFF`` - - Quadratic coefficients for inlet concentrations - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-2}` - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NCOMP}` - ================ ============================= ================================== - -``CUBE_COEFF`` - - Cubic coefficients for inlet concentrations - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-3}` - - ================ ============================= ================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NCOMP}` - ================ ============================= ================================== - - diff --git a/_sources/interface/unit_operations/lumped_rate_model_with_pores.rst.txt b/_sources/interface/unit_operations/lumped_rate_model_with_pores.rst.txt deleted file mode 100644 index c40f3d27a..000000000 --- a/_sources/interface/unit_operations/lumped_rate_model_with_pores.rst.txt +++ /dev/null @@ -1,310 +0,0 @@ -.. _lumped_rate_model_with_pores_config: - -Lumped rate model with pores -============================ - -Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES ----------------------------------------------------------------------- - -For information on model equations, refer to :ref:`lumped_rate_model_with_pores_model`. - - -``UNIT_TYPE`` - Specifies the type of unit operation model - - ================ ======================================================== ============= - **Type:** string **Range:** :math:`\texttt{LUMPED_RATE_MODEL_WITH_PORES}` **Length:** 1 - ================ ======================================================== ============= - -``NCOMP`` - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``ADSORPTION_MODEL`` - Specifies the type of binding model of each particle type (or of all particle types if length is :math:`1`) - - ================ ========================================== ========================================= - **Type:** string **Range:** See Section :ref:`FFAdsorption` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ========================================== ========================================= - -``ADSORPTION_MODEL_MULTIPLEX`` - Multiplexing mode of :math:`\texttt{ADSORPTION_MODEL}`. If set to :math:`0`, each particle type has a different binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is :math:`\texttt{NPARTYPE}`. If set to :math:`1`, all particle types share the same binding model and the length of :math:`\texttt{ADSORPTION_MODEL}` is :math:`1`. This field is optional and inferred from the length of :math:`\texttt{ADSORPTION_MODEL}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``REACTION_MODEL_BULK`` - Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup :math:`\texttt{reaction_bulk}`. - - ================ ================================ ============= - **Type:** string **Range:** See :ref:`FFReaction` **Length:** 1 - ================ ================================ ============= - -``REACTION_MODEL_PARTICLES`` - Specifies the type of reaction model of each particle type (or of all particle types if length is :math:`1`). The model is configured in the subgroup :math:`\texttt{reaction_particle}`, or :math:`\texttt{reaction_particle_XXX}` in case of disabled multiplexing. - - ================ ======================================== =================================== - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ================ ======================================== =================================== - -``REACTION_MODEL_PARTICLES_MULTIPLEX`` - Multiplexing mode of :math:`\texttt{REACTION_MODEL_PARTICLES}`. If set to :math:`0`, each particle type has a different reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`\texttt{NPARTYPE}`. If set to :math:`1`, all particle types share the same reaction model and the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` is :math:`1`. This field is optional and inferred from the length of :math:`\texttt{REACTION_MODEL_PARTICLES}` if left out. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``INIT_C`` - Initial concentrations for each component in the bulk mobile phase - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ========================= ================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` - ================ ========================= ================================== - -``INIT_CP`` - Initial concentrations for each component in the bead liquid phase (optional, :math:`\texttt{INIT_C}` is used if left out). The length of this field can be :math:`\texttt{NCOMP}` (same values for each particle type) or :math:`\texttt{NPARTYPE} \cdot \texttt{NCOMP}` Values for each particle type can only be given when :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`0`. The ordering is type-major. - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}` - - ================ ========================= =========================================================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ================ ========================= =========================================================================== - -``INIT_Q`` - Initial concentrations for each bound state of each component in the bead solid phase. If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`0`, values for each particle type are required in type-component-major ordering (length is :math:`\texttt{NTOTALBND}`). If :math:`\texttt{ADSORPTION_MODEL_MULTIPLEX}` is :math:`1`, values for one particle type are required in component-major ordering (length is :math:`\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i`). - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - ================ ========================= - **Type:** double **Range:** :math:`\geq 0` - ================ ========================= - -``INIT_STATE`` - Full state vector for initialization (optional, :math:`\texttt{INIT_C}`, :math:`\texttt{INIT_CP}`, and :math:`\texttt{INIT_Q}` will be ignored; if length is :math:`2\texttt{NDOF}`, then the second half is used for time derivatives) - - **Unit:** :math:`various` - - ================ ============================= ================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NDOF} / 2\texttt{NDOF}` - ================ ============================= ================================================== - -``COL_DISPERSION`` - Axial dispersion coefficient - - **Unit:** :math:`\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{COL_DISPERSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``COL_DISPERSION_MULTIPLEX`` - Multiplexing mode of :math:`\texttt{COL_DISPERSION}`. Determines whether :math:`\texttt{COL_DISPERSION}` is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{COL_DISPERSION}`. Valid modes are: - - 0. Component-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`1` - 1. Component-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP}` - 2. Component-independent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NSEC}` - 3. Component-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``COL_LENGTH`` - Column length - - **Unit:** :math:`\mathrm{m}` - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``COL_POROSITY`` - - Column porosity - - ================ ======================== ============= - **Type:** double **Range:** :math:`(0,1]` **Length:** 1 - ================ ======================== ============= - -``FILM_DIFFUSION`` - - Film diffusion coefficients for each component of each particle type - - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{FILM_DIFFUSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``FILM_DIFFUSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{FILM_DIFFUSION}`. Determines whether :math:`\texttt{FILM_DIFFUSION}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{FILM_DIFFUSION}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{FILM_DIFFUSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``PAR_POROSITY`` - - Particle porosity of all particle types or for each particle type - - ================ ======================== ========================================= - **Type:** double **Range:** :math:`(0,1]` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ======================== ========================================= - -``PAR_RADIUS`` - - Particle radius of all particle types or for each particle type - - **Unit:** :math:`\mathrm{m}` - - ================ ===================== ========================================= - **Type:** double **Range:** :math:`>0` **Length:** :math:`1 / \texttt{NPARTYPE}` - ================ ===================== ========================================= - -``PORE_ACCESSIBILITY`` - - Pore accessibility factor of each component in each particle type (optional, defaults to :math:`1`). - Note: Should not be used in combination with any binding model! - - - ================ ========================= ============================================================= - **Type:** double **Range:** :math:`(0, 1]` **Length:** see :math:`\texttt{PORE_ACCESSIBILITY_MULTIPLEX}` - ================ ========================= ============================================================= - -``PORE_ACCESSIBILITY_MULTIPLEX`` - Multiplexing mode of :math:`\texttt{PORE_ACCESSIBILITY}`. Determines whether :math:`\texttt{PORE_ACCESSIBILITY}` is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{PORE_ACCESSIBILITY}`. Valid modes are: - - 0. Component-dependent, type-independent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP}` - 1. Component-dependent, type-independent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - 2. Component-dependent, type-dependent, section-independent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE}`; ordering is type-major - 3. Component-dependent, type-dependent, section-dependent; length of :math:`\texttt{PORE_ACCESSIBILITY}` is :math:`\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}`; ordering is section-type-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``VELOCITY`` - Interstitial velocity of the mobile phase (optional if :math:`\texttt{CROSS_SECTION_AREA}` is present, see Section :ref:`MUOPGRMflow`) - - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ============================= ===================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`1 / \texttt{NSEC}` - ================ ============================= ===================================== - -``CROSS_SECTION_AREA`` - - Cross section area of the column (optional if :math:`\texttt{VELOCITY}` is present, see Section :ref:`MUOPGRMflow`) - - **Unit:** :math:`\mathrm{m}^{2}` - - ================ ===================== ============= - **Type:** double **Range:** :math:`>0` **Length:** 1 - ================ ===================== ============= - -``PAR_TYPE_VOLFRAC`` - - Volume fractions of the particle types. The volume fractions can be set for all axial cells together or for each individual axial cell. For each cell, the volume fractions have to sum to :math:`1`. In case of a spatially inhomogeneous setting, the data is expected in cell-major ordering and the :math:`\texttt{SENS_SECTION}` field is used for indexing the axial cell when specifying parameter sensitivities. This field is optional in case of only one particle type. - - ================ ======================== ======================================================================= - **Type:** double **Range:** :math:`[0,1]` **Length:** :math:`\texttt{NPARTYPE}` / :math:`\texttt{NCOL} \cdot \texttt{NPARTYPE}` - ================ ======================== ======================================================================= - - -Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES -------------------------------------------------------------------------------------- - - -``NCOL`` - - Number of axial column discretization cells - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NPARTYPE`` - - Number of particle types. Optional, inferred from the length of :math:`\texttt{NBOUND}` if left out. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NBOUND`` - - Number of bound states for each component in each particle type in type-major ordering - - ============= ========================= =========================================================================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}` - ============= ========================= =========================================================================== - -``PAR_GEOM`` - - Specifies the particle geometry for all or each particle type. Valid values are :math:`\texttt{SPHERE}`, :math:`\texttt{CYLINDER}`, :math:`\texttt{SLAB}`. Optional, defaults to :math:`\texttt{SPHERE}`. - - ================ ================================================= - **Type:** string **Length:** :math:`1` / :math:`\texttt{NPARTYPE}` - ================ ================================================= - -``USE_ANALYTIC_JACOBIAN`` - - Determines whether analytically computed Jacobian matrix (faster) is used (value is :math:`1`) instead of Jacobians generated by algorithmic differentiation (slower, value is :math:`0`) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``RECONSTRUCTION`` - - Type of reconstruction method for fluxes - - ================ ================================ ============= - **Type:** string **Range:** :math:`\texttt{WENO}` **Length:** 1 - ================ ================================ ============= - -``GS_TYPE`` - - Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of :math:`0` enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt. - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``MAX_KRYLOV`` - - Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: :math:`\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}`) - - ============= ============================================================================================ ============= - **Type:** int **Range:** :math:`\{0, \dots, \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}` **Length:** 1 - ============= ============================================================================================ ============= - -``MAX_RESTARTS`` - - Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts. - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 0` **Length:** 1 - ============= ========================= ============= - -``SCHUR_SAFETY`` - - Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5. - - ================ ========================= ============= - **Type:** double **Range:** :math:`\geq 0` **Length:** 1 - ================ ========================= ============= - -For further discretization parameters, see also :ref:`flux_restruction_methods`, and :ref:`non_consistency_solver_parameters`. diff --git a/_sources/interface/unit_operations/lumped_rate_model_without_pores.rst.txt b/_sources/interface/unit_operations/lumped_rate_model_without_pores.rst.txt deleted file mode 100644 index 1b37b4d2e..000000000 --- a/_sources/interface/unit_operations/lumped_rate_model_without_pores.rst.txt +++ /dev/null @@ -1,173 +0,0 @@ -.. _lumped_rate_model_without_pores_config: - -Lumped Rate Model Without Pores -=============================== - -Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES -------------------------------------------------------------------------- - -For information on model equations, refer to :ref:`lumped_rate_model_without_pores_model`. - - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - ================ =========================================================== ============= - **Type:** string **Range:** :math:`\texttt{LUMPED_RATE_MODEL_WITHOUT_PORES}` **Length:** 1 - ================ =========================================================== ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``ADSORPTION_MODEL`` - - Specifies the type of binding model - - ================ ========================================== ============= - **Type:** string **Range:** See Section :ref:`FFAdsorption` **Length:** 1 - ================ ========================================== ============= - -``REACTION_MODEL`` - - Specifies the type of reaction model of the combined bulk and particle volume. The model is configured in the subgroup :math:`\texttt{reaction}`. - - ================ ======================================== ============= - **Type:** string **Range:** See Section :ref:`FFReaction` **Length:** 1 - ================ ======================================== ============= - -``INIT_C`` - - Initial concentrations for each component in the bulk mobile phase - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}` - - ================ ========================= =================================== - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` - ================ ========================= =================================== - -``INIT_Q`` - - Initial concentrations for each bound state of each component in the bead solid phase in component-major ordering - - **Unit:** :math:`\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}` - - ================ ========================= ======================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NTOTALBND}` - ================ ========================= ======================================= - -``INIT_STATE`` - - Full state vector for initialization (optional, :math:`\texttt{INIT_C}` and :math:`\texttt{INIT_Q}` will be ignored; if length is :math:`2\texttt{NDOF}`, then the second half is used for time derivatives) - - **Unit:** :math:`various` - - ================ ============================= =================================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`\texttt{NDOF} / 2\texttt{NDOF}` - ================ ============================= =================================================== - -``COL_DISPERSION`` - - Axial dispersion coefficient - - **Unit:** :math:`\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}` - - ================ ========================= ========================================================= - **Type:** double **Range:** :math:`\geq 0` **Length:** see :math:`\texttt{COL_DISPERSION_MULTIPLEX}` - ================ ========================= ========================================================= - -``COL_DISPERSION_MULTIPLEX`` - - Multiplexing mode of :math:`\texttt{COL_DISPERSION}`. Determines whether :math:`\texttt{COL_DISPERSION}` is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of :math:`\texttt{COL_DISPERSION}`. Valid modes are: - - 0. Component-independent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`1` - 1. Component-dependent, section-independent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP}` - 2. Component-independent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NSEC}` - 3. Component-dependent, section-dependent; length of :math:`\texttt{COL_DISPERSION}` is :math:`\texttt{NCOMP} \cdot \texttt{NSEC}`; ordering is section-major - - ============= =================================== ============= - **Type:** int **Range:** :math:`\{0, \dots, 3 \}` **Length:** 1 - ============= =================================== ============= - -``COL_LENGTH`` - - Column length - - **Unit:** :math:`\mathrm{m}` - - ================ ====================== ============= - **Type:** double **Range:** :math:`> 0` **Length:** 1 - ================ ====================== ============= - -``TOTAL_POROSITY`` - - Total porosity - - ================ ======================== ============= - **Type:** double **Range:** :math:`[0,1]` **Length:** 1 - ================ ======================== ============= - -``VELOCITY`` - - Interstitial velocity of the mobile phase (optional if :math:`\texttt{CROSS_SECTION_AREA}` is present, see Section :ref:`MUOPGRMflow`) - - **Unit:** :math:`\mathrm{m}\,\mathrm{s}^{-1}` - - ================ ============================= ====================================== - **Type:** double **Range:** :math:`\mathbb{R}` **Length:** :math:`1 / \texttt{NSEC}` - ================ ============================= ====================================== - -``CROSS_SECTION_AREA`` - - Cross section area of the column (optional if :math:`\texttt{VELOCITY}` is present, see Section :ref:`MUOPGRMflow`) - - **Unit:** :math:`\mathrm{m}^{2}` - - ================ ===================== ============= - **Type:** double **Range:** :math:`>0` **Length:** 1 - ================ ===================== ============= - - -Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES ----------------------------------------------------------------------------------------- - - -``NCOL`` - - Number of axial column discretization cells - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - -``NBOUND`` - - Number of bound states for each component - - ============= ========================= ================================== - **Type:** int **Range:** :math:`\geq 0` **Length:** :math:`\texttt{NCOMP}` - ============= ========================= ================================== - -``USE_ANALYTIC_JACOBIAN`` - - Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0) - - ============= =========================== ============= - **Type:** int **Range:** :math:`\{0, 1\}` **Length:** 1 - ============= =========================== ============= - -``RECONSTRUCTION`` - - Type of reconstruction method for fluxes - - ================ ================================ ============= - **Type:** string **Range:** :math:`\texttt{WENO}` **Length:** 1 - ================ ================================ ============= - -For further discretization parameters, see also :ref:`flux_restruction_methods`, and :ref:`non_consistency_solver_parameters`. - diff --git a/_sources/interface/unit_operations/outlet.rst.txt b/_sources/interface/unit_operations/outlet.rst.txt deleted file mode 100644 index 323da8bb6..000000000 --- a/_sources/interface/unit_operations/outlet.rst.txt +++ /dev/null @@ -1,30 +0,0 @@ -.. _outlet_config: - -Outlet -====== - -Group /input/model/unit_XXX - UNIT-TYPE = OUTLET ------------------------------------------------- - -For information on model equations, refer to :ref:`outlet_model`. - - -``UNIT_TYPE`` - - Specifies the type of unit operation model - - - ================ ================================== ============= - **Type:** string **Range:** :math:`\texttt{OUTLET}` **Length:** 1 - ================ ================================== ============= - -``NCOMP`` - - Number of chemical components in the chromatographic medium - - ============= ========================= ============= - **Type:** int **Range:** :math:`\geq 1` **Length:** 1 - ============= ========================= ============= - - - diff --git a/_sources/license.rst.txt b/_sources/license.rst.txt deleted file mode 100644 index 5eb36d425..000000000 --- a/_sources/license.rst.txt +++ /dev/null @@ -1,559 +0,0 @@ -License -======= -CADET is released under the GNU GPL v3 - -:: - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - Preamble - The GNU General Public License is a free, copyleft license for - software and other kinds of works. - The licenses for most software and other practical works are designed - to take away your freedom to share and change the works. By contrast, - the GNU General Public License is intended to guarantee your freedom to - share and change all versions of a program--to make sure it remains free - software for all its users. We, the Free Software Foundation, use the - GNU General Public License for most of our software; it applies also to - any other work released this way by its authors. You can apply it to - your programs, too. - When we speak of free software, we are referring to freedom, not - price. Our General Public Licenses are designed to make sure that you - have the freedom to distribute copies of free software (and charge for - them if you wish), that you receive source code or can get it if you - want it, that you can change the software or use pieces of it in new - free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you - these rights or asking you to surrender the rights. Therefore, you have - certain responsibilities if you distribute copies of the software, or if - you modify it: responsibilities to respect the freedom of others. - For example, if you distribute copies of such a program, whether - gratis or for a fee, you must pass on to the recipients the same - freedoms that you received. You must make sure that they, too, receive - or can get the source code. And you must show them these terms so they - know their rights. - Developers that use the GNU GPL protect your rights with two steps: - (1) assert copyright on the software, and (2) offer you this License - giving you legal permission to copy, distribute and/or modify it. - For the developers' and authors' protection, the GPL clearly explains - that there is no warranty for this free software. For both users' and - authors' sake, the GPL requires that modified versions be marked as - changed, so that their problems will not be attributed erroneously to - authors of previous versions. - Some devices are designed to deny users access to install or run - modified versions of the software inside them, although the manufacturer - can do so. This is fundamentally incompatible with the aim of - protecting users' freedom to change the software. The systematic - pattern of such abuse occurs in the area of products for individuals to - use, which is precisely where it is most unacceptable. Therefore, we - have designed this version of the GPL to prohibit the practice for those - products. If such problems arise substantially in other domains, we - stand ready to extend this provision to those domains in future versions - of the GPL, as needed to protect the freedom of users. - Finally, every program is threatened constantly by software patents. - States should not allow patents to restrict development and use of - software on general-purpose computers, but in those that do, we wish to - avoid the special danger that patents applied to a free program could - make it effectively proprietary. To prevent this, the GPL assures that - patents cannot be used to render the program non-free. - The precise terms and conditions for copying, distribution and - modification follow. - TERMS AND CONDITIONS - 0. Definitions. - "This License" refers to version 3 of the GNU General Public License. - "Copyright" also means copyright-like laws that apply to other kinds of - works, such as semiconductor masks. - "The Program" refers to any copyrightable work licensed under this - License. Each licensee is addressed as "you". "Licensees" and - "recipients" may be individuals or organizations. - To "modify" a work means to copy from or adapt all or part of the work - in a fashion requiring copyright permission, other than the making of an - exact copy. The resulting work is called a "modified version" of the - earlier work or a work "based on" the earlier work. - A "covered work" means either the unmodified Program or a work based - on the Program. - To "propagate" a work means to do anything with it that, without - permission, would make you directly or secondarily liable for - infringement under applicable copyright law, except executing it on a - computer or modifying a private copy. Propagation includes copying, - distribution (with or without modification), making available to the - public, and in some countries other activities as well. - To "convey" a work means any kind of propagation that enables other - parties to make or receive copies. Mere interaction with a user through - a computer network, with no transfer of a copy, is not conveying. - An interactive user interface displays "Appropriate Legal Notices" - to the extent that it includes a convenient and prominently visible - feature that (1) displays an appropriate copyright notice, and (2) - tells the user that there is no warranty for the work (except to the - extent that warranties are provided), that licensees may convey the - work under this License, and how to view a copy of this License. If - the interface presents a list of user commands or options, such as a - menu, a prominent item in the list meets this criterion. - 1. Source Code. - The "source code" for a work means the preferred form of the work - for making modifications to it. "Object code" means any non-source - form of a work. - A "Standard Interface" means an interface that either is an official - standard defined by a recognized standards body, or, in the case of - interfaces specified for a particular programming language, one that - is widely used among developers working in that language. - The "System Libraries" of an executable work include anything, other - than the work as a whole, that (a) is included in the normal form of - packaging a Major Component, but which is not part of that Major - Component, and (b) serves only to enable use of the work with that - Major Component, or to implement a Standard Interface for which an - implementation is available to the public in source code form. A - "Major Component", in this context, means a major essential component - (kernel, window system, and so on) of the specific operating system - (if any) on which the executable work runs, or a compiler used to - produce the work, or an object code interpreter used to run it. - The "Corresponding Source" for a work in object code form means all - the source code needed to generate, install, and (for an executable - work) run the object code and to modify the work, including scripts to - control those activities. However, it does not include the work's - System Libraries, or general-purpose tools or generally available free - programs which are used unmodified in performing those activities but - which are not part of the work. For example, Corresponding Source - includes interface definition files associated with source files for - the work, and the source code for shared libraries and dynamically - linked subprograms that the work is specifically designed to require, - such as by intimate data communication or control flow between those - subprograms and other parts of the work. - The Corresponding Source need not include anything that users - can regenerate automatically from other parts of the Corresponding - Source. - The Corresponding Source for a work in source code form is that - same work. - 2. Basic Permissions. - All rights granted under this License are granted for the term of - copyright on the Program, and are irrevocable provided the stated - conditions are met. This License explicitly affirms your unlimited - permission to run the unmodified Program. The output from running a - covered work is covered by this License only if the output, given its - content, constitutes a covered work. This License acknowledges your - rights of fair use or other equivalent, as provided by copyright law. - You may make, run and propagate covered works that you do not - convey, without conditions so long as your license otherwise remains - in force. You may convey covered works to others for the sole purpose - of having them make modifications exclusively for you, or provide you - with facilities for running those works, provided that you comply with - the terms of this License in conveying all material for which you do - not control copyright. Those thus making or running the covered works - for you must do so exclusively on your behalf, under your direction - and control, on terms that prohibit them from making any copies of - your copyrighted material outside their relationship with you. - Conveying under any other circumstances is permitted solely under - the conditions stated below. Sublicensing is not allowed; section 10 - makes it unnecessary. - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - No covered work shall be deemed part of an effective technological - measure under any applicable law fulfilling obligations under article - 11 of the WIPO copyright treaty adopted on 20 December 1996, or - similar laws prohibiting or restricting circumvention of such - measures. - When you convey a covered work, you waive any legal power to forbid - circumvention of technological measures to the extent such circumvention - is effected by exercising rights under this License with respect to - the covered work, and you disclaim any intention to limit operation or - modification of the work as a means of enforcing, against the work's - users, your or third parties' legal rights to forbid circumvention of - technological measures. - 4. Conveying Verbatim Copies. - You may convey verbatim copies of the Program's source code as you - receive it, in any medium, provided that you conspicuously and - appropriately publish on each copy an appropriate copyright notice; - keep intact all notices stating that this License and any - non-permissive terms added in accord with section 7 apply to the code; - keep intact all notices of the absence of any warranty; and give all - recipients a copy of this License along with the Program. - You may charge any price or no price for each copy that you convey, - and you may offer support or warranty protection for a fee. - 5. Conveying Modified Source Versions. - You may convey a work based on the Program, or the modifications to - produce it from the Program, in the form of source code under the - terms of section 4, provided that you also meet all of these conditions: - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - A compilation of a covered work with other separate and independent - works, which are not by their nature extensions of the covered work, - and which are not combined with it such as to form a larger program, - in or on a volume of a storage or distribution medium, is called an - "aggregate" if the compilation and its resulting copyright are not - used to limit the access or legal rights of the compilation's users - beyond what the individual works permit. Inclusion of a covered work - in an aggregate does not cause this License to apply to the other - parts of the aggregate. - 6. Conveying Non-Source Forms. - You may convey a covered work in object code form under the terms - of sections 4 and 5, provided that you also convey the - machine-readable Corresponding Source under the terms of this License, - in one of these ways: - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - A separable portion of the object code, whose source code is excluded - from the Corresponding Source as a System Library, need not be - included in conveying the object code work. - A "User Product" is either (1) a "consumer product", which means any - tangible personal property which is normally used for personal, family, - or household purposes, or (2) anything designed or sold for incorporation - into a dwelling. In determining whether a product is a consumer product, - doubtful cases shall be resolved in favor of coverage. For a particular - product received by a particular user, "normally used" refers to a - typical or common use of that class of product, regardless of the status - of the particular user or of the way in which the particular user - actually uses, or expects or is expected to use, the product. A product - is a consumer product regardless of whether the product has substantial - commercial, industrial or non-consumer uses, unless such uses represent - the only significant mode of use of the product. - "Installation Information" for a User Product means any methods, - procedures, authorization keys, or other information required to install - and execute modified versions of a covered work in that User Product from - a modified version of its Corresponding Source. The information must - suffice to ensure that the continued functioning of the modified object - code is in no case prevented or interfered with solely because - modification has been made. - If you convey an object code work under this section in, or with, or - specifically for use in, a User Product, and the conveying occurs as - part of a transaction in which the right of possession and use of the - User Product is transferred to the recipient in perpetuity or for a - fixed term (regardless of how the transaction is characterized), the - Corresponding Source conveyed under this section must be accompanied - by the Installation Information. But this requirement does not apply - if neither you nor any third party retains the ability to install - modified object code on the User Product (for example, the work has - been installed in ROM). - The requirement to provide Installation Information does not include a - requirement to continue to provide support service, warranty, or updates - for a work that has been modified or installed by the recipient, or for - the User Product in which it has been modified or installed. Access to a - network may be denied when the modification itself materially and - adversely affects the operation of the network or violates the rules and - protocols for communication across the network. - Corresponding Source conveyed, and Installation Information provided, - in accord with this section must be in a format that is publicly - documented (and with an implementation available to the public in - source code form), and must require no special password or key for - unpacking, reading or copying. - 7. Additional Terms. - "Additional permissions" are terms that supplement the terms of this - License by making exceptions from one or more of its conditions. - Additional permissions that are applicable to the entire Program shall - be treated as though they were included in this License, to the extent - that they are valid under applicable law. If additional permissions - apply only to part of the Program, that part may be used separately - under those permissions, but the entire Program remains governed by - this License without regard to the additional permissions. - When you convey a copy of a covered work, you may at your option - remove any additional permissions from that copy, or from any part of - it. (Additional permissions may be written to require their own - removal in certain cases when you modify the work.) You may place - additional permissions on material, added by you to a covered work, - for which you have or can give appropriate copyright permission. - Notwithstanding any other provision of this License, for material you - add to a covered work, you may (if authorized by the copyright holders of - that material) supplement the terms of this License with terms: - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - All other non-permissive additional terms are considered "further - restrictions" within the meaning of section 10. If the Program as you - received it, or any part of it, contains a notice stating that it is - governed by this License along with a term that is a further - restriction, you may remove that term. If a license document contains - a further restriction but permits relicensing or conveying under this - License, you may add to a covered work material governed by the terms - of that license document, provided that the further restriction does - not survive such relicensing or conveying. - If you add terms to a covered work in accord with this section, you - must place, in the relevant source files, a statement of the - additional terms that apply to those files, or a notice indicating - where to find the applicable terms. - Additional terms, permissive or non-permissive, may be stated in the - form of a separately written license, or stated as exceptions; - the above requirements apply either way. - 8. Termination. - You may not propagate or modify a covered work except as expressly - provided under this License. Any attempt otherwise to propagate or - modify it is void, and will automatically terminate your rights under - this License (including any patent licenses granted under the third - paragraph of section 11). - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly and - finally terminates your license, and (b) permanently, if the copyright - holder fails to notify you of the violation by some reasonable means - prior to 60 days after the cessation. - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from that - copyright holder, and you cure the violation prior to 30 days after - your receipt of the notice. - Termination of your rights under this section does not terminate the - licenses of parties who have received copies or rights from you under - this License. If your rights have been terminated and not permanently - reinstated, you do not qualify to receive new licenses for the same - material under section 10. - 9. Acceptance Not Required for Having Copies. - You are not required to accept this License in order to receive or - run a copy of the Program. Ancillary propagation of a covered work - occurring solely as a consequence of using peer-to-peer transmission - to receive a copy likewise does not require acceptance. However, - nothing other than this License grants you permission to propagate or - modify any covered work. These actions infringe copyright if you do - not accept this License. Therefore, by modifying or propagating a - covered work, you indicate your acceptance of this License to do so. - 10. Automatic Licensing of Downstream Recipients. - Each time you convey a covered work, the recipient automatically - receives a license from the original licensors, to run, modify and - propagate that work, subject to this License. You are not responsible - for enforcing compliance by third parties with this License. - An "entity transaction" is a transaction transferring control of an - organization, or substantially all assets of one, or subdividing an - organization, or merging organizations. If propagation of a covered - work results from an entity transaction, each party to that - transaction who receives a copy of the work also receives whatever - licenses to the work the party's predecessor in interest had or could - give under the previous paragraph, plus a right to possession of the - Corresponding Source of the work from the predecessor in interest, if - the predecessor has it or can get it with reasonable efforts. - You may not impose any further restrictions on the exercise of the - rights granted or affirmed under this License. For example, you may - not impose a license fee, royalty, or other charge for exercise of - rights granted under this License, and you may not initiate litigation - (including a cross-claim or counterclaim in a lawsuit) alleging that - any patent claim is infringed by making, using, selling, offering for - sale, or importing the Program or any portion of it. - 11. Patents. - A "contributor" is a copyright holder who authorizes use under this - License of the Program or a work on which the Program is based. The - work thus licensed is called the contributor's "contributor version". - A contributor's "essential patent claims" are all patent claims - owned or controlled by the contributor, whether already acquired or - hereafter acquired, that would be infringed by some manner, permitted - by this License, of making, using, or selling its contributor version, - but do not include claims that would be infringed only as a - consequence of further modification of the contributor version. For - purposes of this definition, "control" includes the right to grant - patent sublicenses in a manner consistent with the requirements of - this License. - Each contributor grants you a non-exclusive, worldwide, royalty-free - patent license under the contributor's essential patent claims, to - make, use, sell, offer for sale, import and otherwise run, modify and - propagate the contents of its contributor version. - In the following three paragraphs, a "patent license" is any express - agreement or commitment, however denominated, not to enforce a patent - (such as an express permission to practice a patent or covenant not to - sue for patent infringement). To "grant" such a patent license to a - party means to make such an agreement or commitment not to enforce a - patent against the party. - If you convey a covered work, knowingly relying on a patent license, - and the Corresponding Source of the work is not available for anyone - to copy, free of charge and under the terms of this License, through a - publicly available network server or other readily accessible means, - then you must either (1) cause the Corresponding Source to be so - available, or (2) arrange to deprive yourself of the benefit of the - patent license for this particular work, or (3) arrange, in a manner - consistent with the requirements of this License, to extend the patent - license to downstream recipients. "Knowingly relying" means you have - actual knowledge that, but for the patent license, your conveying the - covered work in a country, or your recipient's use of the covered work - in a country, would infringe one or more identifiable patents in that - country that you have reason to believe are valid. - If, pursuant to or in connection with a single transaction or - arrangement, you convey, or propagate by procuring conveyance of, a - covered work, and grant a patent license to some of the parties - receiving the covered work authorizing them to use, propagate, modify - or convey a specific copy of the covered work, then the patent license - you grant is automatically extended to all recipients of the covered - work and works based on it. - A patent license is "discriminatory" if it does not include within - the scope of its coverage, prohibits the exercise of, or is - conditioned on the non-exercise of one or more of the rights that are - specifically granted under this License. You may not convey a covered - work if you are a party to an arrangement with a third party that is - in the business of distributing software, under which you make payment - to the third party based on the extent of your activity of conveying - the work, and under which the third party grants, to any of the - parties who would receive the covered work from you, a discriminatory - patent license (a) in connection with copies of the covered work - conveyed by you (or copies made from those copies), or (b) primarily - for and in connection with specific products or compilations that - contain the covered work, unless you entered into that arrangement, - or that patent license was granted, prior to 28 March 2007. - Nothing in this License shall be construed as excluding or limiting - any implied license or other defenses to infringement that may - otherwise be available to you under applicable patent law. - 12. No Surrender of Others' Freedom. - If conditions are imposed on you (whether by court order, agreement or - otherwise) that contradict the conditions of this License, they do not - excuse you from the conditions of this License. If you cannot convey a - covered work so as to satisfy simultaneously your obligations under this - License and any other pertinent obligations, then as a consequence you may - not convey it at all. For example, if you agree to terms that obligate you - to collect a royalty for further conveying from those to whom you convey - the Program, the only way you could satisfy both those terms and this - License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. - Notwithstanding any other provision of this License, you have - permission to link or combine any covered work with a work licensed - under version 3 of the GNU Affero General Public License into a single - combined work, and to convey the resulting work. The terms of this - License will continue to apply to the part which is the covered work, - but the special requirements of the GNU Affero General Public License, - section 13, concerning interaction through a network will apply to the - combination as such. - 14. Revised Versions of this License. - The Free Software Foundation may publish revised and/or new versions of - the GNU General Public License from time to time. Such new versions will - be similar in spirit to the present version, but may differ in detail to - address new problems or concerns. - Each version is given a distinguishing version number. If the - Program specifies that a certain numbered version of the GNU General - Public License "or any later version" applies to it, you have the - option of following the terms and conditions either of that numbered - version or of any later version published by the Free Software - Foundation. If the Program does not specify a version number of the - GNU General Public License, you may choose any version ever published - by the Free Software Foundation. - If the Program specifies that a proxy can decide which future - versions of the GNU General Public License can be used, that proxy's - public statement of acceptance of a version permanently authorizes you - to choose that version for the Program. - Later license versions may give you additional or different - permissions. However, no additional obligations are imposed on any - author or copyright holder as a result of your choosing to follow a - later version. - 15. Disclaimer of Warranty. - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY - APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY - OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM - IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF - ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 16. Limitation of Liability. - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS - THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY - GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE - USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD - PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), - EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF - SUCH DAMAGES. - 17. Interpretation of Sections 15 and 16. - If the disclaimer of warranty and limitation of liability provided - above cannot be given local legal effect according to their terms, - reviewing courts shall apply local law that most closely approximates - an absolute waiver of all civil liability in connection with the - Program, unless a warranty or assumption of liability accompanies a - copy of the Program in return for a fee. - END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs - If you develop a new program, and you want it to be of the greatest - possible use to the public, the best way to achieve this is to make it - free software which everyone can redistribute and change under these terms. - To do so, attach the following notices to the program. It is safest - to attach them to the start of each source file to most effectively - state the exclusion of warranty; and each file should have at least - the "copyright" line and a pointer to where the full notice is found. - - Copyright (C) - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . - Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short - notice like this when it starts in an interactive mode: - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - The hypothetical commands `show w' and `show c' should show the appropriate - parts of the General Public License. Of course, your program's commands - might be different; for a GUI interface, you would use an "about box". - You should also get your employer (if you work as a programmer) or school, - if any, to sign a "copyright disclaimer" for the program, if necessary. - For more information on this, and how to apply and follow the GNU GPL, see - . - The GNU General Public License does not permit incorporating your program - into proprietary programs. If your program is a subroutine library, you - may consider it more useful to permit linking proprietary applications with - the library. If this is what you want to do, use the GNU Lesser General - Public License instead of this License. But first, please read - . diff --git a/_sources/modelling/binding/bi_steric_mass_action.rst.txt b/_sources/modelling/binding/bi_steric_mass_action.rst.txt deleted file mode 100644 index 936177170..000000000 --- a/_sources/modelling/binding/bi_steric_mass_action.rst.txt +++ /dev/null @@ -1,41 +0,0 @@ -.. _bi_steric_mass_action_model: - -Bi Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~ - -Similar to the Bi-Langmuir model (see Section :ref:`multi_component_bi_langmuir_model`), the Bi-SMA model adds :math:`M - 1` *additional* types of binding sites :math:`q_{i,j}` (:math:`0 \leq j \leq M - 1`) to the SMA model (see Section :ref:`steric_mass_action_model`) without allowing an exchange between the different sites :math:`q_{i,j}` and :math:`q_{i,k}` (:math:`k \neq j`). -Therefore, there are no competitivity effects between the two types of binding sites and they have independent capacities. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} &= k_{a,i,j} c_{p,i} \left(\frac{\bar{q}_{0,j}}{q_{\text{ref},j}} \right)^{\nu_{i,j}} - k_{d,i,j}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref},j}}\right)^{\nu_{i,j}} & i = 1, \dots, N_{\text{comp}} - 1, \quad j = 0, \dots, M - 1, - \end{aligned} - -where :math:`c_{p,0}` and :math:`q_{0,j}` (:math:`0 \leq j \leq M - 1`) denote the salt concentrations in the liquid and solid phases of the beads respectively. -The number of available salt ions :math:`\bar{q}_{0,j}` for each binding site type :math:`0 \leq j \leq M - 1` is given by - -.. math:: - - \begin{aligned} - \bar{q}_{0,j} &= \Lambda_j - \sum_{k=1}^{N_{\text{comp}} - 1} \left( \nu_{k,j} + \sigma_{k,j} \right) q_{k,j}. - \end{aligned} - -Electro-neutrality conditions compensating for the missing equations for :math:`\frac{\mathrm{d} q_{0,j}}{\mathrm{d}t}` are required: - -.. math:: - - \begin{aligned} - q_{0,j} &= \Lambda_j - \sum_{k=1}^{N_{\text{comp}} - 1} \nu_{k,j} q_{k,j} & j = 0, \dots, M - 1. - \end{aligned} - -Note that all binding components must have exactly the same number of binding site types :math:`M \geq 1`. - -The reference concentrations :math:`c_{\text{ref},j}` and :math:`q_{\text{ref},j}` can be specified for each binding site type :math:`0 \leq j \leq M - 1`. -The concept of reference concentrations is explained in the respective paragraph in Section :ref:`reference_concentrations`. - -Originally, the Bi-SMA model is limited to two different binding site types. -Here, the model has been extended to arbitrary many binding site types. - - -For more information on model parameters required to define in CADET file format, see :ref:`bi_steric_mass_action_config`. diff --git a/_sources/modelling/binding/extended_mobile_phase_modulator_langmuir.rst.txt b/_sources/modelling/binding/extended_mobile_phase_modulator_langmuir.rst.txt deleted file mode 100644 index 06b5d24b1..000000000 --- a/_sources/modelling/binding/extended_mobile_phase_modulator_langmuir.rst.txt +++ /dev/null @@ -1,34 +0,0 @@ -.. _extended_mobile_phase_modulator_langmuir_model: - -Extended Mobile Phase Modulator Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This model is an extension of the mobile phase modulator Langmuir model (see Section :ref:`multi_component_langmuir_model`), which allows linear binding of some selected components. -A modifier component :math:`c_{p,\mathrm{mod}}` is selected and the remaining components are divided into the index sets :math:`\mathcal{I}_{\mathrm{lin}}` and :math:`\mathcal{I}_{\mathrm{lang}}`. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} e^{\gamma_i c_{p,\mathrm{mod}}} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: c_{p,\mathrm{mod}}^{\beta_i} \: q_i && i \in \mathcal{I}_{\mathrm{lang}}, \\ - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lin}}. - \end{aligned} - -The modifier component is considered to be inert, therefore either - -.. math:: - - \frac{\mathrm{d} q_{\mathrm{mod}}}{\mathrm{d} t} = 0 - -is used if the modifier component has a bound state, or it can be used without a bound state. - -The model can also be used without a modifier component. -In this case, the equations are given by - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lang}}, \\ - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lin}}. - \end{aligned} - -For more information on model parameters required to define in CADET file format, see :ref:`extended_mobile_phase_modulator_langmuir_config`. diff --git a/_sources/modelling/binding/freundlich_ldf.rst.txt b/_sources/modelling/binding/freundlich_ldf.rst.txt deleted file mode 100644 index 4351ce196..000000000 --- a/_sources/modelling/binding/freundlich_ldf.rst.txt +++ /dev/null @@ -1,44 +0,0 @@ -.. _freundlich_ldf_model: - -Freundlich LDF -~~~~~~~~~~~~~~~ - -The Freundlich isotherm model is an empirical model that considers changes in the equilibrium constant of the binding process due to the heterogeneity of the surface and the variation of the interaction strength :cite:`Benedikt2019,Singh2016`. -This variant of the model is based on the linear driving force approximation (see section :ref:`ldf_model`) and is given as - -.. math:: - \begin{aligned} - q^*_i= k_{F,i}c_{p,i}^{\frac{1}{n_{i}}} && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - -No interaction between the components is considered when the model has multiple components. -One of the limitation of this isotherm is the first order Jacobian :math:`\left(\frac{dq^*}{dc_p}\right)` tends to infinity as :math:`c_{p} \rightarrow 0` for :math:`n>1`. -To address this issue an approximation of isotherm is considered near the origin. -This approximation matches the isotherm in such a way that :math:`q=0` at :math:`c_p=0` and also matches the first derivative of the istotherm at :math:`c_p = \epsilon`, where :math:`\epsilon` is a very small number, for example :math:`1e-14`. -The form of approximation and its derivative is given below for :math:`c_p < \varepsilon` and :math:`n>1`: - -.. math:: - - \begin{aligned} - q^* = \alpha_0+\alpha_1 c+\alpha_2 c_p^2 - \end{aligned} - - \begin{aligned} - \frac{dq^*}{dc_p} = \alpha_1+ 2 \alpha_2 c_p - \end{aligned} - -where :math:`\alpha_0=0` and :math:`\alpha_1` and :math:`\alpha_2` are determined from :math:`\alpha_1 \varepsilon+\alpha_2 \varepsilon^2 = k_f \varepsilon^{1/n}` and :math:`\alpha_1 + 2 \alpha_2 \varepsilon = \frac{1}{n}k_f \varepsilon^{\frac{1-n}{n}}`. - -.. math:: - \begin{aligned} - \alpha_1 = \frac{2 n-1}{n}k_f \varepsilon^{\frac{1-n}{n}} - \end{aligned} -.. math:: - \begin{aligned} - \alpha_2 = \frac{1-n}{n}k_f \varepsilon^{\frac{1-2 n}{n}} - \end{aligned} - -This approximation can be used for any pore phase cocentration :math:`c_p < \epsilon` given :math:`n>1`. -For the case, when :math:`n \le 1` no special treament near the origin is required. -For more information on model parameters required to define in CADET file format, see :ref:`freundlich_ldf_config`. - diff --git a/_sources/modelling/binding/generalized_ion_exchange.rst.txt b/_sources/modelling/binding/generalized_ion_exchange.rst.txt deleted file mode 100644 index df14e22f8..000000000 --- a/_sources/modelling/binding/generalized_ion_exchange.rst.txt +++ /dev/null @@ -1,39 +0,0 @@ -.. _generalized_ion_exchange_model: - -Generalized Ion Exchange -~~~~~~~~~~~~~~~~~~~~~~~~ - -The generalized ion exchange model is based on the steric mass action model :cite:`Huuk2017,Mollerup2008`. -In addition to the first component :math:`c_{p,0}`, which represents salt, the second component :math:`c_{p,1}` represents another non-binding modifier (e.g., pH). -In comparison to the SMA model, the characteristic charge :math:`\nu` and the adsorption and desorption rate constants are modified: - -.. math:: - - \begin{aligned} - q_0 &= \Lambda - \sum_{j=2}^{N_{\text{comp}} - 1} \nu_j(c_{p,1}) q_j \\ - \frac{\partial q_i}{\partial t} &= k_{a,i}(c_{p,0},c_{p,1}) \: c_{p,i} \: \left( \frac{\bar{q}_0 }{q_{\text{ref}}} \right)^{\nu_i(c_{p,1})} - k_{d,i}(c_{p,0},c_{p,1}) \: q_i \: \left( \frac{c_{p,0}}{c_{\text{ref}}} \right)^{\nu_i(c_{p,1})} & &i = 2, \dots, N_{\text{comp}} - 1, - \end{aligned} - -where - -.. math:: - - \begin{aligned} - \bar{q}_0 &= \Lambda - \sum_{j=2}^{N_{\text{comp}} - 1} \left( \nu_j(c_{p,1}) + \sigma_j \right) q_j = q_0 - \sum_{j=2}^{N_{\text{comp}} - 1} \sigma_j q_j - \end{aligned} - -The dependence of the parameters on :math:`c_{p,0}` and :math:`c_{p,1}` is given for :math:`i = 2, \dots, N_{\text{comp}} - 1` by - -.. math:: - - \begin{aligned} - \nu_i(c_{p,1}) &= \nu_{i,\mathrm{base}} + c_{p,1} \nu_{i,\mathrm{lin}} + c_{p,1}^2 \nu_{i,\mathrm{quad}} \\ - k_{a,i}\left(c_{p,0}, c_{p,1}\right) &= k_{a,i,\mathrm{base}} \exp\left(k_{a,i,\mathrm{lin}} c_{p,1} + k_{a,i,\mathrm{quad}} c_{p,1}^2 + k_{a,i,\mathrm{salt}} \frac{c_{p,0}}{c_{\text{ref}}} + k_{a,i,\mathrm{prot}} c_{p,i}\right) \\ - k_{d,i}\left(c_{p,0}, c_{p,1}\right) &= k_{d,i,\mathrm{base}} \exp\left(k_{d,i,\mathrm{lin}} c_{p,1} + k_{d,i,\mathrm{quad}} c_{p,1}^2 + k_{d,i,\mathrm{salt}} \frac{c_{p,0}}{c_{\text{ref}}} + k_{d,i,\mathrm{prot}} c_{p,i}\right) - \end{aligned} - - -The concept of reference concentrations (:math:`c_{\text{ref}}` and :math:`q_{\text{ref}}`) is explained in the respective paragraph in Section :ref:`reference_concentrations`. - - -For more information on model parameters required to define in CADET file format, see :ref:`generalized_ion_exchange_config`. diff --git a/_sources/modelling/binding/hic_constant_water_activity.rst.txt b/_sources/modelling/binding/hic_constant_water_activity.rst.txt deleted file mode 100644 index b1dc8fa73..000000000 --- a/_sources/modelling/binding/hic_constant_water_activity.rst.txt +++ /dev/null @@ -1,18 +0,0 @@ -.. _hic_constant_water_activity_model: - -HIC Constant Water Activity -~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This model implemments the HIC isotherm assuming a constant water activity as described by Jäpel and Buyel :cite:`Jaepel2022`. - -.. math:: - \begin{align} - \beta &= \beta_0 e^{c_{p,0}\beta_1} \\ - \frac{\mathrm{d}q_i}{\mathrm{d}t} &= k_{a,i} c_{p,i} \left( 1 - \sum_j \frac{q_j}{q_{max,j}} \right)^{\nu_i} - k_{d,i} q_i 0.1^{\nu_i \beta} - \end{align} - -- Component :math:`c_0` is assumed to be salt without a bound state. -- Multiple bound states are not supported. -- Components without bound state (i.e., salt and non-binding components) are supported. - -For more information on model parameters required to define in CADET file format, see :ref:`hic_constant_water_activity_config`. - diff --git a/_sources/modelling/binding/hic_water_on_hydrophobic_surfaces.rst.txt b/_sources/modelling/binding/hic_water_on_hydrophobic_surfaces.rst.txt deleted file mode 100644 index f14deff60..000000000 --- a/_sources/modelling/binding/hic_water_on_hydrophobic_surfaces.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -.. _hic_water_on_hydrophobic_surfaces_model: - -HIC Water on Hydrophobic Surfaces -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This model implements a slightly modified version of the HIC isotherm by Wang et al. based on their 2016 paper :cite:`Wang2016`. -A naive multicomponent version was added that reduces to the original formulation if only 1 binding species is present. - -.. math:: - - \begin{align} - \beta &= \beta_0 e^{c_{p,0}\beta_1} \\ - \frac{\mathrm{d}q_i}{\mathrm{d}t} &= k_{a,i} c_{p,i} \left( 1 - \sum_j \frac{q_j}{q_{max,j}} \right)^{\nu_i} - k_{d,i} q_i \left(\sum_j q_j \right)^{\nu_i \beta} - \end{align} - -- Component :math:`c_0` is assumed to be salt without a bound state. -- Multiple bound states are not supported. -- Components without bound state (i.e., salt and non-binding components) are supported. - -For more information on model parameters required to define in CADET file format, see :ref:`hic_water_on_hydrophobic_surfaces_config`. diff --git a/_sources/modelling/binding/index.rst.txt b/_sources/modelling/binding/index.rst.txt deleted file mode 100644 index 3e7d87211..000000000 --- a/_sources/modelling/binding/index.rst.txt +++ /dev/null @@ -1,277 +0,0 @@ -.. _binding_models: - -Binding models -============== - -The following binding models are presented in dynamic binding mode. -By replacing all occurrences of :math:`\mathrm{d}q / \mathrm{d}t` with :math:`0`, quasi-stationary (rapid-equlibrium) binding mode is achieved. -In quasi-stationary binding, it is assumed that ad- and desorption take place on a much faster time scale than the other transport processes such that bead liquid phase :math:`c_{p,i}` (or bulk liquid phase :math:`c_i` for certain unit operation models) are always in equilibrium with the solid phase :math:`q_i`. - -Equilibrium constants ---------------------- - -For the quasi-stationary binding mode, adsorption and desorption rate are no longer separate entities. -Instead, the quotient :math:`k_{\text{eq}} = k_a / k_d` of adsorption and desorption coefficient is the relevant parameter as shown for the linear binding model (see Section :ref:`linear_model`): - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} q_i \qquad \Rightarrow 0 = k_{a,i} c_{p,i} - k_{d,i} q_i \qquad \Leftrightarrow q_i = \frac{k_{a,i}}{k_{d,i}} c_{p,i} = k_{\text{eq},i} c_{p,i}. - \end{aligned} - -The equilibrium constant :math:`k_{\text{eq},i}` is used in CADET by setting :math:`k_{d,i} = 1` and :math:`k_{a,i} = k_{\text{eq},i}`. - -Note that adsorption rate :math:`k_{a,i}` and desorption rate :math:`k_{d,i}` are linearly correlated in both binding modes due to the form of the equilibrium constant :math:`k_{\text{eq}}`: - -.. math:: - - \begin{aligned} - k_{a,i} = k_{\text{eq}} k_{d,i}. - \end{aligned} - -This correlation can potentially degrade performance of some optimization algorithms. -While in quasi-stationary binding mode this is prevented by using the technique above, a dynamic binding model has to be reparameterized in order to decouple parameters: - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} q_i = k_{d,i} \left[ k_{\text{eq},i} c_{p,i} - q_i \right] = k_{a,i} \left[ c_{p,i} - \frac{1}{k_{\text{eq},i}} q_i \right]. - \end{aligned} - -This can be achieved by a (nonlinear) parameter transform - -.. math:: - - \begin{aligned} - F\left( k_{\text{eq},i}, k_{d,i} \right) = \begin{pmatrix} k_{\text{eq},i} k_{d,i} \\ k_{d,i} \end{pmatrix} \text{ with Jacobian } J_F\left( k_{\text{eq},i}, k_{d,i} \right) = \begin{pmatrix} k_{d,i} & k_{\text{eq},i} \\ 0 & 1 \end{pmatrix}. - \end{aligned} - - -.. _ldf_model: - -Linear Driving Force (LDF) ---------------------------- -Some authors use the linear driving force (LDF) approximation instead of the native kinetic form of an isotherm. -All three approaches are equivalent in rapid equilibrium (``IS_KINETIC = 0``) but not equivalent when binding kinetics are considered (``IS_KINETIC = 1``). - -1. In the native approach, :math:`\frac{dq}{dt}` is an explicit funtion of :math:`c` and :math:`q`. For example :math:`\frac{dq}{dt}=k_a c (q_m - q)-k_d q` in the Langmuir model. - -2. A linear driving force approximation is based on the equilibrium concentration :math:`q^*` for given :math:`c`. -For example :math:`q^*= \frac{q_m k_{eq} c}{1 + k_{eq} c}` in the Langmuir model. -Here, :math:`\frac{dq}{dt}` is proportional to the actual difference from equilibrium, i.e. :math:`\frac{dq}{dt} = k_{kin}(q^*-q)`. -Note that, the sign of :math:`\frac{dq}{dt}` causes the resulting flux to act towards the equilibrium. -In CADET, this approach is denoted by ``LDF``, for example in ``MULTI_COMPONENT_LANGMUIR_LDF``. - -3. An alterniative linear driving force approximation is based on the equilibrium concentration :math:`c^*` for given :math:`q`. -For example :math:`c^*=\frac{q}{k_{eq} \left(q_{m}-q\right)}` in the Langmuir model. -Here, :math:`\frac{dq}{dt}` is proportional to the actual difference from equilibrium concentrations, i.e. :math:`\frac{dq}{dt} = k_{kin}(c-c^*)`. -Note that, the sign of :math:`\frac{dq}{dt}` causes the resulting flux to act towards the equilibrium. -In CADET, this approach is denoted by ``LDF_LIQUID_PHASE``, for example in ``MULTI_COMPONENT_LANGMUIR_LDF_LIQUID_PHASE``. - -In both LDF examples, the original rate constants :math:`k_a` and :math:`k_d` are replaced by the equilibrium contant :math:`k_{eq}=\frac{k_a}{k_d}`. -The linear driving force approximations are based on a new kinetic constant, :math:`k_{kin}`. - -Note that some isotherms, such as the Freundlich model, don't have a native representation in the above sense. -LDF versions are availabe for some but not all binding models implemented in CADET. - -.. _reference_concentrations: - -Reference concentrations ------------------------- - -Some binding models use reference concentrations :math:`c_{\text{ref}}` and :math:`q_{\text{ref}}` of the mobile phase modulator (e.g., salt) in the particle liquid and solid phase, respectively. -The reference values are mainly used for normalizing adsorption and desorption rates, but also for other parameters that appear with those concentrations. -They amount to a simple parameter transformation that is exemplified at one equation of the steric mass action binding model - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i}\bar{q}_0^{\nu_i} - k_{d,i} q_i c_{p,0}^{\nu_i}, - \end{aligned} - -where :math:`c_{p,0}` denotes the mobile phase salt concentration and - -.. math:: - - \begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j - \end{aligned} - -is the number of available binding sites which is related to the number of bound salt ions. -Using the parameter transformation - -.. math:: - - \begin{aligned} - k_{a,i} &= \tilde{k}_{a,i} q_{\text{ref}}^{-\nu_i}, \\ - k_{d,i} &= \tilde{k}_{d,i} c_{\text{ref}}^{-\nu_i}, - \end{aligned} - -we obtain the modified model equation - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = \tilde{k}_{a,i} c_{p,i} \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\nu_i} - \tilde{k}_{d,i} q_i \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i}. - \end{aligned} - -This transformation serves as a (partial) nondimensionalization of the adsorption and desorption rates and, by properly choosing the reference concentrations :math:`c_{\text{ref}}` and :math:`q_{\text{ref}}`, may improve the optimizer performance. - -Recommended choices for :math:`c_{\text{ref}}` are the average or maximum inlet concentration of the mobile phase modifier :math:`c_0`, and for :math:`q_{\text{ref}}` the ionic capacity :math:`\Lambda`. -Note that setting the reference concentrations to :math:`1.0` each results in the original binding model. - - -.. _dependence-on-external-function_bind: - -Dependence on external function -------------------------------- - -A binding model may depend on an external function or profile :math:`T\colon \left[ 0, T_{\text{end}}\right] \times [0, L] \to \mathbb{R}`, where :math:`L` denotes the physical length of the unit operation, or :math:`T\colon \left[0, T_{\text{end}}\right] \to \mathbb{R}` if the unit operation model has no axial length. -By using an external profile, it is possible to account for effects that are not directly modeled in CADET (e.g., temperature). -The dependence of each parameter is modeled by a polynomial of third degree. For example, the adsorption rate :math:`k_a` is really given by - -.. math:: - - \begin{aligned} - k_a(T) &= k_{a,3} T^3 + k_{a,2} T^2 + k_{a,1} T + k_{a,0}. - \end{aligned} - -While :math:`k_{a,0}` is set by the original parameter ``XXX_KA`` of the file format (``XXX`` being a placeholder for the binding model), the parameters :math:`k_{a,3}`, :math:`k_{a,2}`, and :math:`k_{a,1}` are given by ``XXX_KA_TTT``, ``XXX_KA_TT``, and ``XXX_KA_T``, respectively. -The identifier of the externally dependent binding model is constructed from the original identifier by prepending ``EXT_`` (e.g., ``MULTI_COMPONENT_LANGMUIR`` is changed into ``EXT_MULTI_COMPONENT_LANGMUIR``). -This pattern applies to all parameters and supporting binding models (see :numref:`MBFeatureMatrix`). -Note that the parameter units have to be adapted to the unit of the external profile by dividing with an appropriate power. - -Each parameter of the externally dependent binding model can depend on a different external source. -The 0-based indices of the external source for each parameter is given in the dataset ``EXTFUN``. -By assigning only one index to ``EXTFUN``, all parameters use the same source. -The ordering of the parameters in ``EXTFUN`` is given by the ordering in the file format specification in Section :ref:`FFAdsorption`. - - -.. _binding_model_feature: - -Binding model feature matrix ----------------------------- - -A short comparison of the most prominent binding model features is given in :numref:`MBFeatureMatrix`. -The implemented binding models can be divided into two main classes: Single-state and multi-state binding. -While single-state models only have one bound state per component (or less), multi-state models provide multiple (possibly different) bound states for each component, which may correspond to different binding orientations or binding site types. -The models also differ in whether a mobile phase modifier (e.g., salt) is supported to modulate the binding behavior. - -.. _MBFeatureMatrix: -.. list-table:: Supported features of the different binding models - :widths: 30 15 25 15 15 - :header-rows: 1 - - * - Binding model - - Competitive - - Mobile phase modifier - - External function - - Multi-state - * - :ref:`linear_model` - - × - - × - - ✓ - - × - * - :ref:`multi_component_langmuir_model` - - ✓ - - × - - ✓ - - × - * - :ref:`multi_component_langmuir_ldf_model` - - ✓ - - × - - ✓ - - × - * - :ref:`multi_component_langmuir_ldf_liquid_phase_model` - - ✓ - - × - - ✓ - - × - * - :ref:`mobile_phase_modulator_langmuir_model` - - ✓ - - ✓ - - ✓ - - × - * - :ref:`extended_mobile_phase_modulator_langmuir_model` - - ✓ - - ✓ - - ✓ - - × - * - :ref:`multi_component_bi_langmuir_model` - - ✓ - - × - - ✓ - - ✓ - * - :ref:`multi_component_bi_langmuir_ldf_model` - - ✓ - - × - - ✓ - - ✓ - * - :ref:`multi_component_anti_langmuir_model` - - ✓ - - × - - ✓ - - × - * - :ref:`multi_component_spreading_model` - - ✓ - - × - - ✓ - - ✓ - * - :ref:`steric_mass_action_model` - - ✓ - - ✓ - - ✓ - - × - * - :ref:`multi_state_steric_mass_action_model` - - ✓ - - ✓ - - ✓ - - ✓ - * - :ref:`simplified_multi_state_steric_mass_action_model` - - ✓ - - ✓ - - × - - ✓ - * - :ref:`bi_steric_mass_action_model` - - ✓ - - ✓ - - ✓ - - ✓ - * - :ref:`generalized_ion_exchange_model` - - ✓ - - ✓ - - ✓ - - × - * - :ref:`saska_model` - - × - - × - - ✓ - - × - * - :ref:`self_association_model` - - ✓ - - ✓ - - ✓ - - × - * - :ref:`freundlich_ldf_model` - - × - - × - - ✓ - - × - * - :ref:`hic_water_on_hydrophobic_surfaces_model` - - ✓ - - x - - ✓ - - x - * - :ref:`hic_constant_water_activity_model` - - ✓ - - x - - ✓ - - x - - -.. toctree:: - :hidden: - :glob: - - * - diff --git a/_sources/modelling/binding/linear.rst.txt b/_sources/modelling/binding/linear.rst.txt deleted file mode 100644 index e275e16ab..000000000 --- a/_sources/modelling/binding/linear.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _linear_model: - -Linear -~~~~~~ - -A linear binding model, which is often employed for low concentrations or in analytic settings :cite:`Guiochon2006`. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i} - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`linear_config`. diff --git a/_sources/modelling/binding/mobile_phase_modulator_langmuir.rst.txt b/_sources/modelling/binding/mobile_phase_modulator_langmuir.rst.txt deleted file mode 100644 index 98c29335e..000000000 --- a/_sources/modelling/binding/mobile_phase_modulator_langmuir.rst.txt +++ /dev/null @@ -1,28 +0,0 @@ -.. _mobile_phase_modulator_langmuir_model: - -Mobile Phase Modulator Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This model is a modified Langmuir model (see Section :ref:`multi_component_langmuir_model`) which can be used to describe hydrophobic interaction chromatography :cite:`Melander1989,Karlsson2004`. -A modulator component (termed “salt”, :math:`c_{p,0}` and :math:`q_0`) influences ad- and desorption processes: - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} e^{\gamma_i c_{p,0}} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: c_{p,0}^{\beta_i} \: q_i && i = 1, \dots, N_{\text{comp}} - 1. - \end{aligned} - -where :math:`c_{p,0}` and :math:`q_0` denote the salt concentrations in the liquid and solid phase of the beads respectively. -Salt is considered to be inert, therefore either - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_0}{\mathrm{d} t} = 0 - \end{aligned} - -is used if salt has one bound state, or salt can be used without a bound state. -The parameter :math:`\gamma` describes the hydrophobicity and :math:`\beta` the ion-exchange characteristics. - - -For more information on model parameters required to define in CADET file format, see :ref:`mobile_phase_modulator_langmuir_config`. diff --git a/_sources/modelling/binding/multi_component_anti_langmuir.rst.txt b/_sources/modelling/binding/multi_component_anti_langmuir.rst.txt deleted file mode 100644 index a544b5903..000000000 --- a/_sources/modelling/binding/multi_component_anti_langmuir.rst.txt +++ /dev/null @@ -1,18 +0,0 @@ -.. _multi_component_anti_langmuir_model: - -Multi Component Anti-Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The Anti-Langmuir (or generalized Langmuir) binding model extends the Langmuir model (see Section :ref:`multi_component_langmuir_model`). -The factor :math:`p_j \in \{ -1, 1 \}` determines the shape of the isotherm. -For :math:`p_j = 1` (standard Langmuir) the chromatograms have sharp fronts and a dispersed tail (isotherm is concave). -In case of the Anti-Langmuir (:math:`p_j = -1`) it is the other way around (isotherm is convex). - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i} q_{\text{max},i} \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} p_j \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_anti_langmuir_config`. diff --git a/_sources/modelling/binding/multi_component_bi_langmuir.rst.txt b/_sources/modelling/binding/multi_component_bi_langmuir.rst.txt deleted file mode 100644 index 261f25595..000000000 --- a/_sources/modelling/binding/multi_component_bi_langmuir.rst.txt +++ /dev/null @@ -1,21 +0,0 @@ -.. _multi_component_bi_langmuir_model: - -Multi Component Bi-Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The multi component Bi-Langmuir model :cite:`Guiochon2006` adds :math:`M - 1` additional types of binding sites :math:`q_{i,j}` (:math:`0 \leq j \leq M - 1`) to the Langmuir model (see Section :ref:`multi_component_langmuir_model`) without allowing an exchange between the different sites :math:`q_{i,j}` and :math:`q_{i,k}` (:math:`k \neq j`). -Therefore, there are no competitivity effects between the different types of binding sites and they have independent capacities. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} &= k_{a,i}^{(j)}\: c_{p,i}\: q_{\text{max},i}^{(j)} \left( 1 - \sum_{k=0}^{N_{\text{comp}} - 1} \frac{q_{k,j}}{q_{\text{max},k}^{(j)}}\right) - k_{d,i}^{(j)} q_{i,j} & i = 0, \dots, N_{\text{comp}} - 1, \: j = 0, \dots, M - 1.% (0 \leq i \leq N_{\text{comp}} - 1, \: 0 \leq j \leq M - 1). - \end{aligned} - -Note that all binding components must have exactly the same number of binding site types :math:`M \geq 1`. -See the Section :ref:`multi_component_langmuir_model`. - -Originally, the Bi-Langmuir model is limited to two different binding site types. -Here, the model has been extended to arbitrary many binding site types. - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_bi_langmuir_config`. diff --git a/_sources/modelling/binding/multi_component_bi_langmuir_ldf.rst.txt b/_sources/modelling/binding/multi_component_bi_langmuir_ldf.rst.txt deleted file mode 100644 index 090a9b3d6..000000000 --- a/_sources/modelling/binding/multi_component_bi_langmuir_ldf.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _multi_component_bi_langmuir_ldf_model: - -Multi Component Bi-Langmuir LDF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This a linear driving force model variant of the :ref:`multi_component_bi_langmuir_model` model. -It is based on the equilibrium concentration :math:`q^*` for a given liquid phase concentration :math:`c` (see also :ref:`ldf_model`). - -.. math:: - \begin{aligned} - q_{i,j}^*=\frac{q_{m,i,j} k_{eq,i,j} c_i}{1 + \sum_{k=1}^{N_{comp}}{k_{eq,k,j} c_k}} && i = 0, \dots, N_{\text{comp}} - 1, \: j = 0, \dots, M - 1.% (0 \leq i \leq N_{\text{comp}} - 1, \: 0 \leq j \leq M - 1). - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_bi_langmuir_ldf_config`. diff --git a/_sources/modelling/binding/multi_component_langmuir.rst.txt b/_sources/modelling/binding/multi_component_langmuir.rst.txt deleted file mode 100644 index f98b758d3..000000000 --- a/_sources/modelling/binding/multi_component_langmuir.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _multi_component_langmuir_model: - -Multi Component Langmuir -~~~~~~~~~~~~~~~~~~~~~~~~ - -The Langmuir binding model includes a saturation term and takes into account the capacity of the resin :cite:`Langmuir1916,Guiochon2006`. -All components compete for the same binding sites. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i}\: c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_langmuir_config`. diff --git a/_sources/modelling/binding/multi_component_langmuir_ldf.rst.txt b/_sources/modelling/binding/multi_component_langmuir_ldf.rst.txt deleted file mode 100644 index 6c0c99032..000000000 --- a/_sources/modelling/binding/multi_component_langmuir_ldf.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _multi_component_langmuir_ldf_model: - -Multi Component Langmuir LDF -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This a linear driving force model variant of the :ref:`multi_component_langmuir_model` model. -It is based on the equilibrium concentration :math:`q^*` for a given liquid phase concentration :math:`c` (see also :ref:`ldf_model`). - -.. math:: - - \begin{aligned} - q_i^*=\frac{q_{m,i} k_{eq,i} c_i}{1 + \sum_{j=1}^{n_{comp}}{k_{eq,j} c_j}} && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_langmuir_ldf_config`. diff --git a/_sources/modelling/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt b/_sources/modelling/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt deleted file mode 100644 index f1f4b9403..000000000 --- a/_sources/modelling/binding/multi_component_langmuir_ldf_liquid_phase.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _multi_component_langmuir_ldf_liquid_phase_model: - -Multi Component Langmuir LDF Liquid Phase -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This a linear driving force model variant of the :ref:`multi_component_langmuir_model` model. -It is based on the equilibrium concentration :math:`c^*` for a given solid phase concentration :math:`q` (see also :ref:`ldf_model`). - -.. math:: - - \begin{aligned} - c_i^*=\frac{q_{i}}{k_{eq,i} q_{m,i} \left(1 - \sum_{j=1}^{N_{\text{comp}}} \frac{q_j}{q_{m,j}}\right) } && i = 0, \dots, N_{\text{comp}} - 1. - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_langmuir_ldf_liquid_phase_config`. diff --git a/_sources/modelling/binding/multi_component_spreading.rst.txt b/_sources/modelling/binding/multi_component_spreading.rst.txt deleted file mode 100644 index 1e3b93bc9..000000000 --- a/_sources/modelling/binding/multi_component_spreading.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -.. _multi_component_spreading_model: - -Multi Component Spreading -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The multi component spreading model adds a second bound state :math:`q_{i,2}` to the Langmuir model (see Section :ref:`multi_component_langmuir_model`) and allows the exchange between the two bound states :math:`q_{i,1}` and :math:`q_{i,2}`. -In the spreading model a second state of the bound molecule (e.g., a different orientation on the surface or a different folding state) is added. -The exchange of molecules between the two states is allowed and, since the molecules can potentially bind in both states at the same binding site, competitivity effects are present. -This is different to the Bi-Langmuir model in which another type of binding sites is added and no exchange between the different bound states is considered (see Section :ref:`multi_component_bi_langmuir_model`). -For all components :math:`i = 0, \dots, N_{\text{comp}} - 1` the equations are given by - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_{i,1}}{\mathrm{d} t} &= \left( k_a^A\: c_{p,i} - k_{12} q_{i,1} \right) q_{\text{max},i}^A \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^A}{q_{\text{max},j}^A} - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^B}{q_{\text{max},j}^B} \right) - k_d^A q_{i,1} + k_{21} q_{i,2}, \\ - \frac{\mathrm{d} q_{i,2}}{\mathrm{d} t} &= \left( k_a^B\: c_{p,i} + k_{12} q_{i,1} \right) q_{\text{max},i}^A \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^A}{q_{\text{max},j}^A} - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^B}{q_{\text{max},j}^B} \right) - \left( k_d^B + k_{21} \right) q_{i,2}. - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_component_spreading_config`. diff --git a/_sources/modelling/binding/multi_state_steric_mass_action.rst.txt b/_sources/modelling/binding/multi_state_steric_mass_action.rst.txt deleted file mode 100644 index 43e8d20fe..000000000 --- a/_sources/modelling/binding/multi_state_steric_mass_action.rst.txt +++ /dev/null @@ -1,47 +0,0 @@ -.. _multi_state_steric_mass_action_model: - -Multi-State Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The multi-state steric mass action model adds :math:`M_i-1` *additional* bound states :math:`q_{i,j}` (:math:`j = 0, \dots, M_i - 1`) for each component :math:`i` to the steric mass action model (see Section :ref:`steric_mass_action_model`) and allows the exchange between the different bound states :math:`q_{i,0}, \dots, q_{i,M-1}` of each component. -In the multi-state SMA model a variable number of states of the bound molecule (e.g., different orientations on the surface, binding strength of tentacle adsorbers) is added which are more and more strongly bound, i.e., - -.. math:: - - \begin{aligned} - \nu_{i,j} \leq \nu_{i,j+1} \qquad i = 1, \dots, N_{\text{comp}} - 1, \quad j = 0,\dots, M_i - 1. - \end{aligned} - -The exchange between the different states of each component is allowed and, since the molecules can potentially bind in all states at the same binding site, competitive effects are present. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} =& \phantom{+} k_{a,i}^{(j)} c_{p,i} \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\nu_{i,j}} - k_{d,i}^{(j)}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_{i,j}} \\ - &- \sum_{\ell = 0}^{j-1} \underbrace{k^{(i)}_{j\ell}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\left(\nu_{i,j} - \nu_{i,\ell}\right)}}_{\text{to weak state}} - \sum_{\ell = j+1}^{M_i - 1} \underbrace{k^{(i)}_{j\ell}\: q_{i,j}\: \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\left(\nu_{i,\ell} - \nu_{i,j}\right)}}_{\text{to strong state}} \\ - &+ \sum_{\ell = 0}^{j-1} \underbrace{k^{(i)}_{\ell j}\: q_{i,\ell}\: \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\left(\nu_{i,j} - \nu_{i,\ell}\right)}}_{\text{from weak state}} + \sum_{\ell = j+1}^{M_i - 1} \underbrace{k^{(i)}_{\ell j}\: q_{i,\ell}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\left(\nu_{i,\ell} - \nu_{i,j}\right)}}_{\text{from strong state}} & \begin{aligned} - i &= 1, \dots, N_{\text{comp}} - 1, \\ j &= 0, \dots, M_i - 1, \end{aligned} - \end{aligned} - -where :math:`c_{p,0}` and :math:`q_0` denote the salt concentrations in the liquid and solid phase of the beads respectively. -The number of available salt ions :math:`\bar{q}_0` is given by - -.. math:: - - \begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \sum_{\ell=0}^{M_j - 1} \left( \nu_{j,\ell} + \sigma_{j,\ell} \right) q_{j,\ell}. - \end{aligned} - -A neutrality condition compensating for the missing equation for :math:`\frac{\mathrm{d} q_0}{\mathrm{d}t}` is required: - -.. math:: - - \begin{aligned} - q_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \sum_{\ell=0}^{M_j - 1} \nu_{j,\ell} q_{j,\ell}. - \end{aligned} - - -The concept of reference concentrations (:math:`c_{\text{ref}}` and :math:`q_{\text{ref}}`) is explained in the respective paragraph in Section :ref:`reference_concentrations`. - - -For more information on model parameters required to define in CADET file format, see :ref:`multi_state_steric_mass_action_config`. diff --git a/_sources/modelling/binding/saska.rst.txt b/_sources/modelling/binding/saska.rst.txt deleted file mode 100644 index 33a06989a..000000000 --- a/_sources/modelling/binding/saska.rst.txt +++ /dev/null @@ -1,16 +0,0 @@ -.. _saska_model: - -Saska -~~~~~ - -In this binding model an additional quadratic term is added to the linear model :cite:`Saska1992`. -The quadratic term allows to take interactions of liquid phase components into account. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = H_i c_{p,i} + \sum_{j=0}^{N_{\text{comp}} - 1} k_{ij} c_{p,i} c_{p,j} - q_i && i = 0, \dots, N_{\text{comp}} - 1 - \end{aligned} - - -For more information on model parameters required to define in CADET file format, see :ref:`saska_config`. diff --git a/_sources/modelling/binding/self_association.rst.txt b/_sources/modelling/binding/self_association.rst.txt deleted file mode 100644 index 233da1a72..000000000 --- a/_sources/modelling/binding/self_association.rst.txt +++ /dev/null @@ -1,28 +0,0 @@ -.. _self_association_model: - -Self Association -~~~~~~~~~~~~~~~~ - -This binding model is similar to the steric mass action model (see Section :ref:`steric_mass_action_model`) but is also capable of describing dimerization :cite:`Mollerup2008,Westerberg2012`. -The dimerization, which is the immobilization of protein at some already bound protein, is also termed “self-association”. -It is modeled by adding a quadratic (in :math:`c_{p,i}`) term to the adsorption part of the equation. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= c_{p,i}\left( \frac{\bar{q}_0}{q_{\text{ref}}} \right)^{\nu_i} \left[ k_{a,i,1} + k_{a,i,2} c_{p,i} \right] - k_{d,i}\: q_i\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i} && i = 1, \dots, N_{\text{comp}} - 1, \\ - q_0 &= \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \nu_j q_j, - \end{aligned} - -where the number of available binding sites is given by - -.. math:: - - \begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j = q_0 - \sum_{j=1}^{N_{\text{comp}} - 1} \sigma_j q_j. - \end{aligned} - -The concept of reference concentrations (:math:`c_{\text{ref}}` and :math:`q_{\text{ref}}`) is explained in the respective paragraph in Section :ref:`reference_concentrations`. - - -For more information on model parameters required to define in CADET file format, see :ref:`self_association_config`. diff --git a/_sources/modelling/binding/simplified_multi_state_steric_mass_action.rst.txt b/_sources/modelling/binding/simplified_multi_state_steric_mass_action.rst.txt deleted file mode 100644 index 479714240..000000000 --- a/_sources/modelling/binding/simplified_multi_state_steric_mass_action.rst.txt +++ /dev/null @@ -1,29 +0,0 @@ -.. _simplified_multi_state_steric_mass_action_model: - -Simplified Multi-State Steric Mass Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The simplified multi-state steric mass action is the same as the multi-state SMA model described above (see Section :ref:`multi_state_steric_mass_action_model`), but with additional assumptions: - -- Molecules are only exchanged between two adjacent states, that is, no transfer from state :math:`q_{i,1}` to state :math:`q_{i,3}` is allowed. - -- Characteristic charge :math:`\nu_{i,j}` and shielding factor :math:`\sigma_{i,j}` only depend on the index of the state :math:`j`. - -Thus, the exchange parameters :math:`k^{(i)}_{j\ell}`, the characteristic charge :math:`\nu_{i,j}`, and the shielding :math:`\sigma_{i,j}` can be parameterized with few degrees of freedom. -For all :math:`i = 1,\dots,N_{\text{comp}} - 1` and :math:`j,\ell = 0,\dots,M_i - 1` let - -.. math:: - - \begin{aligned} - k^{(i)}_{j\ell} &= \begin{cases} - 0, & \text{for } \left\lvert j-\ell\right\rvert \neq 1 \\ - K^{(i)}_{ws} + j K^{(i)}_{ws,\text{lin}} - K^{(i)}_{ws,\text{quad}} j(j - M_i+2), & \text{for } \ell = j+1 \\ - K^{(i)}_{sw} + \ell K^{(i)}_{sw,\text{lin}} - K^{(i)}_{sw,\text{quad}} \ell(\ell - M_i+2), & \text{for } \ell = j-1, \end{cases}\\ - \nu_{i,j} &= \nu_{\text{min},i} + \frac{j}{M_i-1} \left( \nu_{\text{max},i} - \nu_{\text{min},i} \right) - \nu_{\text{quad},i} j (j-M_i+1), \\ - \sigma_{i,j} &= \sigma_{\text{min},i} + \frac{j}{M_i-1} \left( \sigma_{\text{max},i} - \sigma_{\text{min},i} \right) - \sigma_{\text{quad},i} j (j-M_i+1). - \end{aligned} - -Note that the characteristic charge :math:`\nu_{i,j}` has to be monotonically non-decreasing in the second index :math:`j` and all other rates and the steric factor :math:`\sigma_{i,j}` have to be non-negative. - - -For more information on model parameters required to define in CADET file format, see :ref:`simplified_multi_state_steric_mass_action_config`. diff --git a/_sources/modelling/binding/steric_mass_action.rst.txt b/_sources/modelling/binding/steric_mass_action.rst.txt deleted file mode 100644 index 16c82f388..000000000 --- a/_sources/modelling/binding/steric_mass_action.rst.txt +++ /dev/null @@ -1,39 +0,0 @@ -.. _steric_mass_action_model: - -Steric Mass Action -~~~~~~~~~~~~~~~~~~ - -The steric mass action model takes charges of the molecules into account :cite:`Brooks1992` and is, thus, often used in ion-exchange chromatography. -Each component has a characteristic charge :math:`\nu` that determines the number of available binding sites :math:`\Lambda` (ionic capacity) used up by a molecule. -Due to the molecule’s shape, some additional binding sites (steric shielding factor :math:`\sigma`) may be shielded from other molecules and are not available for binding. - -.. math:: - - \begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i}\left( \frac{\bar{q}_0 }{q_{\text{ref}}} \right)^{\nu_i} - k_{d,i}\: q_i\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i} && i = 1, \dots, N_{\text{comp}} - 1, - \end{aligned} - -where :math:`c_{p,0}` and :math:`q_0` denote the salt concentrations in the liquid and solid phase of the beads, respectively. -The number of free binding sites - -.. math:: - - \begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j = q_0 - \sum_{j=1}^{N_{\text{comp}} - 1} \sigma_j q_j - \end{aligned} - -is calculated from the number of bound counter ions :math:`q_0` by taking steric shielding into account. -In turn, the number of bound counter ions :math:`q_0` (electro-neutrality condition) is given by - -.. math:: - - \begin{aligned} - q_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \nu_j q_j, - \end{aligned} - -which also compensates for the missing equation for :math:`\frac{\mathrm{d} q_0}{\mathrm{d}t}`. - -The concept of reference concentrations (:math:`c_{\text{ref}}` and :math:`q_{\text{ref}}`) is explained in the respective paragraph in Section :ref:`reference_concentrations`. - - -For more information on model parameters required to define in CADET file format, see :ref:`steric_mass_action_config`. diff --git a/_sources/modelling/index.rst.txt b/_sources/modelling/index.rst.txt deleted file mode 100644 index 5741194d2..000000000 --- a/_sources/modelling/index.rst.txt +++ /dev/null @@ -1,12 +0,0 @@ -.. _modelling: - -Modelling -========= - -This section gives complete information about the supported unit operations, binding and reaction models, and creating a network among all the unit operations in CADET. For details on file format specifications related to define each unit operation in CADET, see section :ref:`file_format`. - -.. toctree:: - unit_operations/index - binding/index - reactions - networks diff --git a/_sources/modelling/networks.rst.txt b/_sources/modelling/networks.rst.txt deleted file mode 100644 index d613a64e7..000000000 --- a/_sources/modelling/networks.rst.txt +++ /dev/null @@ -1,148 +0,0 @@ -.. _networks: - -Networks of unit operations -=========================== - -Unit operation models can be composed into a network or graph, in which a node represents a unit operation and an edge denotes a connection between two unit operations. -When utilized to full extent, this allows the simulation of complicated setups and processes (e.g., SMB, MCSGP). -A more simple use case is the addition of plug flows and stirred tanks up- and downstream of a column in order to account for dead volume and additional dispersion from the tubing. - -In a network, outlet ports of unit operations can be connected to any number of inlet ports of unit operations. -Even direct cycles, where an outlet port of a unit operation is connected to its own inlet, are possible. -A unit operation does not have to possess both inlet and outlet, but it has to have at least one of them. -Pseudo unit operations such as inlet and outlet serve as sources and sinks for the network. -However, the latter is not strictly required as any terminal node (i.e., a unit operation that possesses an outlet but does not have an outgoing connection) serves as a sink. - -Each connection between two unit operation ports (i.e., an edge in the graph) is equipped with a volumetric flow rate that determines the mass flow from source to target port. -These flow rates are used to determine the weight of the different incoming feeds at a unit operation’s inlet port. -Some unit operations can infer their internal flow rate (e.g., interstitial velocity) from their total incoming volumetric flow rate. -In general, the mass balance at a unit operation has to be closed, except for unit operations that act as source or sink in the network and variable volume units (e.g., stirred tanks). - -The network of unit operations uses “connection”-variables :math:`c_{\text{con}}` to connect the different unit operation ports with each other. -The inlet port variables :math:`c_{\text{in},n,k}` of unit operation :math:`n` are attached to :math:`c_{\text{con},n}` via - -.. math:: - :label: NetworkInletConnection - - \begin{aligned} - c_{\text{in},n,k,i} &= c_{\text{con},n,k,i}, \qquad k = 1, \dots, N_{\text{port},\text{in},n},\quad i = 1, \dots, N_{\text{comp},n}. - \end{aligned} - -While :math:`N_{\text{port},\text{in},n}` denotes the number of inlet ports of unit operation :math:`n`, the number of outlet ports is given by :math:`N_{\text{port},\text{out},n}`. -The connection variables :math:`c_{\text{con},n,k,i}` collect all inflows of component :math:`i` into port :math:`k` of unit operation :math:`n`: - -.. math:: - :label: NetworkConnection - - \begin{aligned} - c_{\text{con},n,k,i} &= \frac{\sum_{m=1}^{N_{\text{units}}} \sum_{\ell = 1}^{N_{\text{port},\text{out},n}} \sum_{j = 1}^{N_{\text{comp},m}} S_{(n,k,i),(m,\ell,j)} Q_{m,\ell} c_{\text{out},m,\ell,j}}{\sum_{m=1}^{N_{\text{units}}} \sum_{\ell=1}^{N_{\text{port},\text{out},m}} \hat{S}_{(n,k),(m,\ell)} Q_{m,\ell} }, - \end{aligned} - -where :math:`F_{m,\ell}` denotes the volumetric flow rate from outlet port :math:`\ell` of unit operation :math:`m`, :math:`S_{(n,k,i),(m,\ell,j)} \in \{0, 1\}` is a connection matrix indicating whether component :math:`i` at outlet port :math:`k` of unit operation :math:`n` is connected to component :math:`j` at inlet port :math:`\ell` of unit operation :math:`m`, and :math:`\hat{S}_{(n,k),(m,\ell)} \in \{0, 1\}` is another connection matrix indicating whether outlet port :math:`k` of unit operation :math:`n` is connected to inlet port :math:`\ell` of unit operation :math:`m`, that is - -.. math:: - - \begin{aligned} - \hat{S}_{(n,k),(m,\ell)} = \begin{cases} - 1 & \text{if } \sum_{i = 1}^{N_{\text{comp},n}} \sum_{j = 1}^{N_{\text{comp},m}} S_{(n,k,i),(m,\ell,j)} \geq 1, \\ - 0 & \text{otherwise}. \end{cases} - \end{aligned} - -Note that for each unit operation the number of inlet ports may be different from the number of outlet ports. -Hence, the mass balance of a single unit operation is taken with respect to all its ports combined. - -.. _MUOPNetworkConfig: - -Specification of network connections -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The connections between the different unit operations in the network are specified by a table. -There are two table formats: - -- The long format includes seven columns. - The first two columns specify source and destination unit operation id. - The next two columns give source and destination port indices. - Source and destination component indices are given by the following two columns. - Finally, the seventh column specifies the volumetric flow rate of this connection (see :ref:`FFModelConnectionSwitch`). - -- The short format includes five columns. - The first two columns specify source and destination unit operation id. - Source and destination component indices are given by the following two columns. - Finally, the fifth column specifies the volumetric flow rate of this connection. - Here, the omitted port indices default to :math:`-1`, which connects all ports of the source unit operation to the corresponding ports of the target. - -By default, the short format is used (i.e., a table with five columns is expected). -However, if a unit operation with multiple ports is present, a table with seven columns is required. -The default format can be overruled by setting a field. - -With this setup, it is possible to connect single components of unit operations with each other yielding a maximum in flexibility. -However, the predominant case is to connect all components of the source unit operations with their respective counterparts in the destination unit. -This can easily be done by setting both component indices to :math:`-1` instead of writing a separate row for each component of the connection. -The same setting (i.e., setting both port indices to :math:`-1`) can be used to connect all ports of one unit operation with all corresponding ports of another one. - -Note that in case of multiple rows for one connection between two unit operation ports (e.g., in case of separate component connections) the flow rate of the first row of that connection is used and all following flow rates are ignored. -Consequently, there can only be one flow rate for a connection between two unit operations regardless of which components are connected. - -The connection table is expected in row-major storage format (i.e., the rows are appended to one long array). - -.. _MUOPNetworkValveSwitches: - -Valve switches -~~~~~~~~~~~~~~ - -The connectivity of the network can only change on a discontinuous section transition. -Such a transition with changing connectivity is referred to as valve switch and the connectivity itself as valve configuration. - -A list of valve configurations with at least one entry is required. -Each valve configuration consists of a network connectivity table as described in Section :ref:`MUOPNetworkConfig` and a section index. -The latter denotes the section in which the connectivity table becomes active. -Hence, the one required (i.e., the first) entry must have a section index of :math:`0` denoting the initial connectivity. - -Note that the section index has to be monotonically increasing throughout the list of valve configurations. -See Tables :ref:`FFModelSystemConnections` and :ref:`FFModelConnectionSwitch`. - - -.. _MUOPNetworkDynamicFlowRates: - -Dynamic flow rates -~~~~~~~~~~~~~~~~~~ - -The volumetric flow rates may vary over time while the valve configuration is active. -The rates are assumed to be cubic polynomials, - -.. math:: - - Q = Q_0 + Q_1(t - t_s) + Q_2(t-t_s)^2 + Q_3(t-t_s)^3, - -where :math:`t_s` is the beginning of the time section that triggers the valve switch. - -Note that the denominator in Eq. :eq:`NetworkConnection` must always be positive. -That is, the flow rate coefficients have to be chosen such that the flow into every connected inlet port is strictly positive at all times. - - -.. _MUOPNetworkLinearSolver: - -Solution of the linear systems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Each time step in the simulation requires the solution of a nonlinear system Eq. :eq:`BDFNonlinSystem` (see Sec. :ref:`SimTimeIntegration`). -The nonlinear problem is solved by a Newton iteration, which, in turn, requires the solution of a linear system that essentially consists of the Jacobians of the unit operations and some coupling matrices from Eqs. :eq:`NetworkInletConnection` and :eq:`NetworkConnection`. - -These linear systems are either solved in parallel or sequentially. The parallel method first solves each unit operation (in parallel) to compute the solution at its outlet. -Using these values, the inlets are adjusted and the unit operations are solved again. -This is iterated until the system is fully solved. - -In contrast, the sequential method first determines an ordering of the unit operations such that each unit only receives inflow from the previous units in the ordering. -Such an ordering requires an acyclic graph of unit operations. -Finally, the linear system is solved by solving the unit operations in the ordering determined above. -Before a unit is solved, its inlet is calculated from the outlets of the previously solved units. -This means, the system is solved from system inlets to system outlets. - -The parallel method works regardless of the network topology (i.e., cycles in the graph), but requires to solve each unit operation at least twice. -The sequential method solvs each unit exactly once, but is restricted to acyclic networks and works best for small graphs. -By default, CADET uses a heuristic to select an appropriate solution method. -This default can be overridden by a flag (see Table :ref:`FFModelSolver`). - -The solution method is selected for each valve switch individually. -If some network configurations contain cycles, the parallel method is chosen for them regardless of the method used for the other configurations. - diff --git a/_sources/modelling/reactions.rst.txt b/_sources/modelling/reactions.rst.txt deleted file mode 100644 index 578801021..000000000 --- a/_sources/modelling/reactions.rst.txt +++ /dev/null @@ -1,147 +0,0 @@ -.. _reaction_models: - -Reaction models -=============== - - -Reaction models describe the (net) fluxes :math:`f_{\mathrm{react}}` of a -reaction mechanism. The most common mechanism is the mass action law. - -.. _MRMassActionLaw: - -Mass action law ---------------- - -The mass action law reaction model is suitable for most reactions. -Note that the concentrations are directly used for calculating the fluxes. -Hence, the model only holds for dilute solutions under the assumption of a well-stirred reaction vessel. -These assumptions can be weakened by passing to the generalized mass action law, which uses chemical activities instead of concentrations. - -The mass action law states that the speed of a reaction is proportional to the product of the concentrations of their reactants. -The net flux for component :math:`i` is given by - -.. math:: - - \begin{aligned} - f_{\mathrm{react},i}^l\left(c^l\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^l \varphi^l_j\left(c^l\right), \\ - \varphi^l_j(c^l) &= k^l_{\mathrm{fwd},j} \prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^l_{\ell}\right)^{e^l_{\mathrm{fwd},\ell,j}} - k^l_{\mathrm{bwd},j} \prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^l_{\ell}\right)^{e^l_{\mathrm{bwd},\ell,j}}, - \end{aligned} - -where :math:`S^l = (s^l_{i,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}` is the stoichiometric matrix, :math:`\varphi^l_j(c)` is the net flux of reaction :math:`j`, and :math:`k^l_{\mathrm{fwd},j}` and :math:`k^l_{\mathrm{bwd},j}` are the rate constants. -The matrices :math:`E^l_{\mathrm{fwd}} = (e^l_{\mathrm{fwd},\ell,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}` and :math:`E^l_{\mathrm{bwd}} = (e^l_{\mathrm{bwd},\ell,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}` are usually derived by the order of the reaction, that is, - -.. math:: - :label: MRMassActionLawExpMatDefault - - \begin{aligned} - e^l_{\mathrm{fwd},\ell,j} &= \max(0, -s^l_{\ell,j}), \\ - e^l_{\mathrm{bwd},\ell,j} &= \max(0, s^l_{\ell,j}). - \end{aligned} - -However, these defaults can be changed by providing those matrices. - -In situations where both liquid and solid phase are present (e.g., in a bead), the respective other phase may act as a modifier in the net flux equation. -For example, consider reactions in the liquid phase of a particle given by - -.. math:: - - \begin{aligned} - f_{\mathrm{react},i}^p\left(c^p, c^s\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^p \varphi^p_j\left(c^p, c^s\right),\end{aligned} - -where - -.. math:: - - \begin{split} - \varphi^p_j(c^p, c^s) = k^p_{\mathrm{fwd},j} &\left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^p_{\mathrm{fwd},\ell,j}}\right] \left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{ps}_{\mathrm{fwd},m,j}}\right] \\ - - k^p_{\mathrm{bwd},j} &\left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^p_{\mathrm{bwd},\ell,j}}\right] \left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{ps}_{\mathrm{bwd},m,j}}\right]. - \end{split} - -The forward and backward rates of the liquid phase particle reactions can be modified by a power of every bound state in the solid phase of the particle. -The exponents of these powers are given by the matrices :math:`E^{ps}_{\mathrm{fwd}} = (e^{ps}_{\mathrm{fwd},m,j})` and :math:`E^{ps}_{\mathrm{bwd}} = (e^{ps}_{\mathrm{bwd},m,j})`, which are both of size :math:`(\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}`. -Whereas the exponent matrices :math:`E^{p}_{\mathrm{fwd}}, E^{p}_{\mathrm{bwd}} \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}` are initialized based on the stoichiometric matrix :math:`S^{p} \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}`, see Eq. :eq:`MRMassActionLawExpMatDefault`, the exponent matrices :math:`E^{ps}_{\mathrm{fwd}}, E^{ps}_{\mathrm{bwd}}` of the modifier terms default to :math:`0`. - -Vice versa, the rates of solid phase reactions can be modified by liquid phase concentrations. -The corresponding exponent matrices :math:`E^{sp}_{\mathrm{fwd}} = (e^{sp}_{\mathrm{fwd},\ell,j})` and :math:`E^{sp}_{\mathrm{bwd}} = (e^{sp}_{\mathrm{bwd},\ell,j})` are both of size :math:`N_{\mathrm{comp}} \times N_{\mathrm{react}}`. - -.. math:: - - \begin{aligned} - f_{\mathrm{react},i}^s\left(c^s, c^p\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^s \varphi^s_j\left(c^s, c^p\right), - \end{aligned} - -where - -.. math:: - - \begin{split} - \varphi^s_j(c^s, c^p) = k^s_{\mathrm{fwd},j} &\left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{s}_{\mathrm{fwd},m,j}}\right] \left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^{sp}_{\mathrm{fwd},\ell,j}}\right] \\ - - k^p_{\mathrm{bwd},j} &\left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{s}_{\mathrm{bwd},m,j}}\right] \left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^{sp}_{\mathrm{bwd},\ell,j}}\right]. - \end{split} - -Whereas the exponent matrices :math:`E^{s}_{\mathrm{fwd}}, E^{s}_{\mathrm{bwd}} \in \mathbb{R}^{(\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}}` are initialized based on the stoichiometric matrix :math:`S^{s} \in \mathbb{R}^{(\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}}`, see Eq. :eq:`MRMassActionLawExpMatDefault`, the exponent matrices :math:`E^{sp}_{\mathrm{fwd}}, E^{sp}_{\mathrm{bwd}}` of the modifier terms default to :math:`0`. - - -Correlation of forward- and backward rate constants ---------------------------------------------------- - -Note that forward rate constant :math:`k_{\mathrm{fwd},i}` and backward -rate constant :math:`k_{\mathrm{bwd},i}` of reaction :math:`i` are -linearly correlated due to the form of the equilibrium constant -:math:`k_{\mathrm{eq},i}`: - -.. math:: - - \begin{aligned} - k_{\mathrm{fwd},i} = k_{\mathrm{eq},i} k_{\mathrm{bwd},i}. - \end{aligned} - -This correlation can potentially degrade performance of some optimization algorithms. -The parameters can be decoupled by reparameterization: - -.. math:: - - \begin{aligned} - r_{\mathrm{net},i} &= k_{\mathrm{fwd},i} f_{\mathrm{fwd},i} - k_{\mathrm{bwd},i} f_{\mathrm{bwd},i}\\ - &= k_{\mathrm{bwd},i} \left[ k_{\mathrm{eq},i} f_{\mathrm{fwd},i} - f_{\mathrm{bwd},i} \right] \\ - &= k_{\mathrm{fwd},i} \left[ f_{\mathrm{fwd},i} - \frac{1}{k_{\mathrm{eq},i}} f_{\mathrm{bwd},i} \right]. - \end{aligned} - -This can be achieved by a (nonlinear) parameter transform - -.. math:: - - \begin{aligned} - F\left( k_{\mathrm{eq},i}, k_{\mathrm{bwd},i} \right) &= \begin{pmatrix} k_{\mathrm{eq},i} k_{\mathrm{bwd},i} \\ k_{\mathrm{bwd},i} \end{pmatrix} \\ - \text{ with Jacobian } J_F\left( k_{\mathrm{eq},i}, k_{\mathrm{bwd},i} \right) &= \begin{pmatrix} k_{\mathrm{bwd},i} & k_{\mathrm{eq},i} \\ 0 & 1 \end{pmatrix}. - \end{aligned} - - -.. _dependence-on-external-function_react: - -Dependence on external function -------------------------------- - -A reaction model may depend on an external function or profile :math:`T\colon \left[ 0, T_{\mathrm{end}}\right] \times [0, L] \to \mathbb{R}`, where :math:`L` denotes the physical length of the unit operation, or :math:`T\colon \left[0, T_{\mathrm{end}}\right] \to \mathbb{R}` if the unit operation model has no axial length. -By using an external profile, it is possible to account for effects that are not directly modeled in CADET (e.g., temperature). -The dependence of each parameter is modeled by a polynomial of third degree. -For example, the forward rate constant :math:`k_{\mathrm{fwd}}` is really given by - -.. math:: - - \begin{aligned} - k_{\mathrm{fwd}}(T) &= k_{\mathrm{fwd},3} T^3 + k_{\mathrm{fwd},2} T^2 + k_{\mathrm{fwd},1} T + k_{\mathrm{fwd},0}. - \end{aligned} - -While :math:`k_{\mathrm{fwd},0}` is set by the original parameter ``XXX_KFWD`` of the file format (``XXX`` being a placeholder for the reaction model), the parameters :math:`k_{\mathrm{fwd},3}`, :math:`k_{\mathrm{fwd},2}`, and :math:`k_{\mathrm{fwd},1}` are given by ``XXX_KFWD_TTT``, ``XXX_KFWD_TT``, and ``XXX_KFWD_T``, respectively. -The identifier of the externally dependent reaction model is constructed from the original identifier by prepending ``EXT_`` (e.g., ``MASS_ACTION_LAW`` is changed into ``EXT_MASS_ACTION_LAW``). -This pattern applies to all parameters and supporting reaction models. -Note that the parameter units have to be adapted to the unit of the external profile by dividing with an appropriate power. - -Each parameter of the externally dependent reaction model can depend on a different external source. -The 0-based indices of the external source for each parameter is given in the dataset ``EXTFUN``. -By assigning only one index to ``EXTFUN``, all parameters use the same source. -The ordering of the parameters in ``EXTFUN`` is given by the ordering in the file format specification in Section :ref:`FFReaction`. - -The layout of the matrices in the file format is presented in Table :ref:`FFReactionMassActionLaw`. - diff --git a/_sources/modelling/unit_operations/2d_general_rate_model.rst.txt b/_sources/modelling/unit_operations/2d_general_rate_model.rst.txt deleted file mode 100644 index c77c7efa4..000000000 --- a/_sources/modelling/unit_operations/2d_general_rate_model.rst.txt +++ /dev/null @@ -1,92 +0,0 @@ -.. _2d_general_rate_model_model: - -Two Dimensional General rate model (GRM2D) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The general rate model as introduced in Section :ref:`general_rate_model_model` assumes homogeneity in the cross sections of the column. -This allows to consider transport along the axial dimension only. -However, due to packing irregularity and inhomogeneous flow at the inlet (i.e., frits), this assumption may be a crude approximation. -This model can be improved by introducing a radial coordinate :math:`\rho \in [0, R]`, where :math:`R` is the column radius, in the interstitial volume Eq. :eq:`ModelColumn`: - -.. math:: - :label: ModelColumn2D - - \varepsilon_c \frac{\partial c^l_i}{\partial t} = &-\varepsilon_c u \frac{\partial c^l_i}{\partial z} + \varepsilon_c D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} + \frac{1}{\rho} \frac{\partial}{\partial \rho} \left( \rho D_{\text{rad},i} \frac{\partial}{\partial \rho} \left( \varepsilon_c c^l_i \right) \right) \\ - &- \left(1 - \varepsilon_c\right) \sum_j d_j \frac{ 3 k_{f,j,i} }{r_{p,j}} \left[ c^l_i - c^p_{j,i}(\cdot, \cdot, \cdot, r_{p,j}) \right] + \varepsilon_c f_{\text{react},i}^l\left(c^l\right). - -Here, - - - :math:`c^l_i\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \rightarrow \mathbb{R}^{\geq 0}`, - - :math:`c^p_{j,i}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}`, and - - :math:`c^s_{j,i,m_{j,i}}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}` - -depend on :math:`\rho`. -Additionally, the porosity :math:`\varepsilon_c`, axial dispersion coefficient :math:`D_{\text{ax},i}`, radial dispersion coefficient :math:`D_{\text{rad},i}`, and interstitial velocity :math:`u` may depend on :math:`\rho`. - -The dependence of the parameters on :math:`\rho` is not arbitrary. -For simplicity, it is assumed that the parameters are piecewise constant, that is, the range :math:`[0, R]` is divided into disjoint zones in which all parameters are constant. -These zones are used for radial discretization and can be supplied to the simulator. -Continuous dependence of the parameters can be realized by piecewise constant approximation. - -The Danckwerts boundary conditions at the column in- and outlet, Eq. :eq:`BCInlet` and :eq:`BCOutlet`, are modified to account for the radial coordinate: - -.. math:: - :label: BCInlet2D - - \begin{aligned} - u(\rho) c_{\text{in},i}(t,\rho) &= u(\rho) c^l_i(t,0,\rho) - D_{\text{ax},i}(\rho) \frac{\partial c^l_i}{\partial z}(t, 0, \rho) & \forall t > 0, \rho \in (0,R), - \end{aligned} - -.. math:: - :label: BCOutlet2D - - \begin{aligned} - \frac{\partial c^l_i}{\partial z}(t, L, \rho) &= 0 & \forall t > 0, \rho \in (0,R). - \end{aligned} - -Conditions for the radial direction are added: - -.. math:: - :label: BCRadial2DInner - - \begin{aligned} - \frac{\partial{c^l_i}}{\partial \rho}(\cdot, \cdot, 0) &= 0, \\ - \end{aligned} - -.. math:: - :label: BCRadial2DOuter - - \begin{aligned} - \frac{\partial{c^l_i}}{\partial \rho}(\cdot, \cdot, R) &= 0. - \end{aligned} - -While the inner condition Eq.\ :eq:`BCRadial2DInner` represents symmetry at the column center, the outer condition Eq. :eq:`BCRadial2DOuter` is a no-flux condition. - -Using the inlet boundary condition Eq. :eq:`BCInlet2D`, each radial zone is equipped with its own inlet and outlet port. -That is, this unit operation has as many inlet and outlet ports as it has radial zones (parameter ``NRAD`` in the ``discretization`` group). -This allows each radial zone to have its own inlet profile, which enables modeling of flow distribution in the frits by sending the feed through varying hold-up volumes before injecting it into a radial zone. - - -.. _MUOPGRMflow2D: - -Specification of flow rate / velocity and direction -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Since the column radius :math:`R` and the zones :math:`(\rho_k, \rho_{k+1})`, :math:`k = 0, \dots, N_{\text{rad}} - 1`, are known, the interstitial velocities :math:`u_k` are inferred from the volumetric flow rates via - -.. math:: - - \begin{aligned} - u_k = u_{\text{int},k} = \frac{F_{\text{in},k}}{\pi \left( \rho_{k+1}^2 - \rho_k^2 \right) \varepsilon_{c,k}}, - \end{aligned} - -where :math:`F_{\text{in},k}` denotes the volumetric flow rate into zone :math:`k`. - -The direction of flow inside the radial zone of the unit operation is governed by the sign of the interstitial velocity :math:`u_k`. -A positive sign results in (standard) forward flow, whereas a negative sign reverses the flow direction. -Note that in case of reversed flow, the chromatogram is returned at the unit operation’s *inlet* port, which may not be returned from simulation by default. - -Note that, contrary to the standard general rate model as presented in Section :ref:`general_rate_model_model`, the interstitial flow rate is always given by the volumetric flow rate. -The velocity parameter only determines the flow direction. - -For information on model parameters see :ref:`2d_general_rate_model_config`. diff --git a/_sources/modelling/unit_operations/cstr.rst.txt b/_sources/modelling/unit_operations/cstr.rst.txt deleted file mode 100644 index eace5c017..000000000 --- a/_sources/modelling/unit_operations/cstr.rst.txt +++ /dev/null @@ -1,43 +0,0 @@ -.. _cstr_model: - -Continuous stirred tank reactor model (CSTR) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The continuous stirred tank reactor model is a basic building block in unit operation networks and often used to model holdup volume. -When combined with a binding model, it can be used to model batch uptake experiments. - -Assuming that the fluid inside the tank is well-mixed and that the volume can vary, the governing equations are given by - -.. math:: - - \begin{aligned} - \frac{\mathrm{d}}{\mathrm{d}t} \left(\left[ c_i + \frac{1-\varepsilon}{\varepsilon} \sum_j d_j \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} \right] V\right) &= F_{\text{in}} c_{\text{in},i} - F_{\text{out}} c_i + V f_{\text{react},i}^l\left( c \right) \\ - &+ V \frac{1-\varepsilon}{\varepsilon}\sum_j d_j f_{\text{react},j,i}^s\left( c, c_j^s \right), - \end{aligned} - -which balances the mass, the binding equation - -.. math:: - - \begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads},j}\left( c, c^s_j\right), \\ - \text{dynamic: }& & \frac{\partial c^s_j}{\partial t} &= f_{\text{ads},j}\left( c, c^s_j\right) + f_{\text{react},j}^s\left( c, c_j^s \right), - \end{aligned} - -depending on whether quasi-stationary or dynamic binding is used, and the evolution of volume - -.. math:: - - \begin{aligned} - \frac{\mathrm{d}V}{\mathrm{d}t} &= F_{\text{in}} - F_{\text{out}} - F_{\text{filter}}. - \end{aligned} - -The porosity :math:`\varepsilon` denotes the ratio of liquid phase volume to total tank volume. -Thus, setting :math:`\varepsilon = 1`, removing all bound states by setting :math:`N_{\text{bnd},j,i} = 0` for all components :math:`i` and particle types :math:`j`, and applying no binding model results in a simple tank. -The additional parameter :math:`F_{\text{filter}}`, which denotes the flow rate of pure liquid (without any components) out of the tank, can be used to model a filtering unit. - -Note that it is the user’s duty to make sure that the volume of the CSTR does not fall below 0. If it does, the simulation may fail to run or may produce unreasonable (e.g., unphysical) results. - -See :ref:`cstr_config`. - - diff --git a/_sources/modelling/unit_operations/general_rate_model.rst.txt b/_sources/modelling/unit_operations/general_rate_model.rst.txt deleted file mode 100644 index c34dd2e16..000000000 --- a/_sources/modelling/unit_operations/general_rate_model.rst.txt +++ /dev/null @@ -1,287 +0,0 @@ -.. _general_rate_model_model: - -General rate model (GRM) -~~~~~~~~~~~~~~~~~~~~~~~~ - -The general rate model is the most comprehensive model of mass transfer in column liquid chromatography, when only the axial coordinate in the column and the radial coordinate in the beads are considered :cite:`Kucera1965,Gu1995,Guiochon2006,Felinger2004`. - -The main assumptions are: - -- The cross sections of the column are homogenous in terms of interstitial volume, fluid flow, and distribution of components. - Thus, only one spatial coordinate in axial direction is needed and radial transport is neglected in the column bulk volume. - -- The bead radii :math:`r_{p}` are much smaller than the column radius :math:`r_c` and the column length :math:`L`. - Therefore, the beads can be seen as continuously distributed inside the column (i.e., at each point there is interstitial and bead volume). - -.. _table_features: -.. list-table:: Variables and unknowns - :widths: 20 30 50 - :header-rows: 1 - - * - Variable - - Domain - - Description - * - :math:`i` - - :math:`\left\{ 0, \dots, N_{\text{comp}} - 1 \right\}` - - Component index - * - :math:`j` - - :math:`\left\{ 0, \dots, N_{\text{partype}} - 1 \right\}` - - Particle type index - * - :math:`m_{j,i}` - - :math:`\left\{ 0, \dots, N_{\text{bnd},j,i} - 1 \right\}` - - Bound state index of :math:`i`\ th component in :math:`j`\ th particle type - * - :math:`m_j` - - :math:`\left\{ 0, \dots, \sum_{i=0}^{N_{\text{comp}}-1} N_{\text{bnd},j,i} - 1 \right\}` - - Total bound state index in particle type :math:`j` - * - :math:`t` - - :math:`\left[0, T_{\text{end}}\right]` - - Time coordinate - * - :math:`z` - - :math:`\left[0, L\right]` - - Axial coordinate - * - :math:`r` - - :math:`\left[r_{c,j}, r_{p,j}\right]` - - Generic bead radial coordinate - * - :math:`c^l_{i}(t,z)` - - :math:`\left[0, T_{\text{end}}\right] \times [0, L]` - - Interstitial concentration of the :math:`i`\ th component - * - :math:`c^p_{j,i}(t, z, r)` - - :math:`\left[0, T_{\text{end}}\right] \times [0, L] \times \left[r_{c,j}, r_{p,j}\right]` - - Mobile phase concentration of the :math:`i`\ th component in the :math:`j`\th particle type - * - :math:`c^s_{j,i,m_{j,i}}(t, z, r)` - - :math:`\left[0, T_{\text{end}}\right] \times [0,L] \times \left[r_{c,j}, r_{p,j}\right]` - - Solid phase concentration of the :math:`i`\ th component's :math:`m_{j,i}`\th bound state in particles of type :math:`j` - * - :math:`j_{f,j,i}(t, z)` - - :math:`\left[0, T_{\text{end}}\right] \times [0, L]` - - Flux of the :math:`i`\ th component through stagnant film into the bead of type :math:`j` - -.. _ModelGRMColumn: -.. figure:: column_bulk_model.png - - Column bulk model - -The GRM describes transport of solute molecules through the interstitial column volume by convective flow, band broadening caused by axial dispersion, mass transfer resistance through a stagnant film around the beads, pore (and surface) diffusion in the porous beads :cite:`Ma1996,Schneider1968a,Miyabe2007`, and adsorption to the inner bead surfaces. - -Consider a column of length :math:`L>0` filled with spherical beads of (possibly) multiple types with radius :math:`r_{p,j} \ll L` (see :numref:`ModelGRMColumn`), where :math:`j` is the particle type index. The mass balance in the interstitial column volume is described by - -.. math:: - :label: ModelColumn - - \begin{aligned} - \frac{\partial c^l_i}{\partial t} = -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} &- \frac{1}{\beta_c} \sum_j d_j \frac{3}{r_{p,j}} k_{f,j,i} \left[ c^l_i - c^p_{j,i}(\cdot, \cdot, r_{p,j}) \right] \\ - &+ f_{\text{react},i}^l\left(c^l\right). - \end{aligned} - -Here, :math:`c^l_i\colon \left[0, T_{\text{end}}\right] \times [0, L] \rightarrow \mathbb{R}^{\geq 0}` denotes the concentration in the interstitial column volume, :math:`c^p_{j,i}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}` the liquid phase concentration in the beads, :math:`k_{f,j,i}` the film diffusion coefficient, :math:`D_{\text{ax},i}` the dispersion coefficient, :math:`u` the interstitial velocity, :math:`d_j` the volume fraction of particle type :math:`j`, and :math:`\beta_c = \varepsilon_c / (1 - \varepsilon_c)` the column phase ratio, where :math:`\varepsilon_c` is the column porosity (ratio of interstitial volume to total column volume). -If reactions are considered, the term :math:`f_{\text{react},i}^l\left(c^l\right)` represents the net change of concentration :math:`c_i` due to reactions involving component :math:`i`. - -Danckwerts boundary conditions :cite:`Danckwerts1953` are applied to inlet and outlet of the column: - -.. math:: - :label: BCOutlet - - \begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0, - \end{aligned} - -.. math:: - :label: BCInlet - - \begin{aligned} - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. - \end{aligned} - -Note that the outlet boundary condition Eq. :eq:`BCOutlet` is also known as “do nothing” or natural outflow condition. - -In the liquid phase of the porous beads (see :numref:`ModelGRMColumn`) the mass balance is given by - -.. math:: - :label: ModelBead - - \begin{aligned} - \frac{\partial c^p_{j,i}}{\partial t} &+ \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} \frac{\partial}{\partial t} \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} \\ - &= \underbrace{D_{p,j,i} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial}{\partial r} \right]c^p_{j,i}}_{\text{Pore diffusion}} \\ - &+ \underbrace{\frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} D_{s,j,i} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} }_{\text{Surface diffusion}} \\ - &+ f_{\text{react},j,i}^p\left( c_j^p, c_j^s \right) + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} f_{\text{react},j,i}^s\left( c_j^p, c_j^s \right), - \end{aligned} - - -where :math:`c^s_{j,i,m_{j,i}}\colon \left[0, T_{\text{end}}\right] \times [0,L] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}` denotes the solid phase concentration of the :math:`i`\ th component’s :math:`m_{j,i}`\ th bound state in the beads of :math:`j`\ th type, :math:`D_{p,j,i}` the effective diffusion coefficient in the beads, :math:`D_{s,j,i}` the surface diffusion coefficient, :math:`F_{\text{acc},j,i} \in [0,1]` the pore accessibility factor, and :math:`\varepsilon_{p,j}` the particle porosity (ratio of pore volume to total bead volume). -The inner bead radius :math:`r_{c,j} \in [0, r_{p,j})` is assumed to be :math:`0` by default, but can be positive in order to account for core-shell particles that have an impermeable core. -Reaction terms in liquid and solid phase are collected in :math:`f_{\text{react},j,i}^p( c_j^p, c_j^s)` and :math:`f_{\text{react},j,i}^s(c_j^p, c_j^s)`, respectively. - -The GRM is used with both quasi-stationary (Eq. :eq:`REqBinding`) and dynamic (Eq. :eq:`DynBinding`) binding models. - -.. math:: - :label: REqBinding - - \begin{aligned} - \text{quasi-stationary: } 0 &= f_{\text{ads},j}\left( c^p_j, c^s_j\right) - \end{aligned} - -.. math:: - :label: DynBinding - - \begin{aligned} - \text{dynamic: } \frac{\partial c^s_j}{\partial t} &= D_{s,j} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] c^s_{j} \\ - &+ f_{\text{ads},j}\left( c^p_j, c^s_j\right) + f_{\text{react},j}^s\left( c_j^p, c_j^s \right). - \end{aligned} - -Note that :math:`c^p_j` and :math:`c^s_j` denote the vector of all :math:`c^p_{j,i}` and :math:`c^s_{j,i,m_{j,i}}`, respectively. - -The boundary conditions of the bead model the film diffusion and are given for all :math:`{t \in (0,\infty)}` and :math:`z \in [0,L]` by - -.. math:: - :label: BCBeadIn - - \begin{aligned} - k_{f,j,i}\left[ c^l_i - c^p_{j,i}(\cdot, \cdot, r_{p,j}) \right] &= F_{\text{acc},j,i} \varepsilon_{p,j} D_{p,j,i} \frac{\partial c^p_{j,i}}{\partial r}(\cdot, \cdot, r_{p,j}) \\ - &+ \left( 1 - \varepsilon_{p,j}\right) D_{s,j,i} \sum_{m_{j,i}} \frac{\partial c^s_{j,i,m_{j,i}}}{\partial r}(\cdot, \cdot, r_{p,j}), - \end{aligned} - -.. math:: - :label: BCBeadCenter - - \begin{aligned} - \frac{\partial c^p_{j,i}}{\partial r}(\cdot, \cdot, r_{c,j}) &= 0. - \end{aligned} - -By default, the following initial conditions are applied for all :math:`z \in [0,L]` and :math:`r \in \left[r_{c,j}, r_{p,j}\right]`: - -.. math:: - :label: InitialConditions - - \begin{aligned} - c^l_i(0, z) &= 0, & c^p_{j,i}(0, z, r) &= 0, & c^s_{j,i,m_{j,i}}(0,z,r) &= 0. - \end{aligned} - -.. _ModelGRMBead: -.. figure:: column_bead_model.png - - Column bead model - -.. _ModelGRMStates: -.. figure:: multiple_bound_states.png - :scale: 50 % - - Binding with multiple bound states - - -See Table :ref:`general_rate_model_config`. - - -.. _MUOPGRMParticleGeometry: - -Particle Geometry -^^^^^^^^^^^^^^^^^ - -In the model above, spherical particles are considered. -Other supported particle forms are cylinders and slabs. -For cylinders, it is assumed that molecules can only enter through the lateral surface (i.e., the caps are sealed). -Slabs are assumed to have two large sides such that molecules enter through the two large faces (i.e., the remaining four small faces are sealed). - -All particle forms support core-shell beads that have an impermeable core. -The particles are characterized by their (outer) "radius" :math:`r_{p,j}` and their (inner) core "radius" :math:`r_{c,j} \in [0, r_{p,j})`. -See :numref:`ModelGRMParticleGeometries`. - -.. _ModelGRMParticleGeometries: -.. figure:: column_particle_geometries.png - - Particle geometries - -For cylinders, the factor :math:`3 / r_{p,j}` in Eq. (:eq:`ModelColumn`) changes to :math:`2 / r_{p,j}` and the diffusion operator in Eq. (:eq:`ModelBead`) and Eq. (:eq:`DynBinding`) changes as - -.. math:: - - \begin{aligned} - \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \quad \rightarrow \quad \left[\frac{\partial^2}{\partial r^2} + \frac{1}{r} \frac{\partial }{\partial r} \right]. - \end{aligned} - -For slabs, the factor :math:`3 / r_{p,j}` in (see Eq. (:eq:`ModelColumn`)) changes to :math:`1 / r_{p,j}` and the diffusion operator in Eq. (:eq:`ModelBead`) and Eq. (:eq:`DynBinding`) changes as - -.. math:: - - \begin{aligned} - \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \quad \rightarrow \quad \frac{\partial^2}{\partial r^2}. - \end{aligned} - - -.. _MUOPGRMMultiParticleTypes: - -Multiple particle types -^^^^^^^^^^^^^^^^^^^^^^^ - -A particle type has its own set of mass transfer parameters :math:`\varepsilon_{p,j}`, :math:`D_{p,j}`, :math:`D_{s,j}`, etc (see Eq. :eq:`ModelBead`) and its own binding model :math:`f_{\mathrm{ads}}` (including a possibly differing number of bound states). -This allows, for example, modeling of particle size distributions or potential applications with differently functionalized beads (e.g., immobilized enzymes). - -The distribution of the particle types is governed by their volume fractions :math:`d_j` in Eq. - :eq:`ModelColumn`. The volume fractions have to sum to :math:`1`: - -.. math:: - - \begin{aligned} - \sum_{j=0}^{N_{\text{partype}} - 1} d_j = 1. - \end{aligned} - -The particle type volume fractions can be spatially constant throughout the column, or depend on the position inside the column bulk volume. -In the latter case, the user can specify a set of volume fractions for each discretized finite volume cell. -This allows, for example, the placement of smaller particles near the frits. - -.. _MUOPGRMSizeExclusion: - -Size exclusion chromatography -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The general rate model can be used to simulate size exclusion chromatography (SEC) :cite:`Gu1995`. -The particle porosity :math:`\varepsilon_{p,j}` on the mobile phase side of the transport equations is replaced by a component-dependent accessible porosity - -.. math:: - - \begin{aligned} - \varepsilon_{p,j,i} = F_{\text{acc},j,i} \varepsilon_{p,j}, - \end{aligned} - -where the pore accessibility factor :math:`F_{\text{acc},j,i}` ranges in :math:`(0, 1]`. - -Small molecules that can enter any pore have :math:`F_{\text{acc},j,i} = 1`, whereas larger molecules that can enter some, but not small pores, have values :math:`0 < F_{\text{acc},j,i} < 1`. -The other extreme is given by molecules so large that they cannot enter any pore and, consequently, :math:`F_{\text{acc},j,i} = 0`. -Note that :math:`F_{\text{acc},j,i} = 0` is not allowed in a simulation, which can be circumvented by setting :math:`k_{f,j,i} = 0`. - -By default, :math:`F_{\text{acc},j,i} = 1` for all components :math:`i` and all particle types :math:`j`, which disables size exclusion chromatography. - -It is important to note that in the presence of size exlusion effects, the saturation capacity (e.g., :math:`q_{\text{max}}` of Langmuir-type binding models) will differ for solutes with different accessible porosity values. -However, this leads to inconsistencies in the equations which account for the full pore volume fraction :math:`\varepsilon_{p,j}`. -For this reason, SEC should only be modelled without binding models! -In order to simulate pure SEC, binding is disabled by setting :math:`N_{\text{bnd},i} = 0` for all components :math:`i` and applying no binding model. - -Note that multiple particle types can also be used to aid in modeling size exclusion effects, see Section :ref:`MUOPGRMMultiParticleTypes`. - -.. _MUOPGRMflow: - -Specification of flow rate / velocity and direction -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Since volumetric flow rates are specified for each network connection, the unit operation can infer its interstitial velocity via - -.. math:: - - \begin{aligned} - u = u_{\text{int}} = \frac{F_{\text{in}}}{A \varepsilon_c}, - \end{aligned} - -where :math:`F_{\text{in}}` denotes the volumetric flow rate and :math:`A` the cross section area. -Note that without the bulk porosity :math:`\varepsilon_c`, the superficial velocity would be obtained. - -The direction of flow inside the unit operation is governed by the sign of the interstitial velocity :math:`u`. -A positive sign results in (standard) forward flow, whereas a negative sign reverses the flow direction. -Note that in case of reversed flow, the chromatogram is returned at the unit operation’s `INLET`, which may not be returned from simulation by default. - -The final behavior is controlled by the interplay of cross section area and interstitial velocity: - -- If cross section area :math:`A` is given and :math:`u` is not, :math:`u` is inferred from the volumetric flow rate. - -- If :math:`u` is given and :math:`A` is not, the volumetric flow rate is ignored and the provided interstitial velocity is used. - -- If both cross section area :math:`A` and interstitial velocity :math:`u` are given, the magnitude of the actual interstitial velocity :math:`u` is inferred from the volumetric flow rate and the flow direction is given by the sign of the provided :math:`u`. - -For information on model parameters see :ref:`general_rate_model_config`. diff --git a/_sources/modelling/unit_operations/index.rst.txt b/_sources/modelling/unit_operations/index.rst.txt deleted file mode 100644 index f98059d85..000000000 --- a/_sources/modelling/unit_operations/index.rst.txt +++ /dev/null @@ -1,65 +0,0 @@ -.. _unit_operation_models: - -Unit operation models -===================== - -A short comparison of the most prominent unit operation model features -is given in :numref:`table_features_unit_operations`. - -.. _table_features_unit_operations: -.. list-table:: Supported features of the different unit operations models - :widths: 30 14 14 14 14 14 - :header-rows: 1 - - * - Unit operation model - - Radial dispersion - - Pore diffusion - - Film diffusion - - Particle geometries - - Multiple particle types - * - :ref:`general_rate_model_model` - - × - - ✓ - - ✓ - - ✓ - - ✓ - * - :ref:`lumped_rate_model_with_pores_model` - - × - - × - - ✓ - - ✓ - - ✓ - * - :ref:`lumped_rate_model_without_pores_model` - - × - - × - - × - - × - - × - * - :ref:`2d_general_rate_model_model` - - ✓ - - ✓ - - ✓ - - ✓ - - ✓ - * - :ref:`cstr_model` - - × - - × - - × - - × - - ✓ - - -Moreover, the pseudo unit operations :ref:`inlet_model`, and :ref:`outlet_model` act as sources and sinks for the system. - - -.. toctree:: - :hidden: - :glob: - - general_rate_model - lumped_rate_model_without_pores - lumped_rate_model_with_pores - 2d_general_rate_model - cstr - inlet - outlet diff --git a/_sources/modelling/unit_operations/inlet.rst.txt b/_sources/modelling/unit_operations/inlet.rst.txt deleted file mode 100644 index c727738bd..000000000 --- a/_sources/modelling/unit_operations/inlet.rst.txt +++ /dev/null @@ -1,23 +0,0 @@ -.. _inlet_model: - -Inlet -~~~~~ - -A system inlet unit operation is a pseudo unit operation since there is no physical correspondence. -The inlet serves as a mass source in the network of unit operations. -Consequently, it only possesses an outlet port and no inlet port. -Note that an inlet unit operation can provide arbitrary many components and there can be arbitrary many inlet unit operations in a network. - -An inlet unit operation provides a feed in which the concentration of each component is given by a profile. -The most common profile is a piecewise cubic polynomial, which can both represent discontinuous signals (e.g., pulse or step) and smooth :math:`C^2` signals (cubic spline): - -.. math:: - - \begin{aligned} - c_i(t) = \sum_{k = 1}^{N_{\text{sect}}} \mathbb{R}_{\left[t_k, t_{k+1} \right)}(t) \left[ a_{k,i} \left( t - t_k \right)^3 + b_{k,i} \left( t - t_k \right)^2 + d_{k,i} \left( t - t_k \right) + f_{k,i} \right], - \end{aligned} - -where :math:`0 \leq t_1 < t_2 < \dots < t_{N_{\text{sect}} + 1} \leq T_{\text{sim}}` is a decomposition of the simulation time interval :math:`\left[0, T_{\text{sim}}\right]` into pieces :math:`\left[t_k, t_{k+1} \right)`. -On each piece, the profile is given by a cubic (fourth order) polynomial shifted to the beginning :math:`t_k` of the piece. - -For information on model parameters see :ref:`inlet_config`. diff --git a/_sources/modelling/unit_operations/lumped_rate_model_with_pores.rst.txt b/_sources/modelling/unit_operations/lumped_rate_model_with_pores.rst.txt deleted file mode 100644 index 49bd53c7f..000000000 --- a/_sources/modelling/unit_operations/lumped_rate_model_with_pores.rst.txt +++ /dev/null @@ -1,54 +0,0 @@ -.. _lumped_rate_model_with_pores_model: - -Lumped rate model with pores (LRMP) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The lumped rate model with pores :cite:`Guiochon2006,Felinger2004` deviates from the general rate model (see Section :ref:`general_rate_model_model`) by neglecting pore diffusion. -The particle phase :math:`c^p_j` is still there, but no mass transfer happens except for binding and film diffusion. -Hence, the model equations are given by - -.. math:: - - \begin{aligned} - \frac{\partial c^l_i}{\partial t} &= -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} - \frac{1}{\beta_c} \sum_{j} d_j \frac{3}{r_{p,j}} k_{f,j,i}\left[ c^l_i - c^p_{j,i} \right] + f_{\text{react},i}^l\left(c^l\right), - \end{aligned} - -.. math:: - - \begin{aligned} - \frac{\partial c^p_{j,i}}{\partial t} + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} \frac{\partial}{\partial t} \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} &= \frac{3}{F_{\text{acc},j,i} \varepsilon_{p,j} r_{p,j}}k_{f,j,i}\left[ c^l_i - c^p_{j,i} \right] \\ - &+ f_{\text{react},j,i}^p\left( c_j^p, c_j^s \right) + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} f_{\text{react},j,i}^s\left( c_j^p, c_j^s \right) - \end{aligned} - -with the same meanings of variables and parameters as in the general rate model. -The equations are complemented by Danckwerts boundary conditions :cite:`Danckwerts1953` - -.. math:: - - \begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0,\\ - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. - \end{aligned} - -As for the general rate model, both quasi-stationary and dynamic binding models are supported: - -.. math:: - - \begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads},j}\left( c^p_j, c^s_j\right), \\ - \text{dynamic: }& & \frac{\partial c^s_j}{\partial t} &= f_{\text{ads},j}\left( c^p_j, c^s_j\right) + f_{\text{react},j}^s\left( c_j^p, c_j^s \right). - \end{aligned} - -By default, the following initial conditions are applied for all :math:`z \in [0,L]`: - -.. math:: - - \begin{aligned} - c^l_i(0, z) &= 0, & c^p_{j,i}(0, z) &= 0, & c^s_{j,i,m_{j,i}}(0,z) &= 0. - \end{aligned} - -:ref:`MUOPGRMMultiParticleTypes` types are supported. -This model can also be used to simulate :ref:`MUOPGRMSizeExclusion`. -For the specification of flow rate and direction, the same holds as for the general rate model (see Section :ref:`MUOPGRMflow`). - -For information on model parameters see :ref:`lumped_rate_model_with_pores_config`. diff --git a/_sources/modelling/unit_operations/lumped_rate_model_without_pores.rst.txt b/_sources/modelling/unit_operations/lumped_rate_model_without_pores.rst.txt deleted file mode 100644 index d68d7aa3d..000000000 --- a/_sources/modelling/unit_operations/lumped_rate_model_without_pores.rst.txt +++ /dev/null @@ -1,55 +0,0 @@ -.. _lumped_rate_model_without_pores_model: - -Lumped rate model without pores (LRM) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The lumped rate model without pores :cite:`Guiochon2006,Felinger2004` deviates from the lumped rate model with pores (see Section :ref:`lumped_rate_model_with_pores_model`) by neglecting pores completely. -The particle phase :math:`c^p` is removed and the porosity :math:`\varepsilon_t` is taken as total porosity - -.. math:: - :label: TotalPorosity - - \begin{aligned} - \varepsilon_t = \varepsilon_c + \left( 1 - \varepsilon_c \right) \varepsilon_p. - \end{aligned} - -The phase ratio is denoted by :math:`\beta_t = \varepsilon_t / (1 - \varepsilon_t)` accordingly. -The model equations are given by - -.. math:: - - \begin{aligned} - \frac{\partial c^l_i}{\partial t} + \frac{1}{\beta_t} \frac{\partial}{\partial t} \sum_{m_i} c^s_{i,m_i} &= -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} + f_{\text{react},i}^l\left( c^l, c^s \right) + \frac{1}{\beta_t} f_{\text{react},i}^s\left( c^l, c^s \right), - \end{aligned} - -where :math:`\beta_t = \varepsilon_t / (1 - \varepsilon_t)` denotes the (total) phase ratio. -The equations are complemented by Danckwerts boundary conditions :cite:`Danckwerts1953` - -.. math:: - - \begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0,\\ - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. - \end{aligned} - -Both quasi-stationary and dynamic binding models are supported: - -.. math:: - - \begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads}}\left( c^l, c^s\right), \\ - \text{dynamic: }& & \frac{\partial q}{\partial t} &= f_{\text{ads}}\left( c^l, c^s\right) + f_{\text{react}}^s\left( c^l, c^s \right). - \end{aligned} - -By default, the following initial conditions are applied for all :math:`z \in [0,L]`: - -.. math:: - - \begin{aligned} - c^l_i(0, z) &= 0, & c^s_{i,m_i}(0,z) &= 0. - \end{aligned} - -Note that by setting :math:`\varepsilon_t = 1`, removing all bound states by setting :math:`N_{\text{bnd},i} = 0` for all components :math:`i`, and applying no binding model, a dispersive plug flow reactor (DPFR) is obtained. -For the specification of flow rate and direction, the same holds as for the general rate model (see Section :ref:`MUOPGRMflow`). - -For information on model parameters see :ref:`lumped_rate_model_without_pores_config`. diff --git a/_sources/modelling/unit_operations/outlet.rst.txt b/_sources/modelling/unit_operations/outlet.rst.txt deleted file mode 100644 index 461436f62..000000000 --- a/_sources/modelling/unit_operations/outlet.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _outlet_model: - -Outlet -~~~~~~ - -A system outlet unit operation is a pseudo unit operation since there is no physical correspondence. -The outlet serves as a sink (terminal node) in the network of unit operations. -Since any terminal node in the network is a sink (see Section :ref:`networks`), outlet unit operations are not strictly necessary. -However, in some applications (e.g., SMB) only a certain fraction of a unit operation’s output is taken out of the system and the rest is recycled. -In this case, outlet unit operations are required in order to avoid unbalanced mass flow in the other unit operations. - -Outlets can also be of help if the output of multiple unit operations merges together leaving the network. -Instead of manually adding the streams together in a post-processing step, the unit operations can be connected to the same outlet unit. - -For information on model parameters see :ref:`outlet_config`. diff --git a/_sources/simulation/index.rst.txt b/_sources/simulation/index.rst.txt deleted file mode 100644 index a242b5862..000000000 --- a/_sources/simulation/index.rst.txt +++ /dev/null @@ -1,269 +0,0 @@ -.. _simulation: - -Simulation -========== - -This chapter gives an overview of the simulation process and the different steps involved. - -CADET uses a backward-differentiation-formula (BDF) time discretization as implemented by the IDAS solver from SUNDIALS :cite:`Hindmarsh2005`. -Each time step requires the solution of a nonlinear algebraic system of equations is performed by a Newton method. -Since chromatographic systems can exhibit strong nonlinearity and stiff systems, the Jacobian of the equation system is always updated (i.e., an “exact” Newton method is used). - -.. _SimFlowchart: -.. figure:: time_integration.png - - General time integration procedure - -The general control flow of a simulation is shown in :numref:`SimFlowchart`. -Some aspects of the tasks involved are discussed below. - -.. _SimTimeSectionsTransitions: - -Time sections and transitions ------------------------------ - -The timespan :math:`\left[t_0, t_{\text{end}}\right]` of the simulation can be divided into multiple time sections :math:`\left[t_i, t_{i+1}\right]` with - -.. math:: - - \begin{aligned} - t_0 < t_1 < \dots < t_i < t_{i+1} < \dots < t_{\text{end}}. - \end{aligned} - -Time sections are used for various purposes, for example, for defining piecewise polynomials used as inlet profiles or external function, for changing operating conditions such as flow rates, or for changing the connectivity in a network of unit operations. -A sequence of (one or more) time sections with smooth transitions is called a time slice (see :numref:`SimTimeSections`). - -A transition from one section to the next can either be smooth or discontinuous. -On smooth transitions, the time integrator can just step over the section transition. -Contrary to smooth transitions, a discontinuous transition requires some extra work in resetting the time integrator and finding consistent initial conditions for the next time slice. - -.. _SimTimeSections: -.. figure:: sections.png - - Time sections, time slices, and transitions between them - -.. _SimTimeSectionsSpecification: - -Time section specification -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Time sections are specified by an array (``SECTION_TIMES``, see Tab. :ref:`FFSolverSections`) which contains the :math:`t_i` that denote the start- and endpoint of a time section :math:`\left[t_i, t_{i+1}\right]`. -This means, that the array contains :math:`n+1` values if there are :math:`n` sections. -The smoothness of a section transition is indicated by the array ``SECTION_CONTINUITY``, which contains :math:`n-1` elements if there are :math:`n` sections. - -.. _SimSetup: - -Setup ------ - -In the setup phase, the model specification is checked and data structures are prepared for the simulation. -The simulation can be run multiple times with different initial conditions, which also allows to continue a simulation. -However, the model structure must not change after this point. -This means, the different model and submodel types (e.g., unit operation model, binding model) as well as their discretization (i.e., number of cells) and structure (i.e., number of components, number of reactions) are fixed. On the contrary, their parameters (e.g., flow rates, porosities, dispersion coefficients) may change on different runs of a prepared simulation. - -This assumption allows an accelerated simulation as there is no memory allocation performed during time integration. - -.. _SimConsistentInit: - -Consistent initialization -------------------------- - -At the beginning of the simulation and on discontinuous section transitions, consistent initial conditions have to be computed. -In CADET, the general differential-algebraic equation (DAE) - -.. math:: - - \begin{aligned} - F(t, y, \dot{y}, p) = 0 - \end{aligned} - -consists of purely algebraic equations that do not contain :math:`\dot{y}` and dynamic equations. -Let :math:`\mathcal{I}_d` be the index set of dynamic equations and :math:`\mathcal{I}_a` the index set of algebraic equations. -The general DAE can be decomposed into - -.. math:: - - \begin{aligned} - M \dot{y}_{\mathcal{I}_d} + G_{\mathcal{I}_d}(t, y, p) &= 0, \\ - G_{\mathcal{I}_a}(t, y, p) &= 0, - \end{aligned} - -where :math:`M` is the so called “mass matrix”, which essentially consist of the state time derivative Jacobian :math:`\partial F / \partial \dot{y}`. -Furthermore, it is assumed that the Jacobian of the algebraic equations with respect to the algebraic variables :math:`\partial G_{\mathcal{I}_a} / \partial y_{\mathcal{I}_a}` is invertible. -Hence, the original DAE is of differential index 1. - -Given :math:`y_{\mathcal{I}_d}`, consistently initialization means finding :math:`y_{\mathcal{I}_a}`, :math:`y_{\mathcal{I}_d}`, and :math:`\dot{y}` such that the DAE holds at the initial time point :math:`t_0` and can be solved for some non-empty time span. -Thus, consistent initial conditions :math:`y_0` and :math:`\dot{y}_0` satisfy - -.. math:: - - \begin{aligned} - 0 &= M \dot{y}_{\mathcal{I}_d} + G_{\mathcal{I}_d}\left(t_0, y, p\right), \\ - 0 &= G_{\mathcal{I}_a}\left(t_0, y, p\right), \\ - 0 &= \frac{\partial G_{\mathcal{I}_a}}{\partial t}\left(t_0, y, p\right) + \frac{\partial G_{\mathcal{I}_a}}{\partial y}\left(t_0, \dot{y}, p\right). - \end{aligned} - -The last equation, which determines :math:`\dot{y}_{\mathcal{I}_a}`, arises from taking the total derivative with respect to time :math:`t` of the second equation. - -Concluding, a nonlinear algebraic equation system has to be solved in order to compute consistent initial conditions. -The error in the solution of these systems is controlled by the ``ALGTOL`` setting (see Tab. :ref:`FFSolverTime`). - -.. _SimTimeIntegration: - -Time stepping -------------- - -Given the general differential-algebraic equation - -.. math:: - - \begin{aligned} - F(t, y, \dot{y}, p) = 0, \qquad y\left(t_0 \right) = y_0, \qquad \dot{y}\left(t_0 \right) = \dot{y}_0 - \end{aligned} - -with consistent initial values :math:`y_0` and :math:`\dot{y}_0`, the BDF discretization uses past time steps :math:`y\left( t_{\tau - i} \right)` to compute the current :math:`\dot{y}\left(t_\tau\right)` as - -.. math:: - - \begin{aligned} - \dot{y}\left(t_\tau\right) = \frac{1}{\Delta t_\tau} \sum_{i=0}^{q_{\tau}} \alpha_{\tau,i} y\left(t_{\tau-i}\right), - \end{aligned} - -where :math:`t_\tau` denotes some time step. -The IDAS time integrator adaptively changes the step size :math:`{\Delta t_\tau = t_\tau-t_{\tau-1}}` and order :math:`1 \le q_{\tau} \le 5` in each time step and automatically determines the corresponding coefficients :math:`\alpha_{\tau,i}`. -This *ansatz* is inserted into the DAE and the resulting nonlinear algebraic equation system is solved for :math:`y_{\tau} = y\left( t_\tau \right)` using a Newton method. - -.. math:: - :label: BDFNonlinSystem - - \begin{aligned} - H(y_\tau) = F\left(t_\tau,y_\tau,\frac{1}{\Delta t_\tau} \,\sum_{i=0}^{q_\tau}{\alpha_{\tau,i} \, y_{\tau-i}}, p\right) = 0 - \end{aligned} - -This requires (possibly many) solutions of linear equation systems involving the Jacobian of :math:`H` given by - -.. math:: - - \begin{aligned} - \frac{\mathrm{d}H}{\mathrm{d}y_\tau} = \frac{\partial F}{\partial y} + \frac{\alpha_{\tau,0}}{\Delta t_\tau} \frac{\partial F}{\partial \dot{y}}. - \end{aligned} - -The Jacobian of :math:`H`, which is the linear combination of the partial derivatives :math:`\partial F / \partial y` and :math:`\partial F / \partial \dot{y}`, can be calculated in two ways. -The fastest way is the analytic computation, which is to be preferred if available. -However, the implementation of the analytic Jacobian can be time consuming and complicated, especially when quickly testing new models. -As a remedy, CADET offers to compute the complicated Jacobian :math:`\partial F / \partial y` automatically by automatic differentiation (AD). -The much simpler Jacobian :math:`\partial F / \partial \dot{y}` has to be implemented manually. - -.. _SimTimeIntegrationAdaptivity: - -Adaptivity -~~~~~~~~~~ - -The BDF order :math:`q_{\tau}` and size of the time step :math:`t_\tau` are chosen such that the error bounds are satisfied with minimal work. -Equation :eq:`BDFNonlinSystem` is solved with a Newton iteration using very few iterations (``MAX_NEWTON_ITER`` from Table :ref:`FFSolverTime`) since the starting point is assumed to be close to the solution as the time steps are small. -If the solution of the Newton iteration does not pass the *convergence test*, the step size :math:`t_\tau` is reduced and the Newton iteration is tried again. -This may happen at most ``MAX_CONVTEST_FAIL`` times, otherwise time integration is aborted with failure. -Having a solution of the Newton iteration at hand, a *local truncation error test* is performed which controls the error of the BDF method. -If this test fails, step size :math:`t_\tau` and order :math:`q_{\tau}` are adapted and the process restarts with solving the nonlinear system Eq. :eq:`BDFNonlinSystem`. -The error test may be failed at most ``MAX_ERRTEST_FAIL`` times before time integration is aborted with failure. - -Error bounds for the local truncation error test are specified by an absolute tolerance (``ABSTOL``) and a relative tolerance (``RELTOL``). -Note that the relative tolerance only works for non-zero values, whereas zero values are accounted for by the absolute tolerance. -For example, a relative tolerance of :math:`10^{-4}` and absolute tolerance of :math:`10^{-8}` requests :math:`3` significant digits (correct digits after the comma in scientific notation) and considers all numbers with magnitude smaller than :math:`10^{-8}` as :math:`0`. - -The size of the first time step in a time slice is given by ``INIT_STEP_SIZE`` from Table :ref:`FFSolverTime`. -If a simulation fails on the first time step, it might help to reduce the initial step size. -It can also help to increase the error tolerances, at the cost of imprecise results over the whole course of the simulation. - -It can happen that due to severe stiffness or ill-posed models a simulation may exceed its computational budget given by the maximum number of time steps (per time slice) ``MAX_STEPS``. -In this case, the formulation of the model should be checked and, if necessary, the error tolerances increased. -Note that the number of time steps is independent of possible ``USER_SOLUTION_TIMES`` and refers to internal steps of the time integrator. - -On the other extreme, the time integrator might jump over an important change in the solution or not capture some feature of the solution because of too large time steps. -This can be avoided by specifying the maximum time step size ``MAX_STEP_SIZE``. -However, such a situation is unlikely to occur and can also be alleviated by placing a discontinuous section transition at the time of the event. - -Note that while the error in time integration is controlled and can (in theory) be made arbitrarily small, the spatial discretization error is not. -Hence, it is important and necessary to test different spatial resolutions (number of cells) in order to find a sufficiently accurate (but minimal) number of grid cells. -This is particularly relevant for problems with steep fronts as a low spatial resolution adds a substantial amount of numerical dispersion to the solution. - -.. _SimParamSens: - -Parameter sensitivities ------------------------ - -Parameter sensitivities :math:`s = \partial y / \partial p` of a solution :math:`y` to the DAE with respect to some parameter :math:`p` are required for various tasks, for example, parameter estimation, process design, and process analysis. -The CADET simulator implements the forward sensitivity approach which creates a linear companion DAE for each sensitive parameter - -.. math:: - - \begin{aligned} - 0 &= \frac{\mathrm{d}}{\mathrm{d}p} F(t, y, \dot{y}, p) = \frac{\partial F}{\partial y}(t, y, \dot{y}, p) \frac{\partial y}{\partial p} + \frac{\partial F}{\partial \dot{y}}(t, y, \dot{y}, p) \frac{\partial \dot{y}}{\partial p} + \frac{\partial F}{\partial p}(t, y, \dot{y}, p) \\ - &= \frac{\partial F}{\partial y}(t, y, \dot{y}, p) s + \frac{\partial F}{\partial \dot{y}}(t, y, \dot{y}, p) \dot{s} + \frac{\partial F}{\partial p}(t, y, \dot{y}, p). - \end{aligned} - -These linear DAEs depend on the solution :math:`y`, :math:`\dot{y}` of the original DAE system. -Consequently, the sensitivity systems are solved together with the original DAE system in a staggered approach :cite:`Feehery1997`. - -After the nonlinear Eq. :eq:`BDFNonlinSystem` has been successfully solved using Newton iteration (i.e., it has passed the convergence test), each sensitivity is solved using the same Newton iteration. -If direct linear solvers were used, this iteration would convergence with a single iteration as there is no nonlinearity. -The Newton method for the sensitivities performs at most ``MAX_NEWTON_ITER_SENS`` (see Table :ref:`FFSolverTime`) iterations. -Assuming the convergence test has passed for each sensitivity, the local truncation error test is performed for the full set of variables (i.e., original system and sensitivities). -The sensitivities can be excluded from the local truncation error test by setting ``ERRORTEST_SENS`` appropriately. -Note that time integration step size is always affected by sensitivities due to possible convergence test failures. - -While the Jacobians :math:`\partial F / \partial y` and :math:`\partial F / \partial \dot{y}` can be computed either analytically or via AD, the last term :math:`\partial F / \partial p` is always computed by AD. -In fact, the terms :math:`\partial F / \partial y` and :math:`\partial F / \partial p` can be computed by one AD-enabled evaluation of :math:`F` using the vector mode with appropriate seed vectors :cite:`Puttmann2016`. - -A parameter sensitivity is specified by identifying the involved parameters, which can be more than one (see below). -Parameters are identified by name and multiple indices, which may not all be used (see Tab. :ref:`FFSensitivityParam`). Indices that are not used for identification (e.g., flow rate is independent of bound phase or component) are set to :math:`-1`. All other indices are zero-based. - -Note that the sensitivity systems need to be consistently initialized, too. -However, since only linear systems are involved, no nonlinear equation system has to be solved and the procedure is much simpler computationally. - -.. _SimParamSensJointParams: - -Joint parameters -~~~~~~~~~~~~~~~~ - -The use of AD also enables support of meta parameters or joint parameters. -Consider the situation in which several parameters :math:`p_1, p_2, \dots, p_n` depend (linearly) on a single meta parameter :math:`p` - -.. math:: - - \begin{aligned} - p_i = p_i(p) = \alpha_i p \qquad \text{ for } i = 1, \dots, n - \end{aligned} - -and some coefficients :math:`\alpha_i \in \mathbb{R}`. -Hence, the DAE residual function :math:`F` becomes - -.. math:: - - \begin{aligned} - F(t, y, \dot{y}, p_1(p), \dots, p_n(p)) = 0 - \end{aligned} - -and the partial derivative :math:`\partial F / \partial p` can be computed automatically by AD: - -.. math:: - - \begin{aligned} - \frac{\partial F}{\partial p} = \frac{\partial F}{\partial p_1} \alpha_1 + \dots + \frac{\partial F}{\partial p_n} \alpha_n. - \end{aligned} - -In order to use this functionality, all parameters involved have to be specified in a single sensitivity instance (``param_XXX`` group, see Tables :ref:`FFSensitivity` and `FFSensitivityParam`) by using arrays for the name and indices instead of scalar values. -The coefficients :math:`\alpha_i` are provided in the ``SENS_FACTOR`` vector. - -A simple example for a situation, which benefits from having a single meta parameter, would be a chain of unit operations in a network in which the sensitivity with respect to the flow rate is to be computed. -Instead of computing the sensitivity with respect to each single flow rate and fusing them together in a postprocessing step, a meta parameter that maps to all flow rates can be introduced. - -Note that nonlinear relationships between original parameter and meta parameters are supported by updating the coefficients :math:`\alpha_i` before each simulation: - -.. math:: - - \begin{aligned} - \alpha_i = \frac{\partial p_i}{\partial p}. - \end{aligned} - - diff --git a/_sources/zbibliography.rst.txt b/_sources/zbibliography.rst.txt deleted file mode 100644 index e012803d1..000000000 --- a/_sources/zbibliography.rst.txt +++ /dev/null @@ -1,9 +0,0 @@ -Bibliography -============ - -.. bibliography:: - :style: unsrt - - - - diff --git a/_static/alabaster.css b/_static/alabaster.css deleted file mode 100644 index 75b472a73..000000000 --- a/_static/alabaster.css +++ /dev/null @@ -1,714 +0,0 @@ -@import url("basic.css"); - -/* -- page layout ----------------------------------------------------------- */ - -body { - font-family: Georgia, serif; - font-size: 17px; - background-color: #fff; - color: #000; - margin: 0; - padding: 0; -} - - -div.document { - width: 940px; - margin: 30px auto 0 auto; -} - -div.documentwrapper { - float: left; - width: 100%; -} - -div.bodywrapper { - margin: 0 0 0 220px; -} - -div.sphinxsidebar { - width: 220px; - font-size: 14px; - line-height: 1.5; -} - -hr { - border: 1px solid #B1B4B6; -} - -div.body { - background-color: #fff; - color: #3E4349; - padding: 0 30px 0 30px; -} - -div.body > .section { - text-align: left; -} - -div.footer { - width: 940px; - margin: 20px auto 30px auto; - font-size: 14px; - color: #888; - text-align: right; -} - -div.footer a { - color: #888; -} - -p.caption { - font-family: inherit; - font-size: inherit; -} - - -div.relations { - display: none; -} - - -div.sphinxsidebar { - max-height: 100%; - overflow-y: auto; -} - -div.sphinxsidebar a { - color: #444; - text-decoration: none; - border-bottom: 1px dotted #999; -} - -div.sphinxsidebar a:hover { - border-bottom: 1px solid #999; -} - -div.sphinxsidebarwrapper { - padding: 18px 10px; -} - -div.sphinxsidebarwrapper p.logo { - padding: 0; - margin: -10px 0 0 0px; - text-align: center; -} - -div.sphinxsidebarwrapper h1.logo { - margin-top: -10px; - text-align: center; - margin-bottom: 5px; - text-align: left; -} - -div.sphinxsidebarwrapper h1.logo-name { - margin-top: 0px; -} - -div.sphinxsidebarwrapper p.blurb { - margin-top: 0; - font-style: normal; -} - -div.sphinxsidebar h3, -div.sphinxsidebar h4 { - font-family: Georgia, serif; - color: #444; - font-size: 24px; - font-weight: normal; - margin: 0 0 5px 0; - padding: 0; -} - -div.sphinxsidebar h4 { - font-size: 20px; -} - -div.sphinxsidebar h3 a { - color: #444; -} - -div.sphinxsidebar p.logo a, -div.sphinxsidebar h3 a, -div.sphinxsidebar p.logo a:hover, -div.sphinxsidebar h3 a:hover { - border: none; -} - -div.sphinxsidebar p { - color: #555; - margin: 10px 0; -} - -div.sphinxsidebar ul { - margin: 10px 0; - padding: 0; - color: #000; -} - -div.sphinxsidebar ul li.toctree-l1 > a { - font-size: 120%; -} - -div.sphinxsidebar ul li.toctree-l2 > a { - font-size: 110%; -} - -div.sphinxsidebar input { - border: 1px solid #CCC; - font-family: Georgia, serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox input[type="text"] { - width: 160px; -} - -div.sphinxsidebar .search > div { - display: table-cell; -} - -div.sphinxsidebar hr { - border: none; - height: 1px; - color: #AAA; - background: #AAA; - - text-align: left; - margin-left: 0; - width: 50%; -} - -div.sphinxsidebar .badge { - border-bottom: none; -} - -div.sphinxsidebar .badge:hover { - border-bottom: none; -} - -/* To address an issue with donation coming after search */ -div.sphinxsidebar h3.donation { - margin-top: 10px; -} - -/* -- body styles ----------------------------------------------------------- */ - -a { - color: #004B6B; - text-decoration: underline; -} - -a:hover { - color: #6D4100; - text-decoration: underline; -} - -div.body h1, -div.body h2, -div.body h3, -div.body h4, -div.body h5, -div.body h6 { - font-family: Georgia, serif; - font-weight: normal; - margin: 30px 0px 10px 0px; - padding: 0; -} - -div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } -div.body h2 { font-size: 180%; } -div.body h3 { font-size: 150%; } -div.body h4 { font-size: 130%; } -div.body h5 { font-size: 100%; } -div.body h6 { font-size: 100%; } - -a.headerlink { - color: #DDD; - padding: 0 4px; - text-decoration: none; -} - -a.headerlink:hover { - color: #444; - background: #EAEAEA; -} - -div.body p, div.body dd, div.body li { - line-height: 1.4em; -} - -div.admonition { - margin: 20px 0px; - padding: 10px 30px; - background-color: #EEE; - border: 1px solid #CCC; -} - -div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { - background-color: #FBFBFB; - border-bottom: 1px solid #fafafa; -} - -div.admonition p.admonition-title { - font-family: Georgia, serif; - font-weight: normal; - font-size: 24px; - margin: 0 0 10px 0; - padding: 0; - line-height: 1; -} - -div.admonition p.last { - margin-bottom: 0; -} - -div.highlight { - background-color: #fff; -} - -dt:target, .highlight { - background: #FAF3E8; -} - -div.warning { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.danger { - background-color: #FCC; - border: 1px solid #FAA; - -moz-box-shadow: 2px 2px 4px #D52C2C; - -webkit-box-shadow: 2px 2px 4px #D52C2C; - box-shadow: 2px 2px 4px #D52C2C; -} - -div.error { - background-color: #FCC; - border: 1px solid #FAA; - -moz-box-shadow: 2px 2px 4px #D52C2C; - -webkit-box-shadow: 2px 2px 4px #D52C2C; - box-shadow: 2px 2px 4px #D52C2C; -} - -div.caution { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.attention { - background-color: #FCC; - border: 1px solid #FAA; -} - -div.important { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.note { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.tip { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.hint { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.seealso { - background-color: #EEE; - border: 1px solid #CCC; -} - -div.topic { - background-color: #EEE; -} - -p.admonition-title { - display: inline; -} - -p.admonition-title:after { - content: ":"; -} - -pre, tt, code { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; - font-size: 0.9em; -} - -.hll { - background-color: #FFC; - margin: 0 -12px; - padding: 0 12px; - display: block; -} - -img.screenshot { -} - -tt.descname, tt.descclassname, code.descname, code.descclassname { - font-size: 0.95em; -} - -tt.descname, code.descname { - padding-right: 0.08em; -} - -img.screenshot { - -moz-box-shadow: 2px 2px 4px #EEE; - -webkit-box-shadow: 2px 2px 4px #EEE; - box-shadow: 2px 2px 4px #EEE; -} - -table.docutils { - border: 1px solid #888; - -moz-box-shadow: 2px 2px 4px #EEE; - -webkit-box-shadow: 2px 2px 4px #EEE; - box-shadow: 2px 2px 4px #EEE; -} - -table.docutils td, table.docutils th { - border: 1px solid #888; - padding: 0.25em 0.7em; -} - -table.field-list, table.footnote { - border: none; - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - -table.footnote { - margin: 15px 0; - width: 100%; - border: 1px solid #EEE; - background: #FDFDFD; - font-size: 0.9em; -} - -table.footnote + table.footnote { - margin-top: -15px; - border-top: none; -} - -table.field-list th { - padding: 0 0.8em 0 0; -} - -table.field-list td { - padding: 0; -} - -table.field-list p { - margin-bottom: 0.8em; -} - -/* Cloned from - * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 - */ -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -table.footnote td.label { - width: .1px; - padding: 0.3em 0 0.3em 0.5em; -} - -table.footnote td { - padding: 0.3em 0.5em; -} - -dl { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding: 0; -} - -dl dd { - margin-left: 30px; -} - -blockquote { - margin: 0 0 0 30px; - padding: 0; -} - -ul, ol { - /* Matches the 30px from the narrow-screen "li > ul" selector below */ - margin: 10px 0 10px 30px; - padding: 0; -} - -pre { - background: #EEE; - padding: 7px 30px; - margin: 15px 0px; - line-height: 1.3em; -} - -div.viewcode-block:target { - background: #ffd; -} - -dl pre, blockquote pre, li pre { - margin-left: 0; - padding-left: 30px; -} - -tt, code { - background-color: #ecf0f3; - color: #222; - /* padding: 1px 2px; */ -} - -tt.xref, code.xref, a tt { - background-color: #FBFBFB; - border-bottom: 1px solid #fff; -} - -a.reference { - text-decoration: none; - border-bottom: 1px dotted #004B6B; -} - -/* Don't put an underline on images */ -a.image-reference, a.image-reference:hover { - border-bottom: none; -} - -a.reference:hover { - border-bottom: 1px solid #6D4100; -} - -a.footnote-reference { - text-decoration: none; - font-size: 0.7em; - vertical-align: top; - border-bottom: 1px dotted #004B6B; -} - -a.footnote-reference:hover { - border-bottom: 1px solid #6D4100; -} - -a:hover tt, a:hover code { - background: #EEE; -} - - -@media screen and (max-width: 870px) { - - div.sphinxsidebar { - display: none; - } - - div.document { - width: 100%; - - } - - div.documentwrapper { - margin-left: 0; - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - } - - div.bodywrapper { - margin-top: 0; - margin-right: 0; - margin-bottom: 0; - margin-left: 0; - } - - ul { - margin-left: 0; - } - - li > ul { - /* Matches the 30px from the "ul, ol" selector above */ - margin-left: 30px; - } - - .document { - width: auto; - } - - .footer { - width: auto; - } - - .bodywrapper { - margin: 0; - } - - .footer { - width: auto; - } - - .github { - display: none; - } - - - -} - - - -@media screen and (max-width: 875px) { - - body { - margin: 0; - padding: 20px 30px; - } - - div.documentwrapper { - float: none; - background: #fff; - } - - div.sphinxsidebar { - display: block; - float: none; - width: 102.5%; - margin: -20px -30px 20px -30px; - padding: 10px 20px; - background: #333; - color: #FFF; - } - - div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, - div.sphinxsidebar h3 a { - color: #fff; - } - - div.sphinxsidebar a { - color: #AAA; - } - - div.sphinxsidebar p.logo { - display: none; - } - - div.document { - width: 100%; - margin: 0; - } - - div.footer { - display: none; - } - - div.bodywrapper { - margin: 0; - } - - div.body { - min-height: 0; - padding: 0; - } - - .rtd_doc_footer { - display: none; - } - - .document { - width: auto; - } - - .footer { - width: auto; - } - - .footer { - width: auto; - } - - .github { - display: none; - } -} -@media screen and (min-width: 876px) { - div.sphinxsidebar { - position: fixed; - margin-left: 0; - } -} - - -/* misc. */ - -.revsys-inline { - display: none!important; -} - -/* Hide ugly table cell borders in ..bibliography:: directive output */ -table.docutils.citation, table.docutils.citation td, table.docutils.citation th { - border: none; - /* Below needed in some edge cases; if not applied, bottom shadows appear */ - -moz-box-shadow: none; - -webkit-box-shadow: none; - box-shadow: none; -} - - -/* relbar */ - -.related { - line-height: 30px; - width: 100%; - font-size: 0.9rem; -} - -.related.top { - border-bottom: 1px solid #EEE; - margin-bottom: 20px; -} - -.related.bottom { - border-top: 1px solid #EEE; -} - -.related ul { - padding: 0; - margin: 0; - list-style: none; -} - -.related li { - display: inline; -} - -nav#rellinks { - float: right; -} - -nav#rellinks li+li:before { - content: "|"; -} - -nav#breadcrumbs li+li:before { - content: "\00BB"; -} - -/* Hide certain items when printing */ -@media print { - div.related { - display: none; - } -} \ No newline at end of file diff --git a/_static/basic.css b/_static/basic.css deleted file mode 100644 index 4157edf27..000000000 --- a/_static/basic.css +++ /dev/null @@ -1,925 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: inherit; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -a:visited { - color: #551A8B; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -.sig dd { - margin-top: 0px; - margin-bottom: 0px; -} - -.sig dl { - margin-top: 0px; - margin-bottom: 0px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -.translated { - background-color: rgba(207, 255, 207, 0.2) -} - -.untranslated { - background-color: rgba(255, 207, 207, 0.2) -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/_static/cadet_icon.png b/_static/cadet_icon.png deleted file mode 100644 index 77ea45003..000000000 Binary files a/_static/cadet_icon.png and /dev/null differ diff --git a/_static/cadet_logo.png b/_static/cadet_logo.png deleted file mode 100644 index f56f4fef3..000000000 Binary files a/_static/cadet_logo.png and /dev/null differ diff --git a/_static/css/custom.css b/_static/css/custom.css deleted file mode 100644 index 0733de390..000000000 --- a/_static/css/custom.css +++ /dev/null @@ -1,11 +0,0 @@ -/** css/custom.css **/ - -/* This line is theme specific - it includes the base theme CSS */ -@import '../alabaster.css'; /* for Alabaster */ -/*@import 'theme.css'; /* for the Read the Docs theme */ - -div.sphinxsidebar { - height: 100vh; - overflow: auto; -} - diff --git a/_static/custom.css b/_static/custom.css deleted file mode 100644 index 2a924f1d6..000000000 --- a/_static/custom.css +++ /dev/null @@ -1 +0,0 @@ -/* This file intentionally left blank. */ diff --git a/_static/doctools.js b/_static/doctools.js deleted file mode 100644 index d06a71d75..000000000 --- a/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js deleted file mode 100644 index 7e4c114f2..000000000 --- a/_static/documentation_options.js +++ /dev/null @@ -1,13 +0,0 @@ -const DOCUMENTATION_OPTIONS = { - VERSION: '', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png deleted file mode 100644 index a858a410e..000000000 Binary files a/_static/file.png and /dev/null differ diff --git a/_static/language_data.js b/_static/language_data.js deleted file mode 100644 index 250f5665f..000000000 --- a/_static/language_data.js +++ /dev/null @@ -1,199 +0,0 @@ -/* - * language_data.js - * ~~~~~~~~~~~~~~~~ - * - * This script contains the language-specific data used by searchtools.js, - * namely the list of stopwords, stemmer, scorer and splitter. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; - - -/* Non-minified version is copied as a separate JS file, is available */ - -/** - * Porter Stemmer - */ -var Stemmer = function() { - - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' - }; - - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/_static/minus.png b/_static/minus.png deleted file mode 100644 index d96755fda..000000000 Binary files a/_static/minus.png and /dev/null differ diff --git a/_static/plus.png b/_static/plus.png deleted file mode 100644 index 7107cec93..000000000 Binary files a/_static/plus.png and /dev/null differ diff --git a/_static/pygments.css b/_static/pygments.css deleted file mode 100644 index 04a41742e..000000000 --- a/_static/pygments.css +++ /dev/null @@ -1,84 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #8f5902; font-style: italic } /* Comment */ -.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ -.highlight .g { color: #000000 } /* Generic */ -.highlight .k { color: #004461; font-weight: bold } /* Keyword */ -.highlight .l { color: #000000 } /* Literal */ -.highlight .n { color: #000000 } /* Name */ -.highlight .o { color: #582800 } /* Operator */ -.highlight .x { color: #000000 } /* Other */ -.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ -.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #8f5902 } /* Comment.Preproc */ -.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #a40000 } /* Generic.Deleted */ -.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ -.highlight .ges { color: #000000 } /* Generic.EmphStrong */ -.highlight .gr { color: #ef2929 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #888888 } /* Generic.Output */ -.highlight .gp { color: #745334 } /* Generic.Prompt */ -.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ -.highlight .kc { color: #004461; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #004461; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #004461; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #004461; font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { color: #004461; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #004461; font-weight: bold } /* Keyword.Type */ -.highlight .ld { color: #000000 } /* Literal.Date */ -.highlight .m { color: #990000 } /* Literal.Number */ -.highlight .s { color: #4e9a06 } /* Literal.String */ -.highlight .na { color: #c4a000 } /* Name.Attribute */ -.highlight .nb { color: #004461 } /* Name.Builtin */ -.highlight .nc { color: #000000 } /* Name.Class */ -.highlight .no { color: #000000 } /* Name.Constant */ -.highlight .nd { color: #888888 } /* Name.Decorator */ -.highlight .ni { color: #ce5c00 } /* Name.Entity */ -.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #000000 } /* Name.Function */ -.highlight .nl { color: #f57900 } /* Name.Label */ -.highlight .nn { color: #000000 } /* Name.Namespace */ -.highlight .nx { color: #000000 } /* Name.Other */ -.highlight .py { color: #000000 } /* Name.Property */ -.highlight .nt { color: #004461; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #000000 } /* Name.Variable */ -.highlight .ow { color: #004461; font-weight: bold } /* Operator.Word */ -.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ -.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ -.highlight .mb { color: #990000 } /* Literal.Number.Bin */ -.highlight .mf { color: #990000 } /* Literal.Number.Float */ -.highlight .mh { color: #990000 } /* Literal.Number.Hex */ -.highlight .mi { color: #990000 } /* Literal.Number.Integer */ -.highlight .mo { color: #990000 } /* Literal.Number.Oct */ -.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ -.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ -.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ -.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ -.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ -.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ -.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ -.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ -.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ -.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ -.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ -.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ -.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #000000 } /* Name.Function.Magic */ -.highlight .vc { color: #000000 } /* Name.Variable.Class */ -.highlight .vg { color: #000000 } /* Name.Variable.Global */ -.highlight .vi { color: #000000 } /* Name.Variable.Instance */ -.highlight .vm { color: #000000 } /* Name.Variable.Magic */ -.highlight .il { color: #990000 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js deleted file mode 100644 index 7918c3fab..000000000 --- a/_static/searchtools.js +++ /dev/null @@ -1,574 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms, highlightTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - const contentRoot = document.documentElement.dataset.content_root; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = contentRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = contentRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) { - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - // highlight search terms in the description - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - } - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) - ); - // highlight search terms in the summary - if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js - highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms, - highlightTerms, -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms, highlightTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; - console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - // array of [docname, title, anchor, descr, score, filename] - let results = []; - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // lookup as object - objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - results = results.reverse(); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms, highlightTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/_static/sections.png b/_static/sections.png deleted file mode 100644 index cea9b3cca..000000000 Binary files a/_static/sections.png and /dev/null differ diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js deleted file mode 100644 index 8a96c69a1..000000000 --- a/_static/sphinx_highlight.js +++ /dev/null @@ -1,154 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - const rest = document.createTextNode(val.substr(pos + text.length)); - parent.insertBefore( - span, - parent.insertBefore( - rest, - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - /* There may be more occurrences of search term in this node. So call this - * function recursively on the remaining fragment. - */ - _highlight(rest, addItems, text, className); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(() => { - /* Do not call highlightSearchWords() when we are on the search page. - * It will highlight words from the *previous* search query. - */ - if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); - SphinxHighlight.initEscapeListener(); -}); diff --git a/examples/batch_chromatography.html b/examples/batch_chromatography.html deleted file mode 100644 index 1107f724b..000000000 --- a/examples/batch_chromatography.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - Batch chromatography — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Batch chromatography

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/examples/index.html b/examples/index.html deleted file mode 100644 index 52e9f27c1..000000000 --- a/examples/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - Examples — CADET - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- - - - - - - \ No newline at end of file diff --git a/examples/load_wash_elute.html b/examples/load_wash_elute.html deleted file mode 100644 index 1c52def55..000000000 --- a/examples/load_wash_elute.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - Load Wash Elute — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Load Wash Elute

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/examples/reaction_cstr.html b/examples/reaction_cstr.html deleted file mode 100644 index 9c1d94146..000000000 --- a/examples/reaction_cstr.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - Chemical reactions — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Chemical reactions

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/examples/rtd.html b/examples/rtd.html deleted file mode 100644 index 56a9c5b6d..000000000 --- a/examples/rtd.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - Residence time distributions — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Residence time distributions

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/genindex.html b/genindex.html deleted file mode 100644 index 414c6e41b..000000000 --- a/genindex.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - Index — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - -

Index

- -
- -
- - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/build_linux.html b/getting_started/build_linux.html deleted file mode 100644 index 0bfbca638..000000000 --- a/getting_started/build_linux.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - Build for Linux — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Build for Linux

-
-

Prerequisites

-
    -
  • CMake (>= 3.12.0)

  • -
  • GCC >= 7.0, Clang >= 3.9, or Intel C++ 18.0

  • -
  • Optional: Git

  • -
-

Assumed directory structure:

-
-|- CADET
-|    - src
-|    - include
-|    - [...]
-|    - build
-|    - install
-

Note that the version numbers of the files and packages below are subject to change and will not always reflect the most -recent version.

-
-
-

Install dependencies

-
sudo apt-get update
-sudo apt -y install build-essential cmake libhdf5-dev libsuperlu-dev libeigen3-dev
-
-
-
-

LAPACK

-

You can either use a LAPACK implementation provided by your distribution or install the freely available Intel MKL

-

for Intel run

-
sudo apt -y install intel-mkl
-
-
-

for distro defaults run

-
sudo apt -y install liblapack3 liblapack-dev libblas3 libblas-dev
-
-
-
-
-
-

Build CADET

-
    -
  • Clone the CADET source code git clone https://github.com/modsim/CADET.git CADET

  • -
  • Create the directories CADET/build and CADET/install

  • -
  • Open a terminal and change to CADET/build

  • -
  • If using MKL, execute export MKLROOT=/opt/intel/mkl

  • -
  • Using standard LAPACK: Execute cmake -DCMAKE_INSTALL_PREFIX="../install" ../

    -
      -
    • Using MKL (sequential): Execute cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp_seq ../

    • -
    • Using MKL (parallel): Execute cmake -DCMAKE_INSTALL_PREFIX="../install" -DBLA_VENDOR=Intel10_64lp ../

    • -
    -
  • -
  • Execute make

  • -
  • Execute make install

  • -
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/build_osx.html b/getting_started/build_osx.html deleted file mode 100644 index 6c9d1175d..000000000 --- a/getting_started/build_osx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - Build for OSX — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Build for OSX

-
-

Prerequisites

-
    -
  • CMake (>= 3.12.0)

  • -
  • GCC >= 7.0, Clang >= 3.9, or Intel C++ 18.0

  • -
  • Optional: MATLAB R2009a or greater

  • -
  • Optional: Git

  • -
-

Assumed directory structure:

-
-|- CADET
-|    - src
-|    - include
-|    - [...]
-|    - build
-|    - install
-

Note that the version numbers of the files and packages below are subject to change and will not always reflect the most recent version.

-

Also note that you have to use the same compiler for all packages. This is especially important if some of the packages are installed via a package manager such as Homebrew which uses the system compiler (Clang).

-
-
-

Build dependencies

-
brew update > /dev/null || true
-brew install cmake --without-docs
-brew install hdf5
-brew install tbb
-brew install eigen
-
-
-
-

LAPACK

-

You can either use the native LAPACK implementation provided by Mac OS X (vecLib, Accelerate) -or install the freely available Intel MKL which is very fast and probably faster than Accelerate.

-
-
-
-

Build CADET

-
    -
  • Clone the CADET source code git clone https://github.com/modsim/CADET.git CADET

  • -
  • Create the directories CADET/build and CADET/install

  • -
  • If using Intel MKL, execute export MKLROOT=/opt/intel/mkl

  • -
  • Using standard LAPACK: Execute cmake -DCMAKE_INSTALL_PREFIX="<ROOT>/install" ../

    -
    -

    Using MKL (sequential): Execute cmake -DCMAKE_INSTALL_PREFIX="<ROOT>/install" -DBLA_VENDOR=Intel10_64lp_seq ../

    -

    Using MKL (parallel): Execute cmake -DCMAKE_INSTALL_PREFIX="<ROOT>/install" -DBLA_VENDOR=Intel10_64lp ../

    -
    -
  • -
  • Execute make

  • -
  • Execute make install

  • -
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/build_windows.html b/getting_started/build_windows.html deleted file mode 100644 index 901b93316..000000000 --- a/getting_started/build_windows.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - - Build for MS Windows — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Build for MS Windows

-
-

Prerequisites

-
    -
  • Microsoft Visual Studio 2022 (Community Edition, or better)

  • -
  • Intel OneAPI MKL

  • -
  • Optional: Git

  • -
  • Optional but not generally recommended*: Intel OneAPI TBB

  • -
-

*For most use-cases it is more efficient to parallelize by running multiple CADET simulations instead -of parallelizing within one CADET simulation. Including the parallelization code in CADET can lead to performance -losses, even if parallelization within CADET is not used. -Therefore, we recommend not including the parallelization library TBB -unless you know your simulations are large enough to benefit from it.

-

Assumed directory structure:

-
-|- CADET
-|    - src
-|    - include
-|    - [...]
-|    - build
-|    - install
-

Note that the version numbers of the files and packages below are subject to change and will not always reflect the most -recent version.

-
-
-

Visual Studio:

-

We are using Visual Studio because it is the easiest way to install all required tools, compilers etc. in one step.

-
    -
  • Download MS Visual Studio

  • -
  • Install Visual Studio with the workload “Desktop Developments with C++”

  • -
-
-
-

Intel oneAPI Base Toolkit

-
    -
  • Download -the Intel oneAPI Base Toolkit online installer.

  • -
  • During the installation, select “Custom Installation” and deselect everything except for:

    -
      -
    • Intel® oneAPI Math Kernel Library (MKL)

    • -
    • optional*: Intel® oneAPI Threading Building Blocks (TBB)

    • -
    -
  • -
-
- -
-

Prepare CADET code

-
    -
  • Clone the CADET source code into a CADET folder:

    -
      -
    • git clone https://github.com/modsim/CADET.git CADET

    • -
    -
  • -
  • Create the directories CADET\build and CADET\install

  • -
-
-
-

Build CADET in Visual Studio

-
    -
  • Open Visual Studio and open the CADET folder

  • -
  • At the top, where it says DEBUG, select RELEASE instead

  • -
  • Wait for vcpkg to install all the dependencies. The first time this is done on your PC it can take ~15-30 minutes

  • -
  • Wait for cmake generation to finish (see output window)

  • -
  • From the status bar at the top select Build, Build all

  • -
  • Once that finishes, select Build, Install CadetFramework

  • -
  • The binaries will be located in CADET\install\RELEASE\bin

  • -
-
-
-

Build CADET from the command line

-
    -
  • Open Visual Studio and select “continue without code”

  • -
  • Navigate to “Tools” - “Command Line” and open either a “Developer Command Prompt” or “Developer PowerShell”

  • -
  • Execute the following commands:

  • -
  • For Command Prompt:

    -
      -
    • cd CADET\build

    • -
    • vcpkg integrate install (this only needs to be run once and will require admin privileges)

    • -
    • set MKLROOT="C:/Program Files (x86)/Intel/oneAPI/mkl/latest"

    • -
    • cmake -DCMAKE_INSTALL_PREFIX=..\install -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC_LINK_LAPACK=ON -DENABLE_STATIC_LINK_DEPS=ON -DBLA_VENDOR=Intel10_64lp_seq --fresh ../

      -
        -
      • If you want to use parallelization and have installed TBB, instead -execute set TBBROOT="C:/Program Files (x86)/Intel/oneAPI/tbb/latest" and

      • -
      • cmake -DCMAKE_INSTALL_PREFIX=..\install -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC_LINK_LAPACK=ON -DENABLE_STATIC_LINK_DEPS=ON -DBLA_VENDOR=Intel10_64lp --fresh ../

      • -
      -
    • -
    • msbuild.exe INSTALL.vcxproj /p:Configuration=Release;Platform=x64

    • -
    -
  • -
  • For PowerShell:

    -
      -
    • cd CADET\build

    • -
    • vcpkg integrate install (this only needs to be run once and will require admin privileges)

    • -
    • $ENV:MKLROOT = "C:\Program Files (x86)\Intel\oneAPI\mkl\latest"

    • -
    • cmake -DCMAKE_INSTALL_PREFIX="..\install" -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$ENV:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC_LINK_LAPACK=ON -DENABLE_STATIC_LINK_DEPS=ON -DBLA_VENDOR=Intel10_64lp_seq "../" --fresh

      -
        -
      • -
        If you want to use parallelization and have installed TBB, instead

        execute $ENV:TBBROOT = "C:\Program Files (x86)\Intel\oneAPI\tbb\latest"

        -
        -
        -

        and

        -
      • -
      • cmake -DCMAKE_INSTALL_PREFIX="..\install" -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$ENV:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static -DENABLE_STATIC_LINK_LAPACK=ON -DENABLE_STATIC_LINK_DEPS=ON -DBLA_VENDOR=Intel10_64lp "../" --fresh

      • -
      -
    • -
    • msbuild.exe INSTALL.vcxproj /p:Configuration="Release;Platform=x64"

    • -
    -
  • -
  • The binaries will be located in CADET\install\bin

  • -
-
-
-

Test build results

-
    -
  • Navigate to the install location cd CADET\install\bin

  • -
  • Run:

    -
      -
    • cadet-cli.exe --version

    • -
    • createLWE.exe

    • -
    • cadet-cli.exe LWE.h5

    • -
    -
  • -
  • And confirm the output of the LWE.h5 by opening it in HDF5view or loading it in CADET-Process.

  • -
  • If you get no printed return from the first command, run cadet-cli.exe by double-clicking it in the file explorer. -This raises error messages that are not raised from a cmd or PowerShell window.

  • -
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/index.html b/getting_started/index.html deleted file mode 100644 index e0bdf5283..000000000 --- a/getting_started/index.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - Getting started — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Getting started

-

This section details the steps to install CADET, as pre-built binaries or building from scratch, and also provides the series of tutorials that will help in building complete model from scratch in CADET.

-
- -
- -
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/installation.html b/getting_started/installation.html deleted file mode 100644 index 63187e72c..000000000 --- a/getting_started/installation.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - Installation — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Installation

-

A CADET installation consists of two parts: The CADET core simulator and a frontend.

-
-

Install CADET core simulator

-

The core simulator can be compiled from source, or you can download pre-built binaries. -If you want to extend or modify CADET (e.g., add a custom binding model), you will need to build CADET from source.

-
-

Install pre-built binaries

-

CADET can be installed via conda from the conda-forge channel.

-

conda install -c conda-forge cadet

-

This requires a working conda installation.

-

Optionally, use mamba which uses a faster dependency solver than conda.

-

mamba install -c conda-forge cadet

-
-
-

Install from source

- -
-
-
-

Install a frontend

-

As of now, a MATLAB and a Python frontend are provided. -In general, we recommend to use the Python frontend. -Note that the MATLAB interface is no longer actively developed and will be deprecated in a later version.

-
-

Install CADET-Python

-

The easiest way to create CADET simulations is to use the CADET-Python frontend. -For this purpose, we recommend installing Anaconda. -Anaconda is a high-performance scientific distribution of Python that includes many common packages needed for scientific and engineering work. -Download the installer from their website and run it for the local user.

-

To install CADET-Python, open an Anaconda Shell and execute:

-
pip install cadet-python
-
-
-

If you would also like to use CADET-Match for parameter estimation, run:

-
pip install cadetmatch
-
-
-
-
-

Install CADET-MI

-
-

Warning

-

Note that the MATLAB interface is no longer actively developed and will be deprecated in a later version.

-
-

The MATLAB frontend is distributed with the pre-built binaries. -Run MATLAB and call installCADET() in the command window.

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/overview.html b/getting_started/overview.html deleted file mode 100644 index 501b1ff7f..000000000 --- a/getting_started/overview.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - CADET Overview — CADET - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

CADET Overview

-

Performing a forward simulation comprises several steps:

-
-
-

For this example, we will use CADET-Python (see Install a frontend) -CADET-Python is a file based interface for CADET. -CADET still must be downloaded and built from https://github.com/modsim/CADET

-

CADET-Python almost exactly maps to the documented CADET interface except that all dataset names are lowercase. -This simplifies using the interface.

-

This package includes the Cadet class and H5 class. -H5 can be used as a simple generic HDF5 interface.

-

As an example look at setting column porosity for column 1. -From the CADET manual the path for this is /input/model/unit_001/COL_POROSITY

-

In the python interface this becomes -`` -sim = Cadet() sim.root.input.model.unit_001.col_porosity = 0.33 -`` -Once the simulation has been created it must be saved before it can be run -`` -sim.filename = “/path/to/where/you/want/the/file.hdf5” sim.save() -``

-
-

Define unit operation parameters

-

See also: Unit operation models

-
-
-

Define adsorption and reaction paramters

-

See also: Binding models, and Binding models

-

See also: Reaction models, and Reaction models

-
-
-

Setup connections and switches

-

See also: Simulation, and Networks of unit operations,

-

See Tables Group /input/model/connections and Group /input/model/connections/switch_XXX.

-../_images/sections.png -
-
-

Configure solver

-
-
-

Call solver and read results

-

`` -sim.load() -``

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/getting_started/tutorials/breakthrough.html b/getting_started/tutorials/breakthrough.html deleted file mode 100644 index 2f1e2d978..000000000 --- a/getting_started/tutorials/breakthrough.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - - - - - CADET Introduction — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

CADET Introduction

-
-
Performing a forward simulation comprises several steps:
    -
  • Setting up the model including all parameters and discretization options

  • -
  • Defining sections and switches

  • -
  • Setting up the simulator and actually running the simulation

  • -
  • Evaluating results (e.g., plotting)

  • -
-
-
-

In this tutorial, we will build a simple forward simulation with a breakthrough of one component using the following system:

-
-../../_images/breakthrough_system.png -
-

For this purpose, we use CADET-Python, a file based frontend for CADET. -CADET still must be downloaded (or built from source) as explained in the installation guide. -The Python frontend almost exactly maps to the documented CADET file format except that all dataset names are lowercase. -This simplifies using the frontend. -The package includes a Cadet class which serves as a generic HDF5 frontend.

-

As an example, we consider setting the external porosity for the column model (unit_001). -From file format, the path for this is /input/model/unit_001/COL_POROSITY. -In the Python frontend, this becomes:

-
sim = Cadet()
-sim.root.input.model.unit_001.col_porosity = 0.33
-
-
-
-

0. Preliminary Steps

-

First, we need to import some libraries and specify the location of the cadet-cli executable (core simulator). -It is located in the bin folder where CADET was installed.

-
import numpy as np
-import matplotlib.pyplot as plt
-
-from cadet import Cadet
-Cadet.cadet_path = '/path/to/cadet-cli'
-
-
-

To create the model and specify its parameters, we create an instance of the Cadet class. -In the root attribute of this object, the parameter structure is defined as described in the file format reference. -It is implemented as a Dict of the addict package. -This allows for creating arbitrary nested dictionaries using dot-notation.

-
-

Warning

-

Note, that the Cadet class does not provide any sanity checks. -If parameters are misspelled or have the wrong dimensions, they are simply ignored. -This can cause problems later on, when the simulator is run.

-
-
model = Cadet()
-
-
-
-
-

1. Setting Up the Model

-

Although the order of the parameter specification does not matter, it is reasonable to first specify the number of unit operations before we select the models and define the parameters.

-
model.root.input.model.nunits = 3
-
-
-

The available models are listed in the unit operation chapter. -The units of the different parameters and quantities are given in the corresponding file format of the respective unit operation.

-
-

Inlet Model

-

In CADET, the INLET pseudo unit operation serves as a source for the system and is used to create arbitary concentration profiles as boundary conditions. -First, we define an INLET as the first unit operation by adding the field unit_000 in the /input/model/ group. -The concentration profile is described using a piecewise cubic polynomial (cubic spline in the continuous case) for each component, where the pieces are given by the time sections. -Later, we will define the polynomials, when we look at time sections.

-
model.root.input.model.unit_000.unit_type = 'INLET'
-model.root.input.model.unit_000.ncomp = 1
-model.root.input.model.unit_000.inlet_type = 'PIECEWISE_CUBIC_POLY'
-
-
-
-
-

General Rate Model

-

We now add a second unit operation, the column model. -For the general rate model model, we set the unit_type parameter of the corresponding unit operation model to GENERAL_RATE_MODEL. -In this group, we set the parameters related to transport and column geometry. -For a more detailed description of the parameters and their units, see the corresponding file format.

-
model.root.input.model.unit_001.unit_type = 'GENERAL_RATE_MODEL'
-model.root.input.model.unit_001.ncomp = 1
-
-## Geometry
-model.root.input.model.unit_001.col_length = 0.1                # m
-model.root.input.model.unit_001.cross_section_area = 0.01       # m
-model.root.input.model.unit_001.col_porosity = 0.37             # -
-model.root.input.model.unit_001.par_porosity = 0.33             # -
-model.root.input.model.unit_001.par_radius = 1e-6               # m
-                                                                
-## Transport
-model.root.input.model.unit_001.col_dispersion = 1e-8           # m^2 / s (interstitial volume)
-model.root.input.model.unit_001.film_diffusion = [1e-5]         # m / s
-model.root.input.model.unit_001.par_diffusion = [1e-10,]        # m^2 / s (mobile phase)  
-model.root.input.model.unit_001.par_surfdiffusion = [0.0,]      # m^2 / s (solid phase)
-
-
-

Note that film, particle, and surface diffusion are all component-specific, that is, they are vectors of length n_components.

-
-

Adsorption Model

-

Every column model can be equipped with an adsorption model. -The available models are listed in the binding model chapter.

-

For the Langmuir model, we set the adsorption_model parameter of the corresponding unit operation model to MULTI_COMPONENT_LANGMUIR. -Then, we decide if we want to use the rapid-equilibrium assumption in the binding model (is_kinetic = False), which is not the case here (dynamic binding). -Finally, the parameters of the binding model have to be set for each component (they are vectors of length n_components). -They are described in the corresponding file format specification. -In case of the Langmuir model, we have to specify the parameters kA, kD, and qMAX.

-
model.root.input.model.unit_001.adsorption_model = 'MULTI_COMPONENT_LANGMUIR'
-model.root.input.model.unit_001.adsorption.is_kinetic = True    # Kinetic binding
-model.root.input.model.unit_001.adsorption.mcl_ka = [1.0,]      # m^3 / (mol * s)   (mobile phase)
-model.root.input.model.unit_001.adsorption.mcl_kd = [1.0,]      # 1 / s (desorption)
-model.root.input.model.unit_001.adsorption.mcl_qmax = [100.0,]  # mol / m^3   (solid phase)
-
-
-
-
-

Initial Conditions

-

Next, we specify the initial conditions (concentration of the components in the mobile and stationary phases) for the column. -These concentrations are entered as vectors, where each entry gives the concentration for the corresponding component. -In this example, we start with an empty column.

-
model.root.input.model.unit_001.init_c = [0.0,]
-model.root.input.model.unit_001.init_q = [0.0,]
-
-
-
-
-

Setting up the Discretization

-

There are several options for adapting the spatial discretization of the PDE model. -However, the two most important ones are the number of grid cells in the column (axial direction) and the particles, which are also set in this example. -We choose 20 axial cells in the column ncol and 5 radial cells in the particle npar.

-
-

Warning

-

These are rather low values to make the examples run faster, since they are only for educational purposes. -In practice, much higher values are expected (say 100-200 axial cells and 16-32 particle cells). -Note that the WENO scheme, which handles the advection, drastically reduces the required amount of cells compared to an upwind scheme.

-
-

Moreover, we have to specify the number of bound states for each component. -Finally, we set some other options for the discretization, which usually do not need to be changed.

-
### Grid cells
-model.root.input.model.unit_001.discretization.ncol = 20
-model.root.input.model.unit_001.discretization.npar = 5
-
-### Bound states
-model.root.input.model.unit_001.discretization.nbound = [1]
-
-### Other options
-model.root.input.model.unit_001.discretization.par_disc_type = 'EQUIDISTANT_PAR'    
-model.root.input.model.unit_001.discretization.use_analytic_jacobian = 1
-model.root.input.model.unit_001.discretization.reconstruction = 'WENO'
-model.root.input.model.unit_001.discretization.gs_type = 1
-model.root.input.model.unit_001.discretization.max_krylov = 0
-model.root.input.model.unit_001.discretization.max_restarts = 10
-model.root.input.model.unit_001.discretization.schur_safety = 1.0e-8
-
-model.root.input.model.unit_001.discretization.weno.boundary_model = 0
-model.root.input.model.unit_001.discretization.weno.weno_eps = 1e-10
-model.root.input.model.unit_001.discretization.weno.weno_order = 3
-
-
-
-
-
-

Outlet Model

-

The OUTLET is another pseudo unit operation that serves as sink for the system.

-
-

Note

-

In this case, the outlet unit is actually not required. We could use the outlet concentration signal of the column model instead.

-
-
model.root.input.model.unit_002.unit_type = 'OUTLET'
-model.root.input.model.unit_002.ncomp = 1
-
-
-
-
-
-

2. Setting up Time Sections and Connections

-
-

Time Sections

-

Time sections are used to specify changes of parameter values during the simulation. -A section typically corresponds to an operating step (load, wash, elute etc.), but can also be used to indicate changes in connectivity, or even discontinuities of model parameters.

-

In the /input/solver/sections/ group, nsec denotes the number of sections. -The start and end times of a section are given in the section_times vector. -It should always start at 0.0 and contains nsec + 1 values, that is, the ith section goes from section_times[i] to section_times[i+1].

-

The section_continuity indicates whether a transition from one section to the next is continuous in both the inlet and the parameters. -It has nsec - 1 number of values, since there is one transition less than there are sections. -The continuity is used in CADET’s time integrator, which needs to decide whether to restart on entering a new section. -If the transition is continuous, the time integrator can try to step over the transition without restarting, thus saving some computation time (since the restart is costly). -If you are unsure about the continuity, just leave it at 0.

-
model.root.input.solver.sections.nsec = 1
-model.root.input.solver.sections.section_times = [0.0, 1200,]   # s
-model.root.input.solver.sections.section_continuity = []
-
-
-

As mentioned earlier, we now define the INLET profile using a piecewise cubic polynomial. -On each section \([ t_i, t_{i+1} ]\) a cubic polynomial \(p_i\) is defined:

-
-\[p_i( t ) = d * (t - t_i)^3 + c * (t - t_i)^2 + b * (t - t_i) + a,\]
-

where the coefficients of the polynomial are const_coeff (a), lin_coeff (b), quad_coeff (c), and cube_coeff (d). -Note that the constant coefficient const_coeff determines the starting concentration on each section. -The stopping concentration is given by \(p_i( t_{i+1} )\) or \(p_{i+1}( t_{i+1} )\) in case of a continuous profile.

-

In this example, which has only one section, we define its coefficients by adding the field sec_000 to the inlet unit (unit_000). -Since the column should be constantly fed with \(1.0 \cdot 10^{-3} mol / m^3\), we set const_coeff to [1.0e-3] and all other cofficients to [0.0]. -Note that for more components, a vector of coefficients needs to be specified.

-
model.root.input.model.unit_000.sec_000.const_coeff = [1.0e-3,] # mol / m^3
-model.root.input.model.unit_000.sec_000.lin_coeff = [0.0,]
-model.root.input.model.unit_000.sec_000.quad_coeff = [0.0,]
-model.root.input.model.unit_000.sec_000.cube_coeff = [0.0,]
-
-
-
-
-

System Connectivity

-

In order to specify the connectivity of the network, we have to provide a list of connections. -CADET requires that we append all connections to a long vector (i.e., if each connection is a row in a matrix, CADET wants this matrix in row-major storage). -Moreover, we have to specify the section in which the specified connectivity should be applied.

-

The elements of a connection are (in order):

-
-

[UnitOpID from, UnitOpID to, Component from, Component to, Volumetric flow rate]

-
-

Usually, Component from and Component to can be set to -1, which will connect all components from the origin and destination unit operations.

-
-

Note

-

Since CADET version 4.1, the flow rates can also be defined with piecewise cubic polynomials. -Also, for the 2D General rate model inlet ports need to be speciefied. -For more information on the parameters, see the file format specification.

-
-

In this case, we connect all components of unit_000 to unit_001, and from unit_001 to unit_002.

-
model.root.input.model.connections.nswitches = 1
-model.root.input.model.connections.switch_000.section = 0
-model.root.input.model.connections.switch_000.connections = [
-    0, 1, -1, -1, 60/1e6,  # [unit_000, unit_001, all components, all components, Q/ m^3*s^-1 
-    1, 2, -1, -1, 60/1e6]  # [unit_001, unit_002, all components, all components, Q/ m^3*s^-1 
-
-
-
-

Note

-

Since the flow in the column models is incompressible, the total entering flow rate must equal the total outgoing flow rate. -This restriction does not apply to a CSTR model, because it has a variable volume.

-
-
-
-
-

3. Setting Up the Simulator and Running the Simulation

-

Before we can start the simulation, we have to specify some settings for the simulator.

-

First, we set some options for the solver and the time integrator. -Usually, these only need to be adapted in special cases.

-
model.root.input.model.solver.gs_type = 1
-model.root.input.model.solver.max_krylov = 0
-model.root.input.model.solver.max_restarts = 10
-model.root.input.model.solver.schur_safety = 1e-8
-
-# Number of cores for parallel simulation
-model.root.input.solver.nthreads = 1
-
-# Tolerances for the time integrator
-model.root.input.solver.time_integrator.abstol = 1e-6
-model.root.input.solver.time_integrator.algtol = 1e-10
-model.root.input.solver.time_integrator.reltol = 1e-6
-model.root.input.solver.time_integrator.init_step_size = 1e-6
-model.root.input.solver.time_integrator.max_steps = 1000000
-
-
-

Of these options, the most interesting ones are time_integrator.abstol and time_integrator.reltol, which control the errors during time integration, and nthreads, which sets the number of CPU cores CADET is allowed to use.

-

Second, we have to specify which results we want CADET to return. -For this, we have to specify the /input/return/ group. -For more information, see the file format specification.

-

In this example, we want to write the concentration profile of the inlet and outlet of each unit operation. -In addition, we are interested in the concentration in the interstitial volume (bulk volume) of the column.

-
# Return data
-model.root.input['return'].split_components_data = 0
-model.root.input['return'].split_ports_data = 0
-model.root.input['return'].unit_000.write_solution_bulk = 1
-model.root.input['return'].unit_000.write_solution_inlet = 1
-model.root.input['return'].unit_000.write_solution_outlet = 1
-
-# Copy settings to the other unit operations
-model.root.input['return'].unit_001 = model.root.input['return'].unit_000
-model.root.input['return'].unit_002 = model.root.input['return'].unit_000
-
-
-

Finally, we have to set the time points at which we want to evaluate the solution. -Note that the end time must not exceed the last section time specified in the model. -If the time points are not set explicitly, the time integrator outputs the solution at arbitrary time points between 0 and section_times[-1].

-
# Solution times
-model.root.input.solver.user_solution_times = np.linspace(0, 1200, 1001)
-
-
-

The last remaining step is to actually run the simulation. -For this, we have to specify a filename, save the configuration to H5-format and call call the model’s run() function. -We check if the simulation has completed successfully and load the results.

-
model.filename = 'model.h5'
-model.save()
-
-data = model.run()
-
-if data.returncode == 0:
-    print("Simulation completed successfully")
-    model.load()   
-else:
-    print(data)
-    raise Exception("Simulation failed")
-
-
-
-
-

4. Plotting the Results

-

The data is stored in the /output/ group of the Cadet object. -The structure and format of the data is described in the file format specification. -Finally, we plot the concentration signal at the outlet of the column.

-
plt.figure()
-
-time = model.root.output.solution.solution_times
-c = model.root.output.solution.unit_001.solution_outlet
-plt.plot(time/60, c)
-plt.xlabel('$time~/~min$')
-plt.ylabel('$Outlet~concentration~/~mol \cdot m^{-3} $')
-plt.show()
-
-
-../../_images/breakthrough_chromatogram.png -
-
-

Exercises

-
    -
  • Add a second inlet section from 10000 to 40000 seconds in which no sample is fed into the column (rectangular pulse).

  • -
  • Increase the length of the column and the flow rate.

  • -
  • Increase the desorption coefficient MCL_KD.

  • -
  • Add a second component.

  • -
  • Plot the concentration profile of the INLET unit operation

  • -
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/index.html b/index.html index b79aea3f8..656ad4499 100644 --- a/index.html +++ b/index.html @@ -1,172 +1,9 @@ - - + - - - - CADET — CADET - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - - _images/cadet_logo.png -
-

-
-https://img.shields.io/github/release/modsim/cadet.svg -https://github.com/modsim/CADET/actions/workflows/ci.yml/badge.svg -https://anaconda.org/conda-forge/cadet/badges/downloads.svg -https://zenodo.org/badge/DOI/10.5281/zenodo.8179015.svg -
-

-
-
-

CADET

-

CADET is developed at the Institute of Bio- and Geosciences 1 (IBG-1) of Forschungszentrum Jülich (FZJ) under supervision of Dr. Eric von Lieres. -The heart of the CADET software is a fast and accurate solver for a comprehensive model family. -Typical applications include (but are by far not limited to) chromatography, filtration, crystallization, and fermentation. -CADET can handle arbitrary sequences and networks of unit operations, including reactors, tanks, tubes, pumps, valves, detectors, etc. -The resulting models are solved with state-of-the-art mathematical algorithms and scientific computing techniques.

- -
-

Features

-
    -
  • Fast and accurate solution of strongly coupled partial differential algebraic equations (PDAE)

  • -
  • Computation of parameter sensitivities with algorithmic differentiation (AD)

  • -
  • Shared memory parallelization using Intel TBB

  • -
  • Python interface (recommended) and native MATLAB interface (deprecated)

  • -
  • Support of HDF5 and XML data formats

  • -
  • Flexible and extensible through modular design

  • -
  • Works on Windows, Linux, and Mac OS X

  • -
-
-
-

Installation

-

CADET can be installed via conda from the conda-forge channel.

-

conda install -c conda-forge cadet

-

This requires a working conda installation.

-

Optionally, use mamba which uses a faster dependency solver than conda.

-

mamba install -c conda-forge cadet

-

For more information on how to install and build CADET, see here.

-
-
-

Ongoing Development

-

We do our best to provide you with a stable API. -However, CADET is actively developed and breaking changes can sometimes be unavoidable. -For non-developers, it is recommended to upgrade from release to release instead of always working with the most recent commit.

-
-
-

Bugs

-

Please report any bugs that you find here. Or, even better, fork the repository on GitHub and create a pull request (PR) with the fix.

-
-
-

Donations

-

Donations for helping to host, maintain, and further develop the CADET project are highly appreciated.

-
-
-

Citing

-

To cite CADET please use the following publication:

- -
-
-

Acknowledgments

-

Please refer to the list of contributors who helped building and funding this project.

-
-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file + Redirecting to https://cadet.github.io/master/ + + + + + diff --git a/interface/binding/bi_steric_mass_action.html b/interface/binding/bi_steric_mass_action.html deleted file mode 100644 index 90db9c370..000000000 --- a/interface/binding/bi_steric_mass_action.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - Bi Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Bi Steric Mass Action

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = BI_STERIC_MASS_ACTION

-

For information on model equations, refer to Bi Steric Mass Action.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
BISMA_KA

Adsorption rate constants in state-major ordering

-
-
-

Unit: \(m_{MP}^{3}~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
BISMA_KD

Desorption rate constants in state-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
BISMA_NU

Characteristic charges \(\nu_{i,j}\) of the \(i\)th protein -with respect to the \(j\)th binding site type in state-major -ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
BISMA_SIGMA

Steric factors \(\sigma_{i,j}\) of the \(i\)th protein with -respect to the \(j\)th binding site type in state-major -ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
BISMA_LAMBDA

Stationary phase capacity (monovalent salt counterions) of the -different binding site types \(\lambda_j\)

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES

-
-
BISMA_REFC0

Reference liquid phase concentration for each binding site type or -one value for all types (optional, defaults to \(1.0\))

-
-
-

Unit: \(mol~m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: {1,NSTATES}

-
-
BISMA_REFQ

Reference solid phase concentration for each binding site type or one -value for all types (optional, defaults to \(1.0\))

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: {1,NSTATES}

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/extended_mobile_phase_modulator_langmuir.html b/interface/binding/extended_mobile_phase_modulator_langmuir.html deleted file mode 100644 index 9e29c33fa..000000000 --- a/interface/binding/extended_mobile_phase_modulator_langmuir.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - Extended Mobile Phase Modulator Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Extended Mobile Phase Modulator Langmuir

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = EXTENDED_MOBILE_PHASE_MODULATOR

-

For information on model equations, refer to Extended Mobile Phase Modulator Langmuir.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
EMPM_COMP_MODE

Determines the mode of each component (\(0\) denotes the modifier -component, \(1\) is linear binding, \(2\) is modified Langmuir -binding). At most one modifier component is allowed, that is, a -modifier is not required.

-

Note that this field has the same name for the externally dependent -variant of the model.

-
-
- - - - - - - -

Type: int

Range: \(\{0,1,2\}\)

Length: NCOMP

-
-
EMPM_KA

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
EMPM_KD

Desorption rate constants

-
-
-

Unit: \(m_{MP}^{3\beta}~mol^{-\beta}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
EMPM_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
EMPM_BETA

Parameters describing the ion-exchange characteristics (IEX)

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
EMPM_GAMMA

Parameters describing the hydrophobicity (HIC)

-
-
-

Unit: \(m_{MP}^{3} mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/freundlich_ldf.html b/interface/binding/freundlich_ldf.html deleted file mode 100644 index 5f73cd0a8..000000000 --- a/interface/binding/freundlich_ldf.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Freundlich LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Freundlich LDF

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = FREUNDLICH_LDF

-

For information on model equations, refer to Freundlich LDF.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
FLDF_KKIN

Driving force coefficient for each component

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1/NTOTALBND

-
-
FLDF_KF

Freundlich coefficient for each component

-
-
-

Unit: \(m_{MP}^3~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1/NTOTALBND

-
-
FLDF_N

Freundlich exponent for each component

-
-
-

Unit: :[-]

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1/NTOTALBND

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/generalized_ion_exchange.html b/interface/binding/generalized_ion_exchange.html deleted file mode 100644 index d26bd4e75..000000000 --- a/interface/binding/generalized_ion_exchange.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - Generalized Ion Exchange — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Generalized Ion Exchange

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = GENERALIZED_ION_EXCHANGE

-

For information on model equations, refer to Generalized Ion Exchange.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
GIEX_KA

Base value of adsorption rate constant

-
-
-

Unit: \(m_{MP}^{3}~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
GIEX_KA_LIN

Coefficient of linear dependence of adsorption rate constant on -modifier component

-
-
-

Unit: \(\text{[Mod]}^{-1}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KA_QUAD

Coefficient of quadratic dependence of adsorption rate constant on -modifier component

-
-
-

Unit: \(\text{[Mod]}^{-2}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KA_SALT

Salt coefficient of adsorption rate constants; difference of -water-protein and salt-protein interactions

-
-
- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KA_PROT

Protein coefficient of adsorption rate constants; difference of -water-protein and protein-protein interactions

-
-
-

Unit: \(m_{MP}^{3} mol^{-1}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KD

Base value of desorption rate constant

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
GIEX_KD_LIN

Coefficient of linear dependence of desorption rate constant on -modifier component

-
-
-

Unit: \(\text{[Mod]}^{-1}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KD_QUAD

Coefficient of quadratic dependence of desorption rate constant on -modifier component

-
-
-

Unit: \(\text{[Mod]}^{-2}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KD_SALT

Salt coefficient of desorption rate constants; difference of -water-protein and salt-protein interactions

-
-
- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_KD_PROT

Protein coefficient of desorption rate constants; difference of -water-protein and protein-protein interactions

-
-
-

Unit: \(m_{MP}^{3} mol^{-1}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_NU

Base value for characteristic charges of the protein; The number of -sites \(\nu\) that the protein interacts with on the resin -surface

-
-
- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_NU_LIN

Coefficient of linear dependence of characteristic charge on modifier -component

-
-
-

Unit: \(\text{[Mod]}^{-1}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_NU_QUAD

Coefficient of quadratic dependence of characteristic charge on -modifier component

-
-
-

Unit: \(\text{[Mod]}^{-2}\)

- - - - - - -

Type: double

Length: NCOMP

-
-
GIEX_SIGMA

Steric factors of the protein; The number of sites \(\sigma\) on -the surface that are shielded by the protein and prevented from -exchange with the salt counterions in solution

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
GIEX_LAMBDA

Stationary phase capacity (monovalent salt counterions); The total -number of binding sites available on the resin surface

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
GIEX_REFC0

Reference liquid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
-
GIEX_REFQ

Reference solid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/hic_constant_water_activity.html b/interface/binding/hic_constant_water_activity.html deleted file mode 100644 index 3d9149897..000000000 --- a/interface/binding/hic_constant_water_activity.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - HIC Constant Water Activity — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

HIC Constant Water Activity

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = HIC_CONSTANT_WATER_ACTIVITY

-

For information on model equations, refer to HIC Constant Water Activity.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
HICCWA_KA

Adsorption rate constant

-
-
-

Unit: \(m_{MP}^{3}~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICCWA_KD

Desorption rate constant

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICCWA_NU

Number of ligands per ligand-protein interaction

-
-
-

Unit: [-]

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICCWA_QMAX

Maximum binding capacity

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICCWA_BETA0

Parameters describing the number of highly ordered water molecules -that stabilize the hydrophobic surfaces at infinitely diluted -salt concentration

-
-
-

Unit: [-]

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
HICCWA_BETA1

Parameters describing the change in the number of highly ordered -water molecules that stabilize the hydrophobic surfaces with -respect to changes in the salt concentration

-
-
-

Unit: \(m_{MP}^{3}~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/hic_water_on_hydrophobic_surfaces.html b/interface/binding/hic_water_on_hydrophobic_surfaces.html deleted file mode 100644 index f9d0b665e..000000000 --- a/interface/binding/hic_water_on_hydrophobic_surfaces.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - - HIC Water on Hydrophobic Surfaces — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

HIC Water on Hydrophobic Surfaces

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = HIC_WATER_ON_HYDROPHOBIC_SURFACES

-

For information on model equations, refer to HIC Water on Hydrophobic Surfaces.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
HICWHS_KA

Adsorption rate constant

-
-
-

Unit: \(m_{MP}^{3}~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICWHS_KD

Desorption rate constant

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICWHS_NU

Number of ligands per ligand-protein interaction

-
-
-

Unit: [-]

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICWHS_QMAX

Maximum binding capacity

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
HICWHS_BETA0

Parameters describing the number of highly ordered water molecules -that stabilize the hydrophobic surfaces at infinitely diluted -salt concentration

-
-
-

Unit: [-]

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
HICWHS_BETA1

Parameters describing the change in the number of highly ordered -water molecules that stabilize the hydrophobic surfaces with -respect to changes in the salt concentration

-
-
-

Unit: \(m_{MP}^{3}~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/index.html b/interface/binding/index.html deleted file mode 100644 index 1b42dcb5e..000000000 --- a/interface/binding/index.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Binding models — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Binding models

-
-

Externally dependent binding models

-

Some binding models have a variant that can use external sources as specified in /input/model/external/ (also see Section Dependence on external function for more information, and Section Binding model feature matrix on which binding models support this feature). -For the sake of brevity, only the standard variant of those binding models is specified below. -In order to obtain the format for the externally dependent variant, first replace the binding model name XXX by EXT_XXX. -Each parameter \(p\) (except for reference concentrations XXX_REFC0 and XXX_REFQ) depends on a (possibly distinct) external source in a polynomial way:

-
-\[\begin{aligned} - p(T) &= p_{\texttt{TTT}} T^3 + p_{\texttt{TT}} T^2 + p_{\texttt{T}} T + p. -\end{aligned}\]
-

Thus, a parameter XXX_YYY of the standard binding model variant is replaced by the four parameters EXT_XXX_YYY, EXT_XXX_YYY_T, EXT_XXX_YYY_TT, and EXT_XXX_YYY_TTT. -Since each parameter can depend on a different external source, the dataset EXTFUN (not listed in the standard variants below) should contain a vector of 0-based integer indices of the external source of each parameter. -The ordering of the parameters in EXTFUN is given by the ordering in the standard variant. -However, if only one index is passed in EXTFUN, this external source is used for all parameters.

-

Note that parameter sensitivities with respect to column radius, column length, particle core radius, and particle radius may be wrong when using externally dependent binding models. -This is caused by not taking into account the derivative of the external profile with respect to column position.

-
-
-

Non-binding components

-

For binding models that do not support multiple bound states, many parameters can vary per component and their length is taken as NCOMP. -However, these models still support non-binding components. -In this case, the entries in their parameters that correspond to non-binding components are simply ignored.

-
-
-

Multiple particle types

-

The group that contains the parameters of a binding model in unit operation with index XXX reads /input/model/unit_XXX/adsorption. -This is valid for models with a single particle type. -If a model has multiple particle types, it may have a different binding model in each type. -The parameters are then placed in the group /input/model/unit_XXX/adsorption_YYY instead, where YYY denotes the index of the particle type.

-

Note that, in any case, /input/model/unit_XXX/adsorption_000 contains the parameters of the first (and possibly sole) particle type. -This group also takes precedence over a possibly existing /input/model/unit_XXX/adsorption group.

- -
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/linear.html b/interface/binding/linear.html deleted file mode 100644 index 1115f2c83..000000000 --- a/interface/binding/linear.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - Linear — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Linear

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = LINEAR

-

For information on model equations, refer to Linear.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
LIN_KA

Adsorption rate constants for each component

-
-
-

Unit: \(m_{MP}^3~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1/NTOTALBND

-
-
LIN_KD

Desorption rate constants for each component

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1/NTOTALBND

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/mobile_phase_modulator_langmuir.html b/interface/binding/mobile_phase_modulator_langmuir.html deleted file mode 100644 index 889389e68..000000000 --- a/interface/binding/mobile_phase_modulator_langmuir.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - Mobile Phase Modulator Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Mobile Phase Modulator Langmuir

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MOBILE_PHASE_MODULATOR

-

For information on model equations, refer to Mobile Phase Modulator Langmuir.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MPM_KA

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MPM_KD

Desorption rate constants

-
-
-

Unit: \(m_{MP}^{3\beta}~mol^{-\beta}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MPM_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MPM_BETA

Parameters describing the ion-exchange characteristics (IEX)

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MPM_GAMMA

Parameters describing the hydrophobicity (HIC)

-
-
-

Unit: \(m_{MP}^{3} mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_anti_langmuir.html b/interface/binding/multi_component_anti_langmuir.html deleted file mode 100644 index e557a1218..000000000 --- a/interface/binding/multi_component_anti_langmuir.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - Multi Component Anti-Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Anti-Langmuir

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_ANTILANGMUIR

-

For information on model equations, refer to Multi Component Anti-Langmuir.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCAL_KA

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCAL_KD

Desorption rate constants

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCAL_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NCOMP

-
-
MCAL_ANTILANGMUIR

Anti-Langmuir coefficients (optional)

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: {-1,1}

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_bi_langmuir.html b/interface/binding/multi_component_bi_langmuir.html deleted file mode 100644 index 295d37403..000000000 --- a/interface/binding/multi_component_bi_langmuir.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Multi Component Bi-Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Bi-Langmuir

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_BILANGMUIR

-

For information on model equations, refer to Multi Component Bi-Langmuir.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCBL_KA

Adsorption rate constants in state-major ordering (see Ordering of multi dimensional data)

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
MCBL_KD

Desorption rate constants in state-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
-
MCBL_QMAX

Maximum adsorption capacities in state-major ordering

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NSTATES \(\cdot\) NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_bi_langmuir_ldf.html b/interface/binding/multi_component_bi_langmuir_ldf.html deleted file mode 100644 index 64485638e..000000000 --- a/interface/binding/multi_component_bi_langmuir_ldf.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Multi Component Bi-Langmuir LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Bi-Langmuir LDF

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_BILANGMUIR_LDF

-

For information on model equations, refer to Multi Component Bi-Langmuir LDF.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCBLLDF_KEQ

Equillibrium loading constants in state-major ordering (see Ordering of multi dimensional data)

-
-
-

Unit: \(m_{MP}^3~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP \(\cdot\) NSTATES

-
-
MCBLLDF_KKIN

Linear driving force coefficients in state-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP \(\cdot\) NSTATES

-
-
MCBLLDF_QMAX

Maximum adsorption capacities in state-major ordering

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NCOMP \(\cdot\) NSTATES

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_langmuir.html b/interface/binding/multi_component_langmuir.html deleted file mode 100644 index 7a36269fa..000000000 --- a/interface/binding/multi_component_langmuir.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Multi Component Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR

-

For information on model equations, refer to Multi Component Langmuir.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCL_KA

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCL_KD

Desorption rate constants

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCL_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_langmuir_ldf.html b/interface/binding/multi_component_langmuir_ldf.html deleted file mode 100644 index 3e24b6ea6..000000000 --- a/interface/binding/multi_component_langmuir_ldf.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Multi Component Langmuir LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir LDF

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR_LDF

-

For information on model equations, refer to Multi Component Langmuir LDF.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCLLDF_KEQ

Equillibrium loading constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCLLDF_KKIN

Linear driving force coefficients

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCLLDF_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_langmuir_ldf_liquid_phase.html b/interface/binding/multi_component_langmuir_ldf_liquid_phase.html deleted file mode 100644 index 7ef236c90..000000000 --- a/interface/binding/multi_component_langmuir_ldf_liquid_phase.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Multi Component Langmuir LDF Liquid Phase — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir LDF Liquid Phase

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_LANGMUIR_LDF_LIQUID_PHASE

-

For information on model equations, refer to Multi Component Langmuir LDF Liquid Phase.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCLLDFC_KEQ

Equillibrium loading constants

-
-
-

Unit: \(m_{MP}^3~mol^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCLLDFC_KKIN

Linear driving force coefficients

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCLLDFC_QMAX

Maximum adsorption capacities

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_component_spreading.html b/interface/binding/multi_component_spreading.html deleted file mode 100644 index 315ae3955..000000000 --- a/interface/binding/multi_component_spreading.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - - Multi Component Spreading — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Spreading

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTI_COMPONENT_SPREADING

-

For information on model equations, refer to Multi Component Spreading.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MCSPR_KA

Adsorption rate constants in state-major ordering

-
-
-

Unit: \(m_{MP}^3~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MCSPR_KD

Desorption rate constants in state-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MCSPR_QMAX

Maximum adsorption capacities in state-major ordering

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: NTOTALBND

-
-
MCSPR_K12

Exchange rates from the first to the second bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
MCSPR_K21

Exchange rates from the second to the first bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/multi_state_steric_mass_action.html b/interface/binding/multi_state_steric_mass_action.html deleted file mode 100644 index a8297dc6f..000000000 --- a/interface/binding/multi_state_steric_mass_action.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - Multi-State Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi-State Steric Mass Action

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = MULTISTATE_STERIC_MASS_ACTION

-

For information on model equations, refer to Multi-State Steric Mass Action.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
MSSMA_KA

Adsorption rate constants of the components to the different bound -states in component-major ordering

-
-
-

Unit: \(m_{MP}^3~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MSSMA_KD

Desorption rate constants of the components in the different bound -states in component-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MSSMA_NU

Characteristic charges of the components in the different bound -states in component-major ordering

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MSSMA_SIGMA

Steric factors of the components in the different bound states in -component-major ordering

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
MSSMA_RATES

Conversion rates between different bound states in -component-row-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: \(\sum_{i=0}^{\text{NCOMP}-1} \text{NBND}_{i}^{2}\)

-
-
MSSMA_LAMBDA

Stationary phase capacity (monovalent salt counterions); The total -number of binding sites available on the resin surface

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
MSSMA_REFC0

Reference liquid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
-
MSSMA_REFQ

Reference solid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/saska.html b/interface/binding/saska.html deleted file mode 100644 index fdf3a523b..000000000 --- a/interface/binding/saska.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - Saska — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Saska

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SASKA

-

For information on model equations, refer to Saska.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
SASKA_H

Henry coefficient

-
-
-

Unit: \(m_{MP}^3~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb {R}\)

Length: NCOMP

-
-
SASKA_K

Quadratic factors

-
-
-

Unit: \(m_{MP}^6~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb {R}\)

Length: \(\text{NCOMP}^2\)

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/self_association.html b/interface/binding/self_association.html deleted file mode 100644 index fb53ee4a8..000000000 --- a/interface/binding/self_association.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - Self Association — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Self Association

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SELF_ASSOCIATION

-

For information on model equations, refer to Self Association.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
SAI_KA1

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SAI_KA2

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^6~m_{SP}^{-3}~mol^{-1}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SAI_KD

Desorption rate constants

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SAI_NU

Characteristic charges \(\nu\) of the protein

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SAI_SIGMA

Steric factors \(\sigma\) of the protein

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SAI_LAMBDA

Stationary phase capacity (monovalent salt counterions); The total -number of binding sites available on the resin surface

-
-
-

Unit: \(mol m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
SAI_REFC0

Reference liquid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
-
SAI_REFQ

Reference solid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/simplified_multi_state_steric_mass_action.html b/interface/binding/simplified_multi_state_steric_mass_action.html deleted file mode 100644 index 10f788a08..000000000 --- a/interface/binding/simplified_multi_state_steric_mass_action.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - Simplified Multi-State Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Simplified Multi-State Steric Mass Action

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = SIMPLIFIED_MULTISTATE_STERIC_MASS_ACTION

-

For information on model equations, refer to Simplified Multi-State Steric Mass Action.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
SMSSMA_LAMBDA

Stationary phase capacity (monovalent salt counterions); The total -number of binding sites available on the resin surface

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
SMSSMA_KA

Adsorption rate constants of the components to the different bound -states in component-major ordering

-
-
-

Unit: \(m_{MP}^{3}~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
SMSSMA_KD

Desorption rate constants of the components to the different bound -states in component-major ordering

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NTOTALBND

-
-
SMSSMA_NU_MIN

Characteristic charges of the components in the first (weakest) bound -state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_NU_MAX

Characteristic charges of the components in the last (strongest) -bound state

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_NU_QUAD

Quadratic modifiers of the characteristic charges of the different -components depending on the index of the bound state

-
-
- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_SIGMA_MIN

Steric factors of the components in the first (weakest) bound state

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_SIGMA_MAX

Steric factors of the components in the last (strongest) bound state

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_SIGMA_QUAD

Quadratic modifiers of steric factors of the different components -depending on the index of the bound state

-
-
- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_KWS

Exchange rates from a weakly bound state to the next stronger bound -state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_KWS_LIN

Linear exchange rate coefficients from a weakly bound state to the -next stronger bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_KWS_QUAD

Quadratic exchange rate coefficients from a weakly bound state to the -next stronger bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_KSW

Exchange rates from a strongly bound state to the next weaker bound -state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMSSMA_KSW_LIN

Linear exchange rate coefficients from a strongly bound state to the -next weaker bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_KSW_QUAD

Quadratic exchange rate coefficients from a strongly bound state to -the next weaker bound state

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: NCOMP

-
-
SMSSMA_REFC0

Reference liquid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
-
SMSSMA_REFQ

Reference solid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/binding/steric_mass_action.html b/interface/binding/steric_mass_action.html deleted file mode 100644 index 3c4604baa..000000000 --- a/interface/binding/steric_mass_action.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Steric Mass Action

-

Group /input/model/unit_XXX/adsorption – ADSORPTION_MODEL = STERIC_MASS_ACTION

-

For information on model equations, refer to Steric Mass Action.

-
-
IS_KINETIC

Selects kinetic or quasi-stationary adsorption mode: 1 = kinetic, 0 = -quasi-stationary. If a single value is given, the mode is set for all -bound states. Otherwise, the adsorption mode is set for each bound -state separately.

-
-
- - - - - - - -

Type: int

Range: {0,1}

Length: 1/NTOTALBND

-
-
SMA_KA

Adsorption rate constants

-
-
-

Unit: \(m_{MP}^3~m_{SP}^{-3}~s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMA_KD

Desorption rate constants

-
-
-

Unit: \(s^{-1}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMA_NU

Characteristic charges of the protein; The number of sites -\(\nu\) that the protein interacts with on the resin surface

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMA_SIGMA

Steric factors of the protein; The number of sites \(\sigma\) on -the surface that are shielded by the protein and prevented from -exchange with the salt counterions in solution

-
-
- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: NCOMP

-
-
SMA_LAMBDA

Stationary phase capacity (monovalent salt counterions); The total -number of binding sites available on the resin surface

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\ge 0\)

Length: 1

-
-
SMA_REFC0

Reference liquid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{MP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
-
SMA_REFQ

Reference solid phase concentration (optional, defaults to -\(1.0\))

-
-
-

Unit: \(mol~m_{SP}^{-3}\)

- - - - - - - -

Type: double

Range: \(\gt 0\)

Length: 1

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/consistent_initialization.html b/interface/consistent_initialization.html deleted file mode 100644 index d3cec1b0f..000000000 --- a/interface/consistent_initialization.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - Nonlinear solver for consistent initialization — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Nonlinear solver for consistent initialization

-
-

Group /input/model/unit_XXX/discretization/consistency_solver - Nonlinear consistency solver paramters

-

SOLVER_NAME

-

Name of the solver. Available solvers are LEVMAR, ATRN_RES, ATRN_ERR, and COMPOSITE.

-
-
- - - - - -

Type: string

Length: \(1\)

-
-

INIT_DAMPING

-

Initial damping factor (default is \(0.01\))

-
-
- - - - - - -

Type: double

Range: \(\ge 0\)

Length: \(1\)

-
-

MIN_DAMPING

-

Minimal damping factor (default is \(0.0001\); ignored by LEVMAR)

-
-
- - - - - - -

Type: double

Range: \(\ge 0\)

Length: \(1\)

-
-

SUBSOLVERS

-

Vector with names of solvers for the composite solver (only required for composite solver). See SOLVER_NAME for available solvers.

-
-
- - - - - -

Type: string

Length: \(\gt 1\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/flux_reconstruction.html b/interface/flux_reconstruction.html deleted file mode 100644 index 3b952cf1b..000000000 --- a/interface/flux_reconstruction.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - Flux reconstruction methods — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Flux reconstruction methods

-
-

Group /input/model/unit_XXX/discretization/weno - WENO Parameters

-

BOUNDARY_MODEL

-
-

Boundary model type: -0. Lower WENO order (stable) -1. Zero weights (unstable for small \(D_{\mathrm{ax}}\)) -2. Zero weights for \(p \neq 0\) (stable?) -3. Large ghost points

- - - - - - - -

Type: int

Range: \(\{0, 3\}\)

Length: 1

-
-

WENO_EPS

-
-

WENO \(\varepsilon\)

- - - - - - - -

Type: int

Range: \(\{0, 3\}\)

Length: 1

-
-

WENO_ORDER

-
-

WENO order, also called WENO \(k\):

-
    -
  1. Standard upwind scheme (order 1)

  2. -
  3. WENO 2 (order 3)

  4. -
  5. WENO 3 (order 5)

  6. -
- - - - - - - -

Type: int

Range: \(\{1, 3\}\)

Length: 1

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/index.html b/interface/index.html deleted file mode 100644 index 9b5f44644..000000000 --- a/interface/index.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - Interface specifications — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Interface specifications

-

The CADET framework is designed to work on a file format structured into groups and datasets. -This concept may be implemented by different file formats. -At the moment, CADET natively supports HDF5 and XML as file formats. -The choice is not limited to those two formats but can be extended as needed. -In this section the general layout and structure of the file format is described.

- -
- -
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/input_group.html b/interface/input_group.html deleted file mode 100644 index f7964d377..000000000 --- a/interface/input_group.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - - Input Group — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Input Group

-
- -
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/introduction.html b/interface/introduction.html deleted file mode 100644 index bf86a4398..000000000 --- a/interface/introduction.html +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - Introduction — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Introduction

-
-

Global structure

-

The global structure (see Fig. 7) is divided into three parts: input, output, and meta. -Every valid CADET file needs an input group (see Fig. 8) which contains all relevant information for simulating a model. -It does not need an output (see Fig. 10) or meta (see Fig. 7) group, since those are created when results are written. -Whereas the output group is solely used as output and holds the results of the simulation, the meta group is used for input and output. -Details such as file format version and simulator version are read from and written to the meta group.

-

If not explicitly stated otherwise, all datasets are mandatory. -By convention all group names are lowercase, whereas all dataset names are uppercase. -Note that this is just a description of the file format and not a detailed explanation of the meaning of the parameters. -For the latter, please refer to the corresponding sections in the previous chapter.

-
-../_images/file_format_structure.png -
-

Fig. 7 Structure of the groups in the root group of the file format

-
-
-
-../_images/file_format_input.png -
-

Fig. 8 High-level structure of the groups in the input part of the file format

-
-
-
-../_images/file_format_input_model_unit.png -
-

Fig. 9 Structure of the groups in a column unit operation (/input/model group)

-
-
-
-../_images/file_format_output.png -
-

Fig. 10 Structure of the groups in the output part of the file format

-
-
-
-
-

Notation and identifiers

-

Reference volumes are denoted by subscripts:

-
    -
  • \(m_{IV}^{3}\) Interstitial volume

  • -
  • \(m_{MP}^{3}\) Bead mobile phase volume

  • -
  • \(m_{SP}^{3}\) Bead solid phase volume

  • -
-

Common notation and identifiers that are used in the subsequent description are listed in -Table 4.

- - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 4 Common notation and identifiers used in the file format description

Identifier

Meaning

NCOMP

Number of components of a unit operation

NTOTALCOMP

Total number of components in the system (sum of all unit operation components)

NPARTYPE

Number of particles types of a unit operation

NBNDi

Number of bound states of component i of the current particle type

NTOTALBND

Total number of bound states of the current particle type (sum of all bound states of all components)

NSTATES

Maximum of the number of bound states for each component of a particle type

NREACT

Number of reactions (in bulk volume or in the current particle type)

NDOF

Total number of degrees of freedom of the current unit operation model or system of unit operations

NSEC

Number of time integration sections

PARAM_VALUE

Value of a generic unspecified parameter

-
-
-

Ordering of multi dimensional data

-

Some model parameters, especially in certain binding models, require multi dimensional data. -Since CADET only reads one dimensional arrays, the layout of the data has to be specified (i.e., the way how the data is linearized in memory). -The term “xyz-major” means that the index corresponding to xyz changes the slowest.

-

For instance, suppose a model with \(2\) components and \(3\) bound states has a “state-major” dataset. -Then, the requested matrix is stored in memory such that all components are listed for each bound state (i.e., the bound state index changes the slowest and the component index the fastest):

-
comp0bnd0, comp1bnd0, comp0bnd1, comp1bnd1, comp0bnd2, comp1bnd2
-
-
-

This linear array can also be represented as a \(3 \times 2\) matrix in “row-major” storage format:

-
comp0bnd0, comp1bnd0
-comp0bnd1, comp1bnd1
-comp0bnd2, comp1bnd2
-
-
-
-
-

Section dependent model parameters

-

Some model parameters (see Table 5) can be assigned different values for each section. -For example, the velocity a column is operated with could differ in the load, wash, and elution phases. -Section dependency is recognized by specifying the appropriate number of values for the parameters (see Length column in the following tables). -If a parameter depends on both the component and the section, the ordering is section-major.

-

For instance, the Length field of the parameter VELOCITY reads \(1 / NSEC\) which means that it is not recognized as section dependent if only \(1\) value (scalar) is passed. However, if NSEC many values (vector) are present, it will be treated as section dependent.

-

Note that all components of component dependent datasets have to be section dependent (e.g., you cannot have a section dependency on component \(2\) only while the other components are not section dependent).

- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 5 Section dependent datasets in the 1D unit operation models (/input/model/unit_XXX group)

Dataset

Component dependent

Section dependent

COL_DISPERSION

FILM_DIFFUSION

PAR_DIFFUSION

PAR_SURDIFFUSION

VELOCITY

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/meta_group.html b/interface/meta_group.html deleted file mode 100644 index 04f35f921..000000000 --- a/interface/meta_group.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - Meta Group — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Meta Group

-

FILE_FORMAT

-
-

Version of the file format (defaults to 040000 = 4.0.0 if omitted) with two digits per part (Major.Minor.Patch)

- - - - - - -

In/out: In

Type: int

-
-

CADET_VERSION

-
-

Version of the executed \(\texttt{CADET}\) simulator

- - - - - - -

In/out: Out

Type: string

-
-

CADET_COMMIT

-
-

Git commit SHA1 from which the \(\texttt{CADET}\) simulator was built

- - - - - - -

In/out: Out

Type: string

-
-

CADET_BRANCH

-
-

Git branch from which the \(\texttt{CADET}\) simulator was built

- - - - - - -

In/out: Out

Type: string

-
-

TIME_SIM

-
-

Time that the time integration took (excluding any preparations and postprocessing)

-

Unit: \(\mathrm{s}\)

- - - - - - -

In/out: Out

Type: double

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/output_group.html b/interface/output_group.html deleted file mode 100644 index 2782e2a60..000000000 --- a/interface/output_group.html +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - - Output Group — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Output Group

-
-

Group /output

-

LAST_STATE_Y

-
-

Full state vector at the last time point of the time integrator if \(\texttt{WRITE_SOLUTION_LAST}\) in \(\texttt{/input/return}\) is enabled

-

Type: double

-
-

LAST_STATE_YDOT

-
-

Full time derivative state vector at the last time point of the time integrator if \(\texttt{WRITE_SOLUTION_LAST}\) in \(\texttt{/input/return}\) is enabled

-

Type: double

-
-

LAST_STATE_SENSY_XXX

-
-

Full state vector of the XXX th sensitivity system at the last time point of the time integrator if \(\texttt{WRITE_SENS_LAST}\) in \(\texttt{/input/return}\) is enabled

-

Type: double

-
-

LAST_STATE_SENSYDOT_XXX

-
-

Full time derivative state vector of the XXX th sensitivity system at the last time point of the time integrator if \(\texttt{WRITE_SENS_LAST}\) in \(\texttt{/input/return}\) is enabled

-

Type: double

-
-
-
-

Group /output/solution

-

SOLUTION_TIMES

-
-

Time points at which the solution is written if \(\texttt{WRITE_SOLUTION_TIMES}\) in \(\texttt{/input/return}\) is enabled

-

Unit: \(\mathrm{s}\)

-

Type: double

-
-
-
-

Group /output/solution/unit_XXX

-

SOLUTION_BULK

-
-

Interstitial solution as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_PARTICLE

-
-

Mobile phase solution inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)

-

Type: double

-
-

SOLUTION_PARTICLE_PARTYPE_XXX

-
-

Mobile phase solution inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)

-

Type: double

-
-

SOLUTION_SOLID

-
-

Solid phase solution inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

-

Type: double

-
-

SOLUTION_SOLID_PARTYPE_XXX

-
-

Solid phase solution inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

-

Type: double

-
-

SOLUTION_FLUX

-
-

Flux solution as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLUTION_VOLUME

-
-

Volume solution

-

Unit: \(\mathrm{m}^{3}\)

-

Type: double

-
-

SOLUTION_OUTLET

-
-

Tensor of solutions at the unit operation outlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_INLET

-
-

Tensor of solutions at the unit operation inlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_OUTLET_COMP_XXX

-
-

Component XXX of the solution at all outlet ports of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_INLET_COMP_XXX

-
-

Component XXX of the solution at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_OUTLET_PORT_XXX

-
-

All components at outlet port XXX of the solution of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_INLET_PORT_XXX

-
-

All components at inlet port XXX of the solution of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_OUTLET_PORT_XXX_COMP_YYY

-
-

Component YYY at outlet port XXX of the solution of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLUTION_INLET_PORT_XXX_COMP_YYY

-
-

Component YYY at inlet port XXX of the solution of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

-

Type: double

-
-

SOLDOT_BULK

-
-

Interstitial solution time derivative as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_PARTICLE

-
-

Mobile phase solution time derivative inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_PARTICLE_PARTYPE_XXX

-
-

Mobile phase solution time derivative inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_SOLID

-
-

Solid phase solution time derivative inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_SOLID_PARTYPE_XXX

-
-

Solid phase solution time derivative inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_FLUX

-
-

Flux solution time derivative as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-2}\)

-

Type: double

-
-

SOLDOT_VOLUME

-
-

Volume solution time derivative

-

Unit: \(\mathrm{m}^{3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_OUTLET

-
-

Tensor of solution time derivatives at the unit operation outlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_INLET

-
-

Tensor of solution time derivatives at the unit operation inlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_OUTLET_COMP_XXX

-
-

Component XXX of the solution time derivative at all outlet ports of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_INLET_COMP_XXX

-
-

Component XXX of the solution time derivative at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_OUTLET_PORT_XXX

-
-

All components at outlet port XXX of the solution time derivative of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_INLET_PORT_XXX

-
-

All components at inlet port XXX of the solution time derivative of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_OUTLET_PORT_XXX_COMP_YYY

-
-

Component YYY at outlet port XXX of the solution time derivative of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

SOLDOT_INLET_PORT_XXX_COMP_YYY

-
-

Component YYY at inlet port XXX of the solution time derivative of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

-

Type: double

-
-

LAST_STATE_Y

-
-

State vector of this unit at the last time point of the time integrator if \(\texttt{WRITE_SOLUTION_LAST_UNIT}\) in \(\texttt{/input/return/unit_XXX}\) is enabled. -Note that the vector includes the dedicated inlet DOFs at the beginning (length: \(\texttt{NCOMP} \cdot \texttt{NPORT}\)).

-

Type: double

-
-

LAST_STATE_YDOT

-
-

Time derivative state vector of this unit at the last time point of the time integrator if \(\texttt{WRITE_SOLUTION_LAST_UNIT}\) in \(\texttt{/input/return/unit_XXX}\) is enabled. -Note that the vector includes the dedicated inlet DOFs at the beginning (length: \(\texttt{NCOMP} \cdot \texttt{NPORT}\)).

-

Type: double

-
-
-
-

Group /output/sensitivity/param_XXX/unit_YYY

-

SENS_BULK

-
-

Interstitial sensitivity as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_PARTICLE

-
-

Mobile phase sensitivity inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_PARTICLE_PARTYPE_XXX

-
-

Mobile phase sensitivity inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_SOLID

-
-

Solid phase sensitivity inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_SOLID_PARTYPE_XXX

-
-

Solid phase sensitivity inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_FLUX

-
-

Flux sensitivity as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_VOLUME

-
-

Volume sensitivity

-

Unit: \(\mathrm{m}^{3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_OUTLET

-
-

Tensor of sensitivities at the unit operation outlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_INLET

-
-

Tensor of sensitivities at the unit operation inlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_OUTLET_COMP_XXX

-
-

Component XXX of the sensitivity at all outlet ports of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_INLET_COMP_XXX

-
-

Component XXX of the sensitivity at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_OUTLET_PORT_XXX

-
-

All components at outlet port XXX of the sensitivity of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_INLET_PORT_XXX

-
-

All components at inlet port XXX of the sensitivity of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_OUTLET_PORT_XXX_COMP_YYY

-
-

Component YYY at outlet port XXX of the sensitivity of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENS_INLET_PORT_XXX_COMP_YYY

-
-

Component YYY at inlet port XXX of the sensitivity of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_BULK

-
-

Interstitial sensitivity time derivative as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_PARTICLE

-
-

Mobile phase sensitivity time derivative inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_PARTICLE_PARTYPE_XXX

-
-

Mobile phase sensitivity time derivative inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_SOLID

-
-

Solid phase sensitivity time derivative inside the particles as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if just one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_SOLID_PARTYPE_XXX

-
-

Solid phase sensitivity time derivative inside the particles of type XXX as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage. Only present if more than one particle type is defined.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_FLUX

-
-

Flux sensitivity time derivative as \(n_{\text{Time}} \times \texttt{UNITOPORDERING}\) tensor in row-major storage

-

Unit: \(\mathrm{mol}\,\mathrm{m}^{-2}\,\mathrm{s}^{-2}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_VOLUME

-
-

Volume sensitivity time derivative

-

Unit: \(^{3}\,\mathrm{s}\mathrm{m}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_OUTLET

-
-

Tensor of sensitivity time derivatives at the unit operation outlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_INLET

-
-

Tensor of sensitivity time derivatives at the unit operation inlet with components as columns in time-port-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are both disabled. If the unit operation only has a single port, the port-dimension is removed if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_OUTLET_COMP_XXX

-
-

Component XXX of the sensitivity time derivative at all outlet ports of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_INLET_COMP_XXX

-
-

Component XXX of the sensitivity time derivative at all inlet ports of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is enabled and \(\texttt{SPLIT_PORTS_DATA}\) is disabled. If the unit operation only has a single port, a vector (1D array) is returned instead of a matrix if \(\texttt{SINGLE_AS_MULTI_PORT}\) is disabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_OUTLET_PORT_XXX

-
-

All components at outlet port XXX of the sensitivity time derivative of the unit operation as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_INLET_PORT_XXX

-
-

All components at inlet port XXX of the sensitivity time derivative of the unit operation inlet as matrix in time-major storage. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) is disabled and \(\texttt{SPLIT_PORTS_DATA}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_OUTLET_PORT_XXX_COMP_YYY

-
-

Component YYY at outlet port XXX of the sensitivity time derivative of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple outlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-

SENSDOT_INLET_PORT_XXX_COMP_YYY

-
-

Component YYY at inlet port XXX of the sensitivity time derivative of the unit operation. Only present if \(\texttt{SPLIT_COMPONENTS_DATA}\) and \(\texttt{SPLIT_PORTS_DATA}\) are enabled, and the unit operation has multiple inlet ports. If the unit operation only has a single port, the field is created if \(\texttt{SINGLE_AS_MULTI_PORT}\) is enabled.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\,[\mathrm{Param}]^{-1}\)

-

Type: double

-
-
-
-

/output/coordinates/unit_XXX

-

AXIAL_COORDINATES

-
-

Axial coordinates of the bulk discretization nodes

-

Unit: \(\mathrm{m}\)

- - - - - - -

Type: double

Length: \(\texttt{NCOL}\)

-
-

RADIAL_COORDINATES

-
-

Radial coordinates of the bulk discretization nodes (only for 2D unit operations)

-

Unit: \(\mathrm{m}\)

- - - - - - -

Type: double

Length: \(\texttt{NRAD}\)

-
-

PARTICLE_COORDINATES_XXX

-
-

Coordinates of the particle discretization nodes in particles of type XXX

-

Unit: \(\mathrm{m}\)

- - - - - - -

Type: double

Length: \(\texttt{NPAR}\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/reactions.html b/interface/reactions.html deleted file mode 100644 index d28e823b1..000000000 --- a/interface/reactions.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - Reaction models — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Reaction models

-
-

Externally dependent reaction models

-

Some reaction models have a variant that can use external sources as specified /input/model/external/ (also see Section Dependence on external function). -For the sake of brevity, only the standard variant of those reaction models is specified below. -In order to obtain the format for the externally dependent variant, first replace the reaction model name XXX by EXT_XXX. -Each parameter \(p\) (except for stoichiometric and exponent matrices) depends on a (possibly distinct) external source in a polynomial way:

-
-\[\begin{aligned} - p(T) &= p_{\texttt{TTT}} T^3 + p_{\texttt{TT}} T^2 + p_{\texttt{T}} T + p. -\end{aligned}\]
-

Thus, a parameter XXX_YYY of the standard reaction model variant is replaced by the four parameters EXT_XXX_YYY, EXT_XXX_YYY_T, EXT_XXX_YYY_TT, and EXT_XXX_YYY_TTT. -Since each parameter can depend on a different external source, the dataset EXTFUN (not listed in the standard variants below) should contain a vector of 0-based integer indices of the external source of each parameter. -The ordering of the parameters in EXTFUN is given by the ordering in the standard variant. -However, if only one index is passed in EXTFUN, this external source is used for all parameters.

-

Note that parameter sensitivities with respect to column radius, column length, particle core radius, and particle radius may be wrong when using externally dependent reaction models. -This is caused by not taking into account the derivative of the external profile with respect to column position.

-
-
-

Multiple particle types

-

The group that contains the parameters of a reaction model in unit operation with index XXX reads /input/model/unit_XXX/reaction_particle. -This is valid for models with a single particle type. -If a model has multiple particle types, it may have a different reaction model in each type. -The parameters are then placed in the group /input/model/unit_XXX/reaction_particle_YYY instead, where YYY denotes the index of the particle type.

-

Note that, in any case, /input/model/unit_XXX/reaction_particle_000 contains the parameters of the first (and possibly sole) particle type. -This group also takes precedence over a possibly existing /input/model/unit_XXX/adsorption_particle group.

-
-
-

Group /input/model/unit_XXX/reaction - REACTION_MODEL = MASS_ACTION_LAW

-

MAL_KFWD_BULK

-
-

Forward rate constants for bulk volume reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_KBWD_BULK

-
-

Backward rate constants for bulk volume reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_KFWD_LIQUID

-
-

Forward rate constants for particle liquid phase reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_KBWD_LIQUID

-
-

Backward rate constants for particle liquid phase reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_KFWD_SOLID

-
-

Forward rate constants for particle solid phase reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_KBWD_SOLID

-
-

Backward rate constants for particle solid phase reactions (available for external functions)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NREACT}\)

-
-

MAL_STOICHIOMETRY_BULK

-
-

Stoichiometric matrix of bulk volume reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_BULK_FWD

-
-

Forward exponent matrix of bulk volume reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_BULK}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_BULK_BWD

-
-

Backward exponent matrix of bulk volume reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_BULK}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_STOICHIOMETRY_LIQUID

-
-

Stoichiometric matrix of particle liquid phase reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_LIQUID_FWD

-
-

Forward exponent matrix of particle liquid phase reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_LIQUID}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_LIQUID_BWD

-
-

Backward exponent matrix of particle liquid phase reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_LIQUID}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_LIQUID_FWD_MODSOLID

-
-

Forward solid phase modifier exponent matrix of particle liquid phase reactions as \(\texttt{NTOTALBND} \times \texttt{NREACT}\) matrix in row-major storage (optional, defaults to all 0)

- - - - - - -

Type: double

Length: \(\texttt{NTOTALBND} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_LIQUID_BWD_MODSOLID

-
-

Backward solid phase modifier exponent matrix of particle liquid phase reactions as \(\texttt{NTOTALBND} \times \texttt{NREACT}\) matrix in row-major storage (optional, defaults to all 0)

- - - - - - -

Type: double

Length: \(\texttt{NTOTALBND} \cdot \texttt{NREACT}\)

-
-

MAL_STOICHIOMETRY_SOLID

-
-

Stoichiometric matrix of particle solid phase reactions as \(\texttt{NTOTALBND} \times \texttt{NREACT}\) matrix in row-major storage

- - - - - - -

Type: double

Length: \(\texttt{NTOTALBND} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_SOLID_FWD

-
-

Forward exponent matrix of particle solid phase reactions as \(\texttt{NTOTALBND} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_SOLID}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NTOTALBND} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_SOLID_BWD

-
-

Backward exponent matrix of particle solid phase reactions as \(\texttt{NTOTALBND} \times \texttt{NREACT}\) matrix in row-major storage (optional, calculated from \(\texttt{MAL_STOICHIOMETRY_SOLID}\) by default)

- - - - - - -

Type: double

Length: \(\texttt{NTOTALBND} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_SOLID_FWD_MODLIQUID

-
-

Forward liquid phase modifier exponent matrix of particle solid phase reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, defaults to all 0)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-

MAL_EXPONENTS_SOLID_BWD_MODLIQUID

-
-

Backward liquid phase modifier exponent matrix of particle solid phase reactions as \(\texttt{NCOMP} \times \texttt{NREACT}\) matrix in row-major storage (optional, defaults to all 0)

- - - - - - -

Type: double

Length: \(\texttt{NCOMP} \cdot \texttt{NREACT}\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/return_data.html b/interface/return_data.html deleted file mode 100644 index 739ea74e0..000000000 --- a/interface/return_data.html +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - - Return data — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Return data

-
-

Group /input/return

-

WRITE_SOLUTION_TIMES

-
-

Write times at which a solution was produced (optional, defaults to 1)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_LAST

-
-

Write full solution state vector at last time point (optional, defaults to 0)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_LAST

-
-

Write full sensitivity state vectors at last time point (optional, defaults to 0)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

SPLIT_COMPONENTS_DATA

-
-

Determines whether a joint dataset (matrix or tensor) for all components is created or if each component is put in a separate dataset (\(\texttt{XXX_COMP_000}\), \(\texttt{XXX_COMP_001}\), etc.) (optional, defaults to 1)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

SPLIT_PORTS_DATA

-
-

Determines whether a joint dataset (matrix or tensor) for all inlet/outlet ports is created or if each port is put in a separate dataset (\(\texttt{XXX_PORT_000}\), \(\texttt{XXX_PORT_001}\), etc.) (optional, defaults to 1)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

SINGLE_AS_MULTI_PORT

-
-

Determines whether single port unit operations are treated as multi port unit operations in the output naming scheme (i.e., \(\texttt{_PORT_XYZ_}\) is added to the name) (optional, defaults to 0)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-
-
-

Group /input/return/unit_XXX

-

WRITE_COORDINATES

-
-

Write coordinates of discretization nodes

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_INLET

-
-

Write solutions at unit operation inlet \(c^l_i(t,0)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_OUTLET

-
-

Write solutions at unit operation outlet (chromatograms) \(c^l_i(t,L)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_BULK

-
-

Write solutions of the bulk volume \(c^l_i\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_PARTICLE

-
-

Write solutions of the particle mobile phase \(c^p_{j,i}\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_SOLID

-
-

Write solutions of the solid phase \(c^s_{j,i,m_{j,i}}\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_FLUX

-
-

Write solutions of the bead fluxes \(j_{f,i}\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_VOLUME

-
-

Write solutions of the volume V

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_INLET

-
-

Write solution time derivatives at unit operation inlet \(\partial c^l_i(t,0) / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_OUTLET

-
-

Write solution time derivatives at unit operation outlet (chromatograms) \(\partial c^l_i(t,L) / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_BULK

-
-

Write solution time derivatives of the bulk volume \(\partial c^l_i / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_PARTICLE

-
-

Write solution time derivatives of the particle mobile phase \(\partial c^p_{j,i} / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_SOLID

-
-

Write solution time derivatives of the solid phase \(\partial c^s_{j,i,m_{j,i}} / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_FLUX

-
-

Write solution time derivatives of the bead fluxes \(\partial j_{f,i} / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLDOT_VOLUME

-
-

Write solution time derivatives of the volume \(\partial V / \partial t\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_INLET

-
-

Write sensitivities at unit operation inlet \(\partial c^l_i(t,0) / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_OUTLET

-
-

Write sensitivities at unit operation outlet (chromatograms) \(\partial c^l_i(t,L) / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_BULK

-
-

Write sensitivities of the bulk volume \(\partial c^l_i / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_PARTICLE

-
-

Write sensitivities of the particle mobile phase \(\partial c^p_{j,i} / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_SOLID

-
-

Write sensitivities of the solid phase \(\partial c^s_{j,i,m_{j,i}} / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_FLUX

-
-

Write sensitivities of the bead fluxes \(\partial j_{f,i} / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENS_VOLUME

-
-

Write sensitivities of the volume \(\partial V / \partial p\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_INLET

-
-

Write sensitivity time derivatives at unit operation inlet \(\partial^2 c^l_i(t,0) / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_OUTLET

-
-

Write sensitivity time derivatives at unit operation outlet (chromatograms) \(\partial^2 c^l_i(t,L) / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_BULK

-
-

Write sensitivity time derivatives of the bulk volume \(\partial^2 c^l_i / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_PARTICLE

-
-

Write sensitivity time derivatives of the particle mobile phase \(\partial^2 c^p_{j,i} / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_SOLID

-
-

Write sensitivity time derivatives of the solid phase \(\partial^2 c^s_{j,i,m_{j,i}} / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_FLUX

-
-

Write sensitivity time derivatives of the bead fluxes \(\partial^2 j_{f,i} / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SENSDOT_VOLUME

-
-

Write sensitivity time derivatives of the volume \(\partial^2 V / (\partial p, \partial t)\)

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-

WRITE_SOLUTION_LAST_UNIT

-
-

Write solution state vector of this unit at last time point

- - - - - - -

Type: int

Range: \(\{0,1\}\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/sensitivities.html b/interface/sensitivities.html deleted file mode 100644 index 5d61408fe..000000000 --- a/interface/sensitivities.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - Parameter Sensitivities — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Parameter Sensitivities

-
-

Group /input/sensitivity

-

NSENS

-
-

Number of sensitivities to be computed

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

SENS_METHOD

-
-

Method used for computation of sensitivities (algorithmic differentiation)

- - - - - - - -

Type: string

Range: \(\texttt{ad1}\)

Length: 1

-
-
-
-

Group /input/sensitivity/param_XXX

-

SENS_UNIT

-
-

Unit operation index

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\geq 1\)

-
-

SENS_NAME

-
-

Name of the parameter

- - - - - - -

Type: string

Length: \(\geq 1\)

-
-

SENS_COMP

-
-

Component index (\(-1\) if parameter is independent of components)

- - - - - - - -

Type: int

Range: \(\geq -1\)

Length: \(\geq 1\)

-
-

SENS_PARTYPE

-
-

Particle type index (\(-1\) if parameter is independent of particle types)

- - - - - - - -

Type: int

Range: \(\geq -1\)

Length: \(\geq 1\)

-
-

SENS_REACTION

-
-

Reaction index (\(-1\) if parameter is independent of reactions)

- - - - - - - -

Type: int

Range: \(\geq -1\)

Length: \(\geq 1\)

-
-

SENS_BOUNDPHASE

-
-

Bound phase index (\(-1\) if parameter is independent of bound phases)

- - - - - - - -

Type: int

Range: \(\geq -1\)

Length: \(\geq 1\)

-
-

SENS_SECTION

-
-

Section index (\(-1\) if parameter is independent of sections)

- - - - - - - -

Type: int

Range: \(\geq -1\)

Length: \(\geq 1\)

-
-

SENS_ABSTOL

-
-

Absolute tolerance used in the computation of the sensitivities (optional). Rule of thumb: \(\texttt{ABSTOL} / \texttt{PARAM_VALUE}\)

- - - - - - - -

Type: double

Range: \(\geq 0.0\)

Length: \(\geq 1\)

-
-

SENS_FACTOR

-
-

Linear factor of the combined sensitivity (optional, taken as \(1.0\) if left out)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\geq 1\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/solver.html b/interface/solver.html deleted file mode 100644 index 2f672a437..000000000 --- a/interface/solver.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - - Solver Configuration — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Solver Configuration

-
-

Group /input/solver

-

NTHREADS

-
-

Number of used threads

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

USER_SOLUTION_TIMES

-
-

Vector with timepoints at which the solution is evaluated

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: Arbitrary

-
-

CONSISTENT_INIT_MODE

-
-
-

Consistent initialization mode (optional, defaults to \(1\)). Valid values are:

-
-
    -
  1. None

  2. -
  3. Full

  4. -
  5. Once, full

  6. -
  7. Lean

  8. -
  9. Once, lean

  10. -
  11. Full once, then lean

  12. -
  13. None once, then full

  14. -
  15. None once, then lean

  16. -
-
-
- - - - - - -

Type: int

Range: \(\{ 0, \dots, 7\}\)

Length: 1

-
-
-

CONSISTENT_INIT_MODE_SENS

-
-
-

Consistent initialization mode for parameter sensitivities (optional, defaults to \(1\)). Valid values are:

-
-
    -
  1. None

  2. -
  3. Full

  4. -
  5. Once, full

  6. -
  7. Lean

  8. -
  9. Once, lean

  10. -
  11. Full once, then lean

  12. -
  13. None once, then full

  14. -
  15. None once, then lean

  16. -
-
-
- - - - - - -

Type: int

Range: \(\{ 0, \dots, 7\}\)

Length: 1

-
-
-
-
-

Group /solver/time_integrator

-

ABSTOL

-
-

Absolute tolerance in the solution of the original system

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

RELTOL

-
-

Relative tolerance in the solution of the original system

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

ALGTOL

-
-

Tolerance in the solution of the nonlinear consistency equations

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

RELTOL_SENS

-
-

Relative tolerance in the solution of the sensitivity systems

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

INIT_STEP_SIZE

-
-

Initial time integrator step size for each section or one value for all sections (0.0: IDAS default value), see IDAS guide 4.5, p.36f.

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(1 / \texttt{NSEC}\)

-
-

MAX_STEPS

-
-

Maximum number of timesteps taken by IDAS (0: IDAS default = 500), see IDAS guide Sec.~4.5

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

MAX_STEP_SIZE

-
-

Maximum size of timesteps taken by IDAS (optional, defaults to unlimited 0.0), see IDAS guide Sec.~4.5

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

ERRORTEST_SENS

-
-

Determines whether (forward) sensitivities take part in local error test (optional, defaults to 1)

- - - - - - - -

Type: int

Range: \(\{0,1\}\)

Length: 1

-
-

MAX_NEWTON_ITER

-
-

Maximum number of Newton iterations in time step (optional, defaults to 3)

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

MAX_ERRTEST_FAIL

-
-

Maximum number of local error test failures in time step (optional, defaults to 7)

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

MAX_CONVTEST_FAIL

-
-

Maximum number of Newton convergence test failures (optional, defaults to 10)

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

MAX_NEWTON_ITER_SENS

-
-

Maximum number of Newton iterations in forward sensitivity time step (optional, defaults to 3)

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-
-
-

Group /solver/sections

-

NSEC

-
-

Number of sections

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

SECTION_TIMES

-
-

Simulation times at which the model changes or behaves discontinously; including start and end times

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NSEC}+1\)

-
-

SECTION_CONTINUITY

-
-

Continuity indicator for each section transition: 0 (discontinuous) or 1 (continuous).

- - - - - - - -

Type: int

Range: \(\{0,1\}\)

Length: \(\texttt{NSEC}-1\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/system.html b/interface/system.html deleted file mode 100644 index 8bf504cd0..000000000 --- a/interface/system.html +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - System of unit operations — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

System of unit operations

-
-

Group /input/model

-

NUNITS

-
-

Number of unit operations in the system

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

INIT_STATE_Y

-
-

Initial full state vector (optional, unit operation specific initial data is ignored)

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

INIT_STATE_YDOT

-
-

Initial full time derivative state vector (optional, unit operation specific initial data is ignored)

- - - - - - -

Type: double

Length: \(\texttt{NDOF}\)

-
-

INIT_STATE_SENSY_XXX

-
-

Number of unit operations in the system

- - - - - - -

Type: double

Length: \(\texttt{NDOF}\)

-
-

INIT_STATE_SENSYDOT_XXX

-
-

Initial full state vector of the \(\texttt{XXX}\) th sensitivity system (optional, unit operation specific initial data is ignored)

- - - - - - -

Type: double

Length: \(\texttt{NDOF}\)

-
-

NUNITS

-
-

Initial full time derivative state vector of the \(\texttt{XXX}\) th sensitivity system (optional, unit operation specific initial data is ignored)

- - - - - - -

Type: double

Length: \(\texttt{NDOF}\)

-
-
-
-

Group /input/model/connections

-

NSWITCHES

-
-

Number of valve switches

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

CONNECTIONS_INCLUDE_PORTS

-
-

Determines whether the \(\texttt{CONNECTIONS}\) table includes ports (\(1\)) or not (\(0\)). Optional, defaults to 0 unless a unit operation model with multiple ports is present.

- - - - - - - -

Type: int

Range: \(\{ 0,1 \}\)

Length: 1

-
-

CONNECTIONS_INCLUDE_DYNAMIC_FLOW

-
-

Determines whether the \(\texttt{CONNECTIONS}\) table includes linear, quadratic, and cubic flow rate coefficients (1) or not (0). Optional, defaults to 0.

- - - - - - - -

Type: int

Range: \(\{ 0,1 \}\)

Length: 1

-
-
-
-

Group /input/model/connections/switch_XXX

-

SECTION

-
-

Index of the section that activates this connection set

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

CONNECTIONS

-
-
-

Matrix with list of connections in row-major storage. Columns are UnitOpID from, UnitOpID to, Port from, Port to, Component from, Component to, volumetric flow rate, linear flow rate coefficient, quadratic flow rate coefficient, cubic flow rate coefficient. -If both port indices are \(-1\), all ports are connected. -If both component indices are \(-1\), all components are connected.

-

The flow rate is a cubic function of time,

-
-\[Q = Q_0 + Q_1(t - t_s) + Q_2(t-t_s)^2 + Q_3(t-t_s)^3,\]
-

where \(t_s\) is the beginning of the section that activates the switch (i.e., \(\texttt{SECTION_TIMES}\) at index \(\texttt{SECTION}\)).

-

The port indices are left out if \(\texttt{CONNECTIONS_INCLUDE_PORTS}\) is set to \(0\) and no unit operation with multiple ports is present in the system. If a unit operation with multiple ports is present, \(\texttt{CONNECTIONS_INCLUDE_PORTS}\) is ignored and port indices are mandatory.

-

The last three flow rate coefficients are left out if \(\texttt{CONNECTIONS_INCLUDE_DYNAMIC_FLOW}\) is set to \(0\). -Contrary to the constant coefficient, which has the parameter name \(\texttt{CONNECTION}\), the other coefficients are named \(\texttt{CONNECTION_LIN}\), \(\texttt{CONNECTION_QUAD}\), and \(\texttt{CONNECTION_CUB}\), respectively.

-

For addressing the flow rates as a parameter senstivity, the mapping is as follows:

-
-
    -
  • \(\texttt{SENS_UNIT}\) Unused, always set to \(-1\)

  • -
  • \(\texttt{SENS_BOUNDPHASE}\) UnitOpID from

  • -
  • \(\texttt{SENS_REACTION}\) UnitOpID to

  • -
  • \(\texttt{SENS_COMP}\) Port from

  • -
  • \(\texttt{SENS_PARTYPE}\) Port to

  • -
  • \(\texttt{SENS_SECTION}\) \(\texttt{SECTION}\) that activates the valve switch

  • -
-
-
- - - - - - -

Type: double

Range: \(\geq -1\)

Length: \(\{5,7,8,10\} \cdot \texttt{NCONNECTIONS}\)

-
-
-
-
-

Group /input/model/external/source_XXX - EXTFUN_TYPE = LINEAR_INTERP_DATA

-

VELOCITY

-
-

Velocity of the external profile in positive column axial direction. -The velocity is normalized to a column with length 1, hence the unit \(\mathrm{s}^{-1}\).

-

Unit: \(\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

DATA

-
-

Function values \(T\) at the data points

-

Unit: \([\mathrm{Ext}]\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: Arbitrary

-
-
-
TIME

Time of the data points

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0.0\)

Length: Same as \(\texttt{DATA}\)

-
-
-
-
-

Group /input/model/external/source_XXX - EXTFUN_TYPE = PIECEWISE_CUBIC_POLY

-

VELOCITY

-
-

Velocity of the external profile in positive column axial direction. -The velocity is normalized to a column with length 1, hence the unit \(\mathrm{s}^{-1}\).

-

Unit: \(\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

CONST_COEFF

-
-

Constant coefficients of piecewise cubic polynomial

-

Unit: \([\mathrm{Ext}]\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: Arbitrary

-
-

LIN_COEFF

-
-

Linear coefficients of piecewise cubic polynomial

-

Unit: \([\mathrm{Ext}]\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: Same as \(\texttt{CONST_COEFF}\)

-
-

QUAD_COEFF

-
-

Quadratic coefficients of piecewise cubic polynomial

-

Unit: \([\mathrm{Ext}]\,\mathrm{s}^{-2}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: Same as \(\texttt{CONST_COEFF}\)

-
-

CUBE_COEFF

-
-

Cubic coefficients of piecewise cubic polynomial

-

Unit: \([\mathrm{Ext}]\,\mathrm{s}^{-3}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: Same as \(\texttt{CONST_COEFF}\)

-
-

SECTION_TIMES

-
-

Simulation times at which a new piece begins (breaks of the piecewise polynomial)

-

Unit: \(\mathrm{s}\)

- - - - - - - -

Type: double

Range: \(\geq 0.0\)

Length: \(\texttt{CONST_COEFF}+1\)

-
-
-
-

Group /input/model/solver

-

GS_TYPE

-
-

Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of \(0\) enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

MAX_KRYLOV

-
-

Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: \(\texttt{MAX_KRYLOV} = \texttt{NDOF}\))

- - - - - - - -

Type: int

Range: \(\{0, \dots, \texttt{NDOF}\}\)

Length: 1

-
-

MAX_RESTARTS

-
-

Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts.

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

SCHUR_SAFETY

-
-

Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5.

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

LINEAR_SOLUTION_MODE

-
-

Determines whether the system of models is solved in parallel (1) or sequentially (2). A sequential solution is only possible for systems without cyclic connections. The setting can be chosen automatically (0) based on a heuristic (less than 25 unit operations and acyclic network selects sequential mode). Optional, defaults to automatic (0).

- - - - - - - -

Type: int

Range: \(\{ 0,1,2 \}\)

Length: 1

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/2d_general_rate_model.html b/interface/unit_operations/2d_general_rate_model.html deleted file mode 100644 index 9699371c9..000000000 --- a/interface/unit_operations/2d_general_rate_model.html +++ /dev/null @@ -1,845 +0,0 @@ - - - - - - - - Two dimensional general rate model — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Two dimensional general rate model

-
-

Group /input/model/unit_XXX - UNIT_TYPE = GENERAL_RATE_MODEL_2D

-

For information on model equations, refer to Two Dimensional General rate model (GRM2D).

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{GENERAL_RATE_MODEL_2D}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

ADSORPTION_MODEL

-
-

Specifies the type of binding model of each particle type (or of all particle types if length is 1)

- - - - - - - -

Type: string

Range: See Section Binding models

Length: \(1 / \texttt{NPARTYPE}\)

-
-

ADSORPTION_MODEL_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{ADSORPTION_MODEL}\). If set to 0, each particle type has a different binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(\texttt{NPARTYPE}\). If set to 1, all particle types share the same binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is 1. This field is optional and inferred from the length of \(\texttt{ADSORPTION_MODEL}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

REACTION_MODEL_BULK

-
-

Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup \(\texttt{reaction_bulk}\).

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: 1

-
-

REACTION_MODEL_PARTICLES

-
-

Specifies the type of reaction model of each particle type (or of all particle types if length is 1). The model is configured in the subgroup \(\texttt{reaction_particle}\), or \(\texttt{reaction_particle_XXX}\) in case of disabled multiplexing.

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: \(1 / \texttt{NPARTYPE}\)

-
-

REACTION_MODEL_PARTICLES_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{REACTION_MODEL_PARTICLES}\). If set to 0, each particle type has a different reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(\texttt{NPARTYPE}\). If set to 1, all particle types share the same reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is 1. This field is optional and inferred from the length of \(\texttt{REACTION_MODEL_PARTICLES}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

INIT_C

-
-

Initial concentrations for each component in all radial zones the bulk mobile phase (length \(\texttt{NCOMP}\)), or for each component in each radial zone (length \(\texttt{NCOMP} \cdot \texttt{NRAD}\), ordering radial-major)

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP} / \texttt{NCOMP} \cdot \texttt{NRAD}\)

-
-

INIT_CP

-
-

Initial concentrations for each component in the bead liquid phase (optional, \(\texttt{INIT_C}\) is used if left out). The length of this field can be \(\texttt{NCOMP}\) (same values for each radial zone and particle type), \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\) (same values for each radial zone), \(\texttt{RAD} \cdot \texttt{NCOMP}\) (same values for each particle type), or \(\texttt{NRAD} \cdot \texttt{NPARTYPE} \cdot \texttt{NCOMP}\). The ordering is radial-type-major. Values for each particle type can only be given when \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is 0. In the radial-inhomogeneous case, the \(\texttt{SENS_REACTION}\) field is used for indexing the radial zone when specifying parameter sensitivities.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)

- - - - - - -

Type: double

Range: \(\geq 0\)

-
-

INIT_Q

-
-

Initial concentrations for each bound state of each component in the bead solid phase. If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is 0, values for each particle type are required in type-component-major ordering (length is \(\texttt{NTOTALBND}\)). If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is 1, values for one particle type are required in component-major ordering (length is \(\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i\)). Alternatively, values for each radial zone can be supplied. If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is 0, values for each radial zone and each particle type are required in radial-type-component-major ordering (length is \(\texttt{NRAD} \cdot \texttt{NTOTALBND}\)). If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is 1, values for each radial zone and all particle types are required in radial-component-major ordering (length is \(\texttt{NRAD} \cdot \sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i\)). In the radial-inhomogeneous case, the \(\texttt{SENS_REACTION}\) field is used for indexing the radial zone when specifying parameter sensitivities.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

- - - - - - -

Type: double

Range: \(\geq 0\)

-
-

INIT_STATE

-
-

Full state vector for initialization (optional, \(\texttt{INIT_C}\), \(\texttt{INIT_CP}\), and \(\texttt{INIT_Q}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)

-

Unit: \(various\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)

-
-

COL_DISPERSION

-
-

Axial dispersion coefficient. In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the radial zone when specifying parameter sensitivities.

-

Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{COL_DISPERSION_MULTIPLEX}\)

-
-

COL_DISPERSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{COL_DISPERSION}\). Determines whether \(\texttt{COL_DISPERSION}\) is treated as component-, radial-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION}\). Valid modes are:

-
-
    -
  1. Component-independent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is 1

  2. -
  3. Component-independent, radial-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NRAD}\)

  4. -
  5. Component-dependent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)

  6. -
  7. Component-dependent, radial-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NRAD}\); ordering is radial-major

  8. -
  9. Component-independent, radial-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)

  10. -
  11. Component-independent, radial-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NRAD} \cdot \texttt{NSEC}\); ordering is section-major

  12. -
  13. Component-dependent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  14. -
  15. Component-dependent, radial-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NRAD} \cdot \texttt{NSEC}\); ordering is section-radial-major

  16. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 7 \}\)

Length: 1

-
-
-

COL_DISPERSION_RADIAL

-
-

Radial dispersion coefficient. In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the radial zone when specifying parameter sensitivities.

-

Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{COL_DISPERSION_RADIAL_MULTIPLEX}\)

-
-

COL_DISPERSION_RADIAL_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{COL_DISPERSION_RADIAL}\). Determines whether \(\texttt{COL_DISPERSION_RADIAL}\) is treated as component-, radial-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION_RADIAL}\). Valid modes are:

-
-
    -
  1. Component-independent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is 1

  2. -
  3. Component-independent, radial-dependent, section-independent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NRAD}\)

  4. -
  5. Component-dependent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NCOMP}\)

  6. -
  7. Component-dependent, radial-dependent, section-independent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NCOMP} \cdot \texttt{NRAD}\); ordering is radial-major

  8. -
  9. Component-independent, radial-independent, section-dependent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NSEC}\)

  10. -
  11. Component-independent, radial-dependent, section-dependent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NRAD} \cdot \texttt{NSEC}\); ordering is section-major

  12. -
  13. Component-dependent, radial-independent, section-independent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  14. -
  15. Component-dependent, radial-dependent, section-dependent; length of \(\texttt{COL_DISPERSION_RADIAL}\) is \(\texttt{NCOMP} \cdot \texttt{NRAD} \cdot \texttt{NSEC}\); ordering is section-radial-major

  16. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 7 \}\)

Length: 1

-
-
-

COL_LENGTH

-
-

Column length

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

COL_RADIUS

-
-

Column radius

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

COL_POROSITY

-
-

Column porosity, either constant (length is 1) or for each radial zone (length is \(\texttt{NRAD}\)). In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the radial zone when specifying parameter sensitivities.

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: \(1 / \texttt{NRAD}\)

-
-

FILM_DIFFUSION

-
-

Film diffusion coefficients for each component of each particle type

-

Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{FILM_DIFFUSION_MULTIPLEX}\)

-
-

FILM_DIFFUSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{FILM_DIFFUSION}\). Determines whether \(\texttt{FILM_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{FILM_DIFFUSION}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_POROSITY

-
-

Particle porosity of all particle types or for each particle type

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_RADIUS

-
-

Particle radius of all particle types or for each particle type

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_CORERADIUS

-
-

Particle core radius of all particle types or for each particle type (optional, defaults to \(0~m\))

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \([0, \texttt{PAR_RADIUS})\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PORE_ACCESSIBILITY

-
-

Pore accessibility factor of each component in each particle type (optional, defaults to 1). -Note: Should not be used in combination with any binding model!

- - - - - - - -

Type: double

Range: \((0, 1]\)

Length: see \(\texttt{PORE_ACCESSIBILITY_MULTIPLEX}\)

-
-

PORE_ACCESSIBILITY_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{PORE_ACCESSIBILITY}\). Determines whether \(\texttt{PORE_ACCESSIBILITY}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PORE_ACCESSIBILITY}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_DIFFUSION

-
-

Effective particle diffusion coefficients of each component in each particle type

-

Unit: \(\mathrm{m}_{\mathrm{MP}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{PAR_DIFFUSION_MULTIPLEX}\)

-
-

PAR_DIFFUSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{PAR_DIFFUSION}\). Determines whether \(\texttt{PAR_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_DIFFUSION}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_SURFDIFFUSION

-
-

Particle surface diffusion coefficients of each bound state of each component in each particle type (optional, defaults to all \(0~m_{SP}^2 s^{-1}\))

-

Unit: \(\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{PAR_SURFDIFFUSION_MULTIPLEX}\)

-
-

PAR_SURFDIFFUSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{PAR_SURFDIFFUSION}\). Determines whether \(\texttt{PAR_SURFDIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_SURFDIFFUSION}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND}\); ordering is component-major

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND} \cdot \texttt{NSEC}\); ordering is section-component-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND}\); ordering is type-component-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND} \cdot \texttt{NSEC}\); ordering is section-type-component-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

VELOCITY

-
-

Indicates flow direction in each radial zone (forward if value is positive, backward if value is negative), see Section Specification of flow rate / velocity and direction). In case of a spatially inhomogeneous setting, the \(\texttt{SENS_PARTYPE}\) field is used for indexing the radial cell when specifying parameter sensitivities.

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: see \(\texttt{VELOCITY_MULTIPLEX}\)

-
-

VELOCITY_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{VELOCITY}\). Determines whether \(\texttt{VELOCITY}\) is treated as radial- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{VELOCITY}\). Valid modes are:

-
-
    -
  1. Radial-independent, section-independent; length of \(\texttt{VELOCITY}\) is 1

  2. -
  3. Radial-dependent, section-independent; length of \(\texttt{VELOCITY}\) is \(\texttt{NRAD}\)

  4. -
  5. Section-dependent; length of \(\texttt{VELOCITY}\) is \(\texttt{NSEC}\)

  6. -
  7. Radial-dependent, section-dependent; length of \(\texttt{VELOCITY}\) is \(\texttt{NRAD} \cdot \texttt{NSEC}\); ordering is section-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_TYPE_VOLFRAC

-
-

Volume fractions of the particle types. The volume fractions can be set homogeneous or individually along both axes. For each cell, the volume fractions have to sum to 1. In case of a spatially inhomogeneous setting, the \(\texttt{SENS_SECTION}\) field is used for indexing the axial cell and the \(\texttt{SENS_REACTION}\) field is used for indexing the radial cell when specifying parameter sensitivities. This field is optional in case of only one particle type.

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: see \(\texttt{PAR_TYPE_VOLFRAC_MULTIPLEX}\)

-
-

PAR_TYPE_VOLFRAC_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{PAR_TYPE_VOLFRAC}\). Determines whether \(\texttt{PAR_TYPE_VOLFRAC}\) is treated as radial- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_TYPE_VOLFRAC}\). Valid modes are:

-
-
    -
  1. Radial-independent, axial-independent; length of \(\texttt{PAR_TYPE_VOLFRAC}\) is \(\texttt{NPARTYPE}\)

  2. -
  3. Radial-dependent, axial-independent; length of \(\texttt{PAR_TYPE_VOLFRAC}\) is \(\texttt{NRAD} \cdot \texttt{NPARTYPE}\); ordering is radial-major

  4. -
  5. Axial-dependent; length of \(\texttt{PAR_TYPE_VOLFRAC}\) is \(\texttt{NCOL} \cdot \texttt{NPARTYPE}\); ordering is axial-major

  6. -
  7. Radial-dependent, axial-dependent; length of \(\texttt{PAR_TYPE_VOLFRAC}\) is \(\texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NPARTYPE}\); ordering is axial-radial-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-
-
-

Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL_2D

-

NCOL

-
-

Number of axial column discretization cells

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NRAD

-
-

Number of radial column discretization cells

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NPARTYPE

-
-

Number of particle types. Optional, inferred from the length of \(\texttt{NPAR}\) or \(\texttt{NBOUND}\) if left out.

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NPAR

-
-

Number of particle (radial) discretization cells for each particle type

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

NBOUND

-
-

Number of bound states for each component in each particle type in type-major ordering

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-

PAR_GEOM

-
-

Specifies the particle geometry for all or each particle type. Valid values are \(\texttt{SPHERE}\), \(\texttt{CYLINDER}\), \(\texttt{SLAB}\). Optional, defaults to \(\texttt{SPHERE}\).

- - - - - - -

Type: string

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-

RADIAL_DISC_TYPE

-
-

Specifies the radial discretization scheme. Valid values are \(\texttt{EQUIDISTANT}\), \(\texttt{EQUIVOLUME}\), and \(\texttt{USER_DEFINED}\).

- - - - - - -

Type: string

Length: 1

-
-

RADIAL_COMPARTMENTS

-
-

Coordinates for the radial compartment boundaries (ignored if \(\texttt{RADIAL_DISC_TYPE} \neq \texttt{USER_DEFINED}\)). The coordinates are absolute and have to include the endpoints 0 and \(\texttt{COLUMN_RADIUS}\). The values are expected in ascending order (i.e., 0 is the first and \(\texttt{COLUMN_RADIUS}\) the last value in the array).

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \([0,\texttt{COLUMN_RADIUS}]\)

Length: \(\texttt{NRAD} + 1\)

-
-

PAR_DISC_TYPE

-
-

Specifies the discretization scheme inside the particles for all or each particle type. Valid values are \(\texttt{EQUIDISTANT_PAR}\), \(\texttt{EQUIVOLUME_PAR}\), and \(\texttt{USER_DEFINED_PAR}\).

- - - - - - -

Type: string

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_DISC_VECTOR

-
-

Node coordinates for the cell boundaries (ignored if \(\texttt{PAR_DISC_TYPE} \neq \texttt{USER_DEFINED_PAR}\)). The coordinates are relative and have to include the endpoints 0 and 1. They are later linearly mapped to the true radial range \([r_{c,j}, r_{p,j}]\). The coordinates for each particle type are appended to one long vector in type-major ordering.

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: \(sum_i (\texttt{NPAR}_i + 1)\)

-
-

PAR_BOUNDARY_ORDER

-
-

Order of accuracy of outer particle boundary condition. Optional, defaults to 2.

- - - - - - - -

Type: int

Range: \(\{ 1,2 \}\)

Length: 1

-
-

USE_ANALYTIC_JACOBIAN

-
-

Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0)

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

LINEAR_SOLVER_BULK

-
-
-

Linear solver used for the sparse column bulk block. This field is optional, the best available method is selected (i.e., sparse direct solver if possible). Valid values are:

-
-
    -
  • \(\texttt{DENSE}\) Converts the sparse matrix into a banded matrix and uses regular LAPACK. Slow and memory intensive, but always available.

  • -
  • \(\texttt{UMFPACK}\) Uses the UMFPACK sparse direct solver (LU decomposition) from SuiteSparse. Fast, but has to be enabled when compiling and requires UMFPACK library.

  • -
  • \(\texttt{SUPERLU}\) Uses the SuperLU sparse direct solver (LU decomposition). Fast, but has to be enabled when compiling and requires SuperLU library.

  • -
-
-
- - - - - - -

Type: string

Range: \(\{\texttt{DENSE},\texttt{UMFPACK},\texttt{SUPERLU}\}\)

Length: 1

-
-
-

RECONSTRUCTION

-
-

Type of reconstruction method for fluxes

- - - - - - - -

Type: string

Range: \(\texttt{WENO}\)

Length: 1

-
-

GS_TYPE

-
-

Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of 0 enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

MAX_KRYLOV

-
-

Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: \(\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}\))

- - - - - - - -

Type: int

Range: \(\{0, \dots, \texttt{NCOL} \cdot \texttt{NRAD} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}\)

Length: 1

-
-

MAX_RESTARTS

-
-

Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts.

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

SCHUR_SAFETY

-
-

Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5.

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

For further discretization parameters, see also Flux reconstruction methods, and Nonlinear solver for consistent initialization.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/cstr.html b/interface/unit_operations/cstr.html deleted file mode 100644 index 36416f0dd..000000000 --- a/interface/unit_operations/cstr.html +++ /dev/null @@ -1,307 +0,0 @@ - - - - - - - - Continuous stirred tank reactor model — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Continuous stirred tank reactor model

-
-

Group /input/model/unit_XXX - UNIT_TYPE = CSTR

-

For information on model equations, refer to Continuous stirred tank reactor model (CSTR).

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{CSTR}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NBOUND

-
-

Number of bound states for each component in each particle type in type-major ordering (optional, defaults to all 0)

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-

USE_ANALYTIC_JACOBIAN

-
-

Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0)

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

ADSORPTION_MODEL

-
-

Specifies the type of binding model of each particle type

- - - - - - - -

Type: string

Range: See Section Binding models

Length: \(\texttt{NPARTYPE}\)

-
-

REACTION_MODEL

-
-

Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup \(\texttt{reaction_bulk}\).

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: 1

-
-

REACTION_MODEL_PARTICLES

-
-

Specifies the type of reaction model of each particle type (or of all particle types if length is 1). The model is configured in the subgroup \(\texttt{reaction_particle}\), or \(\texttt{reaction_particle_XXX}\) in case of disabled multiplexing.

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: \(1 / \texttt{NPARTYPE}\)

-
-

REACTION_MODEL_PARTICLES_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{REACTION_MODEL_PARTICLES}\). If set to 0, each particle type has a different reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(\texttt{NPARTYPE}\). If set to 1, all particle types share the same reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is 1. This field is optional and inferred from the length of \(\texttt{REACTION_MODEL_PARTICLES}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

INIT_C

-
-

Initial concentrations for each component in the mobile phase

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\)

-
-

INIT_VOLUME

-
-

Initial tank volume

-

Unit: \(\mathrm{m}^{3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

INIT_Q

-
-

Initial concentrations for each bound state of each component in the bead solid phase of each particle type in type-component-major ordering. This field is optional and defaults to all 0.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NTOTALBND}\)

-
-

INIT_STATE

-
-

Full state vector for initialization (optional, \(\texttt{INIT_C}\), \(\texttt{INIT_Q}\), and \(\texttt{INIT_VOLUME}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)

-

Unit: \(various\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)

-
-

POROSITY

-
-

Porosity \(\varepsilon\) (defaults to 1)

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: 1

-
-

FLOWRATE_FILTER

-
-

Flow rate of pure liquid without components (optional, defaults to \(\mathrm{m}^{3}\,\mathrm{s}^{-1}\))

-

Unit: \(\mathrm{m}^{3}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(1 / \texttt{NSEC}\)

-
-

PAR_TYPE_VOLFRAC

-
-

Volume fractions of the particle types, have to sum to 1

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: \(\texttt{NPARTYPE}\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/general_rate_model.html b/interface/unit_operations/general_rate_model.html deleted file mode 100644 index ff1a78ae2..000000000 --- a/interface/unit_operations/general_rate_model.html +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - - - General Rate Model — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

General Rate Model

-
-

Group /input/model/unit_XXX - UNIT_TYPE - GENERAL_RATE_MODEL

-

For information on model equations, refer to General rate model (GRM).

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{GENERAL_RATE_MODEL}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

ADSORPTION_MODEL

-
-

Specifies the type of binding model of each particle type (or of all particle types if length is \(1\))

- - - - - - - -

Type: string

Range: Binding models

Length: \(1 / \texttt{NPARTYPE}\)

-
-

ADSORPTION_MODEL_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{ADSORPTION_MODEL}\). If set to \(0\), each particle type has a different binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(1\). This field is optional and inferred from the length of \(\texttt{ADSORPTION_MODEL}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

REACTION_MODEL_BULK

-
-

Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup \(\texttt{reaction_bulk}\).

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: 1

-
-

REACTION_MODEL_PARTICLES

-
-

Specifies the type of reaction model of each particle type (or of all particle types if length is \(1\)). The model is configured in the subgroup \(\texttt{reaction_particle}\), or \(\texttt{reaction_particle_XXX}\) in case of disabled multiplexing.

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: \(1 / \texttt{NPARTYPE}\)

-
-

REACTION_MODEL_PARTICLES_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{REACTION_MODEL_PARTICLES}\). If set to \(0\), each particle type has a different reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(1\). This field is optional and inferred from the length of \(\texttt{REACTION_MODEL_PARTICLES}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

INIT_C

-
-

Initial concentrations for each component in the bulk mobile phase

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\)

-
-

INIT_CP

-
-

Initial concentrations for each component in the bead liquid phase (optional, \(\texttt{INIT_C}\) is used if left out). The length of this field can be \(\texttt{NCOMP}\) (same values for each particle type) or \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\) Values for each particle type can only be given when \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\). The ordering is type-major.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-

INIT_Q

-
-

Initial concentrations for each bound state of each component in the bead solid phase. If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\), values for each particle type are required in type-component-major ordering (length is \(\texttt{NTOTALBND}\)). If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(1\), values for one particle type are required in component-major ordering (length is \(\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i\)).

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

- - - - - - -

Type: double

Range: \(\geq 0\)

-
-

INIT_STATE

-
-

Full state vector for initialization (optional, \(\texttt{INIT_C}\), \(\texttt{INIT_CP}\), and \(\texttt{INIT_Q}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)

-

Unit: \(various\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)

-
-

COL_DISPERSION

-
-

Axial dispersion coefficient

-

Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{COL_DISPERSION_MULTIPLEX}\)

-
-

COL_DISPERSION_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{COL_DISPERSION}\). Determines whether \(\texttt{COL_DISPERSION}\) is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION}\). Valid modes are:

-
    -
  1. Component-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(1\)

  2. -
  3. Component-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)

  4. -
  5. Component-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)

  6. -
  7. Component-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  8. -
- - - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-

COL_LENGTH

-
-

Column length

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

COL_POROSITY

-
-

Column porosity

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: 1

-
-

FILM_DIFFUSION

-
-

Film diffusion coefficients for each component of each particle type

-

Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{FILM_DIFFUSION_MULTIPLEX}\)

-
-

FILM_DIFFUSION_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{FILM_DIFFUSION}\). Determines whether \(\texttt{FILM_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{FILM_DIFFUSION}\). Valid modes are:

-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
- - - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-

PAR_POROSITY

-
-

Particle porosity of all particle types or for each particle type

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_RADIUS

-
-

Particle radius of all particle types or for each particle type

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_CORERADIUS

-
-

Particle core radius of all particle types or for each particle type (optional, defaults to \(\mathrm{m}\))

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \([0, \texttt{PAR_RADIUS})\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PORE_ACCESSIBILITY

-
-

Pore accessibility factor of each component in each particle type (optional, defaults to \(1\)). -Note: Should not be used in combination with any binding model!

- - - - - - - -

Type: double

Range: \((0, 1]\)

Length: see \(\texttt{PORE_ACCESSIBILITY_MULTIPLEX}\)

-
-

PORE_ACCESSIBILITY_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{PORE_ACCESSIBILITY}\). Determines whether \(\texttt{PORE_ACCESSIBILITY}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PORE_ACCESSIBILITY}\). Valid modes are: -0. Component-dependent, type-independent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP}\) -1. Component-dependent, type-independent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major -2. Component-dependent, type-dependent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major -3. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

- - - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-

PAR_DIFFUSION

-
-

Effective particle diffusion coefficients of each component in each particle type

-

Unit: \(\mathrm{m}_{\mathrm{MP}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{PAR_DIFFUSION_MULTIPLEX}\)

-
-

PAR_DIFFUSION_MULTIPLEX

-
-

Multiplexing mode of \(\texttt{PAR_DIFFUSION}\). Determines whether \(\texttt{PAR_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_DIFFUSION}\). Valid modes are:

-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
- - - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-

PAR_SURFDIFFUSION

-
-

Particle surface diffusion coefficients of each bound state of each component in each particle type (optional, defaults to all 0 \(\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}\))

-

Unit: \(\mathrm{m}_{\mathrm{SP}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{PAR_SURFDIFFUSION_MULTIPLEX}\)

-
-
-
PAR_SURFDIFFUSION_MULTIPLEX

Multiplexing mode of \(\texttt{PAR_SURFDIFFUSION}\). Determines whether \(\texttt{PAR_SURFDIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PAR_SURFDIFFUSION}\). Valid modes are:

-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND}\); ordering is component-major

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NBND} \cdot \texttt{NSEC}\); ordering is section-component-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND}\); ordering is type-component-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PAR_SURFDIFFUSION}\) is \(\texttt{NTOTALBND} \cdot \texttt{NSEC}\); ordering is section-type-component-major

  8. -
-
-
PAR_SURFDIFFUSION_MULTIPLEX
- - - - - - -

Type: int

Range: \(\{ 0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_SURFDIFFUSION_DEP

-
-

Parameter dependence of \(\texttt{PAR_SURFDIFFUSION}\). Valid dependencies are:

-
    -
  • \(\texttt{NONE}\) Original parameter is used unmodified.

  • -
  • \(\texttt{LIQUID_SALT_EXPONENTIAL}\) Original parameter is modified by exponential law of liquid phase salt concentration.

  • -
  • \(\texttt{LIQUID_SALT_POWER}\) Original parameter is modified by power law of liquid phase salt concentration.

  • -
  • \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\) Original parameter is modified by colloidal binding affinity based on liquid phase salt concentration.

  • -
-

Optional: If left out, no parameter dependence is assumed and the original surface diffusion coefficients are used unmodified.

- - - - - - -

Type: string

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_SURFDIFFUSION_EXPFACTOR

-
-

Factor \(\texttt{p1}\) in exponential law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient. Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_EXPONENTIAL}\).

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_EXPARGMULT

-
-

Factor \(\texttt{p2}\) in exponential law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} exp \left(p_{2, i, m} c_{0}^{p} \right)\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient. Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_EXPONENTIAL}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_POWFACTOR

-
-

Factor \(\texttt{p1}\) in power law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient. Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_POWER}\).

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_POWEXP

-
-

Fjactor \(\texttt{p2}\) in power law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} p_{1, i, m} \left( c_{0}^{p} \right)^{p_{2, i, m}}\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient. Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_POWER}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_LOGKEQFACTOR

-
-

Factor \(\texttt{p1}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_LOGKEQEXP

-
-

Factor \(\texttt{p2}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_LOGKEQCONST

-
-

Factor \(\texttt{p3}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_POWFACTOR

-
-

Factor \(\texttt{p4}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_POWEXP

-
-

Factor \(\texttt{p5}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-

PAR_SURFDIFFUSION_EXPFACTOR -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

PAR_SURFDIFFUSION_POWEXP

-
-

Factor \(\texttt{p5}\) in colloidal affinity law particle surface diffusion relation -\(D_{s, i, m} = \tilde{D}_{s, i, m} \left[ p_{4, i, m} \left( k_{i, m} \left( c_{0}^{p} \right) \right)^{p_{5, i, m}} p_{6, i, m} exp \left( p_{7, i, m} k_{i, m} \left( c_{0}^{p} \right) \right) \right]\) -where \(\tilde{D}_{s, i, m}\) is the original surface diffusion coefficient and -\(k_{i, m} \left( c_{0}^{p} \right) = p_{1, i, m}\left( c_{0}^{p} \right)^{p_{2, i, m}} + p_{3, i, m}\). -Only required if \(\texttt{PAR_SURFDIFFUSION_DEP}\) is \(\texttt{LIQUID_SALT_COLLOIDAL_AFFINITY}\).

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NBOUND}\)

-
-

VELOCITY

-
-

Interstitial velocity of the mobile phase (optional if \(\texttt{CROSS_SECTION_AREA}\) is present, see Section Specification of flow rate / velocity and direction) -Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(1 / \texttt{NSEC}\)

-
-

CROSS_SECTION_AREA

-
-

Cross section area of the column (optional if \(\texttt{VELOCITY}\) is present, see Section Specification of flow rate / velocity and direction) -Unit: \(\mathrm{m}^{2}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: 1

-
-

PAR_TYPE_VOLFRAC

-
-

Volume fractions of the particle types. The volume fractions can be set for all axial cells together or for each individual axial cell. For each cell, the volume fractions have to sum to \(1\). In case of a spatially inhomogeneous setting, the data is expected in cell-major ordering and the \(\texttt{SENS_SECTION}\) field is used for indexing the axial cell when specifying parameter sensitivities. This field is optional in case of only one particle type.

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: \(\texttt{NPARTYPE} / \texttt{NCOL} \cdot \texttt{NPARTYPE}\)

-
-
-
-

Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL

-

NCOL

-
-

Number of axial column discretization cells

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NPARTYPE

-
-

Number of particle types. Optional, inferred from the length of \(\texttt{NPAR}\) or \(\texttt{NBOUND}\) if left out.

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NPAR

-
-

Number of particle (radial) discretization cells for each particle type

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-

NBOUND

-
-

Number of bound states for each component in each particle type in type-major ordering

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\) / \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-

PAR_GEOM

-
-

Specifies the particle geometry for all or each particle type. Valid values are \(\texttt{SPHERE}\), \(\texttt{CYLINDER}\), \(\texttt{SLAB}\). Optional, defaults to \(\texttt{SPHERE}\).

- - - - - - -

Type: string

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-

PAR_DISC_TYPE

-
-

Specifies the discretization scheme inside the particles for all or each particle type. Valid values are \(\texttt{EQUIDISTANT_PAR}\), \(\texttt{EQUIVOLUME_PAR}\), and \(\texttt{USER_DEFINED_PAR}\).

- - - - - - -

Type: string

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-

PAR_DISC_VECTOR

-
-

Node coordinates for the cell boundaries (ignored if \(\texttt{PAR_DISC_TYPE} \neq \texttt{USER_DEFINED_PAR}\)). The coordinates are relative and have to include the endpoints \(0\) and \(1\). They are later linearly mapped to the true radial range \([r_{c,j}, r_{p,j}]\). The coordinates for each particle type are appended to one long vector in type-major ordering.

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: \(\sum_i (\texttt{NPAR}_i + 1)\)

-
-

PAR_BOUNDARY_ORDER

-
-

Order of accuracy of outer particle boundary condition. Optional, defaults to \(2\).

- - - - - - - -

Type: int

Range: \(\{ 1,2 \}\)

Length: 1

-
-

USE_ANALYTIC_JACOBIAN

-
-

Determines whether analytically computed Jacobian matrix (faster) is used (value is \(1\)) instead of Jacobians generated by algorithmic differentiation (slower, value is \(0\))

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

RECONSTRUCTION

-
-

Type of reconstruction method for fluxes

- - - - - - - -

Type: string

Range: \(\texttt{WENO}\)

Length: 1

-
-

GS_TYPE

-
-

Type of Gram-Schmidt orthogonalization, see IDAS guide Section 4.5.7.3, p. 41f. A value of \(0\) enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

MAX_KRYLOV

-
-

Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: \(\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}\))

- - - - - - - -

Type: int

Range: \(\{0, \dots, \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}\)

Length: 1

-
-

MAX_RESTARTS

-
-

Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts.

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

SCHUR_SAFETY

-
-

Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5.

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

FIX_ZERO_SURFACE_DIFFUSION

-
-

Determines whether the surface diffusion parameters \(\texttt{PAR_SURFDIFFUSION}\) are fixed if the parameters are zero. If the parameters are fixed to zero (\(\texttt{FIX_ZERO_SURFACE_DIFFUSION} = 1\), \(\texttt{PAR_SURFDIFFUSION} = 0\)), the parameters must not become non-zero during this or subsequent simulation runs. The internal data structures are optimized for a more efficient simulation. This field is optional and defaults to \(0\) (optimization disabled in favor of flexibility).

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

For further discretization parameters, see also Flux reconstruction methods, and Nonlinear solver for consistent initialization.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/index.html b/interface/unit_operations/index.html deleted file mode 100644 index b82cac4e2..000000000 --- a/interface/unit_operations/index.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - Unit Operations — CADET - - - - - - - - - - - - - - - - - - - -
- - - -
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/inlet.html b/interface/unit_operations/inlet.html deleted file mode 100644 index 37a710375..000000000 --- a/interface/unit_operations/inlet.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - Inlet — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Inlet

-
-

Group /input/model/unit_XXX - UNIT-TYPE = INLET

-

For information on model equations, refer to Inlet.

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{INLET}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

INLET_TYPE

-
-

Specifies the type of inlet profile

- - - - - - - -

Type: string

Range: \(\texttt{PIECEWISE_CUBIC_POLY}\)

Length: 1

-
-
-
-

Group /input/model/unit_XXX/sec_XXX

-

CONST_COEFF

-
-

Constant coefficients for inlet concentrations

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NCOMP}\)

-
-

LIN_COEFF

-
-

Linear coefficients for inlet concentrations

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NCOMP}\)

-
-

QUAD_COEFF

-
-

Quadratic coefficients for inlet concentrations

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-2}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NCOMP}\)

-
-

CUBE_COEFF

-
-

Cubic coefficients for inlet concentrations

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\,\mathrm{s}^{-3}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NCOMP}\)

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/lumped_rate_model_with_pores.html b/interface/unit_operations/lumped_rate_model_with_pores.html deleted file mode 100644 index bef1cec4e..000000000 --- a/interface/unit_operations/lumped_rate_model_with_pores.html +++ /dev/null @@ -1,545 +0,0 @@ - - - - - - - - Lumped rate model with pores — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Lumped rate model with pores

-
-

Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES

-

For information on model equations, refer to Lumped rate model with pores (LRMP).

-
-
UNIT_TYPE

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{LUMPED_RATE_MODEL_WITH_PORES}\)

Length: 1

-
-
NCOMP

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-
ADSORPTION_MODEL

Specifies the type of binding model of each particle type (or of all particle types if length is \(1\))

- - - - - - - -

Type: string

Range: See Section Binding models

Length: \(1 / \texttt{NPARTYPE}\)

-
-
ADSORPTION_MODEL_MULTIPLEX

Multiplexing mode of \(\texttt{ADSORPTION_MODEL}\). If set to \(0\), each particle type has a different binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same binding model and the length of \(\texttt{ADSORPTION_MODEL}\) is \(1\). This field is optional and inferred from the length of \(\texttt{ADSORPTION_MODEL}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-
REACTION_MODEL_BULK

Specifies the type of reaction model of the bulk volume. The model is configured in the subgroup \(\texttt{reaction_bulk}\).

- - - - - - - -

Type: string

Range: See Reaction models

Length: 1

-
-
REACTION_MODEL_PARTICLES

Specifies the type of reaction model of each particle type (or of all particle types if length is \(1\)). The model is configured in the subgroup \(\texttt{reaction_particle}\), or \(\texttt{reaction_particle_XXX}\) in case of disabled multiplexing.

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-
REACTION_MODEL_PARTICLES_MULTIPLEX

Multiplexing mode of \(\texttt{REACTION_MODEL_PARTICLES}\). If set to \(0\), each particle type has a different reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(\texttt{NPARTYPE}\). If set to \(1\), all particle types share the same reaction model and the length of \(\texttt{REACTION_MODEL_PARTICLES}\) is \(1\). This field is optional and inferred from the length of \(\texttt{REACTION_MODEL_PARTICLES}\) if left out.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-
INIT_C

Initial concentrations for each component in the bulk mobile phase

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\)

-
-
INIT_CP

Initial concentrations for each component in the bead liquid phase (optional, \(\texttt{INIT_C}\) is used if left out). The length of this field can be \(\texttt{NCOMP}\) (same values for each particle type) or \(\texttt{NPARTYPE} \cdot \texttt{NCOMP}\) Values for each particle type can only be given when \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\). The ordering is type-major.

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{MP}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-
INIT_Q

Initial concentrations for each bound state of each component in the bead solid phase. If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(0\), values for each particle type are required in type-component-major ordering (length is \(\texttt{NTOTALBND}\)). If \(\texttt{ADSORPTION_MODEL_MULTIPLEX}\) is \(1\), values for one particle type are required in component-major ordering (length is \(\sum_{i = 0}^{\texttt{NCOMP} - 1} \texttt{NBND}_i\)).

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

- - - - - - -

Type: double

Range: \(\geq 0\)

-
-
INIT_STATE

Full state vector for initialization (optional, \(\texttt{INIT_C}\), \(\texttt{INIT_CP}\), and \(\texttt{INIT_Q}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)

-

Unit: \(various\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)

-
-
COL_DISPERSION

Axial dispersion coefficient

-

Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{COL_DISPERSION_MULTIPLEX}\)

-
-
COL_DISPERSION_MULTIPLEX
-

Multiplexing mode of \(\texttt{COL_DISPERSION}\). Determines whether \(\texttt{COL_DISPERSION}\) is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION}\). Valid modes are:

-
-
    -
  1. Component-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(1\)

  2. -
  3. Component-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)

  4. -
  5. Component-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)

  6. -
  7. Component-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-
COL_LENGTH

Column length

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-
-

COL_POROSITY

-
-

Column porosity

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: 1

-
-

FILM_DIFFUSION

-
-

Film diffusion coefficients for each component of each particle type

-

Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{FILM_DIFFUSION_MULTIPLEX}\)

-
-

FILM_DIFFUSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{FILM_DIFFUSION}\). Determines whether \(\texttt{FILM_DIFFUSION}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{FILM_DIFFUSION}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{FILM_DIFFUSION}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

PAR_POROSITY

-
-

Particle porosity of all particle types or for each particle type

- - - - - - - -

Type: double

Range: \((0,1]\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PAR_RADIUS

-
-

Particle radius of all particle types or for each particle type

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: \(1 / \texttt{NPARTYPE}\)

-
-

PORE_ACCESSIBILITY

-
-

Pore accessibility factor of each component in each particle type (optional, defaults to \(1\)). -Note: Should not be used in combination with any binding model!

- - - - - - - -

Type: double

Range: \((0, 1]\)

Length: see \(\texttt{PORE_ACCESSIBILITY_MULTIPLEX}\)

-
-
-
PORE_ACCESSIBILITY_MULTIPLEX
-

Multiplexing mode of \(\texttt{PORE_ACCESSIBILITY}\). Determines whether \(\texttt{PORE_ACCESSIBILITY}\) is treated as component-, type-, and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{PORE_ACCESSIBILITY}\). Valid modes are:

-
-
    -
  1. Component-dependent, type-independent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP}\)

  2. -
  3. Component-dependent, type-independent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  4. -
  5. Component-dependent, type-dependent, section-independent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE}\); ordering is type-major

  6. -
  7. Component-dependent, type-dependent, section-dependent; length of \(\texttt{PORE_ACCESSIBILITY}\) is \(\texttt{NCOMP} \cdot \texttt{NPARTYPE} \cdot \texttt{NSEC}\); ordering is section-type-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-
VELOCITY

Interstitial velocity of the mobile phase (optional if \(\texttt{CROSS_SECTION_AREA}\) is present, see Section Specification of flow rate / velocity and direction)

-

Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(1 / \texttt{NSEC}\)

-
-
-

CROSS_SECTION_AREA

-
-

Cross section area of the column (optional if \(\texttt{VELOCITY}\) is present, see Section Specification of flow rate / velocity and direction)

-

Unit: \(\mathrm{m}^{2}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: 1

-
-

PAR_TYPE_VOLFRAC

-
-

Volume fractions of the particle types. The volume fractions can be set for all axial cells together or for each individual axial cell. For each cell, the volume fractions have to sum to \(1\). In case of a spatially inhomogeneous setting, the data is expected in cell-major ordering and the \(\texttt{SENS_SECTION}\) field is used for indexing the axial cell when specifying parameter sensitivities. This field is optional in case of only one particle type.

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: \(\texttt{NPARTYPE}\) / \(\texttt{NCOL} \cdot \texttt{NPARTYPE}\)

-
-
-
-

Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES

-

NCOL

-
-

Number of axial column discretization cells

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NPARTYPE

-
-

Number of particle types. Optional, inferred from the length of \(\texttt{NBOUND}\) if left out.

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NBOUND

-
-

Number of bound states for each component in each particle type in type-major ordering

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\texttt{NCOMP} / \texttt{NPARTYPE} \cdot \texttt{NCOMP}\)

-
-

PAR_GEOM

-
-

Specifies the particle geometry for all or each particle type. Valid values are \(\texttt{SPHERE}\), \(\texttt{CYLINDER}\), \(\texttt{SLAB}\). Optional, defaults to \(\texttt{SPHERE}\).

- - - - - - -

Type: string

Length: \(1\) / \(\texttt{NPARTYPE}\)

-
-

USE_ANALYTIC_JACOBIAN

-
-

Determines whether analytically computed Jacobian matrix (faster) is used (value is \(1\)) instead of Jacobians generated by algorithmic differentiation (slower, value is \(0\))

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

RECONSTRUCTION

-
-

Type of reconstruction method for fluxes

- - - - - - - -

Type: string

Range: \(\texttt{WENO}\)

Length: 1

-
-

GS_TYPE

-
-

Type of Gram-Schmidt orthogonalization, see IDAS guide Section~4.5.7.3, p.~41f. A value of \(0\) enables classical Gram-Schmidt, a value of 1 uses modified Gram-Schmidt.

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

MAX_KRYLOV

-
-

Defines the size of the Krylov subspace in the iterative linear GMRES solver (0: \(\texttt{MAX_KRYLOV} = \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE}\))

- - - - - - - -

Type: int

Range: \(\{0, \dots, \texttt{NCOL} \cdot \texttt{NCOMP} \cdot \texttt{NPARTYPE} \}\)

Length: 1

-
-

MAX_RESTARTS

-
-

Maximum number of restarts in the GMRES algorithm. If lack of memory is not an issue, better use a larger Krylov space than restarts.

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: 1

-
-

SCHUR_SAFETY

-
-

Schur safety factor; Influences the tradeoff between linear iterations and nonlinear error control; see IDAS guide Section~2.1 and 5.

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: 1

-
-

For further discretization parameters, see also Flux reconstruction methods, and Nonlinear solver for consistent initialization.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/lumped_rate_model_without_pores.html b/interface/unit_operations/lumped_rate_model_without_pores.html deleted file mode 100644 index 65f5d285c..000000000 --- a/interface/unit_operations/lumped_rate_model_without_pores.html +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - - Lumped Rate Model Without Pores — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Lumped Rate Model Without Pores

-
-

Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES

-

For information on model equations, refer to Lumped rate model without pores (LRM).

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{LUMPED_RATE_MODEL_WITHOUT_PORES}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

ADSORPTION_MODEL

-
-

Specifies the type of binding model

- - - - - - - -

Type: string

Range: See Section Binding models

Length: 1

-
-

REACTION_MODEL

-
-

Specifies the type of reaction model of the combined bulk and particle volume. The model is configured in the subgroup \(\texttt{reaction}\).

- - - - - - - -

Type: string

Range: See Section Reaction models

Length: 1

-
-

INIT_C

-
-

Initial concentrations for each component in the bulk mobile phase

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{IV}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\)

-
-

INIT_Q

-
-

Initial concentrations for each bound state of each component in the bead solid phase in component-major ordering

-

Unit: \(\mathrm{mol}\,\mathrm{m}_{\mathrm{SP}}^{-3}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: \(\texttt{NTOTALBND}\)

-
-

INIT_STATE

-
-

Full state vector for initialization (optional, \(\texttt{INIT_C}\) and \(\texttt{INIT_Q}\) will be ignored; if length is \(2\texttt{NDOF}\), then the second half is used for time derivatives)

-

Unit: \(various\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(\texttt{NDOF} / 2\texttt{NDOF}\)

-
-

COL_DISPERSION

-
-

Axial dispersion coefficient

-

Unit: \(\mathrm{m}_{\mathrm{IV}}^{2}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\geq 0\)

Length: see \(\texttt{COL_DISPERSION_MULTIPLEX}\)

-
-

COL_DISPERSION_MULTIPLEX

-
-
-

Multiplexing mode of \(\texttt{COL_DISPERSION}\). Determines whether \(\texttt{COL_DISPERSION}\) is treated as component- and/or section-independent. This field is optional. When left out, multiplexing behavior is inferred from the length of \(\texttt{COL_DISPERSION}\). Valid modes are:

-
-
    -
  1. Component-independent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(1\)

  2. -
  3. Component-dependent, section-independent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP}\)

  4. -
  5. Component-independent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NSEC}\)

  6. -
  7. Component-dependent, section-dependent; length of \(\texttt{COL_DISPERSION}\) is \(\texttt{NCOMP} \cdot \texttt{NSEC}\); ordering is section-major

  8. -
-
-
- - - - - - -

Type: int

Range: \(\{0, \dots, 3 \}\)

Length: 1

-
-
-

COL_LENGTH

-
-

Column length

-

Unit: \(\mathrm{m}\)

- - - - - - - -

Type: double

Range: \(> 0\)

Length: 1

-
-

TOTAL_POROSITY

-
-

Total porosity

- - - - - - - -

Type: double

Range: \([0,1]\)

Length: 1

-
-

VELOCITY

-
-

Interstitial velocity of the mobile phase (optional if \(\texttt{CROSS_SECTION_AREA}\) is present, see Section Specification of flow rate / velocity and direction)

-

Unit: \(\mathrm{m}\,\mathrm{s}^{-1}\)

- - - - - - - -

Type: double

Range: \(\mathbb{R}\)

Length: \(1 / \texttt{NSEC}\)

-
-

CROSS_SECTION_AREA

-
-

Cross section area of the column (optional if \(\texttt{VELOCITY}\) is present, see Section Specification of flow rate / velocity and direction)

-

Unit: \(\mathrm{m}^{2}\)

- - - - - - - -

Type: double

Range: \(>0\)

Length: 1

-
-
-
-

Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES

-

NCOL

-
-

Number of axial column discretization cells

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-

NBOUND

-
-

Number of bound states for each component

- - - - - - - -

Type: int

Range: \(\geq 0\)

Length: \(\texttt{NCOMP}\)

-
-

USE_ANALYTIC_JACOBIAN

-
-

Determines whether analytically computed Jacobian matrix (faster) is used (value is 1) instead of Jacobians generated by algorithmic differentiation (slower, value is 0)

- - - - - - - -

Type: int

Range: \(\{0, 1\}\)

Length: 1

-
-

RECONSTRUCTION

-
-

Type of reconstruction method for fluxes

- - - - - - - -

Type: string

Range: \(\texttt{WENO}\)

Length: 1

-
-

For further discretization parameters, see also Flux reconstruction methods, and Nonlinear solver for consistent initialization.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/interface/unit_operations/outlet.html b/interface/unit_operations/outlet.html deleted file mode 100644 index 290754703..000000000 --- a/interface/unit_operations/outlet.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - Outlet — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Outlet

-
-

Group /input/model/unit_XXX - UNIT-TYPE = OUTLET

-

For information on model equations, refer to Outlet.

-

UNIT_TYPE

-
-

Specifies the type of unit operation model

- - - - - - - -

Type: string

Range: \(\texttt{OUTLET}\)

Length: 1

-
-

NCOMP

-
-

Number of chemical components in the chromatographic medium

- - - - - - - -

Type: int

Range: \(\geq 1\)

Length: 1

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/license.html b/license.html deleted file mode 100644 index 27de4b40a..000000000 --- a/license.html +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - - - License — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

License

-

CADET is released under the GNU GPL v3

-
                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-                            Preamble
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-  The precise terms and conditions for copying, distribution and
-modification follow.
-                       TERMS AND CONDITIONS
-  0. Definitions.
-  "This License" refers to version 3 of the GNU General Public License.
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-  1. Source Code.
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-  The Corresponding Source for a work in source code form is that
-same work.
-  2. Basic Permissions.
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-  4. Conveying Verbatim Copies.
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-  5. Conveying Modified Source Versions.
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-  6. Conveying Non-Source Forms.
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-  7. Additional Terms.
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-  8. Termination.
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-  9. Acceptance Not Required for Having Copies.
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-  10. Automatic Licensing of Downstream Recipients.
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-  11. Patents.
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-  12. No Surrender of Others' Freedom.
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-  13. Use with the GNU Affero General Public License.
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-  14. Revised Versions of this License.
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-  15. Disclaimer of Warranty.
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-  16. Limitation of Liability.
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-  17. Interpretation of Sections 15 and 16.
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-                     END OF TERMS AND CONDITIONS
-            How to Apply These Terms to Your New Programs
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-Also add information on how to contact you by electronic and paper mail.
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/master/.buildinfo b/master/.buildinfo index 318a277eb..ac532c657 100644 --- a/master/.buildinfo +++ b/master/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 23b410b56d1773236f593196c2a1c50b +config: dd382076a6f3af6c9f993b091f9de1ad tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/master/.doctrees/README.doctree b/master/.doctrees/README.doctree index bcb94543c..24fbfdae4 100644 Binary files a/master/.doctrees/README.doctree and b/master/.doctrees/README.doctree differ diff --git a/master/.doctrees/environment.pickle b/master/.doctrees/environment.pickle index 1964ad325..93dfe8076 100644 Binary files a/master/.doctrees/environment.pickle and b/master/.doctrees/environment.pickle differ diff --git a/master/.doctrees/examples/batch_chromatography.doctree b/master/.doctrees/examples/batch_chromatography.doctree index ea5b95934..ac9363676 100644 Binary files a/master/.doctrees/examples/batch_chromatography.doctree and b/master/.doctrees/examples/batch_chromatography.doctree differ diff --git a/master/.doctrees/examples/index.doctree b/master/.doctrees/examples/index.doctree index af8907094..7308d616f 100644 Binary files a/master/.doctrees/examples/index.doctree and b/master/.doctrees/examples/index.doctree differ diff --git a/master/.doctrees/examples/load_wash_elute.doctree b/master/.doctrees/examples/load_wash_elute.doctree index 0699e5828..537710738 100644 Binary files a/master/.doctrees/examples/load_wash_elute.doctree and b/master/.doctrees/examples/load_wash_elute.doctree differ diff --git a/master/.doctrees/examples/reaction_cstr.doctree b/master/.doctrees/examples/reaction_cstr.doctree index 15a0efbc5..813850d85 100644 Binary files a/master/.doctrees/examples/reaction_cstr.doctree and b/master/.doctrees/examples/reaction_cstr.doctree differ diff --git a/master/.doctrees/examples/rtd.doctree b/master/.doctrees/examples/rtd.doctree index f841123c8..d9643adb8 100644 Binary files a/master/.doctrees/examples/rtd.doctree and b/master/.doctrees/examples/rtd.doctree differ diff --git a/master/.doctrees/getting_started/build_linux.doctree b/master/.doctrees/getting_started/build_linux.doctree index 9ab4de1ff..faaf5f7ed 100644 Binary files a/master/.doctrees/getting_started/build_linux.doctree and b/master/.doctrees/getting_started/build_linux.doctree differ diff --git a/master/.doctrees/getting_started/build_osx.doctree b/master/.doctrees/getting_started/build_osx.doctree index 4c83f6a8f..9c4a4408c 100644 Binary files a/master/.doctrees/getting_started/build_osx.doctree and b/master/.doctrees/getting_started/build_osx.doctree differ diff --git a/master/.doctrees/getting_started/build_windows.doctree b/master/.doctrees/getting_started/build_windows.doctree index 9340f390f..4cc82beec 100644 Binary files a/master/.doctrees/getting_started/build_windows.doctree and b/master/.doctrees/getting_started/build_windows.doctree differ diff --git a/master/.doctrees/getting_started/index.doctree b/master/.doctrees/getting_started/index.doctree index 7d60a86e4..97c8cde3f 100644 Binary files a/master/.doctrees/getting_started/index.doctree and b/master/.doctrees/getting_started/index.doctree differ diff --git a/master/.doctrees/getting_started/installation.doctree b/master/.doctrees/getting_started/installation.doctree index a018c9373..2b8299718 100644 Binary files a/master/.doctrees/getting_started/installation.doctree and b/master/.doctrees/getting_started/installation.doctree differ diff --git a/master/.doctrees/getting_started/overview.doctree b/master/.doctrees/getting_started/overview.doctree index a1f33f240..05e444195 100644 Binary files a/master/.doctrees/getting_started/overview.doctree and b/master/.doctrees/getting_started/overview.doctree differ diff --git a/master/.doctrees/getting_started/tutorials/breakthrough.doctree b/master/.doctrees/getting_started/tutorials/breakthrough.doctree index 495b25860..6f5995ce3 100644 Binary files a/master/.doctrees/getting_started/tutorials/breakthrough.doctree and b/master/.doctrees/getting_started/tutorials/breakthrough.doctree differ diff --git a/master/.doctrees/index.doctree b/master/.doctrees/index.doctree index 914d5c31b..7f397f367 100644 Binary files a/master/.doctrees/index.doctree and b/master/.doctrees/index.doctree differ diff --git a/master/.doctrees/interface/binding/bi_steric_mass_action.doctree b/master/.doctrees/interface/binding/bi_steric_mass_action.doctree index f16d71848..5635ffda0 100644 Binary files a/master/.doctrees/interface/binding/bi_steric_mass_action.doctree and b/master/.doctrees/interface/binding/bi_steric_mass_action.doctree differ diff --git a/master/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree b/master/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree index e7aa15c00..b1c1ab957 100644 Binary files a/master/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree and b/master/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/master/.doctrees/interface/binding/freundlich_ldf.doctree b/master/.doctrees/interface/binding/freundlich_ldf.doctree index 27cd716d3..f2cdd4e90 100644 Binary files a/master/.doctrees/interface/binding/freundlich_ldf.doctree and b/master/.doctrees/interface/binding/freundlich_ldf.doctree differ diff --git a/master/.doctrees/interface/binding/generalized_ion_exchange.doctree b/master/.doctrees/interface/binding/generalized_ion_exchange.doctree index 08511d729..a1a6ad7d0 100644 Binary files a/master/.doctrees/interface/binding/generalized_ion_exchange.doctree and b/master/.doctrees/interface/binding/generalized_ion_exchange.doctree differ diff --git a/master/.doctrees/interface/binding/hic_constant_water_activity.doctree b/master/.doctrees/interface/binding/hic_constant_water_activity.doctree index 3c41eb198..81e8cdc29 100644 Binary files a/master/.doctrees/interface/binding/hic_constant_water_activity.doctree and b/master/.doctrees/interface/binding/hic_constant_water_activity.doctree differ diff --git a/master/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree b/master/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree index 7bb89af30..2781be2df 100644 Binary files a/master/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree and b/master/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree differ diff --git a/master/.doctrees/interface/binding/index.doctree b/master/.doctrees/interface/binding/index.doctree index 3f2129b0c..a4436de5d 100644 Binary files a/master/.doctrees/interface/binding/index.doctree and b/master/.doctrees/interface/binding/index.doctree differ diff --git a/master/.doctrees/interface/binding/linear.doctree b/master/.doctrees/interface/binding/linear.doctree index 54c70a97e..d659d1f9f 100644 Binary files a/master/.doctrees/interface/binding/linear.doctree and b/master/.doctrees/interface/binding/linear.doctree differ diff --git a/master/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree b/master/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree index b0f921825..2c2b94738 100644 Binary files a/master/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree and b/master/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_anti_langmuir.doctree b/master/.doctrees/interface/binding/multi_component_anti_langmuir.doctree index 5bd274744..d81be16ad 100644 Binary files a/master/.doctrees/interface/binding/multi_component_anti_langmuir.doctree and b/master/.doctrees/interface/binding/multi_component_anti_langmuir.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_bi_langmuir.doctree b/master/.doctrees/interface/binding/multi_component_bi_langmuir.doctree index 9c927a10c..bff193f7a 100644 Binary files a/master/.doctrees/interface/binding/multi_component_bi_langmuir.doctree and b/master/.doctrees/interface/binding/multi_component_bi_langmuir.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree b/master/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree index 76fdd19fc..290115b75 100644 Binary files a/master/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree and b/master/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_langmuir.doctree b/master/.doctrees/interface/binding/multi_component_langmuir.doctree index be9bca8b8..a74447db6 100644 Binary files a/master/.doctrees/interface/binding/multi_component_langmuir.doctree and b/master/.doctrees/interface/binding/multi_component_langmuir.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree b/master/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree index a217ea722..85df9585f 100644 Binary files a/master/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree and b/master/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/master/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree index 3ae4bfe72..6f6beee70 100644 Binary files a/master/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree and b/master/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree differ diff --git a/master/.doctrees/interface/binding/multi_component_spreading.doctree b/master/.doctrees/interface/binding/multi_component_spreading.doctree index 76f4db59b..defee2f00 100644 Binary files a/master/.doctrees/interface/binding/multi_component_spreading.doctree and b/master/.doctrees/interface/binding/multi_component_spreading.doctree differ diff --git a/master/.doctrees/interface/binding/multi_state_steric_mass_action.doctree b/master/.doctrees/interface/binding/multi_state_steric_mass_action.doctree index 518027434..4e24a8347 100644 Binary files a/master/.doctrees/interface/binding/multi_state_steric_mass_action.doctree and b/master/.doctrees/interface/binding/multi_state_steric_mass_action.doctree differ diff --git a/master/.doctrees/interface/binding/saska.doctree b/master/.doctrees/interface/binding/saska.doctree index 47ce589f1..bc192fef8 100644 Binary files a/master/.doctrees/interface/binding/saska.doctree and b/master/.doctrees/interface/binding/saska.doctree differ diff --git a/master/.doctrees/interface/binding/self_association.doctree b/master/.doctrees/interface/binding/self_association.doctree index 063a2e53a..2c1252a90 100644 Binary files a/master/.doctrees/interface/binding/self_association.doctree and b/master/.doctrees/interface/binding/self_association.doctree differ diff --git a/master/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree b/master/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree index c0f9844dd..43b801a6e 100644 Binary files a/master/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree and b/master/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/master/.doctrees/interface/binding/steric_mass_action.doctree b/master/.doctrees/interface/binding/steric_mass_action.doctree index b365d819a..0ecc1f773 100644 Binary files a/master/.doctrees/interface/binding/steric_mass_action.doctree and b/master/.doctrees/interface/binding/steric_mass_action.doctree differ diff --git a/master/.doctrees/interface/consistent_initialization.doctree b/master/.doctrees/interface/consistent_initialization.doctree index 0b64228bc..7240e8c87 100644 Binary files a/master/.doctrees/interface/consistent_initialization.doctree and b/master/.doctrees/interface/consistent_initialization.doctree differ diff --git a/master/.doctrees/interface/flux_reconstruction.doctree b/master/.doctrees/interface/flux_reconstruction.doctree index 1183448d8..d38605188 100644 Binary files a/master/.doctrees/interface/flux_reconstruction.doctree and b/master/.doctrees/interface/flux_reconstruction.doctree differ diff --git a/master/.doctrees/interface/index.doctree b/master/.doctrees/interface/index.doctree index 6528158af..4a5af4383 100644 Binary files a/master/.doctrees/interface/index.doctree and b/master/.doctrees/interface/index.doctree differ diff --git a/master/.doctrees/interface/input_group.doctree b/master/.doctrees/interface/input_group.doctree index 69041984c..914e3233d 100644 Binary files a/master/.doctrees/interface/input_group.doctree and b/master/.doctrees/interface/input_group.doctree differ diff --git a/master/.doctrees/interface/introduction.doctree b/master/.doctrees/interface/introduction.doctree index af2965b46..4c352340e 100644 Binary files a/master/.doctrees/interface/introduction.doctree and b/master/.doctrees/interface/introduction.doctree differ diff --git a/master/.doctrees/interface/meta_group.doctree b/master/.doctrees/interface/meta_group.doctree index fbd274bcf..a6291a89d 100644 Binary files a/master/.doctrees/interface/meta_group.doctree and b/master/.doctrees/interface/meta_group.doctree differ diff --git a/master/.doctrees/interface/output_group.doctree b/master/.doctrees/interface/output_group.doctree index f4c227732..df99c0ecb 100644 Binary files a/master/.doctrees/interface/output_group.doctree and b/master/.doctrees/interface/output_group.doctree differ diff --git a/master/.doctrees/interface/reactions.doctree b/master/.doctrees/interface/reactions.doctree index 3c30d8344..20dc7f345 100644 Binary files a/master/.doctrees/interface/reactions.doctree and b/master/.doctrees/interface/reactions.doctree differ diff --git a/master/.doctrees/interface/return_data.doctree b/master/.doctrees/interface/return_data.doctree index b034f3503..06f3c8ec9 100644 Binary files a/master/.doctrees/interface/return_data.doctree and b/master/.doctrees/interface/return_data.doctree differ diff --git a/master/.doctrees/interface/sensitivities.doctree b/master/.doctrees/interface/sensitivities.doctree index 0fb0321fc..5c202bf8a 100644 Binary files a/master/.doctrees/interface/sensitivities.doctree and b/master/.doctrees/interface/sensitivities.doctree differ diff --git a/master/.doctrees/interface/solver.doctree b/master/.doctrees/interface/solver.doctree index a087318e4..a611ba8f1 100644 Binary files a/master/.doctrees/interface/solver.doctree and b/master/.doctrees/interface/solver.doctree differ diff --git a/master/.doctrees/interface/system.doctree b/master/.doctrees/interface/system.doctree index 0a4ed57b1..a371e231f 100644 Binary files a/master/.doctrees/interface/system.doctree and b/master/.doctrees/interface/system.doctree differ diff --git a/master/.doctrees/interface/unit_operations/2d_general_rate_model.doctree b/master/.doctrees/interface/unit_operations/2d_general_rate_model.doctree index 2e6c16c88..eca7d1ea3 100644 Binary files a/master/.doctrees/interface/unit_operations/2d_general_rate_model.doctree and b/master/.doctrees/interface/unit_operations/2d_general_rate_model.doctree differ diff --git a/master/.doctrees/interface/unit_operations/cstr.doctree b/master/.doctrees/interface/unit_operations/cstr.doctree index 9c66fcbb7..3b2d74307 100644 Binary files a/master/.doctrees/interface/unit_operations/cstr.doctree and b/master/.doctrees/interface/unit_operations/cstr.doctree differ diff --git a/master/.doctrees/interface/unit_operations/general_rate_model.doctree b/master/.doctrees/interface/unit_operations/general_rate_model.doctree index 0c103d18b..3a3a19447 100644 Binary files a/master/.doctrees/interface/unit_operations/general_rate_model.doctree and b/master/.doctrees/interface/unit_operations/general_rate_model.doctree differ diff --git a/master/.doctrees/interface/unit_operations/index.doctree b/master/.doctrees/interface/unit_operations/index.doctree index e6ef62505..79ed72112 100644 Binary files a/master/.doctrees/interface/unit_operations/index.doctree and b/master/.doctrees/interface/unit_operations/index.doctree differ diff --git a/master/.doctrees/interface/unit_operations/inlet.doctree b/master/.doctrees/interface/unit_operations/inlet.doctree index 1c37c6431..2608fd3ad 100644 Binary files a/master/.doctrees/interface/unit_operations/inlet.doctree and b/master/.doctrees/interface/unit_operations/inlet.doctree differ diff --git a/master/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree b/master/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree index 4d29407e0..c29020df2 100644 Binary files a/master/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree and b/master/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/master/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree b/master/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree index 1082bd02a..57b6d5ea2 100644 Binary files a/master/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree and b/master/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/master/.doctrees/interface/unit_operations/outlet.doctree b/master/.doctrees/interface/unit_operations/outlet.doctree index d9a67a954..972166663 100644 Binary files a/master/.doctrees/interface/unit_operations/outlet.doctree and b/master/.doctrees/interface/unit_operations/outlet.doctree differ diff --git a/master/.doctrees/license.doctree b/master/.doctrees/license.doctree index 7bb7da864..e1237f4dd 100644 Binary files a/master/.doctrees/license.doctree and b/master/.doctrees/license.doctree differ diff --git a/master/.doctrees/modelling/binding/bi_steric_mass_action.doctree b/master/.doctrees/modelling/binding/bi_steric_mass_action.doctree index 7efab0aaa..12c0f5a4e 100644 Binary files a/master/.doctrees/modelling/binding/bi_steric_mass_action.doctree and b/master/.doctrees/modelling/binding/bi_steric_mass_action.doctree differ diff --git a/master/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree b/master/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree index cb0b88548..21d244910 100644 Binary files a/master/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree and b/master/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/master/.doctrees/modelling/binding/freundlich_ldf.doctree b/master/.doctrees/modelling/binding/freundlich_ldf.doctree index ae59153e3..3f68a984b 100644 Binary files a/master/.doctrees/modelling/binding/freundlich_ldf.doctree and b/master/.doctrees/modelling/binding/freundlich_ldf.doctree differ diff --git a/master/.doctrees/modelling/binding/generalized_ion_exchange.doctree b/master/.doctrees/modelling/binding/generalized_ion_exchange.doctree index c8fa61f46..9c32b226e 100644 Binary files a/master/.doctrees/modelling/binding/generalized_ion_exchange.doctree and b/master/.doctrees/modelling/binding/generalized_ion_exchange.doctree differ diff --git a/master/.doctrees/modelling/binding/hic_constant_water_activity.doctree b/master/.doctrees/modelling/binding/hic_constant_water_activity.doctree index 2a56e87b6..fd4224f25 100644 Binary files a/master/.doctrees/modelling/binding/hic_constant_water_activity.doctree and b/master/.doctrees/modelling/binding/hic_constant_water_activity.doctree differ diff --git a/master/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree b/master/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree index 2a9e2697e..ded16e0da 100644 Binary files a/master/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree and b/master/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree differ diff --git a/master/.doctrees/modelling/binding/index.doctree b/master/.doctrees/modelling/binding/index.doctree index ff79ae1cc..4bb9e0cfe 100644 Binary files a/master/.doctrees/modelling/binding/index.doctree and b/master/.doctrees/modelling/binding/index.doctree differ diff --git a/master/.doctrees/modelling/binding/linear.doctree b/master/.doctrees/modelling/binding/linear.doctree index c07522846..e61668dc1 100644 Binary files a/master/.doctrees/modelling/binding/linear.doctree and b/master/.doctrees/modelling/binding/linear.doctree differ diff --git a/master/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree b/master/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree index c7f11a409..bea0ae273 100644 Binary files a/master/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree and b/master/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree b/master/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree index 5e3a3e1b5..93d886d11 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree and b/master/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree b/master/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree index a7d1977bc..35448704d 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree and b/master/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree b/master/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree index 97f252438..8e7f8a2a6 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree and b/master/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_langmuir.doctree b/master/.doctrees/modelling/binding/multi_component_langmuir.doctree index 35b2f2602..8d19a2fa8 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_langmuir.doctree and b/master/.doctrees/modelling/binding/multi_component_langmuir.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree b/master/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree index 611c4bd25..8427ccad4 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree and b/master/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/master/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree index ff2c7efbe..d8ddd2797 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree and b/master/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_component_spreading.doctree b/master/.doctrees/modelling/binding/multi_component_spreading.doctree index 69a846e2c..f06eb58c2 100644 Binary files a/master/.doctrees/modelling/binding/multi_component_spreading.doctree and b/master/.doctrees/modelling/binding/multi_component_spreading.doctree differ diff --git a/master/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree b/master/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree index 38e3e0e8b..746fa3a01 100644 Binary files a/master/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree and b/master/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree differ diff --git a/master/.doctrees/modelling/binding/saska.doctree b/master/.doctrees/modelling/binding/saska.doctree index d0530479d..41bd1d739 100644 Binary files a/master/.doctrees/modelling/binding/saska.doctree and b/master/.doctrees/modelling/binding/saska.doctree differ diff --git a/master/.doctrees/modelling/binding/self_association.doctree b/master/.doctrees/modelling/binding/self_association.doctree index 98575648f..5d063d87d 100644 Binary files a/master/.doctrees/modelling/binding/self_association.doctree and b/master/.doctrees/modelling/binding/self_association.doctree differ diff --git a/master/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree b/master/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree index 85e862c1c..772cd68d9 100644 Binary files a/master/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree and b/master/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/master/.doctrees/modelling/binding/steric_mass_action.doctree b/master/.doctrees/modelling/binding/steric_mass_action.doctree index 985fa1dca..cc514d685 100644 Binary files a/master/.doctrees/modelling/binding/steric_mass_action.doctree and b/master/.doctrees/modelling/binding/steric_mass_action.doctree differ diff --git a/master/.doctrees/modelling/index.doctree b/master/.doctrees/modelling/index.doctree index 6bfaaf740..994d16c69 100644 Binary files a/master/.doctrees/modelling/index.doctree and b/master/.doctrees/modelling/index.doctree differ diff --git a/master/.doctrees/modelling/networks.doctree b/master/.doctrees/modelling/networks.doctree index 9317a60c6..1b150242e 100644 Binary files a/master/.doctrees/modelling/networks.doctree and b/master/.doctrees/modelling/networks.doctree differ diff --git a/master/.doctrees/modelling/reactions.doctree b/master/.doctrees/modelling/reactions.doctree index 37d6e86f3..2606e4a4e 100644 Binary files a/master/.doctrees/modelling/reactions.doctree and b/master/.doctrees/modelling/reactions.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree b/master/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree index b57a45cd1..7e5b00d6b 100644 Binary files a/master/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree and b/master/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/cstr.doctree b/master/.doctrees/modelling/unit_operations/cstr.doctree index c3f0a1875..f32ecb4c4 100644 Binary files a/master/.doctrees/modelling/unit_operations/cstr.doctree and b/master/.doctrees/modelling/unit_operations/cstr.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/general_rate_model.doctree b/master/.doctrees/modelling/unit_operations/general_rate_model.doctree index ad17f1d31..f02b16827 100644 Binary files a/master/.doctrees/modelling/unit_operations/general_rate_model.doctree and b/master/.doctrees/modelling/unit_operations/general_rate_model.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/index.doctree b/master/.doctrees/modelling/unit_operations/index.doctree index 749ef732b..7f02dcb21 100644 Binary files a/master/.doctrees/modelling/unit_operations/index.doctree and b/master/.doctrees/modelling/unit_operations/index.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/inlet.doctree b/master/.doctrees/modelling/unit_operations/inlet.doctree index 48f2b39b3..ffa80176d 100644 Binary files a/master/.doctrees/modelling/unit_operations/inlet.doctree and b/master/.doctrees/modelling/unit_operations/inlet.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree b/master/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree index a1f387ce6..8735929c0 100644 Binary files a/master/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree and b/master/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree b/master/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree index b328cab57..1620daa7e 100644 Binary files a/master/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree and b/master/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/master/.doctrees/modelling/unit_operations/outlet.doctree b/master/.doctrees/modelling/unit_operations/outlet.doctree index 9d2705ee8..755f8f6ed 100644 Binary files a/master/.doctrees/modelling/unit_operations/outlet.doctree and b/master/.doctrees/modelling/unit_operations/outlet.doctree differ diff --git a/master/.doctrees/simulation/index.doctree b/master/.doctrees/simulation/index.doctree index fc9afa811..734d10c29 100644 Binary files a/master/.doctrees/simulation/index.doctree and b/master/.doctrees/simulation/index.doctree differ diff --git a/master/.doctrees/zbibliography.doctree b/master/.doctrees/zbibliography.doctree index e2115c3af..5b0eeef45 100644 Binary files a/master/.doctrees/zbibliography.doctree and b/master/.doctrees/zbibliography.doctree differ diff --git a/modelling/binding/bi_steric_mass_action.html b/modelling/binding/bi_steric_mass_action.html deleted file mode 100644 index dcb5fd7a1..000000000 --- a/modelling/binding/bi_steric_mass_action.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - Bi Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Bi Steric Mass Action

-

Similar to the Bi-Langmuir model (see Section Multi Component Bi-Langmuir), the Bi-SMA model adds \(M - 1\) additional types of binding sites \(q_{i,j}\) (\(0 \leq j \leq M - 1\)) to the SMA model (see Section Steric Mass Action) without allowing an exchange between the different sites \(q_{i,j}\) and \(q_{i,k}\) (\(k \neq j\)). -Therefore, there are no competitivity effects between the two types of binding sites and they have independent capacities.

-
-\[\begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} &= k_{a,i,j} c_{p,i} \left(\frac{\bar{q}_{0,j}}{q_{\text{ref},j}} \right)^{\nu_{i,j}} - k_{d,i,j}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref},j}}\right)^{\nu_{i,j}} & i = 1, \dots, N_{\text{comp}} - 1, \quad j = 0, \dots, M - 1, -\end{aligned}\]
-

where \(c_{p,0}\) and \(q_{0,j}\) (\(0 \leq j \leq M - 1\)) denote the salt concentrations in the liquid and solid phases of the beads respectively. -The number of available salt ions \(\bar{q}_{0,j}\) for each binding site type \(0 \leq j \leq M - 1\) is given by

-
-\[\begin{aligned} - \bar{q}_{0,j} &= \Lambda_j - \sum_{k=1}^{N_{\text{comp}} - 1} \left( \nu_{k,j} + \sigma_{k,j} \right) q_{k,j}. -\end{aligned}\]
-

Electro-neutrality conditions compensating for the missing equations for \(\frac{\mathrm{d} q_{0,j}}{\mathrm{d}t}\) are required:

-
-\[\begin{aligned} - q_{0,j} &= \Lambda_j - \sum_{k=1}^{N_{\text{comp}} - 1} \nu_{k,j} q_{k,j} & j = 0, \dots, M - 1. -\end{aligned}\]
-

Note that all binding components must have exactly the same number of binding site types \(M \geq 1\).

-

The reference concentrations \(c_{\text{ref},j}\) and \(q_{\text{ref},j}\) can be specified for each binding site type \(0 \leq j \leq M - 1\). -The concept of reference concentrations is explained in the respective paragraph in Section Reference concentrations.

-

Originally, the Bi-SMA model is limited to two different binding site types. -Here, the model has been extended to arbitrary many binding site types.

-

For more information on model parameters required to define in CADET file format, see Bi Steric Mass Action.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/extended_mobile_phase_modulator_langmuir.html b/modelling/binding/extended_mobile_phase_modulator_langmuir.html deleted file mode 100644 index 8060c54df..000000000 --- a/modelling/binding/extended_mobile_phase_modulator_langmuir.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - Extended Mobile Phase Modulator Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Extended Mobile Phase Modulator Langmuir

-

This model is an extension of the mobile phase modulator Langmuir model (see Section Multi Component Langmuir), which allows linear binding of some selected components. -A modifier component \(c_{p,\mathrm{mod}}\) is selected and the remaining components are divided into the index sets \(\mathcal{I}_{\mathrm{lin}}\) and \(\mathcal{I}_{\mathrm{lang}}\).

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} e^{\gamma_i c_{p,\mathrm{mod}}} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: c_{p,\mathrm{mod}}^{\beta_i} \: q_i && i \in \mathcal{I}_{\mathrm{lang}}, \\ - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lin}}. - \end{aligned}\end{split}\]
-

The modifier component is considered to be inert, therefore either

-
-\[\frac{\mathrm{d} q_{\mathrm{mod}}}{\mathrm{d} t} = 0\]
-

is used if the modifier component has a bound state, or it can be used without a bound state.

-

The model can also be used without a modifier component. -In this case, the equations are given by

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lang}}, \\ - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} \: q_i && i \in \mathcal{I}_{\mathrm{lin}}. - \end{aligned}\end{split}\]
-

For more information on model parameters required to define in CADET file format, see Extended Mobile Phase Modulator Langmuir.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/freundlich_ldf.html b/modelling/binding/freundlich_ldf.html deleted file mode 100644 index 7a8e524f5..000000000 --- a/modelling/binding/freundlich_ldf.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - Freundlich LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Freundlich LDF

-

The Freundlich isotherm model is an empirical model that considers changes in the equilibrium constant of the binding process due to the heterogeneity of the surface and the variation of the interaction strength [9, 10]. -This variant of the model is based on the linear driving force approximation (see section Linear Driving Force (LDF)) and is given as

-
-\[\begin{aligned} - q^*_i= k_{F,i}c_{p,i}^{\frac{1}{n_{i}}} && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

No interaction between the components is considered when the model has multiple components. -One of the limitation of this isotherm is the first order Jacobian \(\left(\frac{dq^*}{dc_p}\right)\) tends to infinity as \(c_{p} \rightarrow 0\) for \(n>1\). -To address this issue an approximation of isotherm is considered near the origin. -This approximation matches the isotherm in such a way that \(q=0\) at \(c_p=0\) and also matches the first derivative of the istotherm at \(c_p = \epsilon\), where \(\epsilon\) is a very small number, for example \(1e-14\). -The form of approximation and its derivative is given below for \(c_p < \varepsilon\) and \(n>1\):

-
-\[ \begin{align}\begin{aligned}\begin{aligned} - q^* = \alpha_0+\alpha_1 c+\alpha_2 c_p^2 -\end{aligned}\\\begin{aligned} - \frac{dq^*}{dc_p} = \alpha_1+ 2 \alpha_2 c_p -\end{aligned}\end{aligned}\end{align} \]
-

where \(\alpha_0=0\) and \(\alpha_1\) and \(\alpha_2\) are determined from \(\alpha_1 \varepsilon+\alpha_2 \varepsilon^2 = k_f \varepsilon^{1/n}\) and \(\alpha_1 + 2 \alpha_2 \varepsilon = \frac{1}{n}k_f \varepsilon^{\frac{1-n}{n}}\).

-
-\[\begin{aligned} - \alpha_1 = \frac{2 n-1}{n}k_f \varepsilon^{\frac{1-n}{n}} -\end{aligned}\]
-
-\[\begin{aligned} - \alpha_2 = \frac{1-n}{n}k_f \varepsilon^{\frac{1-2 n}{n}} -\end{aligned}\]
-

This approximation can be used for any pore phase cocentration \(c_p < \epsilon\) given \(n>1\). -For the case, when \(n \le 1\) no special treament near the origin is required. -For more information on model parameters required to define in CADET file format, see Freundlich LDF.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/generalized_ion_exchange.html b/modelling/binding/generalized_ion_exchange.html deleted file mode 100644 index 8133e02a1..000000000 --- a/modelling/binding/generalized_ion_exchange.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - Generalized Ion Exchange — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Generalized Ion Exchange

-

The generalized ion exchange model is based on the steric mass action model [11, 12]. -In addition to the first component \(c_{p,0}\), which represents salt, the second component \(c_{p,1}\) represents another non-binding modifier (e.g., pH). -In comparison to the SMA model, the characteristic charge \(\nu\) and the adsorption and desorption rate constants are modified:

-
-\[\begin{split}\begin{aligned} - q_0 &= \Lambda - \sum_{j=2}^{N_{\text{comp}} - 1} \nu_j(c_{p,1}) q_j \\ - \frac{\partial q_i}{\partial t} &= k_{a,i}(c_{p,0},c_{p,1}) \: c_{p,i} \: \left( \frac{\bar{q}_0 }{q_{\text{ref}}} \right)^{\nu_i(c_{p,1})} - k_{d,i}(c_{p,0},c_{p,1}) \: q_i \: \left( \frac{c_{p,0}}{c_{\text{ref}}} \right)^{\nu_i(c_{p,1})} & &i = 2, \dots, N_{\text{comp}} - 1, -\end{aligned}\end{split}\]
-

where

-
-\[\begin{aligned} - \bar{q}_0 &= \Lambda - \sum_{j=2}^{N_{\text{comp}} - 1} \left( \nu_j(c_{p,1}) + \sigma_j \right) q_j = q_0 - \sum_{j=2}^{N_{\text{comp}} - 1} \sigma_j q_j -\end{aligned}\]
-

The dependence of the parameters on \(c_{p,0}\) and \(c_{p,1}\) is given for \(i = 2, \dots, N_{\text{comp}} - 1\) by

-
-\[\begin{split}\begin{aligned} - \nu_i(c_{p,1}) &= \nu_{i,\mathrm{base}} + c_{p,1} \nu_{i,\mathrm{lin}} + c_{p,1}^2 \nu_{i,\mathrm{quad}} \\ - k_{a,i}\left(c_{p,0}, c_{p,1}\right) &= k_{a,i,\mathrm{base}} \exp\left(k_{a,i,\mathrm{lin}} c_{p,1} + k_{a,i,\mathrm{quad}} c_{p,1}^2 + k_{a,i,\mathrm{salt}} \frac{c_{p,0}}{c_{\text{ref}}} + k_{a,i,\mathrm{prot}} c_{p,i}\right) \\ - k_{d,i}\left(c_{p,0}, c_{p,1}\right) &= k_{d,i,\mathrm{base}} \exp\left(k_{d,i,\mathrm{lin}} c_{p,1} + k_{d,i,\mathrm{quad}} c_{p,1}^2 + k_{d,i,\mathrm{salt}} \frac{c_{p,0}}{c_{\text{ref}}} + k_{d,i,\mathrm{prot}} c_{p,i}\right) -\end{aligned}\end{split}\]
-

The concept of reference concentrations (\(c_{\text{ref}}\) and \(q_{\text{ref}}\)) is explained in the respective paragraph in Section Reference concentrations.

-

For more information on model parameters required to define in CADET file format, see Generalized Ion Exchange.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/hic_constant_water_activity.html b/modelling/binding/hic_constant_water_activity.html deleted file mode 100644 index 046ca8b43..000000000 --- a/modelling/binding/hic_constant_water_activity.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - HIC Constant Water Activity — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

HIC Constant Water Activity

-

This model implemments the HIC isotherm assuming a constant water activity as described by Jäpel and Buyel [13].

-
-\[\begin{split}\begin{align} - \beta &= \beta_0 e^{c_{p,0}\beta_1} \\ - \frac{\mathrm{d}q_i}{\mathrm{d}t} &= k_{a,i} c_{p,i} \left( 1 - \sum_j \frac{q_j}{q_{max,j}} \right)^{\nu_i} - k_{d,i} q_i 0.1^{\nu_i \beta} -\end{align}\end{split}\]
-
    -
  • Component \(c_0\) is assumed to be salt without a bound state.

  • -
  • Multiple bound states are not supported.

  • -
  • Components without bound state (i.e., salt and non-binding components) are supported.

  • -
-

For more information on model parameters required to define in CADET file format, see HIC Constant Water Activity.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/hic_water_on_hydrophobic_surfaces.html b/modelling/binding/hic_water_on_hydrophobic_surfaces.html deleted file mode 100644 index 039890fb0..000000000 --- a/modelling/binding/hic_water_on_hydrophobic_surfaces.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - HIC Water on Hydrophobic Surfaces — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

HIC Water on Hydrophobic Surfaces

-

This model implements a slightly modified version of the HIC isotherm by Wang et al. based on their 2016 paper [14]. -A naive multicomponent version was added that reduces to the original formulation if only 1 binding species is present.

-
-\[\begin{split}\begin{align} - \beta &= \beta_0 e^{c_{p,0}\beta_1} \\ - \frac{\mathrm{d}q_i}{\mathrm{d}t} &= k_{a,i} c_{p,i} \left( 1 - \sum_j \frac{q_j}{q_{max,j}} \right)^{\nu_i} - k_{d,i} q_i \left(\sum_j q_j \right)^{\nu_i \beta} -\end{align}\end{split}\]
-
    -
  • Component \(c_0\) is assumed to be salt without a bound state.

  • -
  • Multiple bound states are not supported.

  • -
  • Components without bound state (i.e., salt and non-binding components) are supported.

  • -
-

For more information on model parameters required to define in CADET file format, see HIC Water on Hydrophobic Surfaces.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/index.html b/modelling/binding/index.html deleted file mode 100644 index 58f44e7bd..000000000 --- a/modelling/binding/index.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - Binding models — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Binding models

-

The following binding models are presented in dynamic binding mode. -By replacing all occurrences of \(\mathrm{d}q / \mathrm{d}t\) with \(0\), quasi-stationary (rapid-equlibrium) binding mode is achieved. -In quasi-stationary binding, it is assumed that ad- and desorption take place on a much faster time scale than the other transport processes such that bead liquid phase \(c_{p,i}\) (or bulk liquid phase \(c_i\) for certain unit operation models) are always in equilibrium with the solid phase \(q_i\).

-
-

Equilibrium constants

-

For the quasi-stationary binding mode, adsorption and desorption rate are no longer separate entities. -Instead, the quotient \(k_{\text{eq}} = k_a / k_d\) of adsorption and desorption coefficient is the relevant parameter as shown for the linear binding model (see Section Linear):

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} q_i \qquad \Rightarrow 0 = k_{a,i} c_{p,i} - k_{d,i} q_i \qquad \Leftrightarrow q_i = \frac{k_{a,i}}{k_{d,i}} c_{p,i} = k_{\text{eq},i} c_{p,i}. -\end{aligned}\]
-

The equilibrium constant \(k_{\text{eq},i}\) is used in CADET by setting \(k_{d,i} = 1\) and \(k_{a,i} = k_{\text{eq},i}\).

-

Note that adsorption rate \(k_{a,i}\) and desorption rate \(k_{d,i}\) are linearly correlated in both binding modes due to the form of the equilibrium constant \(k_{\text{eq}}\):

-
-\[\begin{aligned} - k_{a,i} = k_{\text{eq}} k_{d,i}. -\end{aligned}\]
-

This correlation can potentially degrade performance of some optimization algorithms. -While in quasi-stationary binding mode this is prevented by using the technique above, a dynamic binding model has to be reparameterized in order to decouple parameters:

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= k_{a,i} c_{p,i} - k_{d,i} q_i = k_{d,i} \left[ k_{\text{eq},i} c_{p,i} - q_i \right] = k_{a,i} \left[ c_{p,i} - \frac{1}{k_{\text{eq},i}} q_i \right]. -\end{aligned}\]
-

This can be achieved by a (nonlinear) parameter transform

-
-\[\begin{split}\begin{aligned} - F\left( k_{\text{eq},i}, k_{d,i} \right) = \begin{pmatrix} k_{\text{eq},i} k_{d,i} \\ k_{d,i} \end{pmatrix} \text{ with Jacobian } J_F\left( k_{\text{eq},i}, k_{d,i} \right) = \begin{pmatrix} k_{d,i} & k_{\text{eq},i} \\ 0 & 1 \end{pmatrix}. -\end{aligned}\end{split}\]
-
-
-

Linear Driving Force (LDF)

-

Some authors use the linear driving force (LDF) approximation instead of the native kinetic form of an isotherm. -All three approaches are equivalent in rapid equilibrium (IS_KINETIC = 0) but not equivalent when binding kinetics are considered (IS_KINETIC = 1).

-
    -
  1. In the native approach, \(\frac{dq}{dt}\) is an explicit funtion of \(c\) and \(q\). For example \(\frac{dq}{dt}=k_a c (q_m - q)-k_d q\) in the Langmuir model.

  2. -
-

2. A linear driving force approximation is based on the equilibrium concentration \(q^*\) for given \(c\). -For example \(q^*= \frac{q_m k_{eq} c}{1 + k_{eq} c}\) in the Langmuir model. -Here, \(\frac{dq}{dt}\) is proportional to the actual difference from equilibrium, i.e. \(\frac{dq}{dt} = k_{kin}(q^*-q)\). -Note that, the sign of \(\frac{dq}{dt}\) causes the resulting flux to act towards the equilibrium. -In CADET, this approach is denoted by LDF, for example in MULTI_COMPONENT_LANGMUIR_LDF.

-

3. An alterniative linear driving force approximation is based on the equilibrium concentration \(c^*\) for given \(q\). -For example \(c^*=\frac{q}{k_{eq} \left(q_{m}-q\right)}\) in the Langmuir model. -Here, \(\frac{dq}{dt}\) is proportional to the actual difference from equilibrium concentrations, i.e. \(\frac{dq}{dt} = k_{kin}(c-c^*)\). -Note that, the sign of \(\frac{dq}{dt}\) causes the resulting flux to act towards the equilibrium. -In CADET, this approach is denoted by LDF_LIQUID_PHASE, for example in MULTI_COMPONENT_LANGMUIR_LDF_LIQUID_PHASE.

-

In both LDF examples, the original rate constants \(k_a\) and \(k_d\) are replaced by the equilibrium contant \(k_{eq}=\frac{k_a}{k_d}\). -The linear driving force approximations are based on a new kinetic constant, \(k_{kin}\).

-

Note that some isotherms, such as the Freundlich model, don’t have a native representation in the above sense. -LDF versions are availabe for some but not all binding models implemented in CADET.

-
-
-

Reference concentrations

-

Some binding models use reference concentrations \(c_{\text{ref}}\) and \(q_{\text{ref}}\) of the mobile phase modulator (e.g., salt) in the particle liquid and solid phase, respectively. -The reference values are mainly used for normalizing adsorption and desorption rates, but also for other parameters that appear with those concentrations. -They amount to a simple parameter transformation that is exemplified at one equation of the steric mass action binding model

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i}\bar{q}_0^{\nu_i} - k_{d,i} q_i c_{p,0}^{\nu_i}, -\end{aligned}\]
-

where \(c_{p,0}\) denotes the mobile phase salt concentration and

-
-\[\begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j -\end{aligned}\]
-

is the number of available binding sites which is related to the number of bound salt ions. -Using the parameter transformation

-
-\[\begin{split}\begin{aligned} - k_{a,i} &= \tilde{k}_{a,i} q_{\text{ref}}^{-\nu_i}, \\ - k_{d,i} &= \tilde{k}_{d,i} c_{\text{ref}}^{-\nu_i}, -\end{aligned}\end{split}\]
-

we obtain the modified model equation

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = \tilde{k}_{a,i} c_{p,i} \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\nu_i} - \tilde{k}_{d,i} q_i \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i}. -\end{aligned}\]
-

This transformation serves as a (partial) nondimensionalization of the adsorption and desorption rates and, by properly choosing the reference concentrations \(c_{\text{ref}}\) and \(q_{\text{ref}}\), may improve the optimizer performance.

-

Recommended choices for \(c_{\text{ref}}\) are the average or maximum inlet concentration of the mobile phase modifier \(c_0\), and for \(q_{\text{ref}}\) the ionic capacity \(\Lambda\). -Note that setting the reference concentrations to \(1.0\) each results in the original binding model.

-
-
-

Dependence on external function

-

A binding model may depend on an external function or profile \(T\colon \left[ 0, T_{\text{end}}\right] \times [0, L] \to \mathbb{R}\), where \(L\) denotes the physical length of the unit operation, or \(T\colon \left[0, T_{\text{end}}\right] \to \mathbb{R}\) if the unit operation model has no axial length. -By using an external profile, it is possible to account for effects that are not directly modeled in CADET (e.g., temperature). -The dependence of each parameter is modeled by a polynomial of third degree. For example, the adsorption rate \(k_a\) is really given by

-
-\[\begin{aligned} - k_a(T) &= k_{a,3} T^3 + k_{a,2} T^2 + k_{a,1} T + k_{a,0}. -\end{aligned}\]
-

While \(k_{a,0}\) is set by the original parameter XXX_KA of the file format (XXX being a placeholder for the binding model), the parameters \(k_{a,3}\), \(k_{a,2}\), and \(k_{a,1}\) are given by XXX_KA_TTT, XXX_KA_TT, and XXX_KA_T, respectively. -The identifier of the externally dependent binding model is constructed from the original identifier by prepending EXT_ (e.g., MULTI_COMPONENT_LANGMUIR is changed into EXT_MULTI_COMPONENT_LANGMUIR). -This pattern applies to all parameters and supporting binding models (see Table 3). -Note that the parameter units have to be adapted to the unit of the external profile by dividing with an appropriate power.

-

Each parameter of the externally dependent binding model can depend on a different external source. -The 0-based indices of the external source for each parameter is given in the dataset EXTFUN. -By assigning only one index to EXTFUN, all parameters use the same source. -The ordering of the parameters in EXTFUN is given by the ordering in the file format specification in Section Binding models.

-
-
-

Binding model feature matrix

-

A short comparison of the most prominent binding model features is given in Table 3. -The implemented binding models can be divided into two main classes: Single-state and multi-state binding. -While single-state models only have one bound state per component (or less), multi-state models provide multiple (possibly different) bound states for each component, which may correspond to different binding orientations or binding site types. -The models also differ in whether a mobile phase modifier (e.g., salt) is supported to modulate the binding behavior.

- - ------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 3 Supported features of the different binding models

Binding model

Competitive

Mobile phase modifier

External function

Multi-state

Linear

×

×

×

Multi Component Langmuir

×

×

Multi Component Langmuir LDF

×

×

Multi Component Langmuir LDF Liquid Phase

×

×

Mobile Phase Modulator Langmuir

×

Extended Mobile Phase Modulator Langmuir

×

Multi Component Bi-Langmuir

×

Multi Component Bi-Langmuir LDF

×

Multi Component Anti-Langmuir

×

×

Multi Component Spreading

×

Steric Mass Action

×

Multi-State Steric Mass Action

Simplified Multi-State Steric Mass Action

×

Bi Steric Mass Action

Generalized Ion Exchange

×

Saska

×

×

×

Self Association

×

Freundlich LDF

×

×

×

HIC Water on Hydrophobic Surfaces

x

x

HIC Constant Water Activity

x

x

-
-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/linear.html b/modelling/binding/linear.html deleted file mode 100644 index 442aa0fe5..000000000 --- a/modelling/binding/linear.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - Linear — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Linear

-

A linear binding model, which is often employed for low concentrations or in analytic settings [3].

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i} - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Linear.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/mobile_phase_modulator_langmuir.html b/modelling/binding/mobile_phase_modulator_langmuir.html deleted file mode 100644 index 0c521a61a..000000000 --- a/modelling/binding/mobile_phase_modulator_langmuir.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - Mobile Phase Modulator Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Mobile Phase Modulator Langmuir

-

This model is a modified Langmuir model (see Section Multi Component Langmuir) which can be used to describe hydrophobic interaction chromatography [15, 16]. -A modulator component (termed “salt”, \(c_{p,0}\) and \(q_0\)) influences ad- and desorption processes:

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} e^{\gamma_i c_{p,0}} c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=1}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} \: c_{p,0}^{\beta_i} \: q_i && i = 1, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

where \(c_{p,0}\) and \(q_0\) denote the salt concentrations in the liquid and solid phase of the beads respectively. -Salt is considered to be inert, therefore either

-
-\[\begin{aligned} - \frac{\mathrm{d} q_0}{\mathrm{d} t} = 0 -\end{aligned}\]
-

is used if salt has one bound state, or salt can be used without a bound state. -The parameter \(\gamma\) describes the hydrophobicity and \(\beta\) the ion-exchange characteristics.

-

For more information on model parameters required to define in CADET file format, see Mobile Phase Modulator Langmuir.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_anti_langmuir.html b/modelling/binding/multi_component_anti_langmuir.html deleted file mode 100644 index 94fd42be7..000000000 --- a/modelling/binding/multi_component_anti_langmuir.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - Multi Component Anti-Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Anti-Langmuir

-

The Anti-Langmuir (or generalized Langmuir) binding model extends the Langmuir model (see Section Multi Component Langmuir). -The factor \(p_j \in \{ -1, 1 \}\) determines the shape of the isotherm. -For \(p_j = 1\) (standard Langmuir) the chromatograms have sharp fronts and a dispersed tail (isotherm is concave). -In case of the Anti-Langmuir (\(p_j = -1\)) it is the other way around (isotherm is convex).

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i} q_{\text{max},i} \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} p_j \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Anti-Langmuir.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_bi_langmuir.html b/modelling/binding/multi_component_bi_langmuir.html deleted file mode 100644 index bb8dd1239..000000000 --- a/modelling/binding/multi_component_bi_langmuir.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - Multi Component Bi-Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Bi-Langmuir

-

The multi component Bi-Langmuir model [3] adds \(M - 1\) additional types of binding sites \(q_{i,j}\) (\(0 \leq j \leq M - 1\)) to the Langmuir model (see Section Multi Component Langmuir) without allowing an exchange between the different sites \(q_{i,j}\) and \(q_{i,k}\) (\(k \neq j\)). -Therefore, there are no competitivity effects between the different types of binding sites and they have independent capacities.

-
-\[\begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} &= k_{a,i}^{(j)}\: c_{p,i}\: q_{\text{max},i}^{(j)} \left( 1 - \sum_{k=0}^{N_{\text{comp}} - 1} \frac{q_{k,j}}{q_{\text{max},k}^{(j)}}\right) - k_{d,i}^{(j)} q_{i,j} & i = 0, \dots, N_{\text{comp}} - 1, \: j = 0, \dots, M - 1.% (0 \leq i \leq N_{\text{comp}} - 1, \: 0 \leq j \leq M - 1). -\end{aligned}\]
-

Note that all binding components must have exactly the same number of binding site types \(M \geq 1\). -See the Section Multi Component Langmuir.

-

Originally, the Bi-Langmuir model is limited to two different binding site types. -Here, the model has been extended to arbitrary many binding site types.

-

For more information on model parameters required to define in CADET file format, see Multi Component Bi-Langmuir.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_bi_langmuir_ldf.html b/modelling/binding/multi_component_bi_langmuir_ldf.html deleted file mode 100644 index 075ca95e9..000000000 --- a/modelling/binding/multi_component_bi_langmuir_ldf.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - Multi Component Bi-Langmuir LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Bi-Langmuir LDF

-

This a linear driving force model variant of the Multi Component Bi-Langmuir model. -It is based on the equilibrium concentration \(q^*\) for a given liquid phase concentration \(c\) (see also Linear Driving Force (LDF)).

-
-\[\begin{aligned} - q_{i,j}^*=\frac{q_{m,i,j} k_{eq,i,j} c_i}{1 + \sum_{k=1}^{N_{comp}}{k_{eq,k,j} c_k}} && i = 0, \dots, N_{\text{comp}} - 1, \: j = 0, \dots, M - 1.% (0 \leq i \leq N_{\text{comp}} - 1, \: 0 \leq j \leq M - 1). -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Bi-Langmuir LDF.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_langmuir.html b/modelling/binding/multi_component_langmuir.html deleted file mode 100644 index f5adb7521..000000000 --- a/modelling/binding/multi_component_langmuir.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - Multi Component Langmuir — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir

-

The Langmuir binding model includes a saturation term and takes into account the capacity of the resin [3, 17]. -All components compete for the same binding sites.

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i}\: c_{p,i}\: q_{\text{max},i} \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j}{q_{\text{max},j}} \right) - k_{d,i} q_i && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Langmuir.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_langmuir_ldf.html b/modelling/binding/multi_component_langmuir_ldf.html deleted file mode 100644 index 1da4bbe3d..000000000 --- a/modelling/binding/multi_component_langmuir_ldf.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - Multi Component Langmuir LDF — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir LDF

-

This a linear driving force model variant of the Multi Component Langmuir model. -It is based on the equilibrium concentration \(q^*\) for a given liquid phase concentration \(c\) (see also Linear Driving Force (LDF)).

-
-\[\begin{aligned} - q_i^*=\frac{q_{m,i} k_{eq,i} c_i}{1 + \sum_{j=1}^{n_{comp}}{k_{eq,j} c_j}} && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Langmuir LDF.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_langmuir_ldf_liquid_phase.html b/modelling/binding/multi_component_langmuir_ldf_liquid_phase.html deleted file mode 100644 index 0f39b72e2..000000000 --- a/modelling/binding/multi_component_langmuir_ldf_liquid_phase.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - Multi Component Langmuir LDF Liquid Phase — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Langmuir LDF Liquid Phase

-

This a linear driving force model variant of the Multi Component Langmuir model. -It is based on the equilibrium concentration \(c^*\) for a given solid phase concentration \(q\) (see also Linear Driving Force (LDF)).

-
-\[\begin{aligned} - c_i^*=\frac{q_{i}}{k_{eq,i} q_{m,i} \left(1 - \sum_{j=1}^{N_{\text{comp}}} \frac{q_j}{q_{m,j}}\right) } && i = 0, \dots, N_{\text{comp}} - 1. -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Langmuir LDF Liquid Phase.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_component_spreading.html b/modelling/binding/multi_component_spreading.html deleted file mode 100644 index 53fa37f80..000000000 --- a/modelling/binding/multi_component_spreading.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - Multi Component Spreading — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi Component Spreading

-

The multi component spreading model adds a second bound state \(q_{i,2}\) to the Langmuir model (see Section Multi Component Langmuir) and allows the exchange between the two bound states \(q_{i,1}\) and \(q_{i,2}\). -In the spreading model a second state of the bound molecule (e.g., a different orientation on the surface or a different folding state) is added. -The exchange of molecules between the two states is allowed and, since the molecules can potentially bind in both states at the same binding site, competitivity effects are present. -This is different to the Bi-Langmuir model in which another type of binding sites is added and no exchange between the different bound states is considered (see Section Multi Component Bi-Langmuir). -For all components \(i = 0, \dots, N_{\text{comp}} - 1\) the equations are given by

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d} q_{i,1}}{\mathrm{d} t} &= \left( k_a^A\: c_{p,i} - k_{12} q_{i,1} \right) q_{\text{max},i}^A \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^A}{q_{\text{max},j}^A} - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^B}{q_{\text{max},j}^B} \right) - k_d^A q_{i,1} + k_{21} q_{i,2}, \\ - \frac{\mathrm{d} q_{i,2}}{\mathrm{d} t} &= \left( k_a^B\: c_{p,i} + k_{12} q_{i,1} \right) q_{\text{max},i}^A \left( 1 - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^A}{q_{\text{max},j}^A} - \sum_{j=0}^{N_{\text{comp}} - 1} \frac{q_j^B}{q_{\text{max},j}^B} \right) - \left( k_d^B + k_{21} \right) q_{i,2}. -\end{aligned}\end{split}\]
-

For more information on model parameters required to define in CADET file format, see Multi Component Spreading.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/multi_state_steric_mass_action.html b/modelling/binding/multi_state_steric_mass_action.html deleted file mode 100644 index d5e2f7a5b..000000000 --- a/modelling/binding/multi_state_steric_mass_action.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - - Multi-State Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Multi-State Steric Mass Action

-

The multi-state steric mass action model adds \(M_i-1\) additional bound states \(q_{i,j}\) (\(j = 0, \dots, M_i - 1\)) for each component \(i\) to the steric mass action model (see Section Steric Mass Action) and allows the exchange between the different bound states \(q_{i,0}, \dots, q_{i,M-1}\) of each component. -In the multi-state SMA model a variable number of states of the bound molecule (e.g., different orientations on the surface, binding strength of tentacle adsorbers) is added which are more and more strongly bound, i.e.,

-
-\[\begin{aligned} - \nu_{i,j} \leq \nu_{i,j+1} \qquad i = 1, \dots, N_{\text{comp}} - 1, \quad j = 0,\dots, M_i - 1. -\end{aligned}\]
-

The exchange between the different states of each component is allowed and, since the molecules can potentially bind in all states at the same binding site, competitive effects are present.

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d} q_{i,j}}{\mathrm{d} t} =& \phantom{+} k_{a,i}^{(j)} c_{p,i} \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\nu_{i,j}} - k_{d,i}^{(j)}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_{i,j}} \\ - &- \sum_{\ell = 0}^{j-1} \underbrace{k^{(i)}_{j\ell}\: q_{i,j}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\left(\nu_{i,j} - \nu_{i,\ell}\right)}}_{\text{to weak state}} - \sum_{\ell = j+1}^{M_i - 1} \underbrace{k^{(i)}_{j\ell}\: q_{i,j}\: \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\left(\nu_{i,\ell} - \nu_{i,j}\right)}}_{\text{to strong state}} \\ - &+ \sum_{\ell = 0}^{j-1} \underbrace{k^{(i)}_{\ell j}\: q_{i,\ell}\: \left(\frac{\bar{q}_0}{q_{\text{ref}}}\right)^{\left(\nu_{i,j} - \nu_{i,\ell}\right)}}_{\text{from weak state}} + \sum_{\ell = j+1}^{M_i - 1} \underbrace{k^{(i)}_{\ell j}\: q_{i,\ell}\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\left(\nu_{i,\ell} - \nu_{i,j}\right)}}_{\text{from strong state}} & \begin{aligned} - i &= 1, \dots, N_{\text{comp}} - 1, \\ j &= 0, \dots, M_i - 1, \end{aligned} -\end{aligned}\end{split}\]
-

where \(c_{p,0}\) and \(q_0\) denote the salt concentrations in the liquid and solid phase of the beads respectively. -The number of available salt ions \(\bar{q}_0\) is given by

-
-\[\begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \sum_{\ell=0}^{M_j - 1} \left( \nu_{j,\ell} + \sigma_{j,\ell} \right) q_{j,\ell}. -\end{aligned}\]
-

A neutrality condition compensating for the missing equation for \(\frac{\mathrm{d} q_0}{\mathrm{d}t}\) is required:

-
-\[\begin{aligned} - q_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \sum_{\ell=0}^{M_j - 1} \nu_{j,\ell} q_{j,\ell}. -\end{aligned}\]
-

The concept of reference concentrations (\(c_{\text{ref}}\) and \(q_{\text{ref}}\)) is explained in the respective paragraph in Section Reference concentrations.

-

For more information on model parameters required to define in CADET file format, see Multi-State Steric Mass Action.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/saska.html b/modelling/binding/saska.html deleted file mode 100644 index d1daf4d21..000000000 --- a/modelling/binding/saska.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - Saska — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Saska

-

In this binding model an additional quadratic term is added to the linear model [18]. -The quadratic term allows to take interactions of liquid phase components into account.

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = H_i c_{p,i} + \sum_{j=0}^{N_{\text{comp}} - 1} k_{ij} c_{p,i} c_{p,j} - q_i && i = 0, \dots, N_{\text{comp}} - 1 -\end{aligned}\]
-

For more information on model parameters required to define in CADET file format, see Saska.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/self_association.html b/modelling/binding/self_association.html deleted file mode 100644 index dc3aa0ab6..000000000 --- a/modelling/binding/self_association.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - Self Association — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Self Association

-

This binding model is similar to the steric mass action model (see Section Steric Mass Action) but is also capable of describing dimerization [12, 19]. -The dimerization, which is the immobilization of protein at some already bound protein, is also termed “self-association”. -It is modeled by adding a quadratic (in \(c_{p,i}\)) term to the adsorption part of the equation.

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} &= c_{p,i}\left( \frac{\bar{q}_0}{q_{\text{ref}}} \right)^{\nu_i} \left[ k_{a,i,1} + k_{a,i,2} c_{p,i} \right] - k_{d,i}\: q_i\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i} && i = 1, \dots, N_{\text{comp}} - 1, \\ - q_0 &= \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \nu_j q_j, -\end{aligned}\end{split}\]
-

where the number of available binding sites is given by

-
-\[\begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j = q_0 - \sum_{j=1}^{N_{\text{comp}} - 1} \sigma_j q_j. -\end{aligned}\]
-

The concept of reference concentrations (\(c_{\text{ref}}\) and \(q_{\text{ref}}\)) is explained in the respective paragraph in Section Reference concentrations.

-

For more information on model parameters required to define in CADET file format, see Self Association.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/simplified_multi_state_steric_mass_action.html b/modelling/binding/simplified_multi_state_steric_mass_action.html deleted file mode 100644 index 174460f96..000000000 --- a/modelling/binding/simplified_multi_state_steric_mass_action.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - Simplified Multi-State Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Simplified Multi-State Steric Mass Action

-

The simplified multi-state steric mass action is the same as the multi-state SMA model described above (see Section Multi-State Steric Mass Action), but with additional assumptions:

-
    -
  • Molecules are only exchanged between two adjacent states, that is, no transfer from state \(q_{i,1}\) to state \(q_{i,3}\) is allowed.

  • -
  • Characteristic charge \(\nu_{i,j}\) and shielding factor \(\sigma_{i,j}\) only depend on the index of the state \(j\).

  • -
-

Thus, the exchange parameters \(k^{(i)}_{j\ell}\), the characteristic charge \(\nu_{i,j}\), and the shielding \(\sigma_{i,j}\) can be parameterized with few degrees of freedom. -For all \(i = 1,\dots,N_{\text{comp}} - 1\) and \(j,\ell = 0,\dots,M_i - 1\) let

-
-\[\begin{split}\begin{aligned} - k^{(i)}_{j\ell} &= \begin{cases} - 0, & \text{for } \left\lvert j-\ell\right\rvert \neq 1 \\ - K^{(i)}_{ws} + j K^{(i)}_{ws,\text{lin}} - K^{(i)}_{ws,\text{quad}} j(j - M_i+2), & \text{for } \ell = j+1 \\ - K^{(i)}_{sw} + \ell K^{(i)}_{sw,\text{lin}} - K^{(i)}_{sw,\text{quad}} \ell(\ell - M_i+2), & \text{for } \ell = j-1, \end{cases}\\ - \nu_{i,j} &= \nu_{\text{min},i} + \frac{j}{M_i-1} \left( \nu_{\text{max},i} - \nu_{\text{min},i} \right) - \nu_{\text{quad},i} j (j-M_i+1), \\ - \sigma_{i,j} &= \sigma_{\text{min},i} + \frac{j}{M_i-1} \left( \sigma_{\text{max},i} - \sigma_{\text{min},i} \right) - \sigma_{\text{quad},i} j (j-M_i+1). -\end{aligned}\end{split}\]
-

Note that the characteristic charge \(\nu_{i,j}\) has to be monotonically non-decreasing in the second index \(j\) and all other rates and the steric factor \(\sigma_{i,j}\) have to be non-negative.

-

For more information on model parameters required to define in CADET file format, see Simplified Multi-State Steric Mass Action.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/binding/steric_mass_action.html b/modelling/binding/steric_mass_action.html deleted file mode 100644 index 10874fc3c..000000000 --- a/modelling/binding/steric_mass_action.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - Steric Mass Action — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Steric Mass Action

-

The steric mass action model takes charges of the molecules into account [20] and is, thus, often used in ion-exchange chromatography. -Each component has a characteristic charge \(\nu\) that determines the number of available binding sites \(\Lambda\) (ionic capacity) used up by a molecule. -Due to the molecule’s shape, some additional binding sites (steric shielding factor \(\sigma\)) may be shielded from other molecules and are not available for binding.

-
-\[\begin{aligned} - \frac{\mathrm{d} q_i}{\mathrm{d} t} = k_{a,i} c_{p,i}\left( \frac{\bar{q}_0 }{q_{\text{ref}}} \right)^{\nu_i} - k_{d,i}\: q_i\: \left(\frac{c_{p,0}}{c_{\text{ref}}}\right)^{\nu_i} && i = 1, \dots, N_{\text{comp}} - 1, -\end{aligned}\]
-

where \(c_{p,0}\) and \(q_0\) denote the salt concentrations in the liquid and solid phase of the beads, respectively. -The number of free binding sites

-
-\[\begin{aligned} - \bar{q}_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \left( \nu_j + \sigma_j \right) q_j = q_0 - \sum_{j=1}^{N_{\text{comp}} - 1} \sigma_j q_j -\end{aligned}\]
-

is calculated from the number of bound counter ions \(q_0\) by taking steric shielding into account. -In turn, the number of bound counter ions \(q_0\) (electro-neutrality condition) is given by

-
-\[\begin{aligned} - q_0 = \Lambda - \sum_{j=1}^{N_{\text{comp}} - 1} \nu_j q_j, -\end{aligned}\]
-

which also compensates for the missing equation for \(\frac{\mathrm{d} q_0}{\mathrm{d}t}\).

-

The concept of reference concentrations (\(c_{\text{ref}}\) and \(q_{\text{ref}}\)) is explained in the respective paragraph in Section Reference concentrations.

-

For more information on model parameters required to define in CADET file format, see Steric Mass Action.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/index.html b/modelling/index.html deleted file mode 100644 index 4fab234aa..000000000 --- a/modelling/index.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - Modelling — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Modelling

-

This section gives complete information about the supported unit operations, binding and reaction models, and creating a network among all the unit operations in CADET. For details on file format specifications related to define each unit operation in CADET, see section Interface specifications.

- -
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/networks.html b/modelling/networks.html deleted file mode 100644 index 48da663ff..000000000 --- a/modelling/networks.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - Networks of unit operations — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Networks of unit operations

-

Unit operation models can be composed into a network or graph, in which a node represents a unit operation and an edge denotes a connection between two unit operations. -When utilized to full extent, this allows the simulation of complicated setups and processes (e.g., SMB, MCSGP). -A more simple use case is the addition of plug flows and stirred tanks up- and downstream of a column in order to account for dead volume and additional dispersion from the tubing.

-

In a network, outlet ports of unit operations can be connected to any number of inlet ports of unit operations. -Even direct cycles, where an outlet port of a unit operation is connected to its own inlet, are possible. -A unit operation does not have to possess both inlet and outlet, but it has to have at least one of them. -Pseudo unit operations such as inlet and outlet serve as sources and sinks for the network. -However, the latter is not strictly required as any terminal node (i.e., a unit operation that possesses an outlet but does not have an outgoing connection) serves as a sink.

-

Each connection between two unit operation ports (i.e., an edge in the graph) is equipped with a volumetric flow rate that determines the mass flow from source to target port. -These flow rates are used to determine the weight of the different incoming feeds at a unit operation’s inlet port. -Some unit operations can infer their internal flow rate (e.g., interstitial velocity) from their total incoming volumetric flow rate. -In general, the mass balance at a unit operation has to be closed, except for unit operations that act as source or sink in the network and variable volume units (e.g., stirred tanks).

-

The network of unit operations uses “connection”-variables \(c_{\text{con}}\) to connect the different unit operation ports with each other. -The inlet port variables \(c_{\text{in},n,k}\) of unit operation \(n\) are attached to \(c_{\text{con},n}\) via

-
-(17)\[\begin{aligned} - c_{\text{in},n,k,i} &= c_{\text{con},n,k,i}, \qquad k = 1, \dots, N_{\text{port},\text{in},n},\quad i = 1, \dots, N_{\text{comp},n}. -\end{aligned}\]
-

While \(N_{\text{port},\text{in},n}\) denotes the number of inlet ports of unit operation \(n\), the number of outlet ports is given by \(N_{\text{port},\text{out},n}\). -The connection variables \(c_{\text{con},n,k,i}\) collect all inflows of component \(i\) into port \(k\) of unit operation \(n\):

-
-(18)\[\begin{aligned} - c_{\text{con},n,k,i} &= \frac{\sum_{m=1}^{N_{\text{units}}} \sum_{\ell = 1}^{N_{\text{port},\text{out},n}} \sum_{j = 1}^{N_{\text{comp},m}} S_{(n,k,i),(m,\ell,j)} Q_{m,\ell} c_{\text{out},m,\ell,j}}{\sum_{m=1}^{N_{\text{units}}} \sum_{\ell=1}^{N_{\text{port},\text{out},m}} \hat{S}_{(n,k),(m,\ell)} Q_{m,\ell} }, -\end{aligned}\]
-

where \(F_{m,\ell}\) denotes the volumetric flow rate from outlet port \(\ell\) of unit operation \(m\), \(S_{(n,k,i),(m,\ell,j)} \in \{0, 1\}\) is a connection matrix indicating whether component \(i\) at outlet port \(k\) of unit operation \(n\) is connected to component \(j\) at inlet port \(\ell\) of unit operation \(m\), and \(\hat{S}_{(n,k),(m,\ell)} \in \{0, 1\}\) is another connection matrix indicating whether outlet port \(k\) of unit operation \(n\) is connected to inlet port \(\ell\) of unit operation \(m\), that is

-
-\[\begin{split}\begin{aligned} - \hat{S}_{(n,k),(m,\ell)} = \begin{cases} - 1 & \text{if } \sum_{i = 1}^{N_{\text{comp},n}} \sum_{j = 1}^{N_{\text{comp},m}} S_{(n,k,i),(m,\ell,j)} \geq 1, \\ - 0 & \text{otherwise}. \end{cases} -\end{aligned}\end{split}\]
-

Note that for each unit operation the number of inlet ports may be different from the number of outlet ports. -Hence, the mass balance of a single unit operation is taken with respect to all its ports combined.

-
-

Specification of network connections

-

The connections between the different unit operations in the network are specified by a table. -There are two table formats:

-
    -
  • The long format includes seven columns. -The first two columns specify source and destination unit operation id. -The next two columns give source and destination port indices. -Source and destination component indices are given by the following two columns. -Finally, the seventh column specifies the volumetric flow rate of this connection (see Group /input/model/connections/switch_XXX).

  • -
  • The short format includes five columns. -The first two columns specify source and destination unit operation id. -Source and destination component indices are given by the following two columns. -Finally, the fifth column specifies the volumetric flow rate of this connection. -Here, the omitted port indices default to \(-1\), which connects all ports of the source unit operation to the corresponding ports of the target.

  • -
-

By default, the short format is used (i.e., a table with five columns is expected). -However, if a unit operation with multiple ports is present, a table with seven columns is required. -The default format can be overruled by setting a field.

-

With this setup, it is possible to connect single components of unit operations with each other yielding a maximum in flexibility. -However, the predominant case is to connect all components of the source unit operations with their respective counterparts in the destination unit. -This can easily be done by setting both component indices to \(-1\) instead of writing a separate row for each component of the connection. -The same setting (i.e., setting both port indices to \(-1\)) can be used to connect all ports of one unit operation with all corresponding ports of another one.

-

Note that in case of multiple rows for one connection between two unit operation ports (e.g., in case of separate component connections) the flow rate of the first row of that connection is used and all following flow rates are ignored. -Consequently, there can only be one flow rate for a connection between two unit operations regardless of which components are connected.

-

The connection table is expected in row-major storage format (i.e., the rows are appended to one long array).

-
-
-

Valve switches

-

The connectivity of the network can only change on a discontinuous section transition. -Such a transition with changing connectivity is referred to as valve switch and the connectivity itself as valve configuration.

-

A list of valve configurations with at least one entry is required. -Each valve configuration consists of a network connectivity table as described in Section Specification of network connections and a section index. -The latter denotes the section in which the connectivity table becomes active. -Hence, the one required (i.e., the first) entry must have a section index of \(0\) denoting the initial connectivity.

-

Note that the section index has to be monotonically increasing throughout the list of valve configurations. -See Tables Group /input/model/connections and Group /input/model/connections/switch_XXX.

-
-
-

Dynamic flow rates

-

The volumetric flow rates may vary over time while the valve configuration is active. -The rates are assumed to be cubic polynomials,

-
-\[Q = Q_0 + Q_1(t - t_s) + Q_2(t-t_s)^2 + Q_3(t-t_s)^3,\]
-

where \(t_s\) is the beginning of the time section that triggers the valve switch.

-

Note that the denominator in Eq. 18 must always be positive. -That is, the flow rate coefficients have to be chosen such that the flow into every connected inlet port is strictly positive at all times.

-
-
-

Solution of the linear systems

-

Each time step in the simulation requires the solution of a nonlinear system Eq. 19 (see Sec. Time stepping). -The nonlinear problem is solved by a Newton iteration, which, in turn, requires the solution of a linear system that essentially consists of the Jacobians of the unit operations and some coupling matrices from Eqs. 17 and 18.

-

These linear systems are either solved in parallel or sequentially. The parallel method first solves each unit operation (in parallel) to compute the solution at its outlet. -Using these values, the inlets are adjusted and the unit operations are solved again. -This is iterated until the system is fully solved.

-

In contrast, the sequential method first determines an ordering of the unit operations such that each unit only receives inflow from the previous units in the ordering. -Such an ordering requires an acyclic graph of unit operations. -Finally, the linear system is solved by solving the unit operations in the ordering determined above. -Before a unit is solved, its inlet is calculated from the outlets of the previously solved units. -This means, the system is solved from system inlets to system outlets.

-

The parallel method works regardless of the network topology (i.e., cycles in the graph), but requires to solve each unit operation at least twice. -The sequential method solvs each unit exactly once, but is restricted to acyclic networks and works best for small graphs. -By default, CADET uses a heuristic to select an appropriate solution method. -This default can be overridden by a flag (see Table Group /input/model/solver).

-

The solution method is selected for each valve switch individually. -If some network configurations contain cycles, the parallel method is chosen for them regardless of the method used for the other configurations.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/reactions.html b/modelling/reactions.html deleted file mode 100644 index 8ea039505..000000000 --- a/modelling/reactions.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - - Reaction models — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Reaction models

-

Reaction models describe the (net) fluxes \(f_{\mathrm{react}}\) of a -reaction mechanism. The most common mechanism is the mass action law.

-
-

Mass action law

-

The mass action law reaction model is suitable for most reactions. -Note that the concentrations are directly used for calculating the fluxes. -Hence, the model only holds for dilute solutions under the assumption of a well-stirred reaction vessel. -These assumptions can be weakened by passing to the generalized mass action law, which uses chemical activities instead of concentrations.

-

The mass action law states that the speed of a reaction is proportional to the product of the concentrations of their reactants. -The net flux for component \(i\) is given by

-
-\[\begin{split}\begin{aligned} - f_{\mathrm{react},i}^l\left(c^l\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^l \varphi^l_j\left(c^l\right), \\ - \varphi^l_j(c^l) &= k^l_{\mathrm{fwd},j} \prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^l_{\ell}\right)^{e^l_{\mathrm{fwd},\ell,j}} - k^l_{\mathrm{bwd},j} \prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^l_{\ell}\right)^{e^l_{\mathrm{bwd},\ell,j}}, -\end{aligned}\end{split}\]
-

where \(S^l = (s^l_{i,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}\) is the stoichiometric matrix, \(\varphi^l_j(c)\) is the net flux of reaction \(j\), and \(k^l_{\mathrm{fwd},j}\) and \(k^l_{\mathrm{bwd},j}\) are the rate constants. -The matrices \(E^l_{\mathrm{fwd}} = (e^l_{\mathrm{fwd},\ell,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}\) and \(E^l_{\mathrm{bwd}} = (e^l_{\mathrm{bwd},\ell,j}) \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}\) are usually derived by the order of the reaction, that is,

-
-(16)\[\begin{split}\begin{aligned} - e^l_{\mathrm{fwd},\ell,j} &= \max(0, -s^l_{\ell,j}), \\ - e^l_{\mathrm{bwd},\ell,j} &= \max(0, s^l_{\ell,j}). -\end{aligned}\end{split}\]
-

However, these defaults can be changed by providing those matrices.

-

In situations where both liquid and solid phase are present (e.g., in a bead), the respective other phase may act as a modifier in the net flux equation. -For example, consider reactions in the liquid phase of a particle given by

-
-\[\begin{aligned} - f_{\mathrm{react},i}^p\left(c^p, c^s\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^p \varphi^p_j\left(c^p, c^s\right),\end{aligned}\]
-

where

-
-\[\begin{split}\begin{split} - \varphi^p_j(c^p, c^s) = k^p_{\mathrm{fwd},j} &\left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^p_{\mathrm{fwd},\ell,j}}\right] \left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{ps}_{\mathrm{fwd},m,j}}\right] \\ - - k^p_{\mathrm{bwd},j} &\left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^p_{\mathrm{bwd},\ell,j}}\right] \left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{ps}_{\mathrm{bwd},m,j}}\right]. -\end{split}\end{split}\]
-

The forward and backward rates of the liquid phase particle reactions can be modified by a power of every bound state in the solid phase of the particle. -The exponents of these powers are given by the matrices \(E^{ps}_{\mathrm{fwd}} = (e^{ps}_{\mathrm{fwd},m,j})\) and \(E^{ps}_{\mathrm{bwd}} = (e^{ps}_{\mathrm{bwd},m,j})\), which are both of size \((\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}\). -Whereas the exponent matrices \(E^{p}_{\mathrm{fwd}}, E^{p}_{\mathrm{bwd}} \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}\) are initialized based on the stoichiometric matrix \(S^{p} \in \mathbb{R}^{N_{\mathrm{comp}} \times N_{\mathrm{react}}}\), see Eq. 16, the exponent matrices \(E^{ps}_{\mathrm{fwd}}, E^{ps}_{\mathrm{bwd}}\) of the modifier terms default to \(0\).

-

Vice versa, the rates of solid phase reactions can be modified by liquid phase concentrations. -The corresponding exponent matrices \(E^{sp}_{\mathrm{fwd}} = (e^{sp}_{\mathrm{fwd},\ell,j})\) and \(E^{sp}_{\mathrm{bwd}} = (e^{sp}_{\mathrm{bwd},\ell,j})\) are both of size \(N_{\mathrm{comp}} \times N_{\mathrm{react}}\).

-
-\[\begin{aligned} - f_{\mathrm{react},i}^s\left(c^s, c^p\right) &= \sum_{j=0}^{N_{\mathrm{react}}-1} s_{i,j}^s \varphi^s_j\left(c^s, c^p\right), -\end{aligned}\]
-

where

-
-\[\begin{split}\begin{split} - \varphi^s_j(c^s, c^p) = k^s_{\mathrm{fwd},j} &\left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{s}_{\mathrm{fwd},m,j}}\right] \left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^{sp}_{\mathrm{fwd},\ell,j}}\right] \\ - - k^p_{\mathrm{bwd},j} &\left[\prod_{m=0}^{\sum_{i=0}^{N_{\mathrm{comp}}-1} N_{\mathrm{bnd},i}-1} \left(c^s_{m}\right)^{e^{s}_{\mathrm{bwd},m,j}}\right] \left[\prod_{\ell=0}^{N_{\mathrm{comp}}-1} \left(c^p_{\ell}\right)^{e^{sp}_{\mathrm{bwd},\ell,j}}\right]. -\end{split}\end{split}\]
-

Whereas the exponent matrices \(E^{s}_{\mathrm{fwd}}, E^{s}_{\mathrm{bwd}} \in \mathbb{R}^{(\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}}\) are initialized based on the stoichiometric matrix \(S^{s} \in \mathbb{R}^{(\sum_i N_{\mathrm{bnd},i}) \times N_{\mathrm{react}}}\), see Eq. 16, the exponent matrices \(E^{sp}_{\mathrm{fwd}}, E^{sp}_{\mathrm{bwd}}\) of the modifier terms default to \(0\).

-
-
-

Correlation of forward- and backward rate constants

-

Note that forward rate constant \(k_{\mathrm{fwd},i}\) and backward -rate constant \(k_{\mathrm{bwd},i}\) of reaction \(i\) are -linearly correlated due to the form of the equilibrium constant -\(k_{\mathrm{eq},i}\):

-
-\[\begin{aligned} - k_{\mathrm{fwd},i} = k_{\mathrm{eq},i} k_{\mathrm{bwd},i}. -\end{aligned}\]
-

This correlation can potentially degrade performance of some optimization algorithms. -The parameters can be decoupled by reparameterization:

-
-\[\begin{split}\begin{aligned} - r_{\mathrm{net},i} &= k_{\mathrm{fwd},i} f_{\mathrm{fwd},i} - k_{\mathrm{bwd},i} f_{\mathrm{bwd},i}\\ - &= k_{\mathrm{bwd},i} \left[ k_{\mathrm{eq},i} f_{\mathrm{fwd},i} - f_{\mathrm{bwd},i} \right] \\ - &= k_{\mathrm{fwd},i} \left[ f_{\mathrm{fwd},i} - \frac{1}{k_{\mathrm{eq},i}} f_{\mathrm{bwd},i} \right]. -\end{aligned}\end{split}\]
-

This can be achieved by a (nonlinear) parameter transform

-
-\[\begin{split}\begin{aligned} - F\left( k_{\mathrm{eq},i}, k_{\mathrm{bwd},i} \right) &= \begin{pmatrix} k_{\mathrm{eq},i} k_{\mathrm{bwd},i} \\ k_{\mathrm{bwd},i} \end{pmatrix} \\ - \text{ with Jacobian } J_F\left( k_{\mathrm{eq},i}, k_{\mathrm{bwd},i} \right) &= \begin{pmatrix} k_{\mathrm{bwd},i} & k_{\mathrm{eq},i} \\ 0 & 1 \end{pmatrix}. -\end{aligned}\end{split}\]
-
-
-

Dependence on external function

-

A reaction model may depend on an external function or profile \(T\colon \left[ 0, T_{\mathrm{end}}\right] \times [0, L] \to \mathbb{R}\), where \(L\) denotes the physical length of the unit operation, or \(T\colon \left[0, T_{\mathrm{end}}\right] \to \mathbb{R}\) if the unit operation model has no axial length. -By using an external profile, it is possible to account for effects that are not directly modeled in CADET (e.g., temperature). -The dependence of each parameter is modeled by a polynomial of third degree. -For example, the forward rate constant \(k_{\mathrm{fwd}}\) is really given by

-
-\[\begin{aligned} - k_{\mathrm{fwd}}(T) &= k_{\mathrm{fwd},3} T^3 + k_{\mathrm{fwd},2} T^2 + k_{\mathrm{fwd},1} T + k_{\mathrm{fwd},0}. -\end{aligned}\]
-

While \(k_{\mathrm{fwd},0}\) is set by the original parameter XXX_KFWD of the file format (XXX being a placeholder for the reaction model), the parameters \(k_{\mathrm{fwd},3}\), \(k_{\mathrm{fwd},2}\), and \(k_{\mathrm{fwd},1}\) are given by XXX_KFWD_TTT, XXX_KFWD_TT, and XXX_KFWD_T, respectively. -The identifier of the externally dependent reaction model is constructed from the original identifier by prepending EXT_ (e.g., MASS_ACTION_LAW is changed into EXT_MASS_ACTION_LAW). -This pattern applies to all parameters and supporting reaction models. -Note that the parameter units have to be adapted to the unit of the external profile by dividing with an appropriate power.

-

Each parameter of the externally dependent reaction model can depend on a different external source. -The 0-based indices of the external source for each parameter is given in the dataset EXTFUN. -By assigning only one index to EXTFUN, all parameters use the same source. -The ordering of the parameters in EXTFUN is given by the ordering in the file format specification in Section Reaction models.

-

The layout of the matrices in the file format is presented in Table Group /input/model/unit_XXX/reaction - REACTION_MODEL = MASS_ACTION_LAW.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/2d_general_rate_model.html b/modelling/unit_operations/2d_general_rate_model.html deleted file mode 100644 index d2c476e78..000000000 --- a/modelling/unit_operations/2d_general_rate_model.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - Two Dimensional General rate model (GRM2D) — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Two Dimensional General rate model (GRM2D)

-

The general rate model as introduced in Section General rate model (GRM) assumes homogeneity in the cross sections of the column. -This allows to consider transport along the axial dimension only. -However, due to packing irregularity and inhomogeneous flow at the inlet (i.e., frits), this assumption may be a crude approximation. -This model can be improved by introducing a radial coordinate \(\rho \in [0, R]\), where \(R\) is the column radius, in the interstitial volume Eq. 1:

-
-(11)\[\begin{split} \varepsilon_c \frac{\partial c^l_i}{\partial t} = &-\varepsilon_c u \frac{\partial c^l_i}{\partial z} + \varepsilon_c D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} + \frac{1}{\rho} \frac{\partial}{\partial \rho} \left( \rho D_{\text{rad},i} \frac{\partial}{\partial \rho} \left( \varepsilon_c c^l_i \right) \right) \\ - &- \left(1 - \varepsilon_c\right) \sum_j d_j \frac{ 3 k_{f,j,i} }{r_{p,j}} \left[ c^l_i - c^p_{j,i}(\cdot, \cdot, \cdot, r_{p,j}) \right] + \varepsilon_c f_{\text{react},i}^l\left(c^l\right).\end{split}\]
-

Here,

-
-
    -
  • \(c^l_i\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \rightarrow \mathbb{R}^{\geq 0}\),

  • -
  • \(c^p_{j,i}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}\), and

  • -
  • \(c^s_{j,i,m_{j,i}}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [0, R] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}\)

  • -
-
-

depend on \(\rho\). -Additionally, the porosity \(\varepsilon_c\), axial dispersion coefficient \(D_{\text{ax},i}\), radial dispersion coefficient \(D_{\text{rad},i}\), and interstitial velocity \(u\) may depend on \(\rho\).

-

The dependence of the parameters on \(\rho\) is not arbitrary. -For simplicity, it is assumed that the parameters are piecewise constant, that is, the range \([0, R]\) is divided into disjoint zones in which all parameters are constant. -These zones are used for radial discretization and can be supplied to the simulator. -Continuous dependence of the parameters can be realized by piecewise constant approximation.

-

The Danckwerts boundary conditions at the column in- and outlet, Eq. 3 and 2, are modified to account for the radial coordinate:

-
-(12)\[\begin{aligned} - u(\rho) c_{\text{in},i}(t,\rho) &= u(\rho) c^l_i(t,0,\rho) - D_{\text{ax},i}(\rho) \frac{\partial c^l_i}{\partial z}(t, 0, \rho) & \forall t > 0, \rho \in (0,R), -\end{aligned}\]
-
-(13)\[\begin{aligned} - \frac{\partial c^l_i}{\partial z}(t, L, \rho) &= 0 & \forall t > 0, \rho \in (0,R). -\end{aligned}\]
-

Conditions for the radial direction are added:

-
-(14)\[\begin{split}\begin{aligned} - \frac{\partial{c^l_i}}{\partial \rho}(\cdot, \cdot, 0) &= 0, \\ -\end{aligned}\end{split}\]
-
-(15)\[ \begin{aligned} - \frac{\partial{c^l_i}}{\partial \rho}(\cdot, \cdot, R) &= 0. - \end{aligned}\]
-

While the inner condition Eq.14 represents symmetry at the column center, the outer condition Eq. 15 is a no-flux condition.

-

Using the inlet boundary condition Eq. 12, each radial zone is equipped with its own inlet and outlet port. -That is, this unit operation has as many inlet and outlet ports as it has radial zones (parameter NRAD in the discretization group). -This allows each radial zone to have its own inlet profile, which enables modeling of flow distribution in the frits by sending the feed through varying hold-up volumes before injecting it into a radial zone.

-
-

Specification of flow rate / velocity and direction

-

Since the column radius \(R\) and the zones \((\rho_k, \rho_{k+1})\), \(k = 0, \dots, N_{\text{rad}} - 1\), are known, the interstitial velocities \(u_k\) are inferred from the volumetric flow rates via

-
-\[\begin{aligned} - u_k = u_{\text{int},k} = \frac{F_{\text{in},k}}{\pi \left( \rho_{k+1}^2 - \rho_k^2 \right) \varepsilon_{c,k}}, -\end{aligned}\]
-

where \(F_{\text{in},k}\) denotes the volumetric flow rate into zone \(k\).

-

The direction of flow inside the radial zone of the unit operation is governed by the sign of the interstitial velocity \(u_k\). -A positive sign results in (standard) forward flow, whereas a negative sign reverses the flow direction. -Note that in case of reversed flow, the chromatogram is returned at the unit operation’s inlet port, which may not be returned from simulation by default.

-

Note that, contrary to the standard general rate model as presented in Section General rate model (GRM), the interstitial flow rate is always given by the volumetric flow rate. -The velocity parameter only determines the flow direction.

-

For information on model parameters see Two dimensional general rate model.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/cstr.html b/modelling/unit_operations/cstr.html deleted file mode 100644 index 82f2b41ef..000000000 --- a/modelling/unit_operations/cstr.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - Continuous stirred tank reactor model (CSTR) — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Continuous stirred tank reactor model (CSTR)

-

The continuous stirred tank reactor model is a basic building block in unit operation networks and often used to model holdup volume. -When combined with a binding model, it can be used to model batch uptake experiments.

-

Assuming that the fluid inside the tank is well-mixed and that the volume can vary, the governing equations are given by

-
-\[\begin{split}\begin{aligned} - \frac{\mathrm{d}}{\mathrm{d}t} \left(\left[ c_i + \frac{1-\varepsilon}{\varepsilon} \sum_j d_j \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} \right] V\right) &= F_{\text{in}} c_{\text{in},i} - F_{\text{out}} c_i + V f_{\text{react},i}^l\left( c \right) \\ -&+ V \frac{1-\varepsilon}{\varepsilon}\sum_j d_j f_{\text{react},j,i}^s\left( c, c_j^s \right), -\end{aligned}\end{split}\]
-

which balances the mass, the binding equation

-
-\[\begin{split}\begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads},j}\left( c, c^s_j\right), \\ - \text{dynamic: }& & \frac{\partial c^s_j}{\partial t} &= f_{\text{ads},j}\left( c, c^s_j\right) + f_{\text{react},j}^s\left( c, c_j^s \right), -\end{aligned}\end{split}\]
-

depending on whether quasi-stationary or dynamic binding is used, and the evolution of volume

-
-\[\begin{aligned} - \frac{\mathrm{d}V}{\mathrm{d}t} &= F_{\text{in}} - F_{\text{out}} - F_{\text{filter}}. -\end{aligned}\]
-

The porosity \(\varepsilon\) denotes the ratio of liquid phase volume to total tank volume. -Thus, setting \(\varepsilon = 1\), removing all bound states by setting \(N_{\text{bnd},j,i} = 0\) for all components \(i\) and particle types \(j\), and applying no binding model results in a simple tank. -The additional parameter \(F_{\text{filter}}\), which denotes the flow rate of pure liquid (without any components) out of the tank, can be used to model a filtering unit.

-

Note that it is the user’s duty to make sure that the volume of the CSTR does not fall below 0. If it does, the simulation may fail to run or may produce unreasonable (e.g., unphysical) results.

-

See Continuous stirred tank reactor model.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/general_rate_model.html b/modelling/unit_operations/general_rate_model.html deleted file mode 100644 index f85cdec47..000000000 --- a/modelling/unit_operations/general_rate_model.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - General rate model (GRM) — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

General rate model (GRM)

-

The general rate model is the most comprehensive model of mass transfer in column liquid chromatography, when only the axial coordinate in the column and the radial coordinate in the beads are considered [1, 2, 3, 4].

-

The main assumptions are:

-
    -
  • The cross sections of the column are homogenous in terms of interstitial volume, fluid flow, and distribution of components. -Thus, only one spatial coordinate in axial direction is needed and radial transport is neglected in the column bulk volume.

  • -
  • The bead radii \(r_{p}\) are much smaller than the column radius \(r_c\) and the column length \(L\). -Therefore, the beads can be seen as continuously distributed inside the column (i.e., at each point there is interstitial and bead volume).

  • -
- - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 2 Variables and unknowns

Variable

Domain

Description

\(i\)

\(\left\{ 0, \dots, N_{\text{comp}} - 1 \right\}\)

Component index

\(j\)

\(\left\{ 0, \dots, N_{\text{partype}} - 1 \right\}\)

Particle type index

\(m_{j,i}\)

\(\left\{ 0, \dots, N_{\text{bnd},j,i} - 1 \right\}\)

Bound state index of \(i\)th component in \(j\)th particle type

\(m_j\)

\(\left\{ 0, \dots, \sum_{i=0}^{N_{\text{comp}}-1} N_{\text{bnd},j,i} - 1 \right\}\)

Total bound state index in particle type \(j\)

\(t\)

\(\left[0, T_{\text{end}}\right]\)

Time coordinate

\(z\)

\(\left[0, L\right]\)

Axial coordinate

\(r\)

\(\left[r_{c,j}, r_{p,j}\right]\)

Generic bead radial coordinate

\(c^l_{i}(t,z)\)

\(\left[0, T_{\text{end}}\right] \times [0, L]\)

Interstitial concentration of the \(i\)th component

\(c^p_{j,i}(t, z, r)\)

\(\left[0, T_{\text{end}}\right] \times [0, L] \times \left[r_{c,j}, r_{p,j}\right]\)

Mobile phase concentration of the \(i\)th component in the \(j\)th particle type

\(c^s_{j,i,m_{j,i}}(t, z, r)\)

\(\left[0, T_{\text{end}}\right] \times [0,L] \times \left[r_{c,j}, r_{p,j}\right]\)

Solid phase concentration of the \(i\)th component’s \(m_{j,i}\)th bound state in particles of type \(j\)

\(j_{f,j,i}(t, z)\)

\(\left[0, T_{\text{end}}\right] \times [0, L]\)

Flux of the \(i\)th component through stagnant film into the bead of type \(j\)

-
-../../_images/column_bulk_model.png -
-

Fig. 1 Column bulk model

-
-
-

The GRM describes transport of solute molecules through the interstitial column volume by convective flow, band broadening caused by axial dispersion, mass transfer resistance through a stagnant film around the beads, pore (and surface) diffusion in the porous beads [5, 6, 7], and adsorption to the inner bead surfaces.

-

Consider a column of length \(L>0\) filled with spherical beads of (possibly) multiple types with radius \(r_{p,j} \ll L\) (see Fig. 1), where \(j\) is the particle type index. The mass balance in the interstitial column volume is described by

-
-(1)\[\begin{split}\begin{aligned} - \frac{\partial c^l_i}{\partial t} = -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} &- \frac{1}{\beta_c} \sum_j d_j \frac{3}{r_{p,j}} k_{f,j,i} \left[ c^l_i - c^p_{j,i}(\cdot, \cdot, r_{p,j}) \right] \\ - &+ f_{\text{react},i}^l\left(c^l\right). -\end{aligned}\end{split}\]
-

Here, \(c^l_i\colon \left[0, T_{\text{end}}\right] \times [0, L] \rightarrow \mathbb{R}^{\geq 0}\) denotes the concentration in the interstitial column volume, \(c^p_{j,i}\colon \left[0, T_{\text{end}}\right] \times [0, L] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}\) the liquid phase concentration in the beads, \(k_{f,j,i}\) the film diffusion coefficient, \(D_{\text{ax},i}\) the dispersion coefficient, \(u\) the interstitial velocity, \(d_j\) the volume fraction of particle type \(j\), and \(\beta_c = \varepsilon_c / (1 - \varepsilon_c)\) the column phase ratio, where \(\varepsilon_c\) is the column porosity (ratio of interstitial volume to total column volume). -If reactions are considered, the term \(f_{\text{react},i}^l\left(c^l\right)\) represents the net change of concentration \(c_i\) due to reactions involving component \(i\).

-

Danckwerts boundary conditions [8] are applied to inlet and outlet of the column:

-
-(2)\[\begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0, -\end{aligned}\]
-
-(3)\[\begin{aligned} - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. -\end{aligned}\]
-

Note that the outlet boundary condition Eq. 2 is also known as “do nothing” or natural outflow condition.

-

In the liquid phase of the porous beads (see Fig. 1) the mass balance is given by

-
-(4)\[\begin{split}\begin{aligned} - \frac{\partial c^p_{j,i}}{\partial t} &+ \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} \frac{\partial}{\partial t} \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} \\ - &= \underbrace{D_{p,j,i} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial}{\partial r} \right]c^p_{j,i}}_{\text{Pore diffusion}} \\ - &+ \underbrace{\frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} D_{s,j,i} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} }_{\text{Surface diffusion}} \\ - &+ f_{\text{react},j,i}^p\left( c_j^p, c_j^s \right) + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} f_{\text{react},j,i}^s\left( c_j^p, c_j^s \right), -\end{aligned}\end{split}\]
-

where \(c^s_{j,i,m_{j,i}}\colon \left[0, T_{\text{end}}\right] \times [0,L] \times [r_{c,j}, r_{p,j}] \rightarrow \mathbb{R}^{\geq 0}\) denotes the solid phase concentration of the \(i\)th component’s \(m_{j,i}\)th bound state in the beads of \(j\)th type, \(D_{p,j,i}\) the effective diffusion coefficient in the beads, \(D_{s,j,i}\) the surface diffusion coefficient, \(F_{\text{acc},j,i} \in [0,1]\) the pore accessibility factor, and \(\varepsilon_{p,j}\) the particle porosity (ratio of pore volume to total bead volume). -The inner bead radius \(r_{c,j} \in [0, r_{p,j})\) is assumed to be \(0\) by default, but can be positive in order to account for core-shell particles that have an impermeable core. -Reaction terms in liquid and solid phase are collected in \(f_{\text{react},j,i}^p( c_j^p, c_j^s)\) and \(f_{\text{react},j,i}^s(c_j^p, c_j^s)\), respectively.

-

The GRM is used with both quasi-stationary (Eq. 5) and dynamic (Eq. 6) binding models.

-
-(5)\[\begin{aligned} - \text{quasi-stationary: } 0 &= f_{\text{ads},j}\left( c^p_j, c^s_j\right) -\end{aligned}\]
-
-(6)\[\begin{split}\begin{aligned} - \text{dynamic: } \frac{\partial c^s_j}{\partial t} &= D_{s,j} \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] c^s_{j} \\ - &+ f_{\text{ads},j}\left( c^p_j, c^s_j\right) + f_{\text{react},j}^s\left( c_j^p, c_j^s \right). -\end{aligned}\end{split}\]
-

Note that \(c^p_j\) and \(c^s_j\) denote the vector of all \(c^p_{j,i}\) and \(c^s_{j,i,m_{j,i}}\), respectively.

-

The boundary conditions of the bead model the film diffusion and are given for all \({t \in (0,\infty)}\) and \(z \in [0,L]\) by

-
-(7)\[\begin{split}\begin{aligned} - k_{f,j,i}\left[ c^l_i - c^p_{j,i}(\cdot, \cdot, r_{p,j}) \right] &= F_{\text{acc},j,i} \varepsilon_{p,j} D_{p,j,i} \frac{\partial c^p_{j,i}}{\partial r}(\cdot, \cdot, r_{p,j}) \\ - &+ \left( 1 - \varepsilon_{p,j}\right) D_{s,j,i} \sum_{m_{j,i}} \frac{\partial c^s_{j,i,m_{j,i}}}{\partial r}(\cdot, \cdot, r_{p,j}), -\end{aligned}\end{split}\]
-
-(8)\[\begin{aligned} - \frac{\partial c^p_{j,i}}{\partial r}(\cdot, \cdot, r_{c,j}) &= 0. -\end{aligned}\]
-

By default, the following initial conditions are applied for all \(z \in [0,L]\) and \(r \in \left[r_{c,j}, r_{p,j}\right]\):

-
-(9)\[\begin{aligned} - c^l_i(0, z) &= 0, & c^p_{j,i}(0, z, r) &= 0, & c^s_{j,i,m_{j,i}}(0,z,r) &= 0. -\end{aligned}\]
-
-../../_images/column_bead_model.png -
-

Fig. 2 Column bead model

-
-
-
-../../_images/multiple_bound_states.png -
-

Fig. 3 Binding with multiple bound states

-
-
-

See Table General Rate Model.

-
-

Particle Geometry

-

In the model above, spherical particles are considered. -Other supported particle forms are cylinders and slabs. -For cylinders, it is assumed that molecules can only enter through the lateral surface (i.e., the caps are sealed). -Slabs are assumed to have two large sides such that molecules enter through the two large faces (i.e., the remaining four small faces are sealed).

-

All particle forms support core-shell beads that have an impermeable core. -The particles are characterized by their (outer) “radius” \(r_{p,j}\) and their (inner) core “radius” \(r_{c,j} \in [0, r_{p,j})\). -See Fig. 4.

-
-../../_images/column_particle_geometries.png -
-

Fig. 4 Particle geometries

-
-
-

For cylinders, the factor \(3 / r_{p,j}\) in Eq. (1) changes to \(2 / r_{p,j}\) and the diffusion operator in Eq. (4) and Eq. (6) changes as

-
-\[\begin{aligned} - \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \quad \rightarrow \quad \left[\frac{\partial^2}{\partial r^2} + \frac{1}{r} \frac{\partial }{\partial r} \right]. -\end{aligned}\]
-

For slabs, the factor \(3 / r_{p,j}\) in (see Eq. (1)) changes to \(1 / r_{p,j}\) and the diffusion operator in Eq. (4) and Eq. (6) changes as

-
-\[\begin{aligned} - \left[\frac{\partial^2}{\partial r^2} + \frac{2}{r} \frac{\partial }{\partial r} \right] \quad \rightarrow \quad \frac{\partial^2}{\partial r^2}. -\end{aligned}\]
-
-
-

Multiple particle types

-

A particle type has its own set of mass transfer parameters \(\varepsilon_{p,j}\), \(D_{p,j}\), \(D_{s,j}\), etc (see Eq. 4) and its own binding model \(f_{\mathrm{ads}}\) (including a possibly differing number of bound states). -This allows, for example, modeling of particle size distributions or potential applications with differently functionalized beads (e.g., immobilized enzymes).

-

The distribution of the particle types is governed by their volume fractions \(d_j\) in Eq. - 1. The volume fractions have to sum to \(1\):

-
-\[\begin{aligned} - \sum_{j=0}^{N_{\text{partype}} - 1} d_j = 1. -\end{aligned}\]
-

The particle type volume fractions can be spatially constant throughout the column, or depend on the position inside the column bulk volume. -In the latter case, the user can specify a set of volume fractions for each discretized finite volume cell. -This allows, for example, the placement of smaller particles near the frits.

-
-
-

Size exclusion chromatography

-

The general rate model can be used to simulate size exclusion chromatography (SEC) [2]. -The particle porosity \(\varepsilon_{p,j}\) on the mobile phase side of the transport equations is replaced by a component-dependent accessible porosity

-
-\[\begin{aligned} - \varepsilon_{p,j,i} = F_{\text{acc},j,i} \varepsilon_{p,j}, -\end{aligned}\]
-

where the pore accessibility factor \(F_{\text{acc},j,i}\) ranges in \((0, 1]\).

-

Small molecules that can enter any pore have \(F_{\text{acc},j,i} = 1\), whereas larger molecules that can enter some, but not small pores, have values \(0 < F_{\text{acc},j,i} < 1\). -The other extreme is given by molecules so large that they cannot enter any pore and, consequently, \(F_{\text{acc},j,i} = 0\). -Note that \(F_{\text{acc},j,i} = 0\) is not allowed in a simulation, which can be circumvented by setting \(k_{f,j,i} = 0\).

-

By default, \(F_{\text{acc},j,i} = 1\) for all components \(i\) and all particle types \(j\), which disables size exclusion chromatography.

-

It is important to note that in the presence of size exlusion effects, the saturation capacity (e.g., \(q_{\text{max}}\) of Langmuir-type binding models) will differ for solutes with different accessible porosity values. -However, this leads to inconsistencies in the equations which account for the full pore volume fraction \(\varepsilon_{p,j}\). -For this reason, SEC should only be modelled without binding models! -In order to simulate pure SEC, binding is disabled by setting \(N_{\text{bnd},i} = 0\) for all components \(i\) and applying no binding model.

-

Note that multiple particle types can also be used to aid in modeling size exclusion effects, see Section Multiple particle types.

-
-
-

Specification of flow rate / velocity and direction

-

Since volumetric flow rates are specified for each network connection, the unit operation can infer its interstitial velocity via

-
-\[\begin{aligned} - u = u_{\text{int}} = \frac{F_{\text{in}}}{A \varepsilon_c}, -\end{aligned}\]
-

where \(F_{\text{in}}\) denotes the volumetric flow rate and \(A\) the cross section area. -Note that without the bulk porosity \(\varepsilon_c\), the superficial velocity would be obtained.

-

The direction of flow inside the unit operation is governed by the sign of the interstitial velocity \(u\). -A positive sign results in (standard) forward flow, whereas a negative sign reverses the flow direction. -Note that in case of reversed flow, the chromatogram is returned at the unit operation’s INLET, which may not be returned from simulation by default.

-

The final behavior is controlled by the interplay of cross section area and interstitial velocity:

-
    -
  • If cross section area \(A\) is given and \(u\) is not, \(u\) is inferred from the volumetric flow rate.

  • -
  • If \(u\) is given and \(A\) is not, the volumetric flow rate is ignored and the provided interstitial velocity is used.

  • -
  • If both cross section area \(A\) and interstitial velocity \(u\) are given, the magnitude of the actual interstitial velocity \(u\) is inferred from the volumetric flow rate and the flow direction is given by the sign of the provided \(u\).

  • -
-

For information on model parameters see General Rate Model.

-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/index.html b/modelling/unit_operations/index.html deleted file mode 100644 index 3063b9ba5..000000000 --- a/modelling/unit_operations/index.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - Unit operation models — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Unit operation models

-

A short comparison of the most prominent unit operation model features -is given in Table 1.

- - -------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1 Supported features of the different unit operations models

Unit operation model

Radial dispersion

Pore diffusion

Film diffusion

Particle geometries

Multiple particle types

General rate model (GRM)

×

Lumped rate model with pores (LRMP)

×

×

Lumped rate model without pores (LRM)

×

×

×

×

×

Two Dimensional General rate model (GRM2D)

Continuous stirred tank reactor model (CSTR)

×

×

×

×

-

Moreover, the pseudo unit operations Inlet, and Outlet act as sources and sinks for the system.

-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/inlet.html b/modelling/unit_operations/inlet.html deleted file mode 100644 index ea2308136..000000000 --- a/modelling/unit_operations/inlet.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - Inlet — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Inlet

-

A system inlet unit operation is a pseudo unit operation since there is no physical correspondence. -The inlet serves as a mass source in the network of unit operations. -Consequently, it only possesses an outlet port and no inlet port. -Note that an inlet unit operation can provide arbitrary many components and there can be arbitrary many inlet unit operations in a network.

-

An inlet unit operation provides a feed in which the concentration of each component is given by a profile. -The most common profile is a piecewise cubic polynomial, which can both represent discontinuous signals (e.g., pulse or step) and smooth \(C^2\) signals (cubic spline):

-
-\[\begin{aligned} - c_i(t) = \sum_{k = 1}^{N_{\text{sect}}} \mathbb{R}_{\left[t_k, t_{k+1} \right)}(t) \left[ a_{k,i} \left( t - t_k \right)^3 + b_{k,i} \left( t - t_k \right)^2 + d_{k,i} \left( t - t_k \right) + f_{k,i} \right], -\end{aligned}\]
-

where \(0 \leq t_1 < t_2 < \dots < t_{N_{\text{sect}} + 1} \leq T_{\text{sim}}\) is a decomposition of the simulation time interval \(\left[0, T_{\text{sim}}\right]\) into pieces \(\left[t_k, t_{k+1} \right)\). -On each piece, the profile is given by a cubic (fourth order) polynomial shifted to the beginning \(t_k\) of the piece.

-

For information on model parameters see Inlet.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/lumped_rate_model_with_pores.html b/modelling/unit_operations/lumped_rate_model_with_pores.html deleted file mode 100644 index ca7b9b949..000000000 --- a/modelling/unit_operations/lumped_rate_model_with_pores.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - Lumped rate model with pores (LRMP) — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Lumped rate model with pores (LRMP)

-

The lumped rate model with pores [3, 4] deviates from the general rate model (see Section General rate model (GRM)) by neglecting pore diffusion. -The particle phase \(c^p_j\) is still there, but no mass transfer happens except for binding and film diffusion. -Hence, the model equations are given by

-
-\[\begin{aligned} - \frac{\partial c^l_i}{\partial t} &= -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} - \frac{1}{\beta_c} \sum_{j} d_j \frac{3}{r_{p,j}} k_{f,j,i}\left[ c^l_i - c^p_{j,i} \right] + f_{\text{react},i}^l\left(c^l\right), -\end{aligned}\]
-
-\[\begin{split}\begin{aligned} - \frac{\partial c^p_{j,i}}{\partial t} + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} \frac{\partial}{\partial t} \sum_{m_{j,i}} c^s_{j,i,m_{j,i}} &= \frac{3}{F_{\text{acc},j,i} \varepsilon_{p,j} r_{p,j}}k_{f,j,i}\left[ c^l_i - c^p_{j,i} \right] \\ - &+ f_{\text{react},j,i}^p\left( c_j^p, c_j^s \right) + \frac{1 - \varepsilon_{p,j}}{F_{\text{acc},j,i} \varepsilon_{p,j}} f_{\text{react},j,i}^s\left( c_j^p, c_j^s \right) -\end{aligned}\end{split}\]
-

with the same meanings of variables and parameters as in the general rate model. -The equations are complemented by Danckwerts boundary conditions [8]

-
-\[\begin{split}\begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0,\\ - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. -\end{aligned}\end{split}\]
-

As for the general rate model, both quasi-stationary and dynamic binding models are supported:

-
-\[\begin{split}\begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads},j}\left( c^p_j, c^s_j\right), \\ - \text{dynamic: }& & \frac{\partial c^s_j}{\partial t} &= f_{\text{ads},j}\left( c^p_j, c^s_j\right) + f_{\text{react},j}^s\left( c_j^p, c_j^s \right). -\end{aligned}\end{split}\]
-

By default, the following initial conditions are applied for all \(z \in [0,L]\):

-
-\[\begin{aligned} - c^l_i(0, z) &= 0, & c^p_{j,i}(0, z) &= 0, & c^s_{j,i,m_{j,i}}(0,z) &= 0. -\end{aligned}\]
-

Multiple particle types types are supported. -This model can also be used to simulate Size exclusion chromatography. -For the specification of flow rate and direction, the same holds as for the general rate model (see Section Specification of flow rate / velocity and direction).

-

For information on model parameters see Lumped rate model with pores.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/lumped_rate_model_without_pores.html b/modelling/unit_operations/lumped_rate_model_without_pores.html deleted file mode 100644 index b451e2121..000000000 --- a/modelling/unit_operations/lumped_rate_model_without_pores.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - Lumped rate model without pores (LRM) — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Lumped rate model without pores (LRM)

-

The lumped rate model without pores [3, 4] deviates from the lumped rate model with pores (see Section Lumped rate model with pores (LRMP)) by neglecting pores completely. -The particle phase \(c^p\) is removed and the porosity \(\varepsilon_t\) is taken as total porosity

-
-(10)\[\begin{aligned} - \varepsilon_t = \varepsilon_c + \left( 1 - \varepsilon_c \right) \varepsilon_p. -\end{aligned}\]
-

The phase ratio is denoted by \(\beta_t = \varepsilon_t / (1 - \varepsilon_t)\) accordingly. -The model equations are given by

-
-\[\begin{aligned} - \frac{\partial c^l_i}{\partial t} + \frac{1}{\beta_t} \frac{\partial}{\partial t} \sum_{m_i} c^s_{i,m_i} &= -u \frac{\partial c^l_i}{\partial z} + D_{\text{ax},i} \frac{\partial^2 c^l_i}{\partial z^2} + f_{\text{react},i}^l\left( c^l, c^s \right) + \frac{1}{\beta_t} f_{\text{react},i}^s\left( c^l, c^s \right), -\end{aligned}\]
-

where \(\beta_t = \varepsilon_t / (1 - \varepsilon_t)\) denotes the (total) phase ratio. -The equations are complemented by Danckwerts boundary conditions [8]

-
-\[\begin{split}\begin{aligned} - u c_{\text{in},i}(t) &= u c^l_i(t,0) - D_{\text{ax},i} \frac{\partial c^l_i}{\partial z}(t, 0) & \forall t > 0,\\ - \frac{\partial c^l_i}{\partial z}(t, L) &= 0 & \forall t > 0. -\end{aligned}\end{split}\]
-

Both quasi-stationary and dynamic binding models are supported:

-
-\[\begin{split}\begin{aligned} - \text{quasi-stationary: }& & 0 &= f_{\text{ads}}\left( c^l, c^s\right), \\ - \text{dynamic: }& & \frac{\partial q}{\partial t} &= f_{\text{ads}}\left( c^l, c^s\right) + f_{\text{react}}^s\left( c^l, c^s \right). -\end{aligned}\end{split}\]
-

By default, the following initial conditions are applied for all \(z \in [0,L]\):

-
-\[\begin{aligned} - c^l_i(0, z) &= 0, & c^s_{i,m_i}(0,z) &= 0. -\end{aligned}\]
-

Note that by setting \(\varepsilon_t = 1\), removing all bound states by setting \(N_{\text{bnd},i} = 0\) for all components \(i\), and applying no binding model, a dispersive plug flow reactor (DPFR) is obtained. -For the specification of flow rate and direction, the same holds as for the general rate model (see Section Specification of flow rate / velocity and direction).

-

For information on model parameters see Lumped Rate Model Without Pores.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/modelling/unit_operations/outlet.html b/modelling/unit_operations/outlet.html deleted file mode 100644 index f1732439b..000000000 --- a/modelling/unit_operations/outlet.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - Outlet — CADET - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Outlet

-

A system outlet unit operation is a pseudo unit operation since there is no physical correspondence. -The outlet serves as a sink (terminal node) in the network of unit operations. -Since any terminal node in the network is a sink (see Section Networks of unit operations), outlet unit operations are not strictly necessary. -However, in some applications (e.g., SMB) only a certain fraction of a unit operation’s output is taken out of the system and the rest is recycled. -In this case, outlet unit operations are required in order to avoid unbalanced mass flow in the other unit operations.

-

Outlets can also be of help if the output of multiple unit operations merges together leaving the network. -Instead of manually adding the streams together in a post-processing step, the unit operations can be connected to the same outlet unit.

-

For information on model parameters see Outlet.

-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/objects.inv b/objects.inv deleted file mode 100644 index 773bd3585..000000000 Binary files a/objects.inv and /dev/null differ diff --git a/search.html b/search.html deleted file mode 100644 index 8ff61331f..000000000 --- a/search.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - Search — CADET - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- -

Search

- - - - -

- Searching for multiple words only shows matches that contain - all words. -

- - -
- - - -
- - - -
- -
- - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/searchindex.js b/searchindex.js deleted file mode 100644 index 23cbdd2ac..000000000 --- a/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"docnames": ["README", "examples/batch_chromatography", "examples/index", "examples/load_wash_elute", "examples/reaction_cstr", "examples/rtd", "getting_started/build_linux", "getting_started/build_osx", "getting_started/build_windows", "getting_started/index", "getting_started/installation", "getting_started/overview", "getting_started/tutorials/breakthrough", "index", "interface/binding/bi_steric_mass_action", "interface/binding/extended_mobile_phase_modulator_langmuir", "interface/binding/freundlich_ldf", "interface/binding/generalized_ion_exchange", "interface/binding/hic_constant_water_activity", "interface/binding/hic_water_on_hydrophobic_surfaces", "interface/binding/index", "interface/binding/linear", "interface/binding/mobile_phase_modulator_langmuir", "interface/binding/multi_component_anti_langmuir", "interface/binding/multi_component_bi_langmuir", "interface/binding/multi_component_bi_langmuir_ldf", "interface/binding/multi_component_langmuir", "interface/binding/multi_component_langmuir_ldf", "interface/binding/multi_component_langmuir_ldf_liquid_phase", "interface/binding/multi_component_spreading", "interface/binding/multi_state_steric_mass_action", "interface/binding/saska", "interface/binding/self_association", "interface/binding/simplified_multi_state_steric_mass_action", "interface/binding/steric_mass_action", "interface/consistent_initialization", "interface/flux_reconstruction", "interface/index", "interface/input_group", "interface/introduction", "interface/meta_group", "interface/output_group", "interface/reactions", "interface/return_data", "interface/sensitivities", "interface/solver", "interface/system", "interface/unit_operations/2d_general_rate_model", "interface/unit_operations/cstr", "interface/unit_operations/general_rate_model", "interface/unit_operations/index", "interface/unit_operations/inlet", "interface/unit_operations/lumped_rate_model_with_pores", "interface/unit_operations/lumped_rate_model_without_pores", "interface/unit_operations/outlet", "license", "modelling/binding/bi_steric_mass_action", "modelling/binding/extended_mobile_phase_modulator_langmuir", "modelling/binding/freundlich_ldf", "modelling/binding/generalized_ion_exchange", "modelling/binding/hic_constant_water_activity", "modelling/binding/hic_water_on_hydrophobic_surfaces", "modelling/binding/index", "modelling/binding/linear", "modelling/binding/mobile_phase_modulator_langmuir", "modelling/binding/multi_component_anti_langmuir", "modelling/binding/multi_component_bi_langmuir", "modelling/binding/multi_component_bi_langmuir_ldf", "modelling/binding/multi_component_langmuir", "modelling/binding/multi_component_langmuir_ldf", "modelling/binding/multi_component_langmuir_ldf_liquid_phase", "modelling/binding/multi_component_spreading", "modelling/binding/multi_state_steric_mass_action", "modelling/binding/saska", "modelling/binding/self_association", "modelling/binding/simplified_multi_state_steric_mass_action", "modelling/binding/steric_mass_action", "modelling/index", "modelling/networks", "modelling/reactions", "modelling/unit_operations/2d_general_rate_model", "modelling/unit_operations/cstr", "modelling/unit_operations/general_rate_model", "modelling/unit_operations/index", "modelling/unit_operations/inlet", "modelling/unit_operations/lumped_rate_model_with_pores", "modelling/unit_operations/lumped_rate_model_without_pores", "modelling/unit_operations/outlet", "simulation/index", "zbibliography"], "filenames": ["README.md", "examples/batch_chromatography.rst", "examples/index.rst", "examples/load_wash_elute.rst", "examples/reaction_cstr.rst", "examples/rtd.rst", "getting_started/build_linux.rst", "getting_started/build_osx.rst", "getting_started/build_windows.rst", "getting_started/index.rst", "getting_started/installation.rst", "getting_started/overview.rst", "getting_started/tutorials/breakthrough.rst", "index.rst", "interface/binding/bi_steric_mass_action.rst", "interface/binding/extended_mobile_phase_modulator_langmuir.rst", "interface/binding/freundlich_ldf.rst", "interface/binding/generalized_ion_exchange.rst", "interface/binding/hic_constant_water_activity.rst", "interface/binding/hic_water_on_hydrophobic_surfaces.rst", "interface/binding/index.rst", "interface/binding/linear.rst", "interface/binding/mobile_phase_modulator_langmuir.rst", "interface/binding/multi_component_anti_langmuir.rst", "interface/binding/multi_component_bi_langmuir.rst", "interface/binding/multi_component_bi_langmuir_ldf.rst", "interface/binding/multi_component_langmuir.rst", "interface/binding/multi_component_langmuir_ldf.rst", "interface/binding/multi_component_langmuir_ldf_liquid_phase.rst", "interface/binding/multi_component_spreading.rst", "interface/binding/multi_state_steric_mass_action.rst", "interface/binding/saska.rst", "interface/binding/self_association.rst", "interface/binding/simplified_multi_state_steric_mass_action.rst", "interface/binding/steric_mass_action.rst", "interface/consistent_initialization.rst", "interface/flux_reconstruction.rst", "interface/index.rst", "interface/input_group.rst", "interface/introduction.rst", "interface/meta_group.rst", "interface/output_group.rst", "interface/reactions.rst", "interface/return_data.rst", "interface/sensitivities.rst", "interface/solver.rst", "interface/system.rst", "interface/unit_operations/2d_general_rate_model.rst", "interface/unit_operations/cstr.rst", "interface/unit_operations/general_rate_model.rst", "interface/unit_operations/index.rst", "interface/unit_operations/inlet.rst", "interface/unit_operations/lumped_rate_model_with_pores.rst", "interface/unit_operations/lumped_rate_model_without_pores.rst", "interface/unit_operations/outlet.rst", "license.rst", "modelling/binding/bi_steric_mass_action.rst", "modelling/binding/extended_mobile_phase_modulator_langmuir.rst", "modelling/binding/freundlich_ldf.rst", "modelling/binding/generalized_ion_exchange.rst", "modelling/binding/hic_constant_water_activity.rst", "modelling/binding/hic_water_on_hydrophobic_surfaces.rst", "modelling/binding/index.rst", "modelling/binding/linear.rst", "modelling/binding/mobile_phase_modulator_langmuir.rst", "modelling/binding/multi_component_anti_langmuir.rst", "modelling/binding/multi_component_bi_langmuir.rst", "modelling/binding/multi_component_bi_langmuir_ldf.rst", "modelling/binding/multi_component_langmuir.rst", "modelling/binding/multi_component_langmuir_ldf.rst", "modelling/binding/multi_component_langmuir_ldf_liquid_phase.rst", "modelling/binding/multi_component_spreading.rst", "modelling/binding/multi_state_steric_mass_action.rst", "modelling/binding/saska.rst", "modelling/binding/self_association.rst", "modelling/binding/simplified_multi_state_steric_mass_action.rst", "modelling/binding/steric_mass_action.rst", "modelling/index.rst", "modelling/networks.rst", "modelling/reactions.rst", "modelling/unit_operations/2d_general_rate_model.rst", "modelling/unit_operations/cstr.rst", "modelling/unit_operations/general_rate_model.rst", "modelling/unit_operations/index.rst", "modelling/unit_operations/inlet.rst", "modelling/unit_operations/lumped_rate_model_with_pores.rst", "modelling/unit_operations/lumped_rate_model_without_pores.rst", "modelling/unit_operations/outlet.rst", "simulation/index.rst", "zbibliography.rst"], "titles": ["CADET Documentation", "Batch chromatography", "Examples", "Load Wash Elute", "Chemical reactions", "Residence time distributions", "Build for Linux", "Build for OSX", "Build for MS Windows", "Getting started", "Installation", "CADET Overview", "CADET Introduction", "CADET", "Bi Steric Mass Action", "Extended Mobile Phase Modulator Langmuir", "Freundlich LDF", "Generalized Ion Exchange", "HIC Constant Water Activity", "HIC Water on Hydrophobic Surfaces", "Binding models", "Linear", "Mobile Phase Modulator Langmuir", "Multi Component Anti-Langmuir", "Multi Component Bi-Langmuir", "Multi Component Bi-Langmuir LDF", "Multi Component Langmuir", "Multi Component Langmuir LDF", "Multi Component Langmuir LDF Liquid Phase", "Multi Component Spreading", "Multi-State Steric Mass Action", "Saska", "Self Association", "Simplified Multi-State Steric Mass Action", "Steric Mass Action", "Nonlinear solver for consistent initialization", "Flux reconstruction methods", "Interface specifications", "Input Group", "Introduction", "Meta Group", "Output Group", "Reaction models", "Return data", "Parameter Sensitivities", "Solver Configuration", "System of unit operations", "Two dimensional general rate model", "Continuous stirred tank reactor model", "General Rate Model", "Unit Operations", "Inlet", "Lumped rate model with pores", "Lumped Rate Model Without Pores", "Outlet", "License", "Bi Steric Mass Action", "Extended Mobile Phase Modulator Langmuir", "Freundlich LDF", "Generalized Ion Exchange", "HIC Constant Water Activity", "HIC Water on Hydrophobic Surfaces", "Binding models", "Linear", "Mobile Phase Modulator Langmuir", "Multi Component Anti-Langmuir", "Multi Component Bi-Langmuir", "Multi Component Bi-Langmuir LDF", "Multi Component Langmuir", "Multi Component Langmuir LDF", "Multi Component Langmuir LDF Liquid Phase", "Multi Component Spreading", "Multi-State Steric Mass Action", "Saska", "Self Association", "Simplified Multi-State Steric Mass Action", "Steric Mass Action", "Modelling", "Networks of unit operations", "Reaction models", "Two Dimensional General rate model (GRM2D)", "Continuous stirred tank reactor model (CSTR)", "General rate model (GRM)", "Unit operation models", "Inlet", "Lumped rate model with pores (LRMP)", "Lumped rate model without pores (LRM)", "Outlet", "Simulation", "Bibliography"], "terms": {"To": [0, 10, 12, 13, 55, 58], "build": [0, 9, 10, 12, 13, 81], "local": [0, 10, 45, 55, 88], "instal": [0, 7, 8, 9, 11, 12, 55], "sphinx": 0, "other": [0, 12, 39, 46, 55, 62, 65, 75, 76, 78, 79, 82, 87, 88], "depend": [0, 8, 10, 13, 15, 17, 33, 37, 38, 47, 49, 52, 53, 59, 75, 77, 80, 81, 82, 88], "run": [0, 6, 8, 10, 11, 49, 55, 81, 88], "pip": [0, 10], "r": [0, 31, 33, 44, 46, 47, 48, 49, 51, 52, 53, 62, 79, 80, 82, 84, 88, 89], "requir": [0, 8, 10, 12, 13, 15, 35, 39, 47, 49, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 87, 88], "txt": 0, "Then": [0, 12, 39], "doc": [0, 7], "folder": [0, 8, 12], "b": [0, 12, 55, 71, 89], "html": [0, 55], "The": [0, 8, 10, 12, 13, 17, 20, 30, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 59, 62, 64, 65, 66, 68, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89], "output": [0, 8, 12, 37, 39, 43, 55, 87], "i": [0, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 41, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89], "directori": [0, 6, 7, 8], "can": [0, 6, 7, 8, 10, 11, 12, 13, 20, 37, 39, 42, 46, 47, 49, 52, 55, 56, 57, 58, 62, 64, 71, 72, 75, 78, 79, 80, 81, 82, 84, 85, 87, 88], "open": [0, 6, 8, 10], "ani": [0, 12, 13, 20, 40, 42, 47, 49, 52, 55, 58, 78, 81, 82, 87], "browser": 0, "all": [0, 7, 8, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 41, 42, 43, 45, 46, 47, 48, 49, 52, 55, 56, 62, 66, 68, 71, 72, 75, 77, 78, 79, 80, 81, 82, 85, 86, 88], "releas": [0, 8, 13, 55], "master": 0, "branch": [0, 40], "multivers": 0, "chang": [0, 6, 7, 8, 12, 13, 18, 19, 37, 39, 45, 55, 58, 62, 78, 79, 82, 88], "automat": [0, 46, 55, 88], "push": 0, "github": [0, 6, 7, 8, 11, 13], "page": [0, 89], "repositori": [0, 13], "http": [0, 6, 7, 8, 11, 13, 55, 89], "com": [0, 6, 7, 8, 11, 13, 89], "io": 0, "us": [0, 6, 7, 8, 10, 11, 12, 13, 20, 37, 42, 44, 45, 46, 47, 48, 49, 52, 53, 55, 57, 58, 62, 64, 76, 78, 79, 80, 81, 82, 85, 88, 89], "action": [0, 20, 38, 55, 59, 62, 74, 77, 89], "chemic": [2, 13, 47, 48, 49, 51, 52, 53, 54, 79, 89], "reaction": [2, 37, 38, 39, 44, 47, 48, 49, 52, 53, 77, 82, 88], "resid": [2, 89], "time": [2, 8, 37, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 52, 53, 55, 62, 78, 79, 80, 82, 84, 89], "distribut": [2, 6, 10, 55, 80, 82, 89], "batch": [2, 81], "chromatographi": [2, 13, 64, 76, 85, 89], "load": [2, 8, 11, 12, 25, 27, 28, 39, 89], "wash": [2, 12, 39], "elut": [2, 12, 39, 89], "cmake": [6, 7, 8], "3": [6, 7, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 39, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 55, 62, 63, 66, 68, 75, 78, 79, 80, 82, 84, 85, 86, 88, 89], "12": [6, 7, 55, 59, 71, 74, 80, 89], "0": [6, 7, 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 40, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88, 89], "gcc": [6, 7], "7": [6, 7, 39, 45, 46, 47, 49, 52, 55, 82, 89], "clang": [6, 7], "9": [6, 7, 55, 58, 89], "intel": [6, 7, 13], "c": [6, 7, 8, 10, 12, 13, 43, 47, 49, 55, 58, 62, 67, 69, 70, 79, 80, 81, 82, 84, 85, 86, 89], "18": [6, 7, 73, 78, 89], "option": [6, 7, 10, 12, 13, 14, 17, 23, 30, 32, 33, 34, 42, 43, 44, 45, 46, 47, 48, 49, 52, 53, 55], "git": [6, 7, 8, 40], "assum": [6, 7, 8, 37, 49, 55, 60, 61, 62, 78, 80, 81, 82, 88], "structur": [6, 7, 8, 12, 37, 49, 88], "src": [6, 7, 8], "includ": [6, 7, 8, 10, 11, 12, 13, 41, 45, 46, 47, 49, 55, 68, 78, 82], "note": [6, 7, 8, 10, 12, 15, 20, 39, 41, 42, 47, 49, 52, 56, 62, 66, 75, 78, 79, 80, 81, 82, 84, 86, 88], "version": [6, 7, 8, 10, 12, 39, 40, 55, 61, 62], "number": [6, 7, 8, 12, 17, 18, 19, 30, 32, 33, 34, 39, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 58, 62, 66, 72, 74, 76, 78, 82, 88], "file": [6, 7, 8, 11, 12, 40, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79], "packag": [6, 7, 8, 10, 11, 12, 55], "below": [6, 7, 8, 20, 42, 55, 58, 81, 88], "ar": [6, 7, 8, 10, 11, 12, 13, 17, 20, 34, 35, 37, 39, 41, 42, 43, 45, 46, 47, 49, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 66, 71, 72, 75, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88], "subject": [6, 7, 8, 55], "alwai": [6, 7, 8, 12, 13, 46, 47, 62, 78, 80, 88], "reflect": [6, 7, 8], "most": [6, 7, 8, 12, 13, 15, 37, 55, 62, 79, 82, 83, 84, 88], "recent": [6, 7, 8, 13, 37], "sudo": 6, "apt": 6, "get": [6, 8, 55], "updat": [6, 7, 37, 55, 88], "y": [6, 88], "essenti": [6, 55, 78, 88], "libhdf5": 6, "dev": [6, 7], "libsuperlu": 6, "libeigen3": 6, "you": [6, 7, 8, 10, 11, 12, 13, 39, 55], "either": [6, 7, 8, 47, 55, 57, 64, 78, 88], "implement": [6, 7, 12, 37, 55, 61, 62, 88], "provid": [6, 7, 8, 9, 10, 12, 13, 55, 62, 79, 82, 84, 88], "your": [6, 8, 55], "freeli": [6, 7], "avail": [6, 7, 12, 17, 30, 32, 33, 34, 35, 42, 47, 55, 56, 62, 72, 74, 76, 88], "mkl": [6, 7, 8], "distro": 6, "default": [6, 14, 17, 30, 32, 33, 34, 35, 37, 40, 42, 43, 45, 46, 47, 48, 49, 52, 78, 79, 80, 82, 85, 86], "liblapack3": 6, "liblapack": 6, "libblas3": 6, "libbla": 6, "clone": [6, 7, 8], "sourc": [6, 7, 8, 12, 13, 20, 42, 55, 62, 78, 79, 83, 84], "code": [6, 7, 55], "modsim": [6, 7, 8, 11, 13], "creat": [6, 7, 8, 10, 11, 12, 13, 39, 41, 43, 77, 88], "termin": [6, 55, 78, 87], "If": [6, 7, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 41, 42, 46, 47, 48, 49, 52, 55, 78, 81, 82, 88], "execut": [6, 7, 8, 10, 12, 40, 55], "export": [6, 7], "mklroot": [6, 7, 8], "opt": [6, 7], "standard": [6, 7, 20, 36, 37, 42, 55, 65, 80, 82], "dcmake_install_prefix": [6, 7, 8], "sequenti": [6, 7, 46, 78], "dbla_vendor": [6, 7, 8], "intel10_64lp_seq": [6, 7, 8], "parallel": [6, 7, 8, 12, 13, 46, 78], "intel10_64lp": [6, 7, 8], "make": [6, 7, 12, 55, 81], "matlab": [7, 10, 13], "r2009a": 7, "greater": 7, "also": [7, 9, 10, 11, 12, 20, 36, 37, 39, 42, 47, 49, 52, 53, 55, 57, 58, 62, 67, 69, 70, 74, 76, 82, 85, 87, 88], "have": [7, 8, 12, 20, 39, 42, 47, 48, 49, 52, 55, 56, 62, 65, 66, 75, 78, 79, 80, 82, 88], "same": [7, 15, 46, 47, 48, 49, 52, 55, 56, 62, 66, 68, 71, 72, 75, 78, 79, 85, 86, 87, 88], "compil": [7, 8, 10, 47, 55], "thi": [7, 8, 9, 10, 11, 12, 13, 15, 20, 37, 39, 41, 42, 43, 46, 47, 48, 49, 52, 53, 55, 57, 58, 60, 61, 62, 64, 67, 69, 70, 71, 73, 74, 77, 78, 79, 80, 82, 85, 87, 88], "especi": [7, 39, 88], "import": [7, 12, 55, 82, 88], "some": [7, 12, 20, 39, 42, 55, 57, 62, 74, 76, 78, 79, 82, 87, 88], "via": [7, 10, 13, 78, 80, 82, 88], "manag": 7, "homebrew": 7, "which": [7, 10, 12, 13, 20, 39, 40, 41, 43, 45, 46, 55, 57, 59, 62, 63, 64, 71, 72, 74, 76, 78, 79, 80, 81, 82, 84, 88], "system": [7, 37, 38, 39, 41, 45, 55, 77, 83, 84, 87, 88, 89], "brew": 7, "null": 7, "true": [7, 12, 47, 49], "without": [7, 8, 12, 37, 38, 46, 48, 50, 55, 56, 57, 60, 61, 64, 66, 81, 82, 83], "hdf5": [7, 11, 12, 13, 37], "tbb": [7, 8, 13], "eigen": 7, "nativ": [7, 13, 37, 62], "mac": [7, 13], "o": [7, 13], "x": [7, 13, 62, 89], "veclib": 7, "acceler": [7, 88], "veri": [7, 58, 88], "fast": [7, 13, 47], "probabl": 7, "faster": [7, 10, 12, 13, 47, 48, 49, 52, 53, 62], "than": [7, 10, 12, 13, 41, 46, 47, 49, 52, 55, 62, 82, 88], "root": [7, 11, 12, 39], "microsoft": 8, "2022": [8, 89], "commun": [8, 55], "edit": [8, 89], "better": [8, 13, 46, 47, 49, 52], "gener": [8, 10, 11, 13, 20, 37, 38, 39, 48, 50, 52, 53, 55, 62, 65, 78, 79, 83, 85, 86, 88], "recommend": [8, 10, 13, 62], "For": [8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 82, 84, 85, 86, 87, 88], "case": [8, 12, 20, 42, 47, 48, 49, 52, 55, 57, 58, 65, 75, 78, 80, 82, 87, 88], "more": [8, 12, 13, 20, 41, 49, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 88], "effici": [8, 13, 49, 89], "multipl": [8, 37, 38, 41, 46, 58, 60, 61, 62, 78, 83, 85, 87, 88, 89], "simul": [8, 11, 37, 39, 40, 45, 46, 49, 78, 80, 81, 82, 84, 85, 89], "instead": [8, 12, 13, 20, 41, 42, 47, 48, 49, 52, 53, 55, 62, 78, 79, 87, 88], "within": [8, 55], "one": [8, 12, 14, 15, 20, 39, 41, 42, 45, 47, 49, 52, 55, 62, 64, 78, 79, 82, 88], "lead": [8, 82], "perform": [8, 10, 11, 12, 55, 62, 79, 88], "loss": [8, 55], "even": [8, 12, 13, 55, 78], "therefor": [8, 55, 56, 57, 64, 66, 82], "we": [8, 10, 11, 12, 13, 55, 62], "librari": [8, 12, 47, 55], "unless": [8, 46, 55], "know": [8, 55], "larg": [8, 36, 82, 88, 89], "enough": 8, "benefit": [8, 55, 88], "becaus": [8, 12, 55, 88], "easiest": [8, 10], "wai": [8, 10, 20, 39, 42, 55, 58, 65, 88], "tool": [8, 55], "etc": [8, 12, 13, 43, 82], "step": [8, 9, 11, 45, 55, 78, 84, 87, 89], "download": [8, 10, 11, 12], "workload": 8, "desktop": 8, "develop": [8, 10, 55], "onlin": 8, "dure": [8, 12, 49, 88], "select": [8, 12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 46, 47, 57, 78], "custom": [8, 10, 55], "deselect": 8, "everyth": 8, "except": [8, 11, 12, 20, 42, 55, 78, 85], "math": 8, "kernel": [8, 55], "thread": [8, 45], "block": [8, 47, 81], "text": [8, 17, 30, 31, 41, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88], "complet": [8, 9, 12, 77, 86], "histori": 8, "prompt": 8, "ex": 8, "At": [8, 15, 37, 88], "top": 8, "where": [8, 11, 12, 20, 42, 46, 49, 55, 56, 58, 59, 62, 64, 72, 74, 76, 78, 79, 80, 82, 84, 86, 88], "sai": [8, 12, 55], "debug": 8, "wait": 8, "vcpkg": 8, "first": [8, 12, 20, 29, 33, 42, 47, 55, 58, 59, 78, 88], "done": [8, 78], "pc": 8, "take": [8, 20, 42, 45, 55, 62, 68, 73, 76, 88], "15": [8, 55, 64, 80, 89], "30": [8, 55], "minut": 8, "finish": 8, "see": [8, 11, 12, 13, 20, 24, 25, 35, 37, 39, 42, 45, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88], "statu": [8, 55], "bar": [8, 56, 59, 62, 72, 74, 76], "onc": [8, 11, 45, 78], "cadetframework": 8, "binari": [8, 9], "locat": [8, 12], "bin": [8, 12], "continu": [8, 12, 37, 38, 45, 50, 55, 80, 82, 83, 88, 89], "navig": 8, "powershel": 8, "follow": [8, 12, 13, 39, 46, 55, 62, 78, 82, 85, 86], "cd": 8, "integr": [8, 12, 39, 40, 41, 45, 88], "onli": [8, 12, 20, 35, 39, 41, 42, 46, 47, 49, 52, 55, 61, 62, 75, 78, 79, 80, 82, 84, 87, 88], "need": [8, 10, 12, 37, 39, 55, 82, 88], "admin": 8, "privileg": 8, "set": [8, 11, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 46, 47, 48, 49, 52, 57, 62, 63, 78, 79, 81, 82, 86, 88], "program": [8, 55], "x86": 8, "latest": 8, "g": [8, 10, 12, 39, 59, 62, 71, 72, 78, 79, 81, 82, 84, 87, 88, 89], "17": [8, 55, 68, 78, 89], "A": [8, 10, 12, 13, 46, 47, 49, 52, 55, 57, 61, 62, 63, 64, 71, 72, 78, 79, 80, 82, 83, 84, 87, 88, 89], "x64": 8, "dcmake_build_typ": 8, "dcmake_toolchain_fil": 8, "vcpkg_root": 8, "script": [8, 55], "buildsystem": 8, "dvcpkg_target_triplet": 8, "static": 8, "denable_static_link_lapack": 8, "ON": 8, "denable_static_link_dep": 8, "fresh": 8, "want": [8, 10, 11, 12, 55], "tbbroot": 8, "msbuild": 8, "vcxproj": 8, "p": [8, 20, 36, 42, 43, 45, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 76, 79, 80, 82, 85, 86, 88, 89], "configur": [8, 12, 37, 38, 47, 48, 49, 52, 53, 78], "platform": 8, "env": 8, "cli": [8, 12], "createlw": 8, "lwe": 8, "h5": [8, 11, 12], "And": [8, 55], "confirm": 8, "hdf5view": 8, "process": [8, 58, 62, 64, 78, 87, 88, 89], "print": [8, 12], "return": [8, 12, 37, 38, 41, 55, 80, 82], "doubl": [8, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53], "click": 8, "explor": 8, "rais": [8, 12], "error": [8, 12, 45, 46, 47, 49, 52, 88], "messag": 8, "cmd": 8, "section": [9, 20, 37, 38, 42, 44, 46, 47, 48, 49, 52, 53, 55, 56, 57, 58, 59, 62, 64, 65, 66, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 85, 86, 87], "detail": [9, 12, 39, 55, 77], "cadet": [9, 37, 39, 40, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 88], "pre": 9, "built": [9, 11, 12, 40], "from": [9, 11, 12, 13, 17, 29, 33, 34, 39, 40, 42, 46, 47, 48, 49, 52, 53, 55, 58, 62, 72, 75, 76, 78, 79, 80, 82, 85, 86, 88], "scratch": 9, "seri": 9, "tutori": [9, 12], "help": [9, 13, 87, 88], "model": [9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 45, 50, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 84, 87, 88, 89], "introduct": [9, 37], "consist": [10, 37, 38, 45, 47, 49, 52, 53, 55, 78], "two": [10, 12, 37, 38, 40, 50, 55, 56, 62, 66, 71, 75, 78, 82, 83, 88], "part": [10, 39, 40, 45, 55, 74, 89], "extend": [10, 20, 37, 38, 55, 56, 62, 65, 66], "modifi": [10, 15, 17, 33, 42, 46, 47, 49, 52, 55, 57, 59, 61, 62, 64, 79, 80], "e": [10, 12, 13, 39, 43, 46, 47, 55, 57, 59, 60, 61, 62, 64, 71, 72, 78, 79, 80, 81, 82, 84, 87, 88, 89], "add": [10, 12, 55, 56, 66, 71, 72, 88], "bind": [10, 11, 12, 14, 15, 17, 18, 19, 30, 32, 33, 34, 37, 38, 39, 47, 48, 49, 52, 53, 56, 57, 58, 59, 60, 61, 63, 65, 66, 68, 71, 72, 73, 74, 76, 77, 81, 82, 85, 86, 88], "conda": [10, 13], "forg": [10, 13], "channel": [10, 13], "work": [10, 13, 37, 55, 78, 88], "mamba": [10, 13], "solver": [10, 12, 13, 37, 38, 47, 49, 52, 53, 78, 88, 89], "linux": [10, 13], "m": [10, 12, 41, 47, 48, 49, 51, 52, 53, 56, 62, 66, 67, 69, 70, 72, 78, 79, 88, 89], "window": [10, 13, 55], "osx": 10, "As": [10, 11, 12, 85, 88], "now": [10, 12], "In": [10, 11, 12, 20, 37, 40, 42, 47, 49, 52, 55, 57, 59, 62, 65, 71, 72, 73, 76, 78, 79, 82, 87, 88, 89], "interfac": [10, 11, 13, 55, 77], "longer": [10, 62], "activ": [10, 13, 20, 38, 46, 55, 62, 78, 79, 89], "deprec": [10, 13], "later": [10, 12, 47, 49, 55, 82], "purpos": [10, 12, 55, 88], "anaconda": 10, "high": [10, 39, 89], "scientif": [10, 13, 88], "mani": [10, 20, 39, 56, 66, 80, 84, 88], "common": [10, 55, 79, 84], "engin": [10, 13, 89], "websit": 10, "user": [10, 55, 81, 82], "an": [10, 11, 12, 39, 46, 47, 49, 52, 55, 56, 57, 58, 62, 66, 73, 78, 79, 82, 84, 88, 89], "shell": [10, 82], "would": [10, 55, 82, 88], "like": [10, 55], "match": [10, 58], "paramet": [10, 12, 13, 15, 18, 19, 20, 22, 37, 38, 42, 45, 46, 47, 49, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 84, 85, 86, 87, 89], "estim": [10, 88], "cadetmatch": 10, "call": [10, 12, 36, 55, 88], "installcadet": 10, "command": [10, 55], "forward": [11, 12, 42, 45, 47, 77, 80, 82, 88], "compris": [11, 12], "sever": [11, 12, 88], "exampl": [11, 12, 39, 55, 58, 62, 79, 82, 88], "python": [11, 12, 13], "frontend": [11, 12], "base": [11, 12, 17, 20, 42, 46, 49, 55, 58, 59, 61, 62, 67, 69, 70, 79, 88, 89], "still": [11, 12, 20, 85], "must": [11, 12, 49, 55, 56, 66, 78, 88], "almost": [11, 12], "exactli": [11, 12, 56, 66, 78], "map": [11, 12, 46, 47, 49, 88], "document": [11, 12, 55], "dataset": [11, 12, 20, 37, 42, 43, 62, 79], "name": [11, 12, 15, 20, 35, 39, 42, 43, 44, 46, 55, 88], "lowercas": [11, 12, 39], "simplifi": [11, 12, 20, 38, 62], "class": [11, 12, 55, 62], "simpl": [11, 12, 62, 78, 81, 88], "look": [11, 12], "column": [11, 12, 13, 20, 39, 41, 42, 46, 47, 49, 52, 53, 78, 80, 82], "poros": [11, 12, 47, 48, 49, 52, 53, 80, 81, 82, 86, 88], "1": [11, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 41, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89], "manual": [11, 37, 87, 88], "path": [11, 12], "input": [11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41, 50, 78, 79, 88], "unit_001": [11, 12], "col_poros": [11, 12, 47, 49, 52], "becom": [11, 12, 49, 78, 88], "sim": [11, 12, 84], "33": [11, 12], "ha": [11, 12, 15, 20, 39, 41, 42, 46, 47, 48, 49, 52, 55, 56, 57, 58, 62, 64, 66, 75, 76, 78, 79, 80, 82, 88], "been": [11, 55, 56, 66, 88], "save": [11, 12], "befor": [11, 12, 78, 80, 88], "filenam": [11, 12], "network": [11, 12, 13, 46, 55, 77, 81, 82, 84, 87, 88], "tabl": [11, 39, 46, 62, 78, 79, 82, 83, 88], "group": [11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 50, 78, 79, 80, 88], "switch_xxx": [11, 37, 38, 78], "defin": [12, 41, 46, 47, 49, 52, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 88], "switch": [12, 46, 77], "actual": [12, 55, 62, 82], "evalu": [12, 45, 88], "breakthrough": 12, "compon": [12, 15, 16, 17, 21, 30, 33, 37, 38, 39, 41, 43, 44, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 72, 73, 76, 78, 79, 81, 82, 84, 86, 88], "explain": [12, 55, 56, 59, 72, 74, 76], "guid": [12, 45, 46, 47, 49, 52], "format": [12, 13, 20, 40, 42, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79], "serv": [12, 55, 62, 78, 84, 87], "consid": [12, 55, 57, 58, 62, 64, 71, 79, 80, 82, 88], "extern": [12, 15, 37, 38, 77, 88], "specifi": [12, 20, 39, 42, 47, 48, 49, 51, 52, 53, 54, 55, 56, 78, 82, 88], "core": [12, 20, 42, 47, 49, 82], "It": [12, 39, 55, 67, 69, 70, 74, 82, 88], "wa": [12, 40, 43, 55, 61], "numpi": 12, "np": 12, "matplotlib": 12, "pyplot": 12, "plt": 12, "cadet_path": 12, "its": [12, 55, 58, 78, 80, 82, 88], "instanc": [12, 39, 88], "attribut": [12, 55], "object": [12, 55, 89], "describ": [12, 15, 18, 19, 22, 37, 60, 64, 74, 75, 78, 79, 82], "refer": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 47, 48, 49, 51, 52, 53, 54, 55, 56, 59, 72, 74, 76, 77, 78, 88], "dict": 12, "addict": 12, "allow": [12, 15, 55, 56, 57, 66, 71, 72, 73, 75, 78, 80, 82, 88, 89], "arbitrari": [12, 13, 45, 46, 56, 66, 80, 84], "nest": 12, "dictionari": 12, "dot": [12, 45, 46, 47, 49, 52, 53, 56, 58, 59, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 80, 82, 84, 88], "notat": [12, 37, 88], "doe": [12, 37, 39, 55, 78, 81, 88], "saniti": 12, "check": [12, 88], "misspel": 12, "wrong": [12, 20, 42], "dimens": [12, 41, 80], "thei": [12, 47, 49, 55, 56, 62, 66, 82], "simpli": [12, 20], "ignor": [12, 20, 35, 46, 47, 48, 49, 52, 53, 78, 82], "caus": [12, 20, 42, 55, 62, 82], "problem": [12, 55, 78, 88], "when": [12, 20, 39, 42, 47, 49, 52, 53, 55, 58, 62, 78, 81, 82, 88], "although": [12, 55], "order": [12, 14, 18, 19, 20, 24, 25, 29, 30, 33, 36, 37, 42, 47, 48, 49, 52, 53, 55, 58, 62, 78, 79, 82, 84, 87, 88], "specif": [12, 46, 47, 49, 52, 53, 55, 62, 77, 79, 85, 86], "matter": 12, "reason": [12, 55, 82], "unit": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 52, 53, 62, 77, 79, 80, 81, 82, 84, 87, 88], "oper": [12, 13, 20, 37, 38, 41, 42, 43, 44, 47, 48, 49, 51, 52, 53, 54, 55, 62, 77, 79, 80, 81, 82, 84, 87, 88], "nunit": [12, 46], "list": [12, 13, 20, 39, 42, 46, 55, 78], "chapter": [12, 39, 88, 89], "differ": [12, 14, 17, 20, 30, 33, 37, 39, 42, 47, 48, 49, 52, 55, 56, 66, 71, 72, 78, 79, 82, 88, 89], "quantiti": 12, "given": [12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 42, 47, 49, 52, 55, 56, 57, 58, 59, 62, 67, 69, 70, 71, 72, 74, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88], "correspond": [12, 20, 39, 55, 62, 78, 79, 84, 87, 88], "respect": [12, 14, 18, 19, 20, 42, 46, 55, 56, 59, 62, 64, 72, 74, 76, 78, 79, 82, 88], "pseudo": [12, 78, 83, 84, 87], "arbitari": 12, "concentr": [12, 14, 17, 18, 19, 20, 30, 32, 33, 34, 47, 48, 49, 51, 52, 53, 56, 59, 63, 64, 67, 69, 70, 72, 74, 76, 77, 79, 82, 84], "profil": [12, 20, 42, 46, 51, 62, 79, 80, 84, 88, 89], "boundari": [12, 36, 47, 49, 80, 82, 85, 86], "ad": [12, 13, 37, 43, 55, 61, 62, 64, 71, 72, 73, 74, 80, 81, 82, 85, 86, 87, 88], "field": [12, 15, 39, 41, 47, 48, 49, 52, 53, 78], "unit_000": 12, "piecewis": [12, 46, 80, 84, 88], "cubic": [12, 46, 51, 78, 84], "polynomi": [12, 20, 42, 46, 62, 78, 79, 84, 88], "spline": [12, 84], "each": [12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 42, 43, 45, 47, 48, 49, 52, 53, 55, 56, 62, 72, 76, 77, 78, 79, 80, 82, 84, 88], "piec": [12, 46, 55, 84], "unit_typ": [12, 38, 50, 51, 54], "ncomp": [12, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 41, 42, 47, 48, 49, 51, 52, 53, 54], "inlet_typ": [12, 51], "piecewise_cubic_poli": [12, 37, 38, 51], "second": [12, 29, 47, 48, 49, 52, 53, 59, 71, 75, 88], "general_rate_model": [12, 38, 50], "relat": [12, 49, 62, 77], "transport": [12, 62, 80, 82], "geometri": [12, 47, 49, 52, 83], "descript": [12, 82], "col_length": [12, 47, 49, 52, 53], "cross_section_area": [12, 49, 52, 53], "01": [12, 35, 89], "37": 12, "par_poros": [12, 47, 49, 52], "par_radiu": [12, 47, 49, 52], "1e": [12, 58], "6": [12, 31, 32, 49, 55, 82, 88, 89], "col_dispers": [12, 39, 47, 49, 52, 53], "8": [12, 13, 39, 46, 55, 82, 85, 86, 88, 89], "": [12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 40, 41, 45, 46, 47, 48, 49, 51, 52, 53, 55, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89], "interstiti": [12, 39, 41, 49, 52, 53, 78, 80, 82], "volum": [12, 39, 41, 42, 43, 47, 48, 49, 52, 53, 55, 78, 80, 81, 82], "film_diffus": [12, 39, 47, 49, 52], "5": [12, 36, 39, 45, 46, 47, 49, 52, 55, 82, 88, 89], "par_diffus": [12, 39, 47, 49], "10": [12, 39, 45, 46, 55, 58, 88, 89], "mobil": [12, 20, 38, 39, 41, 43, 47, 48, 49, 52, 53, 62, 82], "phase": [12, 14, 17, 20, 30, 32, 33, 34, 38, 39, 41, 42, 43, 44, 47, 48, 49, 52, 53, 56, 58, 62, 67, 69, 72, 73, 76, 79, 81, 82, 85, 86, 88, 89], "par_surfdiffus": [12, 47, 49], "solid": [12, 14, 17, 30, 32, 33, 34, 39, 41, 42, 43, 47, 48, 49, 52, 53, 56, 62, 64, 70, 72, 76, 79, 82, 89], "film": [12, 47, 49, 52, 82, 83, 85], "particl": [12, 37, 38, 39, 41, 43, 44, 47, 48, 49, 52, 53, 62, 79, 81, 83, 85, 86], "surfac": [12, 17, 18, 20, 30, 32, 33, 34, 38, 47, 49, 58, 62, 71, 72, 82, 89], "diffus": [12, 47, 49, 52, 82, 83, 85, 89], "vector": [12, 20, 35, 39, 41, 42, 43, 45, 46, 47, 48, 49, 52, 53, 82, 88], "length": [12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 62, 79, 82], "n_compon": 12, "everi": [12, 39, 55, 78, 79], "equip": [12, 78, 80], "langmuir": [12, 20, 38, 56, 62, 71, 82, 89], "adsorption_model": [12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 47, 48, 49, 52, 53], "multi_component_langmuir": [12, 26, 62], "decid": [12, 55], "rapid": [12, 62, 89], "equilibrium": [12, 58, 67, 69, 70, 77, 79], "assumpt": [12, 55, 75, 79, 80, 82, 88], "is_kinet": [12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 62], "fals": 12, "here": [12, 13, 56, 62, 66, 78, 80, 82], "dynam": [12, 55, 62, 77, 81, 82, 85, 86, 88], "final": [12, 55, 78, 82], "ka": 12, "kd": 12, "qmax": 12, "kinet": [12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 62, 89], "mcl_ka": [12, 26], "mol": [12, 14, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 41, 47, 48, 49, 51, 52, 53], "mcl_kd": [12, 26], "desorpt": [12, 14, 15, 17, 18, 19, 21, 22, 23, 24, 26, 29, 30, 32, 33, 34, 59, 62, 64], "mcl_qmax": [12, 26], "100": 12, "next": [12, 33, 55, 78, 88], "stationari": [12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 62, 81, 82, 85, 86, 89], "These": [12, 55, 78, 79, 80, 88], "enter": [12, 55, 82], "entri": [12, 20, 78], "give": [12, 55, 77, 78, 88], "start": [12, 45, 55, 88], "empti": [12, 88], "init_c": [12, 47, 48, 49, 52, 53], "init_q": [12, 47, 48, 49, 52, 53], "There": [12, 78], "adapt": [12, 55, 62, 79], "spatial": [12, 47, 49, 52, 82, 88], "pde": 12, "howev": [12, 13, 20, 39, 42, 55, 78, 79, 80, 82, 87, 88], "ones": 12, "grid": [12, 88], "cell": [12, 47, 49, 52, 53, 82, 88], "axial": [12, 41, 46, 47, 49, 52, 53, 62, 79, 80, 82], "direct": [12, 46, 47, 49, 52, 53, 55, 78, 85, 86, 88, 89], "choos": [12, 55, 62], "20": [12, 55, 76, 89], "ncol": [12, 41, 47, 49, 52, 53], "radial": [12, 41, 47, 49, 80, 82, 83], "npar": [12, 41, 47, 49], "rather": 12, "low": [12, 63, 88], "valu": [12, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 39, 45, 46, 47, 48, 49, 52, 53, 62, 78, 82, 88], "sinc": [12, 20, 39, 42, 71, 72, 80, 82, 84, 87, 88], "educ": 12, "practic": [12, 55], "much": [12, 62, 82, 88], "higher": 12, "expect": [12, 47, 49, 52, 55, 78], "200": 12, "16": [12, 55, 64, 79, 89], "32": 12, "weno": [12, 37, 38, 47, 49, 52, 53], "scheme": [12, 36, 43, 47, 49], "handl": [12, 13], "advect": 12, "drastic": 12, "reduc": [12, 61, 88], "amount": [12, 62, 88], "compar": 12, "upwind": [12, 36], "moreov": [12, 55, 83], "bound": [12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 44, 47, 48, 49, 52, 53, 57, 60, 61, 62, 64, 71, 72, 74, 76, 79, 81, 82, 86, 88], "state": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 38, 39, 41, 43, 46, 47, 48, 49, 52, 53, 55, 57, 60, 61, 62, 64, 71, 79, 81, 82, 86, 88], "usual": [12, 79], "do": [12, 13, 20, 55, 82, 88], "nbound": [12, 47, 48, 49, 52, 53], "par_disc_typ": [12, 47, 49], "equidistant_par": [12, 47, 49], "use_analytic_jacobian": [12, 47, 48, 49, 52, 53], "reconstruct": [12, 37, 38, 47, 49, 52, 53], "gs_type": [12, 46, 47, 49, 52], "max_krylov": [12, 46, 47, 49, 52], "max_restart": [12, 46, 47, 49, 52], "schur_safeti": [12, 46, 47, 49, 52], "0e": 12, "boundary_model": [12, 36], "weno_ep": [12, 36], "weno_ord": [12, 36], "anoth": [12, 59, 71, 78], "sink": [12, 78, 83, 87], "could": [12, 39, 55], "signal": [12, 84], "unit_002": 12, "typic": [12, 13, 55], "indic": [12, 20, 42, 45, 46, 47, 55, 62, 78, 79, 88], "discontinu": [12, 45, 78, 84, 88], "nsec": [12, 39, 45, 47, 48, 49, 52, 53], "denot": [12, 15, 20, 39, 42, 56, 62, 64, 72, 76, 78, 79, 80, 81, 82, 86, 88], "end": [12, 20, 42, 45, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88], "section_tim": [12, 45, 46, 88], "should": [12, 20, 42, 47, 49, 52, 55, 82, 88], "contain": [12, 20, 39, 42, 55, 78, 88], "th": [12, 14, 41, 46, 82, 89], "goe": 12, "section_continu": [12, 45, 88], "whether": [12, 43, 45, 46, 47, 48, 49, 52, 53, 55, 62, 78, 81], "transit": [12, 45, 78], "both": [12, 39, 41, 46, 47, 55, 62, 71, 78, 79, 82, 84, 85, 86], "less": [12, 46, 62], "restart": [12, 46, 47, 49, 52, 88], "new": [12, 37, 46, 55, 62, 88], "try": 12, "over": [12, 20, 37, 42, 78, 88], "thu": [12, 20, 42, 55, 75, 76, 81, 82, 88], "comput": [12, 13, 44, 47, 48, 49, 52, 53, 55, 78, 88, 89], "costli": 12, "unsur": 12, "about": [12, 55, 77], "just": [12, 39, 41, 88], "leav": [12, 87], "1200": 12, "mention": 12, "earlier": [12, 55], "On": [12, 84, 88], "t_i": [12, 88], "t_": [12, 46, 62, 78, 79, 80, 82, 84, 88], "p_i": [12, 88], "t": [12, 20, 42, 43, 46, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88, 89], "d": [12, 49, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 76, 81, 88, 89], "coeffici": [12, 16, 17, 23, 25, 27, 28, 31, 33, 46, 47, 49, 51, 52, 53, 62, 78, 80, 82, 88, 89], "const_coeff": [12, 46, 51], "lin_coeff": [12, 46, 51], "quad_coeff": [12, 46, 51], "cube_coeff": [12, 46, 51], "constant": [12, 14, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 38, 42, 46, 47, 51, 58, 59, 77, 80, 82], "determin": [12, 15, 43, 45, 46, 47, 48, 49, 52, 53, 55, 58, 65, 76, 78, 80, 88], "stop": 12, "p_": [12, 20, 42, 43, 49, 79, 80, 82, 85], "sec_000": 12, "constantli": [12, 55], "fed": 12, "cdot": [12, 14, 24, 25, 41, 42, 46, 47, 48, 49, 52, 53, 80, 82], "coffici": 12, "append": [12, 47, 49, 78], "long": [12, 47, 49, 55, 78], "row": [12, 30, 39, 41, 42, 46, 78], "matrix": [12, 20, 39, 41, 42, 43, 46, 47, 48, 49, 52, 53, 77, 78, 79, 88], "major": [12, 14, 24, 25, 29, 30, 33, 39, 40, 41, 42, 46, 47, 48, 49, 52, 53, 55, 78], "storag": [12, 39, 41, 42, 46, 55, 78], "appli": [12, 55, 62, 79, 81, 82, 85, 86, 89], "element": [12, 88], "unitopid": [12, 46], "volumetr": [12, 46, 78, 80, 82], "flow": [12, 46, 47, 48, 49, 52, 53, 55, 77, 81, 85, 86, 87, 88, 89], "origin": [12, 45, 49, 55, 56, 58, 61, 62, 66, 79, 88], "destin": [12, 78], "2d": [12, 41], "port": [12, 41, 43, 46, 78, 80, 84], "speciefi": 12, "inform": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 80, 82, 84, 85, 86, 87], "nswitch": [12, 46], "switch_000": 12, "60": [12, 55, 89], "1e6": 12, "q": [12, 46, 56, 58, 59, 62, 67, 69, 70, 72, 74, 76, 78, 86, 89], "incompress": 12, "total": [12, 17, 30, 32, 33, 34, 39, 53, 78, 81, 82, 86, 88], "equal": 12, "outgo": [12, 78], "restrict": [12, 55, 78], "cstr": [12, 38, 50, 83], "variabl": [12, 72, 78, 85, 88], "special": [12, 55, 58], "nthread": [12, 45], "toler": [12, 44, 45, 88], "time_integr": [12, 37, 38, 88], "abstol": [12, 44, 45, 88], "algtol": [12, 45, 88], "reltol": [12, 45, 88], "init_step_s": [12, 45, 88], "max_step": [12, 45, 88], "1000000": 12, "Of": [12, 55], "interest": [12, 55], "control": [12, 46, 47, 49, 52, 55, 82, 88], "cpu": 12, "write": [12, 43, 55, 78], "addit": [12, 55, 56, 59, 66, 72, 73, 75, 76, 78, 81], "bulk": [12, 39, 41, 42, 43, 47, 48, 49, 52, 53, 62, 82], "data": [12, 13, 24, 25, 37, 38, 46, 49, 52, 55, 88], "split_components_data": [12, 41, 43], "split_ports_data": [12, 41, 43], "write_solution_bulk": [12, 43], "write_solution_inlet": [12, 43], "write_solution_outlet": [12, 43], "copi": [12, 55], "point": [12, 36, 41, 43, 46, 82, 88], "solut": [12, 13, 17, 34, 37, 43, 45, 46, 77, 79, 82, 88], "exce": [12, 88], "last": [12, 33, 41, 43, 46, 47, 88], "explicitli": [12, 39, 55], "between": [12, 30, 46, 47, 49, 52, 55, 56, 58, 66, 71, 72, 75, 78, 88], "user_solution_tim": [12, 45, 88], "linspac": 12, "1001": 12, "remain": [12, 55, 57, 82], "function": [12, 20, 42, 46, 55, 77, 82, 88, 89], "successfulli": [12, 88], "returncod": 12, "els": 12, "fail": [12, 55, 81, 88], "store": [12, 39], "figur": 12, "solution_tim": [12, 41], "solution_outlet": [12, 41], "xlabel": 12, "min": [12, 75], "ylabel": 12, "show": [12, 55], "10000": 12, "40000": 12, "sampl": 12, "rectangular": 12, "puls": [12, 84], "increas": [12, 78, 88], "institut": 13, "bio": 13, "geoscienc": 13, "ibg": 13, "forschungszentrum": 13, "j\u00fclich": 13, "fzj": 13, "under": [13, 55, 79, 89], "supervis": 13, "dr": 13, "eric": [13, 89], "von": [13, 89], "lier": [13, 89], "heart": 13, "softwar": [13, 55, 89], "accur": [13, 88], "comprehens": [13, 82], "famili": [13, 55], "applic": [13, 55, 82, 87, 89], "far": 13, "limit": [13, 37, 55, 56, 58, 66], "filtrat": 13, "crystal": 13, "ferment": 13, "sequenc": [13, 88], "reactor": [13, 37, 38, 50, 83, 86], "tank": [13, 37, 38, 50, 78, 83], "tube": [13, 78], "pump": 13, "valv": [13, 46, 77], "detector": 13, "result": [13, 39, 55, 62, 80, 81, 82, 88], "solv": [13, 46, 78, 88], "art": 13, "mathemat": [13, 89], "algorithm": [13, 44, 46, 47, 48, 49, 52, 53, 62, 79, 89], "techniqu": [13, 62], "forum": 13, "web": 13, "de": 13, "demo": 13, "newslett": 13, "strongli": [13, 33, 72], "coupl": [13, 78], "partial": [13, 43, 59, 62, 80, 81, 82, 85, 86, 88], "differenti": [13, 44, 47, 48, 49, 52, 53, 88, 89], "algebra": [13, 88, 89], "equat": [13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 45, 47, 48, 49, 51, 52, 53, 54, 56, 57, 62, 71, 72, 74, 76, 79, 81, 82, 85, 86, 88, 89], "pdae": 13, "sensit": [13, 20, 37, 38, 42, 43, 45, 46, 47, 49, 52, 89], "share": [13, 47, 48, 49, 52, 55], "memori": [13, 39, 46, 47, 49, 52, 88], "support": [13, 20, 37, 55, 60, 61, 77, 79, 82, 85, 86, 88], "xml": [13, 37], "flexibl": [13, 49, 78], "extens": [13, 55, 57], "through": [13, 55, 80, 82], "modular": 13, "design": [13, 37, 55, 88], "how": [13, 39, 55], "our": [13, 55], "best": [13, 47, 55, 78], "stabl": [13, 36], "api": 13, "break": [13, 46], "sometim": 13, "unavoid": 13, "non": [13, 37, 38, 49, 55, 59, 60, 61, 75, 88], "upgrad": 13, "commit": [13, 40, 55], "pleas": [13, 39, 55], "report": 13, "find": [13, 55, 88], "Or": 13, "fork": 13, "pull": 13, "request": [13, 39, 88], "pr": 13, "fix": [13, 49, 55, 88], "host": [13, 55], "maintain": [13, 55], "further": [13, 47, 49, 52, 53, 55], "project": 13, "highli": [13, 18, 19], "appreci": 13, "public": [13, 55], "lewek": [13, 89], "analysi": [13, 88, 89], "toolkit": 13, "113": 13, "2018": 13, "274": 13, "294": 13, "p\u00fcttmann": 13, "schnittert": [13, 89], "util": [13, 78, 89], "chromatogram": [13, 43, 65, 80, 82, 89], "scienc": [13, 89], "139": [13, 89], "2016": [13, 61, 89], "152": [13, 89], "162": [13, 89], "naumann": 13, "u": [13, 80, 82, 85, 86], "rate": [13, 14, 15, 17, 18, 19, 21, 22, 23, 24, 26, 29, 30, 32, 33, 34, 37, 38, 42, 46, 48, 50, 59, 62, 75, 77, 81, 83, 88], "liquid": [13, 14, 17, 20, 30, 32, 33, 34, 38, 42, 47, 48, 49, 52, 56, 62, 64, 67, 69, 72, 73, 76, 79, 81, 82, 89], "56": 13, "13": [13, 55, 60, 89], "2013": 13, "46": 13, "57": 13, "andersson": 13, "j": [13, 14, 43, 47, 49, 56, 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 85, 89], "34": 13, "2010": 13, "1180": 13, "1191": 13, "contributor": [13, 55], "who": [13, 55], "fund": 13, "unit_xxx": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 50, 79], "adsorpt": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 59, 62, 74, 82, 89], "bi_steric_mass_act": 14, "quasi": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 62, 81, 82, 85, 86], "mode": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 45, 46, 47, 48, 49, 52, 53, 55, 62, 88], "singl": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 41, 42, 43, 55, 62, 78, 88], "otherwis": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 55, 78, 88], "separ": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 43, 55, 62, 78, 89], "type": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 62, 66, 71, 81, 83, 85, 88], "int": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 40, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 80, 82], "rang": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 80, 82], "ntotalbnd": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 42, 47, 48, 49, 52, 53], "bisma_ka": 14, "m_": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 43, 47, 80, 81, 82, 85], "mp": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 41, 47, 49, 52], "sp": [14, 15, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 39, 41, 47, 48, 49, 52, 53, 79], "ge": [14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "nstate": [14, 24, 25, 39], "bisma_kd": 14, "bisma_nu": 14, "characterist": [14, 15, 17, 22, 30, 32, 33, 34, 59, 64, 75, 76], "charg": [14, 17, 30, 32, 33, 34, 55, 59, 75, 76], "nu_": [14, 56, 59, 72, 75], "protein": [14, 17, 18, 19, 32, 34, 74, 89], "site": [14, 17, 30, 32, 33, 34, 56, 62, 66, 68, 71, 72, 74, 76], "bisma_sigma": 14, "factor": [14, 17, 30, 31, 32, 33, 34, 35, 44, 46, 47, 49, 52, 65, 75, 76, 82], "sigma_": [14, 56, 72, 75], "bisma_lambda": 14, "capac": [14, 15, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 56, 62, 66, 68, 76, 82], "monoval": [14, 17, 30, 32, 33, 34], "salt": [14, 17, 18, 19, 30, 32, 33, 34, 49, 56, 59, 60, 61, 62, 64, 72, 76, 89], "counterion": [14, 17, 30, 32, 33, 34], "lambda_j": [14, 56], "bisma_refc0": 14, "gt": [14, 17, 23, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35], "bisma_refq": 14, "extended_mobile_phase_modul": 15, "empm_comp_mod": 15, "linear": [15, 17, 20, 25, 27, 28, 33, 38, 39, 44, 46, 47, 49, 51, 52, 57, 58, 67, 69, 70, 73, 77, 88, 89], "2": [15, 17, 20, 30, 31, 36, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 53, 55, 58, 59, 62, 71, 74, 75, 78, 79, 80, 82, 84, 85, 86, 89], "variant": [15, 20, 42, 58, 67, 69, 70], "empm_ka": 15, "empm_kd": 15, "beta": [15, 22, 60, 61, 64], "empm_qmax": 15, "maximum": [15, 18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 39, 45, 46, 47, 49, 52, 62, 78, 88], "empm_beta": 15, "ion": [15, 20, 22, 38, 56, 62, 64, 72, 76, 89], "exchang": [15, 20, 22, 29, 33, 34, 38, 56, 62, 64, 66, 71, 72, 75, 76, 89], "iex": [15, 22], "empm_gamma": 15, "hydrophob": [15, 18, 20, 22, 38, 62, 64, 89], "hic": [15, 20, 22, 38, 62], "freundlich_ldf": 16, "fldf_kkin": 16, "drive": [16, 25, 27, 28, 58, 67, 69, 70, 77], "forc": [16, 25, 27, 28, 55, 58, 67, 69, 70, 77], "fldf_kf": 16, "fldf_n": 16, "expon": [16, 42, 79], "generalized_ion_exchang": 17, "giex_ka": 17, "giex_ka_lin": 17, "mod": [17, 57], "giex_ka_quad": 17, "quadrat": [17, 31, 33, 46, 51, 73, 74], "giex_ka_salt": 17, "water": [17, 20, 38, 62, 89], "interact": [17, 18, 19, 34, 55, 58, 64, 73, 89], "giex_ka_prot": 17, "giex_kd": 17, "giex_kd_lin": 17, "giex_kd_quad": 17, "giex_kd_salt": 17, "giex_kd_prot": 17, "giex_nu": 17, "nu": [17, 32, 34, 59, 76], "resin": [17, 30, 32, 33, 34, 68], "giex_nu_lin": 17, "giex_nu_quad": 17, "giex_sigma": 17, "steric": [17, 20, 32, 38, 59, 62, 74, 89], "sigma": [17, 32, 34, 76], "shield": [17, 34, 75, 76], "prevent": [17, 34, 55, 62], "giex_lambda": 17, "giex_refc0": 17, "giex_refq": 17, "hic_constant_water_act": 18, "hiccwa_ka": 18, "hiccwa_kd": 18, "hiccwa_nu": 18, "ligand": [18, 19, 89], "per": [18, 19, 20, 40, 62, 88], "hiccwa_qmax": 18, "hiccwa_beta0": 18, "molecul": [18, 19, 71, 72, 75, 76, 82], "stabil": [18, 19], "infinit": [18, 19], "dilut": [18, 19, 79], "hiccwa_beta1": 18, "hic_water_on_hydrophobic_surfac": 19, "hicwhs_ka": 19, "hicwhs_kd": 19, "hicwhs_nu": 19, "hicwhs_qmax": 19, "hicwhs_beta0": 19, "hicwhs_beta1": 19, "featur": [20, 37, 55, 77, 88], "sake": [20, 42, 55], "breviti": [20, 42], "those": [20, 37, 39, 42, 55, 62, 79], "obtain": [20, 42, 62, 82, 86], "replac": [20, 42, 62, 82], "xxx": [20, 41, 42, 46, 62, 79], "ext_xxx": [20, 42], "xxx_refc0": 20, "xxx_refq": 20, "possibli": [20, 42, 62, 82, 88], "distinct": [20, 42], "begin": [20, 41, 42, 46, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88], "align": [20, 42, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 88], "texttt": [20, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54], "ttt": [20, 42], "tt": [20, 42], "xxx_yyi": [20, 42], "four": [20, 42, 82], "ext_xxx_yyi": [20, 42], "ext_xxx_yyy_t": [20, 42], "ext_xxx_yyy_tt": [20, 42], "ext_xxx_yyy_ttt": [20, 42], "extfun": [20, 42, 62, 79], "integ": [20, 42], "index": [20, 33, 39, 42, 44, 46, 47, 49, 52, 57, 62, 75, 78, 79, 82, 88], "pass": [20, 39, 42, 55, 79, 88], "radiu": [20, 42, 47, 49, 52, 80, 82], "mai": [20, 37, 42, 55, 62, 76, 78, 79, 80, 81, 82, 88, 89], "account": [20, 42, 62, 68, 73, 76, 78, 79, 80, 82, 88], "deriv": [20, 41, 42, 43, 46, 47, 48, 49, 52, 53, 58, 79, 88], "posit": [20, 42, 46, 47, 78, 80, 82], "vari": [20, 78, 80, 81], "taken": [20, 44, 45, 78, 86, 87], "read": [20, 39, 42, 55], "valid": [20, 39, 42, 45, 47, 49, 52, 53, 55], "place": [20, 42, 55, 62, 88], "adsorption_yyi": 20, "yyi": [20, 41, 42], "adsorption_000": 20, "sole": [20, 39, 42, 55], "preced": [20, 42], "exist": [20, 42], "multi": [20, 37, 38, 43, 56, 57, 62, 64], "ldf": [20, 38, 77], "modul": [20, 38, 62], "bi": [20, 38, 62, 71], "anti": [20, 38, 55, 62], "spread": [20, 38, 62], "mass": [20, 38, 59, 62, 74, 77, 78, 81, 82, 84, 85, 87, 88, 89], "saska": [20, 38, 62, 89], "self": [20, 38, 62], "associ": [20, 38, 55, 62, 89], "freundlich": [20, 38, 62], "lin_ka": 21, "lin_kd": 21, "mobile_phase_modul": 22, "mpm_ka": 22, "mpm_kd": 22, "mpm_qmax": 22, "mpm_beta": 22, "mpm_gamma": 22, "multi_component_antilangmuir": 23, "mcal_ka": 23, "mcal_kd": 23, "mcal_qmax": 23, "mcal_antilangmuir": 23, "multi_component_bilangmuir": 24, "mcbl_ka": 24, "dimension": [24, 25, 37, 38, 50, 83], "mcbl_kd": 24, "mcbl_qmax": 24, "multi_component_bilangmuir_ldf": 25, "mcblldf_keq": 25, "equillibrium": [25, 27, 28], "mcblldf_kkin": 25, "mcblldf_qmax": 25, "multi_component_langmuir_ldf": [27, 62], "mclldf_keq": 27, "mclldf_kkin": 27, "mclldf_qmax": 27, "multi_component_langmuir_ldf_liquid_phas": [28, 62], "mclldfc_keq": 28, "mclldfc_kkin": 28, "mclldfc_qmax": 28, "multi_component_spread": 29, "mcspr_ka": 29, "mcspr_kd": 29, "mcspr_qmax": 29, "mcspr_k12": 29, "mcspr_k21": 29, "multistate_steric_mass_act": 30, "mssma_ka": 30, "mssma_kd": 30, "mssma_nu": 30, "mssma_sigma": 30, "mssma_rat": 30, "convers": 30, "sum_": [30, 47, 49, 52, 56, 57, 59, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 81, 82, 84, 85, 86, 88], "nbnd": [30, 39, 47, 49, 52], "_": [30, 41, 47, 48, 49, 51, 52, 53, 56, 57, 62, 72, 75, 78, 79, 82, 84, 88], "mssma_lambda": 30, "mssma_refc0": 30, "mssma_refq": 30, "saska_h": 31, "henri": 31, "mathbb": [31, 33, 44, 46, 47, 48, 49, 51, 52, 53, 62, 79, 80, 82, 84, 88], "saska_k": 31, "self_associ": 32, "sai_ka1": 32, "sai_ka2": 32, "sai_kd": 32, "sai_nu": 32, "sai_sigma": 32, "sai_lambda": 32, "sai_refc0": 32, "sai_refq": 32, "simplified_multistate_steric_mass_act": 33, "smssma_lambda": 33, "smssma_ka": 33, "smssma_kd": 33, "smssma_nu_min": 33, "weakest": 33, "smssma_nu_max": 33, "strongest": 33, "smssma_nu_quad": 33, "smssma_sigma_min": 33, "smssma_sigma_max": 33, "smssma_sigma_quad": 33, "smssma_kw": 33, "weakli": 33, "stronger": 33, "smssma_kws_lin": 33, "smssma_kws_quad": 33, "smssma_ksw": 33, "weaker": 33, "smssma_ksw_lin": 33, "smssma_ksw_quad": 33, "smssma_refc0": 33, "smssma_refq": 33, "steric_mass_act": 34, "sma_ka": 34, "sma_kd": 34, "sma_nu": 34, "sma_sigma": 34, "sma_lambda": 34, "sma_refc0": 34, "sma_refq": 34, "solver_nam": 35, "levmar": 35, "atrn_r": 35, "atrn_err": 35, "composit": 35, "string": [35, 40, 44, 47, 48, 49, 51, 52, 53, 54], "init_damp": 35, "damp": 35, "min_damp": 35, "minim": [35, 88], "0001": 35, "subsolv": 35, "lower": 36, "zero": [36, 49, 88], "weight": [36, 78], "unstabl": 36, "small": [36, 58, 78, 82, 88], "d_": [36, 49, 80, 82, 84, 85, 86], "mathrm": [36, 40, 41, 45, 46, 47, 48, 49, 51, 52, 53, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 76, 79, 81, 82, 88], "ax": [36, 47, 80, 82, 85, 86], "neq": [36, 47, 49, 56, 66, 75], "ghost": 36, "varepsilon": [36, 48, 58, 81], "k": [36, 56, 62, 66, 67, 72, 75, 78, 79, 80, 84, 89], "framework": 37, "concept": [37, 56, 59, 72, 74, 76], "moment": 37, "choic": [37, 62], "layout": [37, 39, 79], "evolv": 37, "meta": [37, 39, 88], "file_format": [37, 40], "tab": [37, 88], "old": 37, "current": [37, 39, 88], "global": 37, "identifi": [37, 55, 62, 79, 88], "connect": [37, 38, 55, 77, 82, 87, 88], "source_xxx": [37, 38], "extfun_typ": [37, 38], "linear_interp_data": [37, 38], "inlet": [37, 38, 41, 43, 50, 62, 78, 80, 82, 83, 88], "outlet": [37, 38, 41, 43, 50, 78, 80, 82, 83, 84], "lump": [37, 38, 50, 83], "pore": [37, 38, 47, 49, 50, 58, 82, 83, 89], "stir": [37, 38, 50, 78, 79, 83], "reaction_model": [37, 38, 48, 53, 79], "mass_action_law": [37, 38, 79], "flux": [37, 38, 41, 43, 47, 49, 52, 53, 62, 79, 80, 82], "method": [37, 38, 44, 47, 49, 52, 53, 55, 78, 88], "discret": [37, 38, 41, 43, 50, 80, 82, 88], "nonlinear": [37, 38, 45, 46, 47, 49, 52, 53, 62, 78, 79, 88, 89], "initi": [37, 38, 45, 46, 47, 48, 49, 52, 53, 55, 78, 79, 82, 85, 86], "consistency_solv": [37, 38], "paramt": [37, 38], "param_xxx": [37, 38, 88], "unit_yyi": 37, "coordin": [37, 43, 47, 49, 80, 82], "sec_xxx": [38, 50], "lumped_rate_model_with_por": [38, 50], "lumped_rate_model_without_por": [38, 50], "general_rate_model_2d": [38, 50], "fig": [39, 82, 88], "divid": [39, 57, 62, 79, 80, 88], "three": [39, 46, 55, 62], "relev": [39, 55, 62, 88], "written": [39, 41, 55], "wherea": [39, 79, 80, 82, 88], "hold": [39, 79, 80, 85, 86, 88], "mandatori": [39, 46], "By": [39, 55, 62, 78, 79, 82, 85, 86], "convent": 39, "uppercas": 39, "explan": 39, "mean": [39, 55, 78, 85, 88], "latter": [39, 78, 82], "previou": [39, 55, 78], "level": 39, "subscript": 39, "iv": [39, 41, 47, 48, 49, 51, 52, 53], "bead": [39, 43, 47, 48, 49, 52, 53, 56, 62, 64, 72, 76, 79, 82], "subsequ": [39, 49], "4": [39, 40, 45, 46, 47, 49, 52, 55, 82, 85, 86, 88, 89], "ntotalcomp": 39, "sum": [39, 47, 48, 49, 52, 82], "npartyp": [39, 47, 48, 49, 52], "nreact": [39, 42], "ndof": [39, 46, 47, 48, 49, 52, 53], "degre": [39, 62, 75, 79], "freedom": [39, 55, 75], "param_valu": [39, 44], "unspecifi": 39, "certain": [39, 55, 62, 87], "arrai": [39, 41, 47, 78, 88], "term": [39, 55, 64, 68, 73, 74, 79, 82, 88], "xyz": 39, "slowest": 39, "suppos": 39, "fastest": [39, 88], "comp0bnd0": 39, "comp1bnd0": 39, "comp0bnd1": 39, "comp1bnd1": 39, "comp0bnd2": 39, "comp1bnd2": 39, "repres": [39, 55, 59, 78, 80, 82, 84], "assign": [39, 62, 79], "veloc": [39, 46, 47, 49, 52, 53, 78, 85, 86], "recogn": [39, 55], "appropri": [39, 55, 62, 78, 79, 88], "scalar": [39, 88], "present": [39, 41, 46, 49, 52, 53, 55, 61, 62, 71, 72, 78, 79, 80], "treat": [39, 43, 47, 49, 52, 53, 55], "cannot": [39, 55, 82], "while": [39, 62, 78, 79, 80, 88], "par_surdiffus": 39, "040000": 40, "omit": [40, 78], "digit": [40, 88], "minor": 40, "patch": 40, "out": [40, 44, 46, 47, 48, 49, 52, 53, 55, 78, 81, 87], "cadet_vers": 40, "cadet_commit": 40, "sha1": 40, "cadet_branch": 40, "time_sim": 40, "took": 40, "exclud": [40, 55, 88], "prepar": [40, 88, 89], "postprocess": [40, 88], "last_state_i": 41, "full": [41, 43, 45, 46, 47, 48, 49, 52, 53, 55, 78, 82, 88], "write_solution_last": [41, 43], "enabl": [41, 46, 47, 49, 52, 55, 80, 88], "last_state_ydot": 41, "last_state_sensy_xxx": 41, "write_sens_last": [41, 43], "last_state_sensydot_xxx": 41, "write_solution_tim": [41, 43], "solution_bulk": 41, "n_": [41, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 86], "unitopord": 41, "tensor": [41, 43], "solution_particl": 41, "insid": [41, 47, 49, 55, 80, 81, 82], "solution_particle_partype_xxx": 41, "solution_solid": 41, "solution_solid_partype_xxx": 41, "solution_flux": 41, "solution_volum": 41, "disabl": [41, 47, 48, 49, 52, 82], "remov": [41, 55, 81, 86, 89], "single_as_multi_port": [41, 43], "solution_inlet": 41, "solution_outlet_comp_xxx": 41, "1d": 41, "solution_inlet_comp_xxx": 41, "solution_outlet_port_xxx": 41, "solution_inlet_port_xxx": 41, "solution_outlet_port_xxx_comp_yyi": 41, "solution_inlet_port_xxx_comp_yyi": 41, "soldot_bulk": 41, "soldot_particl": 41, "soldot_particle_partype_xxx": 41, "soldot_solid": 41, "soldot_solid_partype_xxx": 41, "soldot_flux": 41, "soldot_volum": 41, "soldot_outlet": 41, "soldot_inlet": 41, "soldot_outlet_comp_xxx": 41, "soldot_inlet_comp_xxx": 41, "soldot_outlet_port_xxx": 41, "soldot_inlet_port_xxx": 41, "soldot_outlet_port_xxx_comp_yyi": 41, "soldot_inlet_port_xxx_comp_yyi": 41, "write_solution_last_unit": [41, 43], "dedic": 41, "dof": 41, "nport": 41, "sens_bulk": 41, "param": 41, "sens_particl": 41, "sens_particle_partype_xxx": 41, "sens_solid": 41, "sens_solid_partype_xxx": 41, "sens_flux": 41, "sens_volum": 41, "sens_outlet": 41, "sens_inlet": 41, "sens_outlet_comp_xxx": 41, "sens_inlet_comp_xxx": 41, "sens_outlet_port_xxx": 41, "sens_inlet_port_xxx": 41, "sens_outlet_port_xxx_comp_yyi": 41, "sens_inlet_port_xxx_comp_yyi": 41, "sensdot_bulk": 41, "sensdot_particl": 41, "sensdot_particle_partype_xxx": 41, "sensdot_solid": 41, "sensdot_solid_partype_xxx": 41, "sensdot_flux": 41, "sensdot_volum": 41, "sensdot_outlet": 41, "sensdot_inlet": 41, "sensdot_outlet_comp_xxx": 41, "sensdot_inlet_comp_xxx": 41, "sensdot_outlet_port_xxx": 41, "sensdot_inlet_port_xxx": 41, "sensdot_outlet_port_xxx_comp_yyi": 41, "sensdot_inlet_port_xxx_comp_yyi": 41, "axial_coordin": 41, "node": [41, 43, 47, 49, 78, 87], "radial_coordin": 41, "nrad": [41, 47, 80], "particle_coordinates_xxx": 41, "stoichiometr": [42, 79], "matric": [42, 78, 79], "reaction_particl": [42, 47, 48, 49, 52], "reaction_particle_yyi": 42, "reaction_particle_000": 42, "adsorption_particl": 42, "mal_kfwd_bulk": 42, "geq": [42, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 56, 66, 78, 80, 82], "mal_kbwd_bulk": 42, "backward": [42, 47, 77, 88], "mal_kfwd_liquid": 42, "mal_kbwd_liquid": 42, "mal_kfwd_solid": 42, "mal_kbwd_solid": 42, "mal_stoichiometry_bulk": 42, "mal_exponents_bulk_fwd": 42, "calcul": [42, 76, 78, 79, 88], "mal_exponents_bulk_bwd": 42, "mal_stoichiometry_liquid": 42, "mal_exponents_liquid_fwd": 42, "mal_exponents_liquid_bwd": 42, "mal_exponents_liquid_fwd_modsolid": 42, "mal_exponents_liquid_bwd_modsolid": 42, "mal_stoichiometry_solid": 42, "mal_exponents_solid_fwd": 42, "mal_exponents_solid_bwd": 42, "mal_exponents_solid_fwd_modliquid": 42, "mal_exponents_solid_bwd_modliquid": 42, "produc": [43, 55, 81], "joint": 43, "put": 43, "xxx_comp_000": 43, "xxx_comp_001": 43, "xxx_port_000": 43, "xxx_port_001": 43, "_port_xyz_": 43, "write_coordin": 43, "l_i": [43, 80, 82, 85, 86], "l": [43, 62, 79, 80, 81, 82, 85, 86, 89], "write_solution_particl": 43, "write_solution_solid": 43, "s_": [43, 78, 79, 80, 81, 82, 85, 86], "write_solution_flux": 43, "j_": [43, 82], "f": [43, 55, 58, 62, 79, 80, 82, 85, 88, 89], "write_solution_volum": 43, "v": [43, 81, 89], "write_soldot_inlet": 43, "write_soldot_outlet": 43, "write_soldot_bulk": 43, "write_soldot_particl": 43, "write_soldot_solid": 43, "write_soldot_flux": 43, "write_soldot_volum": 43, "write_sens_inlet": 43, "write_sens_outlet": 43, "write_sens_bulk": 43, "write_sens_particl": 43, "write_sens_solid": 43, "write_sens_flux": 43, "write_sens_volum": 43, "write_sensdot_inlet": 43, "write_sensdot_outlet": 43, "write_sensdot_bulk": 43, "write_sensdot_particl": 43, "write_sensdot_solid": 43, "write_sensdot_flux": 43, "write_sensdot_volum": 43, "nsen": 44, "sens_method": 44, "ad1": 44, "sens_unit": [44, 46], "sens_nam": 44, "sens_comp": [44, 46], "independ": [44, 47, 49, 52, 53, 55, 56, 66, 88], "sens_partyp": [44, 46, 47], "sens_react": [44, 46, 47], "sens_boundphas": [44, 46], "sens_sect": [44, 46, 47, 49, 52], "sens_abstol": 44, "absolut": [44, 45, 47, 55, 88], "rule": [44, 55], "thumb": 44, "sens_factor": [44, 88], "combin": [44, 47, 49, 52, 53, 55, 78, 81, 88], "left": [44, 46, 47, 48, 49, 52, 53, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 70, 71, 72, 74, 75, 76, 79, 80, 81, 82, 84, 85, 86, 88], "timepoint": 45, "consistent_init_mod": 45, "none": [45, 49], "lean": 45, "consistent_init_mode_sen": 45, "rel": [45, 47, 49, 88], "reltol_sen": 45, "size": [45, 46, 47, 49, 52, 79, 85, 88], "ida": [45, 46, 47, 49, 52, 88], "36f": 45, "timestep": 45, "500": 45, "sec": [45, 78, 82], "max_step_s": [45, 88], "unlimit": [45, 55], "errortest_sen": [45, 88], "test": [45, 88], "max_newton_it": [45, 88], "newton": [45, 78, 88], "iter": [45, 46, 47, 49, 52, 78, 88], "max_errtest_fail": [45, 88], "failur": [45, 55, 88], "max_convtest_fail": [45, 88], "converg": [45, 88], "max_newton_iter_sen": [45, 88], "behav": 45, "discontin": 45, "init_state_i": 46, "init_state_ydot": 46, "init_state_sensy_xxx": 46, "init_state_sensydot_xxx": 46, "connections_include_port": 46, "connections_include_dynamic_flow": 46, "q_0": [46, 59, 64, 72, 74, 76, 78], "q_1": [46, 78], "q_2": [46, 78], "q_3": [46, 78], "contrari": [46, 80, 88], "connection_lin": 46, "connection_quad": 46, "connection_cub": 46, "address": [46, 55, 58], "senstiv": 46, "unus": 46, "nconnect": 46, "normal": [46, 55, 62], "henc": [46, 78, 79, 85, 88], "ext": 46, "gram": [46, 47, 49, 52], "schmidt": [46, 47, 49, 52], "orthogon": [46, 47, 49, 52], "41f": [46, 47, 49, 52], "classic": [46, 47, 49, 52], "krylov": [46, 47, 49, 52], "subspac": [46, 47, 49, 52], "gmre": [46, 47, 49, 52], "lack": [46, 47, 49, 52], "issu": [46, 47, 49, 52, 58], "larger": [46, 47, 49, 52, 55, 82], "space": [46, 47, 49, 52], "schur": [46, 47, 49, 52], "safeti": [46, 47, 49, 52], "influenc": [46, 47, 49, 52, 64], "tradeoff": [46, 47, 49, 52], "linear_solution_mod": 46, "possibl": [46, 47, 55, 62, 78, 79, 88], "cyclic": 46, "chosen": [46, 78, 88], "heurist": [46, 78], "25": [46, 89], "acycl": [46, 78], "grm2d": [47, 83], "chromatograph": [47, 48, 49, 51, 52, 53, 54, 88, 89], "medium": [47, 48, 49, 51, 52, 53, 54, 55], "adsorption_model_multiplex": [47, 49, 52], "multiplex": [47, 48, 49, 52, 53], "infer": [47, 48, 49, 52, 53, 78, 80, 82], "reaction_model_bulk": [47, 49, 52], "subgroup": [47, 48, 49, 52, 53], "reaction_bulk": [47, 48, 49, 52], "reaction_model_particl": [47, 48, 49, 52], "reaction_particle_xxx": [47, 48, 49, 52], "reaction_model_particles_multiplex": [47, 48, 49, 52], "zone": [47, 80], "init_cp": [47, 49, 52], "rad": [47, 80], "inhomogen": [47, 49, 52, 80], "_i": [47, 49, 52, 58], "altern": [47, 55], "suppli": [47, 80], "init_st": [47, 48, 49, 52, 53], "half": [47, 48, 49, 52, 53], "variou": [47, 48, 49, 52, 53, 88], "dispers": [47, 49, 52, 53, 65, 78, 80, 82, 83, 86, 88], "col_dispersion_multiplex": [47, 49, 52, 53], "behavior": [47, 49, 52, 53, 62, 82, 89], "col_dispersion_radi": 47, "col_dispersion_radial_multiplex": 47, "col_radiu": 47, "film_diffusion_multiplex": [47, 49, 52], "par_coreradiu": [47, 49], "pore_access": [47, 49, 52], "access": [47, 49, 52, 55, 82], "pore_accessibility_multiplex": [47, 49, 52], "effect": [47, 49, 55, 56, 62, 66, 71, 72, 79, 82], "par_diffusion_multiplex": [47, 49], "par_surfdiffusion_multiplex": [47, 49], "neg": [47, 75, 80, 82], "velocity_multiplex": 47, "par_type_volfrac": [47, 48, 49, 52], "fraction": [47, 48, 49, 52, 82, 87], "homogen": [47, 80, 82], "individu": [47, 49, 52, 55, 78], "along": [47, 55, 80], "par_type_volfrac_multiplex": 47, "par_geom": [47, 49, 52], "sphere": [47, 49, 52], "cylind": [47, 49, 52, 82], "slab": [47, 49, 52, 82], "radial_disc_typ": 47, "equidist": 47, "equivolum": 47, "user_defin": 47, "radial_compart": 47, "compart": 47, "endpoint": [47, 49, 88], "column_radiu": 47, "ascend": 47, "equivolume_par": [47, 49], "user_defined_par": [47, 49], "par_disc_vector": [47, 49], "linearli": [47, 49, 62, 79, 88], "r_": [47, 49, 79, 80, 82, 85], "sum_i": [47, 49, 79], "par_boundary_ord": [47, 49], "accuraci": [47, 49], "outer": [47, 49, 80, 82], "condit": [47, 49, 55, 56, 72, 76, 80, 82, 85, 86, 88], "analyt": [47, 48, 49, 52, 53, 63, 88], "jacobian": [47, 48, 49, 52, 53, 58, 62, 78, 79, 88], "slower": [47, 48, 49, 52, 53], "linear_solver_bulk": 47, "spars": 47, "dens": 47, "convert": 47, "band": [47, 82], "regular": 47, "lapack": 47, "slow": 47, "intens": 47, "umfpack": 47, "lu": 47, "decomposit": [47, 84], "suitespars": 47, "superlu": 47, "init_volum": 48, "flowrate_filt": 48, "pure": [48, 81, 82, 88], "grm": [49, 80, 83, 85], "par_surfdiffusion_dep": 49, "unmodifi": [49, 55], "liquid_salt_exponenti": 49, "exponenti": 49, "law": [49, 55, 77], "liquid_salt_pow": 49, "power": [49, 55, 62, 79], "liquid_salt_colloidal_affin": 49, "colloid": 49, "affin": 49, "par_surfdiffusion_expfactor": 49, "p1": 49, "tild": [49, 62], "exp": [49, 59], "c_": [49, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68, 71, 72, 73, 74, 76, 78, 80, 81, 82, 85, 86], "right": [49, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 68, 70, 71, 72, 74, 75, 76, 79, 80, 81, 82, 84, 85, 86, 88], "par_surfdiffusion_expargmult": 49, "p2": 49, "par_surfdiffusion_powfactor": 49, "par_surfdiffusion_powexp": 49, "fjactor": 49, "par_surfdiffusion_logkeqfactor": 49, "k_": [49, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 80, 82, 85], "par_surfdiffusion_logkeqexp": 49, "par_surfdiffusion_logkeqconst": 49, "p3": 49, "p4": 49, "p5": 49, "cross": [49, 52, 53, 55, 80, 82], "area": [49, 52, 53, 55, 82], "togeth": [49, 52, 87, 88], "fix_zero_surface_diffus": 49, "intern": [49, 78, 88], "optim": [49, 62, 79, 89], "favor": [49, 55], "lrmp": [52, 83, 86], "lrm": [53, 83], "total_poros": 53, "gnu": 55, "gpl": 55, "v3": 55, "29": [55, 89], "june": [55, 89], "2007": [55, 89], "copyright": 55, "free": [55, 76], "foundat": 55, "inc": 55, "fsf": 55, "org": [55, 89], "everyon": 55, "permit": 55, "verbatim": 55, "preambl": 55, "copyleft": 55, "kind": 55, "awai": 55, "contrast": [55, 78], "intend": 55, "guarante": 55, "sure": [55, 81], "author": [55, 62], "too": [55, 88], "speak": 55, "price": 55, "them": [55, 78, 88], "wish": 55, "receiv": [55, 78], "thing": 55, "protect": 55, "deni": 55, "ask": 55, "surrend": 55, "respons": 55, "grati": 55, "fee": 55, "recipi": 55, "so": [55, 82, 88], "assert": 55, "offer": [55, 88], "legal": 55, "permiss": 55, "clearli": 55, "warranti": 55, "mark": 55, "erron": 55, "devic": 55, "manufactur": 55, "fundament": [55, 89], "incompat": 55, "aim": 55, "systemat": 55, "pattern": [55, 62, 79], "abus": 55, "occur": [55, 88], "product": [55, 79], "precis": 55, "unaccept": 55, "prohibit": 55, "aris": [55, 88], "substanti": [55, 88], "domain": [55, 82], "stand": 55, "readi": 55, "provis": 55, "futur": 55, "threaten": 55, "patent": 55, "avoid": [55, 87, 88], "danger": 55, "proprietari": 55, "assur": 55, "render": 55, "modif": 55, "AND": 55, "definit": 55, "semiconductor": 55, "mask": 55, "license": 55, "organ": 55, "fashion": 55, "exact": [55, 88], "cover": 55, "propag": 55, "anyth": 55, "directli": [55, 62, 79], "secondarili": 55, "liabl": 55, "infring": 55, "privat": 55, "countri": 55, "well": [55, 79, 81, 88], "convei": 55, "parti": 55, "mere": 55, "transfer": [55, 75, 82, 85], "displai": 55, "notic": 55, "extent": [55, 78], "conveni": 55, "promin": [55, 62, 83], "visibl": 55, "tell": 55, "view": 55, "menu": 55, "item": 55, "meet": 55, "criterion": 55, "prefer": [55, 88], "form": [55, 58, 62, 79, 82], "offici": 55, "bodi": 55, "particular": 55, "languag": 55, "wide": 55, "among": [55, 77], "whole": [55, 88], "context": 55, "interpret": 55, "link": [55, 89], "subprogram": 55, "intim": 55, "regener": 55, "basic": [55, 81], "grant": [55, 89], "irrevoc": 55, "met": 55, "affirm": 55, "content": 55, "constitut": [55, 89], "acknowledg": 55, "fair": 55, "equival": [55, 62], "exclus": [55, 85], "facil": 55, "compli": 55, "materi": 55, "behalf": 55, "outsid": 55, "relationship": [55, 88], "circumst": 55, "sublicens": 55, "unnecessari": 55, "circumvent": 55, "No": [55, 58], "shall": 55, "deem": 55, "technolog": 55, "measur": 55, "fulfil": 55, "oblig": 55, "articl": [55, 89], "11": [55, 59, 89], "wipo": 55, "treati": 55, "adopt": 55, "decemb": [55, 89], "1996": [55, 89], "similar": [55, 56, 74], "waiv": 55, "forbid": 55, "exercis": 55, "disclaim": 55, "intent": 55, "enforc": 55, "against": 55, "third": [55, 62, 79], "conspicu": 55, "publish": 55, "keep": 55, "intact": 55, "accord": 55, "absenc": 55, "carri": 55, "date": 55, "entir": 55, "anyon": 55, "come": 55, "possess": [55, 78, 84], "regardless": [55, 78], "invalid": 55, "natur": [55, 82], "aggreg": 55, "beyond": 55, "what": 55, "inclus": 55, "machin": 55, "readabl": 55, "embodi": 55, "physic": [55, 62, 79, 84, 87], "accompani": 55, "durabl": 55, "customarili": 55, "interchang": 55, "least": [55, 78], "year": 55, "spare": 55, "cost": [55, 88], "server": 55, "occasion": 55, "noncommerci": 55, "subsect": 55, "6b": 55, "clear": 55, "ensur": 55, "satisfi": [55, 88], "peer": 55, "transmiss": 55, "being": [55, 62, 79], "6d": 55, "portion": 55, "whose": 55, "consum": [55, 88], "tangibl": 55, "person": 55, "properti": [55, 89], "household": 55, "sold": 55, "incorpor": 55, "dwell": 55, "doubt": 55, "resolv": 55, "coverag": 55, "commerci": 55, "industri": [55, 89], "signific": [55, 88], "procedur": [55, 88], "kei": 55, "suffic": 55, "interf": 55, "made": [55, 88], "transact": [55, 89], "perpetu": 55, "character": [55, 82], "But": 55, "neither": 55, "nor": 55, "retain": 55, "abil": 55, "rom": 55, "servic": 55, "itself": [55, 78], "advers": 55, "affect": [55, 88], "violat": 55, "protocol": 55, "across": 55, "publicli": 55, "password": 55, "unpack": 55, "supplement": 55, "though": 55, "were": [55, 88], "govern": [55, 80, 81, 82], "regard": 55, "own": [55, 78, 80, 82], "notwithstand": 55, "holder": 55, "liabil": 55, "preserv": 55, "misrepresent": 55, "licensor": 55, "declin": 55, "trademark": 55, "trade": 55, "indemnif": 55, "contractu": 55, "impos": 55, "relicens": 55, "surviv": 55, "statement": 55, "abov": [55, 62, 75, 78, 82], "expressli": 55, "attempt": 55, "void": 55, "paragraph": [55, 56, 59, 72, 74, 76], "ceas": 55, "reinstat": 55, "provision": 55, "until": [55, 78], "perman": 55, "notifi": 55, "prior": 55, "dai": 55, "after": [55, 88], "cessat": 55, "cure": 55, "receipt": 55, "qualifi": 55, "accept": 55, "Not": 55, "ancillari": 55, "consequ": [55, 78, 82, 84, 88], "likewis": 55, "noth": [55, 82], "downstream": [55, 78], "complianc": 55, "entiti": [55, 62], "asset": 55, "subdivid": 55, "merg": [55, 87], "whatev": 55, "predecessor": 55, "had": 55, "plu": 55, "effort": 55, "royalti": 55, "litig": 55, "claim": 55, "counterclaim": 55, "lawsuit": 55, "alleg": 55, "sell": 55, "sale": 55, "alreadi": [55, 74], "acquir": 55, "hereaft": 55, "manner": 55, "worldwid": 55, "express": 55, "agreement": 55, "denomin": [55, 78], "coven": 55, "sue": 55, "knowingli": 55, "reli": 55, "readili": 55, "arrang": 55, "depriv": 55, "yourself": 55, "knowledg": 55, "believ": 55, "pursuant": 55, "procur": 55, "convey": 55, "discriminatori": 55, "scope": 55, "busi": 55, "payment": 55, "primarili": 55, "28": 55, "march": [55, 89], "constru": 55, "impli": 55, "defens": 55, "court": 55, "contradict": 55, "excus": 55, "simultan": 55, "pertin": 55, "agre": 55, "collect": [55, 78, 82], "whom": 55, "refrain": 55, "affero": 55, "concern": 55, "14": [55, 58, 61, 80, 89], "revis": 55, "Such": [55, 78], "spirit": 55, "distinguish": 55, "ever": 55, "proxi": 55, "THERE": 55, "NO": 55, "FOR": 55, "THE": 55, "TO": 55, "BY": 55, "IN": 55, "OR": 55, "AS": 55, "OF": 55, "BUT": 55, "NOT": 55, "merchant": 55, "fit": [55, 89], "risk": 55, "qualiti": 55, "WITH": 55, "prove": 55, "defect": 55, "necessari": [55, 87, 88], "repair": 55, "correct": [55, 88], "event": [55, 88], "WILL": 55, "BE": 55, "damag": 55, "incident": 55, "consequenti": 55, "inabl": 55, "BEING": 55, "inaccur": 55, "sustain": 55, "IF": 55, "SUCH": 55, "advis": 55, "review": [55, 89], "close": [55, 78, 88], "approxim": [55, 58, 62, 80], "waiver": 55, "civil": 55, "greatest": 55, "achiev": [55, 62, 79], "redistribut": 55, "attach": [55, 78], "safest": 55, "line": 55, "pointer": 55, "found": 55, "brief": 55, "idea": 55, "hope": 55, "www": [55, 89], "contact": 55, "electron": 55, "paper": [55, 61], "mail": 55, "short": [55, 62, 78, 83], "w": [55, 75], "welcom": 55, "hypothet": 55, "cours": [55, 88], "might": [55, 88], "gui": 55, "box": 55, "employ": 55, "programm": 55, "school": 55, "sign": [55, 62, 80, 82], "subroutin": 55, "lesser": 55, "philosophi": 55, "why": 55, "lgpl": 55, "sma": [56, 59, 72, 75], "q_": [56, 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 78, 82, 88], "leq": [56, 66, 67, 72, 84], "competit": [56, 62, 66, 71, 72], "frac": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 85, 86, 88], "ref": [56, 59, 62, 72, 74, 76], "comp": [56, 57, 58, 59, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 82], "quad": [56, 59, 72, 75, 78, 82], "electro": [56, 76], "neutral": [56, 72, 76], "compens": [56, 72, 76], "miss": [56, 72, 76], "mathcal": [57, 88], "lin": [57, 59, 75], "lang": 57, "q_i": [57, 59, 60, 61, 62, 63, 64, 65, 68, 69, 73, 74, 76], "gamma_i": [57, 64], "max": [57, 60, 61, 64, 65, 66, 68, 71, 75, 79, 82], "q_j": [57, 59, 60, 61, 62, 64, 65, 68, 70, 71, 74, 76], "beta_i": [57, 64], "inert": [57, 64], "isotherm": [58, 60, 61, 62, 65, 89], "empir": 58, "due": [58, 62, 76, 79, 80, 82, 88], "heterogen": 58, "variat": 58, "strength": [58, 72], "One": 58, "dq": [58, 62], "dc_p": 58, "tend": 58, "infin": 58, "rightarrow": [58, 62, 80, 82], "n": [58, 78, 88, 89], "c_p": 58, "istotherm": 58, "epsilon": 58, "alpha_0": 58, "alpha_1": [58, 88], "alpha_2": 58, "k_f": 58, "cocentr": 58, "le": [58, 88], "treament": 58, "ph": 59, "comparison": [59, 62, 83, 89], "lambda": [59, 62, 72, 74, 76], "nu_j": [59, 62, 74, 76], "_0": [59, 62, 72, 74, 76, 88], "nu_i": [59, 60, 61, 62, 74, 76], "sigma_j": [59, 62, 74, 76], "prot": 59, "implem": 60, "j\u00e4pel": [60, 89], "buyel": [60, 89], "beta_0": [60, 61], "beta_1": [60, 61], "sum_j": [60, 61, 80, 81, 82], "c_0": [60, 61, 62], "slightli": 61, "wang": [61, 89], "et": 61, "al": 61, "naiv": 61, "multicompon": [61, 89], "formul": [61, 88], "speci": 61, "occurr": 62, "equlibrium": 62, "scale": [62, 89], "c_i": [62, 67, 69, 70, 81, 82, 84], "quotient": 62, "eq": [62, 67, 69, 70, 78, 79, 80, 82, 88], "k_a": [62, 71], "k_d": [62, 71], "shown": [62, 88], "qquad": [62, 72, 78, 88], "leftrightarrow": 62, "correl": [62, 77], "potenti": [62, 71, 72, 79, 82], "degrad": [62, 79], "reparameter": [62, 79], "decoupl": [62, 79], "transform": [62, 79], "pmatrix": [62, 79], "j_f": [62, 79], "approach": [62, 88], "dt": 62, "explicit": 62, "funtion": 62, "q_m": 62, "proport": [62, 79], "kin": 62, "act": [62, 78, 79, 83], "toward": 62, "alterni": 62, "ldf_liquid_phas": 62, "contant": 62, "don": 62, "represent": 62, "sens": 62, "availab": 62, "mainli": 62, "appear": 62, "exemplifi": 62, "nondimension": 62, "properli": 62, "improv": [62, 80], "averag": 62, "ionic": [62, 76], "colon": [62, 79, 80, 82], "temperatur": [62, 79, 89], "realli": [62, 79], "xxx_ka": 62, "placehold": [62, 79], "xxx_ka_ttt": 62, "xxx_ka_tt": 62, "xxx_ka_t": 62, "construct": [62, 79], "prepend": [62, 79], "ext_": [62, 79], "ext_multi_component_langmuir": 62, "main": [62, 82], "orient": [62, 71, 72], "often": [63, 76, 81], "emploi": 63, "gamma": 64, "p_j": [65, 79, 82, 85], "shape": [65, 76], "sharp": 65, "front": [65, 88], "tail": 65, "concav": 65, "around": [65, 82], "convex": 65, "c_k": 67, "satur": [68, 82], "compet": 68, "c_j": [69, 81, 82, 85], "fold": 71, "21": [71, 88, 89], "m_i": [72, 75, 86], "tentacl": 72, "adsorb": [72, 89], "phantom": 72, "ell": [72, 75, 78, 79], "underbrac": [72, 82], "weak": 72, "strong": [72, 88], "m_j": [72, 82], "h_i": 73, "ij": 73, "capabl": 74, "dimer": 74, "19": [74, 78, 88, 89], "immobil": [74, 82], "adjac": 75, "parameter": 75, "few": [75, 88], "let": [75, 88], "lvert": 75, "rvert": 75, "sw": 75, "monoton": [75, 78], "decreas": 75, "up": [76, 78, 80, 89], "counter": 76, "turn": [76, 78], "compos": 78, "graph": 78, "edg": 78, "complic": [78, 88], "setup": 78, "smb": [78, 87], "mcsgp": 78, "plug": [78, 86], "dead": 78, "cycl": 78, "strictli": [78, 87], "target": 78, "incom": 78, "feed": [78, 80, 84], "balanc": [78, 81, 82], "con": 78, "inflow": 78, "hat": 78, "f_": [78, 79, 80, 81, 82, 84, 85, 86], "seven": 78, "id": [78, 89], "seventh": 78, "five": 78, "fifth": 78, "overrul": 78, "With": 78, "yield": 78, "predomin": 78, "counterpart": 78, "easili": 78, "throughout": [78, 82], "trigger": 78, "That": [78, 80], "adjust": 78, "again": [78, 88], "fulli": 78, "previous": 78, "topologi": 78, "twice": 78, "overridden": 78, "flag": 78, "net": [79, 82], "react": [79, 80, 81, 82, 85, 86], "mechan": 79, "suitabl": 79, "vessel": 79, "weaken": 79, "speed": 79, "reactant": 79, "varphi": 79, "l_j": 79, "l_": [79, 82], "fwd": 79, "prod_": 79, "bwd": 79, "situat": [79, 88], "split": 79, "bnd": [79, 81, 82, 86], "vice": 79, "versa": 79, "s_j": [79, 81, 82, 85], "xxx_kfwd": 79, "xxx_kfwd_ttt": 79, "xxx_kfwd_tt": 79, "xxx_kfwd_t": 79, "ext_mass_action_law": 79, "introduc": [80, 88], "pack": 80, "irregular": 80, "frit": [80, 82], "crude": 80, "rho": 80, "varepsilon_c": [80, 82, 86], "z": [80, 82, 85, 86, 89], "d_j": [80, 81, 82, 85], "addition": 80, "simplic": 80, "disjoint": 80, "realiz": 80, "danckwert": [80, 82, 85, 86, 89], "foral": [80, 82, 85, 86], "inner": [80, 82], "symmetri": 80, "center": 80, "send": 80, "inject": 80, "rho_k": 80, "rho_": 80, "known": [80, 82], "u_k": 80, "u_": [80, 82], "pi": 80, "varepsilon_": [80, 82, 85], "revers": [80, 82, 89], "holdup": 81, "uptak": 81, "experi": 81, "fluid": [81, 82], "mix": 81, "evolut": 81, "filter": 81, "ratio": [81, 82, 86], "duti": 81, "fall": 81, "unreason": 81, "unphys": 81, "neglect": [82, 85, 86], "radii": 82, "smaller": [82, 88], "r_c": 82, "seen": 82, "partyp": 82, "stagnant": 82, "convect": 82, "broaden": 82, "resist": 82, "porou": 82, "fill": 82, "spheric": 82, "ll": 82, "beta_c": [82, 85], "involv": [82, 88], "outflow": 82, "acc": [82, 85], "imperm": 82, "infti": 82, "cap": 82, "seal": 82, "side": 82, "face": 82, "enzym": 82, "finit": 82, "placement": 82, "extrem": [82, 88], "circumv": 82, "presenc": 82, "exlus": 82, "inconsist": 82, "aid": 82, "superfici": 82, "interplai": [82, 89], "magnitud": [82, 88], "smooth": [84, 88], "sect": 84, "t_k": 84, "a_": 84, "b_": 84, "t_1": [84, 88], "t_2": 84, "interv": 84, "fourth": 84, "shift": 84, "deviat": [85, 86], "happen": [85, 88], "complement": [85, 86], "varepsilon_t": 86, "varepsilon_p": 86, "beta_t": 86, "accordingli": 86, "dpfr": 86, "rest": 87, "recycl": 87, "unbalanc": 87, "stream": 87, "post": 87, "overview": 88, "formula": 88, "bdf": 88, "sundial": [88, 89], "exhibit": 88, "stiff": 88, "aspect": 88, "task": 88, "discuss": 88, "timespan": 88, "t_0": 88, "slice": 88, "extra": 88, "reset": 88, "submodel": 88, "alloc": 88, "dae": 88, "_d": 88, "_a": 88, "decompos": 88, "g_": 88, "furthermor": 88, "y_": 88, "invert": 88, "span": 88, "y_0": 88, "conclud": 88, "past": 88, "tau": 88, "delta": 88, "alpha_": 88, "ansatz": 88, "insert": 88, "h": [88, 89], "quickli": 88, "remedi": 88, "simpler": 88, "tri": 88, "abort": 88, "hand": 88, "truncat": 88, "comma": 88, "imprecis": 88, "ill": 88, "pose": 88, "budget": 88, "jump": 88, "captur": 88, "unlik": 88, "allevi": 88, "theori": [88, 89], "arbitrarili": 88, "resolut": 88, "suffici": 88, "particularli": 88, "steep": 88, "numer": [88, 89], "companion": 88, "stagger": 88, "22": [88, 89], "fact": 88, "seed": 88, "23": [88, 89], "identif": 88, "computation": 88, "p_1": 88, "p_2": 88, "p_n": 88, "alpha_i": 88, "residu": 88, "alpha_n": 88, "ffsensitivityparam": 88, "chain": 88, "fuse": 88, "eugen": 89, "ku": 89, "\u010d": 89, "era": 89, "contribut": 89, "journal": 89, "237": 89, "248": 89, "januari": 89, "1965": 89, "url": 89, "linkinghub": 89, "elsevi": 89, "retriev": 89, "pii": 89, "s0021967301994579": 89, "doi": 89, "1016": 89, "s0021": 89, "9673": 89, "99457": 89, "tingyu": 89, "gu": 89, "springer": 89, "berlin": 89, "heidelberg": 89, "1995": 89, "isbn": 89, "978": 89, "642": 89, "79543": 89, "1007": 89, "79541": 89, "georg": 89, "guiochon": 89, "attila": 89, "feling": 89, "dean": 89, "shirazi": 89, "anita": 89, "katti": 89, "academ": 89, "press": 89, "amsterdam": 89, "2nd": 89, "2006": 89, "370537": 89, "chromatographia": 89, "s1": 89, "175": 89, "180": 89, "2004": 89, "springerlink": 89, "metapress": 89, "openurl": 89, "asp": 89, "genr": 89, "1365": 89, "s10337": 89, "004": 89, "0288": 89, "ma": 89, "whitlei": 89, "aich": 89, "42": 89, "1244": 89, "1262": 89, "wilei": 89, "1002": 89, "aic": 89, "690420507": 89, "petr": 89, "schneider": 89, "smith": 89, "studi": 89, "886": 89, "895": 89, "novemb": 89, "1968": 89, "690140613": 89, "kanji": 89, "miyab": 89, "silica": 89, "gel": 89, "c1": 89, "c18": 89, "densiti": 89, "1167": 89, "161": 89, "70": 89, "octob": 89, "ncbi": 89, "nlm": 89, "nih": 89, "gov": 89, "pubm": 89, "17825832": 89, "chroma": 89, "08": 89, "045": 89, "februari": 89, "1953": 89, "0009250953800011": 89, "0009": 89, "2509": 89, "53": 89, "80001": 89, "benedikt": 89, "aumeier": 89, "anh": 89, "dang": 89, "burkhard": 89, "oh": 89, "s\u00fcleyman": 89, "y\u00fcce": 89, "matthia": 89, "wessl": 89, "aqueou": 89, "swing": 89, "pesticid": 89, "environment": 89, "technologi": 89, "919": 89, "927": 89, "2019": 89, "1021": 89, "ac": 89, "est": 89, "8b05873": 89, "arxiv": 89, "ashok": 89, "singh": 89, "nanoparticl": 89, "ecotoxicologi": 89, "editor": 89, "343": 89, "450": 89, "boston": 89, "sciencedirect": 89, "b978012801406600008x": 89, "b978": 89, "801406": 89, "00008": 89, "thiemo": 89, "huuk": 89, "tobia": 89, "hahn": 89, "katharina": 89, "doning": 89, "jan": 89, "griesbach": 89, "stefan": 89, "hepbildikl": 89, "\u00fc": 89, "rgen": 89, "hubbuch": 89, "complex": 89, "antibodi": 89, "asymmetr": 89, "biotechnologi": 89, "1600336": 89, "2017": 89, "biot": 89, "201600336": 89, "j\u00f8rgen": 89, "mollerup": 89, "thermodynam": 89, "31": 89, "864": 89, "874": 89, "2008": 89, "ceat": 89, "200800082": 89, "ronald": 89, "colin": 89, "johann": 89, "felix": 89, "bayesian": 89, "invers": 89, "1679": 89, "463408": 89, "s0021967322005830": 89, "gang": 89, "j\u00fcrgen": 89, "mechanist": 89, "1465": 89, "71": 89, "78": 89, "s0021967316310263": 89, "07": 89, "085": 89, "wayn": 89, "meland": 89, "ziad": 89, "el": 89, "rassi": 89, "csaba": 89, "horv": 89, "\u00e1": 89, "electrostat": 89, "biopolym": 89, "469": 89, "27": 89, "1989": 89, "s0021967301964374": 89, "96437": 89, "david": 89, "karlsson": 89, "nikla": 89, "jakobsson": 89, "ander": 89, "axelsson": 89, "bernt": 89, "nilsson": 89, "purif": 89, "1055": 89, "39": 89, "s0021967304014554": 89, "151": 89, "irv": 89, "american": 89, "societi": 89, "38": 89, "2221": 89, "2295": 89, "1916": 89, "pub": 89, "ab": 89, "ja02268a002": 89, "mei": 89, "di": 89, "wu": 89, "clark": 89, "iqbal": 89, "sugarcan": 89, "molass": 89, "move": 89, "bed": 89, "equilibria": 89, "1711": 89, "1732": 89, "1992": 89, "tandfonlin": 89, "1080": 89, "01496399208019442": 89, "westerberg": 89, "broberg": 89, "hansen": 89, "degerman": 89, "budd": 89, "challeng": 89, "35": 89, "183": 89, "190": 89, "2012": 89, "201000560": 89, "clayton": 89, "brook": 89, "steven": 89, "cramer": 89, "displac": 89, "induc": 89, "gradient": 89, "1969": 89, "1978": 89, "690381212": 89, "alan": 89, "hindmarsh": 89, "peter": 89, "brown": 89, "keith": 89, "lee": 89, "radu": 89, "serban": 89, "dan": 89, "shumak": 89, "carol": 89, "woodward": 89, "suit": 89, "acm": 89, "363": 89, "396": 89, "septemb": 89, "2005": 89, "portal": 89, "citat": 89, "cfm": 89, "doid": 89, "1089014": 89, "1089020": 89, "1145": 89, "william": 89, "feeheri": 89, "john": 89, "tolsma": 89, "paul": 89, "barton": 89, "41": 89, "54": 89, "1997": 89, "dl": 89, "264193": 89, "264573": 89, "s0168": 89, "9274": 89, "97": 89, "00050": 89, "andrea": 89, "ttmann": 89, "sebastian": 89, "samuel": 89, "s0009250915006168": 89, "ce": 89, "2015": 89, "050": 89}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"cadet": [0, 6, 7, 8, 10, 11, 12, 13], "document": 0, "batch": 1, "chromatographi": [1, 82], "exampl": 2, "load": 3, "wash": 3, "elut": 3, "chemic": 4, "reaction": [4, 11, 42, 79], "resid": 5, "time": [5, 12, 88], "distribut": 5, "build": [6, 7, 8], "linux": 6, "prerequisit": [6, 7, 8], "instal": [6, 10, 13], "depend": [6, 7, 20, 39, 42, 62, 79], "lapack": [6, 7], "osx": 7, "m": 8, "window": 8, "visual": 8, "studio": 8, "intel": 8, "oneapi": 8, "base": 8, "toolkit": 8, "option": 8, "clink": 8, "prepar": 8, "code": 8, "from": [8, 10], "command": 8, "line": 8, "test": 8, "result": [8, 11, 12], "get": 9, "start": 9, "core": 10, "simul": [10, 12, 88], "pre": 10, "built": 10, "binari": 10, "sourc": 10, "frontend": 10, "python": 10, "mi": 10, "overview": 11, "defin": 11, "unit": [11, 39, 46, 50, 51, 54, 78, 83], "oper": [11, 39, 46, 50, 78, 83], "paramet": [11, 36, 39, 44, 88], "adsorpt": [11, 12], "paramt": [11, 35], "setup": [11, 88], "connect": [11, 12, 46, 78], "switch": [11, 78], "configur": [11, 45], "solver": [11, 35, 45, 46], "call": 11, "read": 11, "introduct": [12, 39], "0": 12, "preliminari": 12, "step": [12, 88], "1": 12, "set": 12, "up": 12, "model": [12, 20, 35, 36, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 62, 77, 79, 80, 81, 82, 83, 85, 86], "inlet": [12, 51, 84], "gener": [12, 17, 47, 49, 59, 80, 82], "rate": [12, 47, 49, 52, 53, 78, 79, 80, 82, 85, 86], "initi": [12, 35, 88], "condit": 12, "discret": [12, 35, 36, 47, 49, 52, 53], "outlet": [12, 54, 87], "2": 12, "section": [12, 39, 45, 88], "system": [12, 46, 78], "3": 12, "run": 12, "4": 12, "plot": 12, "exercis": 12, "featur": [13, 62, 83], "ongo": 13, "develop": 13, "bug": 13, "donat": 13, "cite": 13, "acknowledg": 13, "bi": [14, 24, 25, 56, 66, 67], "steric": [14, 30, 33, 34, 56, 72, 75, 76], "mass": [14, 30, 33, 34, 56, 72, 75, 76, 79], "action": [14, 30, 33, 34, 56, 72, 75, 76, 79], "extend": [15, 57], "mobil": [15, 22, 57, 64], "phase": [15, 22, 28, 57, 64, 70], "modul": [15, 22, 57, 64], "langmuir": [15, 22, 23, 24, 25, 26, 27, 28, 57, 64, 65, 66, 67, 68, 69, 70], "freundlich": [16, 58], "ldf": [16, 25, 27, 28, 58, 62, 67, 69, 70], "ion": [17, 59], "exchang": [17, 59], "hic": [18, 19, 60, 61], "constant": [18, 60, 62, 79], "water": [18, 19, 60, 61], "activ": [18, 60], "hydrophob": [19, 61], "surfac": [19, 61], "bind": [20, 62], "extern": [20, 42, 46, 62, 79], "non": 20, "compon": [20, 23, 24, 25, 26, 27, 28, 29, 65, 66, 67, 68, 69, 70, 71], "multipl": [20, 42, 82], "particl": [20, 42, 82], "type": [20, 42, 51, 54, 82], "linear": [21, 62, 63, 78], "multi": [23, 24, 25, 26, 27, 28, 29, 30, 33, 39, 65, 66, 67, 68, 69, 70, 71, 72, 75], "anti": [23, 65], "liquid": [28, 70], "spread": [29, 71], "state": [30, 33, 72, 75], "saska": [31, 73], "self": [32, 74], "associ": [32, 74], "simplifi": [33, 75], "nonlinear": 35, "consist": [35, 88], "group": [35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54], "input": [35, 36, 38, 39, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54], "unit_xxx": [35, 36, 39, 41, 42, 43, 47, 48, 49, 51, 52, 53, 54], "consistency_solv": 35, "flux": 36, "reconstruct": 36, "method": 36, "weno": 36, "interfac": 37, "specif": [37, 78, 80, 82, 88], "file": [37, 39], "format": [37, 39], "version": 37, "global": 39, "structur": 39, "notat": 39, "identifi": 39, "common": 39, "us": 39, "descript": 39, "order": 39, "dimension": [39, 47, 80], "data": [39, 43], "dataset": 39, "1d": 39, "meta": 40, "output": 41, "solut": [41, 78], "sensit": [41, 44, 88], "param_xxx": [41, 44], "unit_yyi": 41, "coordin": 41, "reaction_model": 42, "mass_action_law": 42, "return": 43, "time_integr": 45, "switch_xxx": 46, "source_xxx": 46, "extfun_typ": 46, "linear_interp_data": 46, "piecewise_cubic_poli": 46, "two": [47, 80], "unit_typ": [47, 48, 49, 52, 53], "general_rate_model_2d": 47, "continu": [48, 81], "stir": [48, 81], "tank": [48, 81], "reactor": [48, 81], "cstr": [48, 81], "general_rate_model": 49, "sec_xxx": 51, "lump": [52, 53, 85, 86], "pore": [52, 53, 85, 86], "lumped_rate_model_with_por": 52, "without": [53, 86], "lumped_rate_model_without_por": 53, "licens": 55, "equilibrium": 62, "drive": 62, "forc": 62, "refer": 62, "concentr": 62, "function": [62, 79], "matrix": 62, "support": [62, 83], "differ": [62, 83], "network": 78, "valv": 78, "dynam": 78, "flow": [78, 80, 82], "law": 79, "correl": 79, "forward": 79, "backward": 79, "grm2d": 80, "veloc": [80, 82], "direct": [80, 82], "grm": 82, "variabl": 82, "unknown": 82, "geometri": 82, "size": 82, "exclus": 82, "lrmp": 85, "lrm": 86, "transit": 88, "adapt": 88, "joint": 88, "bibliographi": 89}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinxcontrib.bibtex": 9, "sphinx": 60}, "alltitles": {"CADET Documentation": [[0, "cadet-documentation"]], "Batch chromatography": [[1, "batch-chromatography"]], "Examples": [[2, "examples"]], "Load Wash Elute": [[3, "load-wash-elute"]], "Chemical reactions": [[4, "chemical-reactions"]], "Residence time distributions": [[5, "residence-time-distributions"]], "Build for Linux": [[6, "build-for-linux"]], "Prerequisites": [[6, "prerequisites"], [7, "prerequisites"], [8, "prerequisites"]], "Install dependencies": [[6, "install-dependencies"]], "LAPACK": [[6, "lapack"], [7, "lapack"]], "Build CADET": [[6, "build-cadet"], [7, "build-cadet"]], "Build for OSX": [[7, "build-for-osx"]], "Build dependencies": [[7, "build-dependencies"]], "Build for MS Windows": [[8, "build-for-ms-windows"]], "Visual Studio:": [[8, "visual-studio"]], "Intel oneAPI Base Toolkit": [[8, "intel-oneapi-base-toolkit"]], "Optional: clink": [[8, "optional-clink"]], "Prepare CADET code": [[8, "prepare-cadet-code"]], "Build CADET in Visual Studio": [[8, "build-cadet-in-visual-studio"]], "Build CADET from the command line": [[8, "build-cadet-from-the-command-line"]], "Test build results": [[8, "test-build-results"]], "Getting started": [[9, "getting-started"]], "Installation": [[10, "installation"], [13, "installation"]], "Install CADET core simulator": [[10, "install-cadet-core-simulator"]], "Install pre-built binaries": [[10, "install-pre-built-binaries"]], "Install from source": [[10, "install-from-source"]], "Install a frontend": [[10, "install-a-frontend"]], "Install CADET-Python": [[10, "install-cadet-python"]], "Install CADET-MI": [[10, "install-cadet-mi"]], "CADET Overview": [[11, "cadet-overview"]], "Define unit operation parameters": [[11, "define-unit-operation-parameters"]], "Define adsorption and reaction paramters": [[11, "define-adsorption-and-reaction-paramters"]], "Setup connections and switches": [[11, "setup-connections-and-switches"]], "Configure solver": [[11, "configure-solver"]], "Call solver and read results": [[11, "call-solver-and-read-results"]], "CADET Introduction": [[12, "cadet-introduction"]], "0. Preliminary Steps": [[12, "preliminary-steps"]], "1. Setting Up the Model": [[12, "setting-up-the-model"]], "Inlet Model": [[12, "inlet-model"]], "General Rate Model": [[12, "general-rate-model"], [49, "general-rate-model"]], "Adsorption Model": [[12, "adsorption-model"]], "Initial Conditions": [[12, "initial-conditions"]], "Setting up the Discretization": [[12, "setting-up-the-discretization"]], "Outlet Model": [[12, "outlet-model"]], "2. Setting up Time Sections and Connections": [[12, "setting-up-time-sections-and-connections"]], "Time Sections": [[12, "time-sections"]], "System Connectivity": [[12, "system-connectivity"]], "3. Setting Up the Simulator and Running the Simulation": [[12, "setting-up-the-simulator-and-running-the-simulation"]], "4. Plotting the Results": [[12, "plotting-the-results"]], "Exercises": [[12, "exercises"]], "CADET": [[13, "cadet"]], "Features": [[13, "features"]], "Ongoing Development": [[13, "ongoing-development"]], "Bugs": [[13, "bugs"]], "Donations": [[13, "donations"]], "Citing": [[13, "citing"]], "Acknowledgments": [[13, "acknowledgments"]], "Bi Steric Mass Action": [[14, "bi-steric-mass-action"], [56, "bi-steric-mass-action"]], "Extended Mobile Phase Modulator Langmuir": [[15, "extended-mobile-phase-modulator-langmuir"], [57, "extended-mobile-phase-modulator-langmuir"]], "Freundlich LDF": [[16, "freundlich-ldf"], [58, "freundlich-ldf"]], "Generalized Ion Exchange": [[17, "generalized-ion-exchange"], [59, "generalized-ion-exchange"]], "HIC Constant Water Activity": [[18, "hic-constant-water-activity"], [60, "hic-constant-water-activity"]], "HIC Water on Hydrophobic Surfaces": [[19, "hic-water-on-hydrophobic-surfaces"], [61, "hic-water-on-hydrophobic-surfaces"]], "Binding models": [[20, "binding-models"], [62, "binding-models"]], "Externally dependent binding models": [[20, "externally-dependent-binding-models"]], "Non-binding components": [[20, "non-binding-components"]], "Multiple particle types": [[20, "multiple-particle-types"], [42, "multiple-particle-types"], [82, "multiple-particle-types"]], "Linear": [[21, "linear"], [63, "linear"]], "Mobile Phase Modulator Langmuir": [[22, "mobile-phase-modulator-langmuir"], [64, "mobile-phase-modulator-langmuir"]], "Multi Component Anti-Langmuir": [[23, "multi-component-anti-langmuir"], [65, "multi-component-anti-langmuir"]], "Multi Component Bi-Langmuir": [[24, "multi-component-bi-langmuir"], [66, "multi-component-bi-langmuir"]], "Multi Component Bi-Langmuir LDF": [[25, "multi-component-bi-langmuir-ldf"], [67, "multi-component-bi-langmuir-ldf"]], "Multi Component Langmuir": [[26, "multi-component-langmuir"], [68, "multi-component-langmuir"]], "Multi Component Langmuir LDF": [[27, "multi-component-langmuir-ldf"], [69, "multi-component-langmuir-ldf"]], "Multi Component Langmuir LDF Liquid Phase": [[28, "multi-component-langmuir-ldf-liquid-phase"], [70, "multi-component-langmuir-ldf-liquid-phase"]], "Multi Component Spreading": [[29, "multi-component-spreading"], [71, "multi-component-spreading"]], "Multi-State Steric Mass Action": [[30, "multi-state-steric-mass-action"], [72, "multi-state-steric-mass-action"]], "Saska": [[31, "saska"], [73, "saska"]], "Self Association": [[32, "self-association"], [74, "self-association"]], "Simplified Multi-State Steric Mass Action": [[33, "simplified-multi-state-steric-mass-action"], [75, "simplified-multi-state-steric-mass-action"]], "Steric Mass Action": [[34, "steric-mass-action"], [76, "steric-mass-action"]], "Nonlinear solver for consistent initialization": [[35, "nonlinear-solver-for-consistent-initialization"]], "Group /input/model/unit_XXX/discretization/consistency_solver - Nonlinear consistency solver paramters": [[35, "group-input-model-unit-xxx-discretization-consistency-solver-nonlinear-consistency-solver-paramters"]], "Flux reconstruction methods": [[36, "flux-reconstruction-methods"]], "Group /input/model/unit_XXX/discretization/weno - WENO Parameters": [[36, "group-input-model-unit-xxx-discretization-weno-weno-parameters"]], "Interface specifications": [[37, "interface-specifications"]], "File format versions": [[37, null]], "Input Group": [[38, "input-group"]], "Introduction": [[39, "introduction"]], "Global structure": [[39, "global-structure"]], "Notation and identifiers": [[39, "notation-and-identifiers"]], "Common notation and identifiers used in the file format description": [[39, "id5"]], "Ordering of multi dimensional data": [[39, "ordering-of-multi-dimensional-data"]], "Section dependent model parameters": [[39, "section-dependent-model-parameters"]], "Section dependent datasets in the 1D unit operation models (/input/model/unit_XXX group)": [[39, "id6"]], "Meta Group": [[40, "meta-group"]], "Output Group": [[41, "output-group"]], "Group /output": [[41, "group-output"]], "Group /output/solution": [[41, "group-output-solution"]], "Group /output/solution/unit_XXX": [[41, "group-output-solution-unit-xxx"]], "Group /output/sensitivity/param_XXX/unit_YYY": [[41, "group-output-sensitivity-param-xxx-unit-yyy"]], "/output/coordinates/unit_XXX": [[41, "output-coordinates-unit-xxx"]], "Reaction models": [[42, "reaction-models"], [79, "reaction-models"]], "Externally dependent reaction models": [[42, "externally-dependent-reaction-models"]], "Group /input/model/unit_XXX/reaction - REACTION_MODEL = MASS_ACTION_LAW": [[42, "group-input-model-unit-xxx-reaction-reaction-model-mass-action-law"]], "Return data": [[43, "return-data"]], "Group /input/return": [[43, "group-input-return"]], "Group /input/return/unit_XXX": [[43, "group-input-return-unit-xxx"]], "Parameter Sensitivities": [[44, "parameter-sensitivities"]], "Group /input/sensitivity": [[44, "group-input-sensitivity"]], "Group /input/sensitivity/param_XXX": [[44, "group-input-sensitivity-param-xxx"]], "Solver Configuration": [[45, "solver-configuration"]], "Group /input/solver": [[45, "group-input-solver"]], "Group /solver/time_integrator": [[45, "group-solver-time-integrator"]], "Group /solver/sections": [[45, "group-solver-sections"]], "System of unit operations": [[46, "system-of-unit-operations"]], "Group /input/model": [[46, "group-input-model"]], "Group /input/model/connections": [[46, "group-input-model-connections"]], "Group /input/model/connections/switch_XXX": [[46, "group-input-model-connections-switch-xxx"]], "Group /input/model/external/source_XXX - EXTFUN_TYPE = LINEAR_INTERP_DATA": [[46, "group-input-model-external-source-xxx-extfun-type-linear-interp-data"]], "Group /input/model/external/source_XXX - EXTFUN_TYPE = PIECEWISE_CUBIC_POLY": [[46, "group-input-model-external-source-xxx-extfun-type-piecewise-cubic-poly"]], "Group /input/model/solver": [[46, "group-input-model-solver"]], "Two dimensional general rate model": [[47, "two-dimensional-general-rate-model"]], "Group /input/model/unit_XXX - UNIT_TYPE = GENERAL_RATE_MODEL_2D": [[47, "group-input-model-unit-xxx-unit-type-general-rate-model-2d"]], "Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL_2D": [[47, "group-input-model-unit-xxx-discretization-unit-type-general-rate-model-2d"]], "Continuous stirred tank reactor model": [[48, "continuous-stirred-tank-reactor-model"]], "Group /input/model/unit_XXX - UNIT_TYPE = CSTR": [[48, "group-input-model-unit-xxx-unit-type-cstr"]], "Group /input/model/unit_XXX - UNIT_TYPE - GENERAL_RATE_MODEL": [[49, "group-input-model-unit-xxx-unit-type-general-rate-model"]], "Group /input/model/unit_XXX/discretization - UNIT_TYPE - GENERAL_RATE_MODEL": [[49, "group-input-model-unit-xxx-discretization-unit-type-general-rate-model"]], "Unit Operations": [[50, "unit-operations"]], "Inlet": [[51, "inlet"], [84, "inlet"]], "Group /input/model/unit_XXX - UNIT-TYPE = INLET": [[51, "group-input-model-unit-xxx-unit-type-inlet"]], "Group /input/model/unit_XXX/sec_XXX": [[51, "group-input-model-unit-xxx-sec-xxx"]], "Lumped rate model with pores": [[52, "lumped-rate-model-with-pores"]], "Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES": [[52, "group-input-model-unit-xxx-unit-type-lumped-rate-model-with-pores"]], "Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITH_PORES": [[52, "group-input-model-unit-xxx-discretization-unit-type-lumped-rate-model-with-pores"]], "Lumped Rate Model Without Pores": [[53, "lumped-rate-model-without-pores"]], "Group /input/model/unit_XXX - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES": [[53, "group-input-model-unit-xxx-unit-type-lumped-rate-model-without-pores"]], "Group /input/model/unit_XXX/discretization - UNIT_TYPE = LUMPED_RATE_MODEL_WITHOUT_PORES": [[53, "group-input-model-unit-xxx-discretization-unit-type-lumped-rate-model-without-pores"]], "Outlet": [[54, "outlet"], [87, "outlet"]], "Group /input/model/unit_XXX - UNIT-TYPE = OUTLET": [[54, "group-input-model-unit-xxx-unit-type-outlet"]], "License": [[55, "license"]], "Equilibrium constants": [[62, "equilibrium-constants"]], "Linear Driving Force (LDF)": [[62, "linear-driving-force-ldf"]], "Reference concentrations": [[62, "reference-concentrations"]], "Dependence on external function": [[62, "dependence-on-external-function"], [79, "dependence-on-external-function"]], "Binding model feature matrix": [[62, "binding-model-feature-matrix"]], "Supported features of the different binding models": [[62, "id3"]], "Modelling": [[77, "modelling"]], "Networks of unit operations": [[78, "networks-of-unit-operations"]], "Specification of network connections": [[78, "specification-of-network-connections"]], "Valve switches": [[78, "valve-switches"]], "Dynamic flow rates": [[78, "dynamic-flow-rates"]], "Solution of the linear systems": [[78, "solution-of-the-linear-systems"]], "Mass action law": [[79, "mass-action-law"]], "Correlation of forward- and backward rate constants": [[79, "correlation-of-forward-and-backward-rate-constants"]], "Two Dimensional General rate model (GRM2D)": [[80, "two-dimensional-general-rate-model-grm2d"]], "Specification of flow rate / velocity and direction": [[80, "specification-of-flow-rate-velocity-and-direction"], [82, "specification-of-flow-rate-velocity-and-direction"]], "Continuous stirred tank reactor model (CSTR)": [[81, "continuous-stirred-tank-reactor-model-cstr"]], "General rate model (GRM)": [[82, "general-rate-model-grm"]], "Variables and unknowns": [[82, "id5"]], "Particle Geometry": [[82, "particle-geometry"]], "Size exclusion chromatography": [[82, "size-exclusion-chromatography"]], "Unit operation models": [[83, "unit-operation-models"]], "Supported features of the different unit operations models": [[83, "id2"]], "Lumped rate model with pores (LRMP)": [[85, "lumped-rate-model-with-pores-lrmp"]], "Lumped rate model without pores (LRM)": [[86, "lumped-rate-model-without-pores-lrm"]], "Simulation": [[88, "simulation"]], "Time sections and transitions": [[88, "time-sections-and-transitions"]], "Time section specification": [[88, "time-section-specification"]], "Setup": [[88, "setup"]], "Consistent initialization": [[88, "consistent-initialization"]], "Time stepping": [[88, "time-stepping"]], "Adaptivity": [[88, "adaptivity"]], "Parameter sensitivities": [[88, "parameter-sensitivities"]], "Joint parameters": [[88, "joint-parameters"]], "Bibliography": [[89, "bibliography"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/simulation/index.html b/simulation/index.html deleted file mode 100644 index 5e6795f6e..000000000 --- a/simulation/index.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - Simulation — CADET - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Simulation

-

This chapter gives an overview of the simulation process and the different steps involved.

-

CADET uses a backward-differentiation-formula (BDF) time discretization as implemented by the IDAS solver from SUNDIALS [21]. -Each time step requires the solution of a nonlinear algebraic system of equations is performed by a Newton method. -Since chromatographic systems can exhibit strong nonlinearity and stiff systems, the Jacobian of the equation system is always updated (i.e., an “exact” Newton method is used).

-
-../_images/time_integration.png -
-

Fig. 5 General time integration procedure

-
-
-

The general control flow of a simulation is shown in Fig. 5. -Some aspects of the tasks involved are discussed below.

-
-

Time sections and transitions

-

The timespan \(\left[t_0, t_{\text{end}}\right]\) of the simulation can be divided into multiple time sections \(\left[t_i, t_{i+1}\right]\) with

-
-\[\begin{aligned} - t_0 < t_1 < \dots < t_i < t_{i+1} < \dots < t_{\text{end}}. -\end{aligned}\]
-

Time sections are used for various purposes, for example, for defining piecewise polynomials used as inlet profiles or external function, for changing operating conditions such as flow rates, or for changing the connectivity in a network of unit operations. -A sequence of (one or more) time sections with smooth transitions is called a time slice (see Fig. 6).

-

A transition from one section to the next can either be smooth or discontinuous. -On smooth transitions, the time integrator can just step over the section transition. -Contrary to smooth transitions, a discontinuous transition requires some extra work in resetting the time integrator and finding consistent initial conditions for the next time slice.

-
-../_images/sections1.png -
-

Fig. 6 Time sections, time slices, and transitions between them

-
-
-
-

Time section specification

-

Time sections are specified by an array (SECTION_TIMES, see Tab. Group /solver/sections) which contains the \(t_i\) that denote the start- and endpoint of a time section \(\left[t_i, t_{i+1}\right]\). -This means, that the array contains \(n+1\) values if there are \(n\) sections. -The smoothness of a section transition is indicated by the array SECTION_CONTINUITY, which contains \(n-1\) elements if there are \(n\) sections.

-
-
-
-

Setup

-

In the setup phase, the model specification is checked and data structures are prepared for the simulation. -The simulation can be run multiple times with different initial conditions, which also allows to continue a simulation. -However, the model structure must not change after this point. -This means, the different model and submodel types (e.g., unit operation model, binding model) as well as their discretization (i.e., number of cells) and structure (i.e., number of components, number of reactions) are fixed. On the contrary, their parameters (e.g., flow rates, porosities, dispersion coefficients) may change on different runs of a prepared simulation.

-

This assumption allows an accelerated simulation as there is no memory allocation performed during time integration.

-
-
-

Consistent initialization

-

At the beginning of the simulation and on discontinuous section transitions, consistent initial conditions have to be computed. -In CADET, the general differential-algebraic equation (DAE)

-
-\[\begin{aligned} - F(t, y, \dot{y}, p) = 0 -\end{aligned}\]
-

consists of purely algebraic equations that do not contain \(\dot{y}\) and dynamic equations. -Let \(\mathcal{I}_d\) be the index set of dynamic equations and \(\mathcal{I}_a\) the index set of algebraic equations. -The general DAE can be decomposed into

-
-\[\begin{split}\begin{aligned} - M \dot{y}_{\mathcal{I}_d} + G_{\mathcal{I}_d}(t, y, p) &= 0, \\ - G_{\mathcal{I}_a}(t, y, p) &= 0, -\end{aligned}\end{split}\]
-

where \(M\) is the so called “mass matrix”, which essentially consist of the state time derivative Jacobian \(\partial F / \partial \dot{y}\). -Furthermore, it is assumed that the Jacobian of the algebraic equations with respect to the algebraic variables \(\partial G_{\mathcal{I}_a} / \partial y_{\mathcal{I}_a}\) is invertible. -Hence, the original DAE is of differential index 1.

-

Given \(y_{\mathcal{I}_d}\), consistently initialization means finding \(y_{\mathcal{I}_a}\), \(y_{\mathcal{I}_d}\), and \(\dot{y}\) such that the DAE holds at the initial time point \(t_0\) and can be solved for some non-empty time span. -Thus, consistent initial conditions \(y_0\) and \(\dot{y}_0\) satisfy

-
-\[\begin{split}\begin{aligned} - 0 &= M \dot{y}_{\mathcal{I}_d} + G_{\mathcal{I}_d}\left(t_0, y, p\right), \\ - 0 &= G_{\mathcal{I}_a}\left(t_0, y, p\right), \\ - 0 &= \frac{\partial G_{\mathcal{I}_a}}{\partial t}\left(t_0, y, p\right) + \frac{\partial G_{\mathcal{I}_a}}{\partial y}\left(t_0, \dot{y}, p\right). -\end{aligned}\end{split}\]
-

The last equation, which determines \(\dot{y}_{\mathcal{I}_a}\), arises from taking the total derivative with respect to time \(t\) of the second equation.

-

Concluding, a nonlinear algebraic equation system has to be solved in order to compute consistent initial conditions. -The error in the solution of these systems is controlled by the ALGTOL setting (see Tab. Group /solver/time_integrator).

-
-
-

Time stepping

-

Given the general differential-algebraic equation

-
-\[\begin{aligned} - F(t, y, \dot{y}, p) = 0, \qquad y\left(t_0 \right) = y_0, \qquad \dot{y}\left(t_0 \right) = \dot{y}_0 -\end{aligned}\]
-

with consistent initial values \(y_0\) and \(\dot{y}_0\), the BDF discretization uses past time steps \(y\left( t_{\tau - i} \right)\) to compute the current \(\dot{y}\left(t_\tau\right)\) as

-
-\[\begin{aligned} - \dot{y}\left(t_\tau\right) = \frac{1}{\Delta t_\tau} \sum_{i=0}^{q_{\tau}} \alpha_{\tau,i} y\left(t_{\tau-i}\right), -\end{aligned}\]
-

where \(t_\tau\) denotes some time step. -The IDAS time integrator adaptively changes the step size \({\Delta t_\tau = t_\tau-t_{\tau-1}}\) and order \(1 \le q_{\tau} \le 5\) in each time step and automatically determines the corresponding coefficients \(\alpha_{\tau,i}\). -This ansatz is inserted into the DAE and the resulting nonlinear algebraic equation system is solved for \(y_{\tau} = y\left( t_\tau \right)\) using a Newton method.

-
-(19)\[\begin{aligned} - H(y_\tau) = F\left(t_\tau,y_\tau,\frac{1}{\Delta t_\tau} \,\sum_{i=0}^{q_\tau}{\alpha_{\tau,i} \, y_{\tau-i}}, p\right) = 0 -\end{aligned}\]
-

This requires (possibly many) solutions of linear equation systems involving the Jacobian of \(H\) given by

-
-\[\begin{aligned} - \frac{\mathrm{d}H}{\mathrm{d}y_\tau} = \frac{\partial F}{\partial y} + \frac{\alpha_{\tau,0}}{\Delta t_\tau} \frac{\partial F}{\partial \dot{y}}. -\end{aligned}\]
-

The Jacobian of \(H\), which is the linear combination of the partial derivatives \(\partial F / \partial y\) and \(\partial F / \partial \dot{y}\), can be calculated in two ways. -The fastest way is the analytic computation, which is to be preferred if available. -However, the implementation of the analytic Jacobian can be time consuming and complicated, especially when quickly testing new models. -As a remedy, CADET offers to compute the complicated Jacobian \(\partial F / \partial y\) automatically by automatic differentiation (AD). -The much simpler Jacobian \(\partial F / \partial \dot{y}\) has to be implemented manually.

-
-

Adaptivity

-

The BDF order \(q_{\tau}\) and size of the time step \(t_\tau\) are chosen such that the error bounds are satisfied with minimal work. -Equation 19 is solved with a Newton iteration using very few iterations (MAX_NEWTON_ITER from Table Group /solver/time_integrator) since the starting point is assumed to be close to the solution as the time steps are small. -If the solution of the Newton iteration does not pass the convergence test, the step size \(t_\tau\) is reduced and the Newton iteration is tried again. -This may happen at most MAX_CONVTEST_FAIL times, otherwise time integration is aborted with failure. -Having a solution of the Newton iteration at hand, a local truncation error test is performed which controls the error of the BDF method. -If this test fails, step size \(t_\tau\) and order \(q_{\tau}\) are adapted and the process restarts with solving the nonlinear system Eq. 19. -The error test may be failed at most MAX_ERRTEST_FAIL times before time integration is aborted with failure.

-

Error bounds for the local truncation error test are specified by an absolute tolerance (ABSTOL) and a relative tolerance (RELTOL). -Note that the relative tolerance only works for non-zero values, whereas zero values are accounted for by the absolute tolerance. -For example, a relative tolerance of \(10^{-4}\) and absolute tolerance of \(10^{-8}\) requests \(3\) significant digits (correct digits after the comma in scientific notation) and considers all numbers with magnitude smaller than \(10^{-8}\) as \(0\).

-

The size of the first time step in a time slice is given by INIT_STEP_SIZE from Table Group /solver/time_integrator. -If a simulation fails on the first time step, it might help to reduce the initial step size. -It can also help to increase the error tolerances, at the cost of imprecise results over the whole course of the simulation.

-

It can happen that due to severe stiffness or ill-posed models a simulation may exceed its computational budget given by the maximum number of time steps (per time slice) MAX_STEPS. -In this case, the formulation of the model should be checked and, if necessary, the error tolerances increased. -Note that the number of time steps is independent of possible USER_SOLUTION_TIMES and refers to internal steps of the time integrator.

-

On the other extreme, the time integrator might jump over an important change in the solution or not capture some feature of the solution because of too large time steps. -This can be avoided by specifying the maximum time step size MAX_STEP_SIZE. -However, such a situation is unlikely to occur and can also be alleviated by placing a discontinuous section transition at the time of the event.

-

Note that while the error in time integration is controlled and can (in theory) be made arbitrarily small, the spatial discretization error is not. -Hence, it is important and necessary to test different spatial resolutions (number of cells) in order to find a sufficiently accurate (but minimal) number of grid cells. -This is particularly relevant for problems with steep fronts as a low spatial resolution adds a substantial amount of numerical dispersion to the solution.

-
-
-
-

Parameter sensitivities

-

Parameter sensitivities \(s = \partial y / \partial p\) of a solution \(y\) to the DAE with respect to some parameter \(p\) are required for various tasks, for example, parameter estimation, process design, and process analysis. -The CADET simulator implements the forward sensitivity approach which creates a linear companion DAE for each sensitive parameter

-
-\[\begin{split}\begin{aligned} - 0 &= \frac{\mathrm{d}}{\mathrm{d}p} F(t, y, \dot{y}, p) = \frac{\partial F}{\partial y}(t, y, \dot{y}, p) \frac{\partial y}{\partial p} + \frac{\partial F}{\partial \dot{y}}(t, y, \dot{y}, p) \frac{\partial \dot{y}}{\partial p} + \frac{\partial F}{\partial p}(t, y, \dot{y}, p) \\ - &= \frac{\partial F}{\partial y}(t, y, \dot{y}, p) s + \frac{\partial F}{\partial \dot{y}}(t, y, \dot{y}, p) \dot{s} + \frac{\partial F}{\partial p}(t, y, \dot{y}, p). -\end{aligned}\end{split}\]
-

These linear DAEs depend on the solution \(y\), \(\dot{y}\) of the original DAE system. -Consequently, the sensitivity systems are solved together with the original DAE system in a staggered approach [22].

-

After the nonlinear Eq. 19 has been successfully solved using Newton iteration (i.e., it has passed the convergence test), each sensitivity is solved using the same Newton iteration. -If direct linear solvers were used, this iteration would convergence with a single iteration as there is no nonlinearity. -The Newton method for the sensitivities performs at most MAX_NEWTON_ITER_SENS (see Table Group /solver/time_integrator) iterations. -Assuming the convergence test has passed for each sensitivity, the local truncation error test is performed for the full set of variables (i.e., original system and sensitivities). -The sensitivities can be excluded from the local truncation error test by setting ERRORTEST_SENS appropriately. -Note that time integration step size is always affected by sensitivities due to possible convergence test failures.

-

While the Jacobians \(\partial F / \partial y\) and \(\partial F / \partial \dot{y}\) can be computed either analytically or via AD, the last term \(\partial F / \partial p\) is always computed by AD. -In fact, the terms \(\partial F / \partial y\) and \(\partial F / \partial p\) can be computed by one AD-enabled evaluation of \(F\) using the vector mode with appropriate seed vectors [23].

-

A parameter sensitivity is specified by identifying the involved parameters, which can be more than one (see below). -Parameters are identified by name and multiple indices, which may not all be used (see Tab. Group /input/sensitivity/param_XXX). Indices that are not used for identification (e.g., flow rate is independent of bound phase or component) are set to \(-1\). All other indices are zero-based.

-

Note that the sensitivity systems need to be consistently initialized, too. -However, since only linear systems are involved, no nonlinear equation system has to be solved and the procedure is much simpler computationally.

-
-

Joint parameters

-

The use of AD also enables support of meta parameters or joint parameters. -Consider the situation in which several parameters \(p_1, p_2, \dots, p_n\) depend (linearly) on a single meta parameter \(p\)

-
-\[\begin{aligned} - p_i = p_i(p) = \alpha_i p \qquad \text{ for } i = 1, \dots, n -\end{aligned}\]
-

and some coefficients \(\alpha_i \in \mathbb{R}\). -Hence, the DAE residual function \(F\) becomes

-
-\[\begin{aligned} - F(t, y, \dot{y}, p_1(p), \dots, p_n(p)) = 0 -\end{aligned}\]
-

and the partial derivative \(\partial F / \partial p\) can be computed automatically by AD:

-
-\[\begin{aligned} - \frac{\partial F}{\partial p} = \frac{\partial F}{\partial p_1} \alpha_1 + \dots + \frac{\partial F}{\partial p_n} \alpha_n. -\end{aligned}\]
-

In order to use this functionality, all parameters involved have to be specified in a single sensitivity instance (param_XXX group, see Tables Group /input/sensitivity and FFSensitivityParam) by using arrays for the name and indices instead of scalar values. -The coefficients \(\alpha_i\) are provided in the SENS_FACTOR vector.

-

A simple example for a situation, which benefits from having a single meta parameter, would be a chain of unit operations in a network in which the sensitivity with respect to the flow rate is to be computed. -Instead of computing the sensitivity with respect to each single flow rate and fusing them together in a postprocessing step, a meta parameter that maps to all flow rates can be introduced.

-

Note that nonlinear relationships between original parameter and meta parameters are supported by updating the coefficients \(\alpha_i\) before each simulation:

-
-\[\begin{aligned} - \alpha_i = \frac{\partial p_i}{\partial p}. -\end{aligned}\]
-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml deleted file mode 100644 index 84e116dd7..000000000 --- a/sitemap.xml +++ /dev/null @@ -1,2 +0,0 @@ - -https://cadet.github.io/master/en/README.htmlhttps://cadet.github.io/master/en/examples/batch_chromatography.htmlhttps://cadet.github.io/master/en/examples/index.htmlhttps://cadet.github.io/master/en/examples/load_wash_elute.htmlhttps://cadet.github.io/master/en/examples/reaction_cstr.htmlhttps://cadet.github.io/master/en/examples/rtd.htmlhttps://cadet.github.io/master/en/getting_started/build_linux.htmlhttps://cadet.github.io/master/en/getting_started/build_osx.htmlhttps://cadet.github.io/master/en/getting_started/build_windows.htmlhttps://cadet.github.io/master/en/getting_started/index.htmlhttps://cadet.github.io/master/en/getting_started/installation.htmlhttps://cadet.github.io/master/en/getting_started/overview.htmlhttps://cadet.github.io/master/en/getting_started/tutorials/breakthrough.htmlhttps://cadet.github.io/master/en/index.htmlhttps://cadet.github.io/master/en/interface/binding/bi_steric_mass_action.htmlhttps://cadet.github.io/master/en/interface/binding/extended_mobile_phase_modulator_langmuir.htmlhttps://cadet.github.io/master/en/interface/binding/freundlich_ldf.htmlhttps://cadet.github.io/master/en/interface/binding/generalized_ion_exchange.htmlhttps://cadet.github.io/master/en/interface/binding/hic_constant_water_activity.htmlhttps://cadet.github.io/master/en/interface/binding/hic_water_on_hydrophobic_surfaces.htmlhttps://cadet.github.io/master/en/interface/binding/index.htmlhttps://cadet.github.io/master/en/interface/binding/linear.htmlhttps://cadet.github.io/master/en/interface/binding/mobile_phase_modulator_langmuir.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_anti_langmuir.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_bi_langmuir.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_bi_langmuir_ldf.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_langmuir.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_langmuir_ldf.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_langmuir_ldf_liquid_phase.htmlhttps://cadet.github.io/master/en/interface/binding/multi_component_spreading.htmlhttps://cadet.github.io/master/en/interface/binding/multi_state_steric_mass_action.htmlhttps://cadet.github.io/master/en/interface/binding/saska.htmlhttps://cadet.github.io/master/en/interface/binding/self_association.htmlhttps://cadet.github.io/master/en/interface/binding/simplified_multi_state_steric_mass_action.htmlhttps://cadet.github.io/master/en/interface/binding/steric_mass_action.htmlhttps://cadet.github.io/master/en/interface/consistent_initialization.htmlhttps://cadet.github.io/master/en/interface/flux_reconstruction.htmlhttps://cadet.github.io/master/en/interface/index.htmlhttps://cadet.github.io/master/en/interface/input_group.htmlhttps://cadet.github.io/master/en/interface/introduction.htmlhttps://cadet.github.io/master/en/interface/meta_group.htmlhttps://cadet.github.io/master/en/interface/output_group.htmlhttps://cadet.github.io/master/en/interface/reactions.htmlhttps://cadet.github.io/master/en/interface/return_data.htmlhttps://cadet.github.io/master/en/interface/sensitivities.htmlhttps://cadet.github.io/master/en/interface/solver.htmlhttps://cadet.github.io/master/en/interface/system.htmlhttps://cadet.github.io/master/en/interface/unit_operations/2d_general_rate_model.htmlhttps://cadet.github.io/master/en/interface/unit_operations/cstr.htmlhttps://cadet.github.io/master/en/interface/unit_operations/general_rate_model.htmlhttps://cadet.github.io/master/en/interface/unit_operations/index.htmlhttps://cadet.github.io/master/en/interface/unit_operations/inlet.htmlhttps://cadet.github.io/master/en/interface/unit_operations/lumped_rate_model_with_pores.htmlhttps://cadet.github.io/master/en/interface/unit_operations/lumped_rate_model_without_pores.htmlhttps://cadet.github.io/master/en/interface/unit_operations/outlet.htmlhttps://cadet.github.io/master/en/license.htmlhttps://cadet.github.io/master/en/modelling/binding/bi_steric_mass_action.htmlhttps://cadet.github.io/master/en/modelling/binding/extended_mobile_phase_modulator_langmuir.htmlhttps://cadet.github.io/master/en/modelling/binding/freundlich_ldf.htmlhttps://cadet.github.io/master/en/modelling/binding/generalized_ion_exchange.htmlhttps://cadet.github.io/master/en/modelling/binding/hic_constant_water_activity.htmlhttps://cadet.github.io/master/en/modelling/binding/hic_water_on_hydrophobic_surfaces.htmlhttps://cadet.github.io/master/en/modelling/binding/index.htmlhttps://cadet.github.io/master/en/modelling/binding/linear.htmlhttps://cadet.github.io/master/en/modelling/binding/mobile_phase_modulator_langmuir.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_anti_langmuir.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_bi_langmuir.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_bi_langmuir_ldf.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_langmuir.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_langmuir_ldf.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_langmuir_ldf_liquid_phase.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_component_spreading.htmlhttps://cadet.github.io/master/en/modelling/binding/multi_state_steric_mass_action.htmlhttps://cadet.github.io/master/en/modelling/binding/saska.htmlhttps://cadet.github.io/master/en/modelling/binding/self_association.htmlhttps://cadet.github.io/master/en/modelling/binding/simplified_multi_state_steric_mass_action.htmlhttps://cadet.github.io/master/en/modelling/binding/steric_mass_action.htmlhttps://cadet.github.io/master/en/modelling/index.htmlhttps://cadet.github.io/master/en/modelling/networks.htmlhttps://cadet.github.io/master/en/modelling/reactions.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/2d_general_rate_model.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/cstr.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/general_rate_model.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/index.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/inlet.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/lumped_rate_model_with_pores.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/lumped_rate_model_without_pores.htmlhttps://cadet.github.io/master/en/modelling/unit_operations/outlet.htmlhttps://cadet.github.io/master/en/simulation/index.htmlhttps://cadet.github.io/master/en/zbibliography.htmlhttps://cadet.github.io/master/en/genindex.htmlhttps://cadet.github.io/master/en/search.html \ No newline at end of file diff --git a/v4.3.0/.buildinfo b/v4.3.0/.buildinfo index 6fb8e0285..7a2cf3f4d 100644 --- a/v4.3.0/.buildinfo +++ b/v4.3.0/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: ac7ccb1b5bd68349b3a6c3b5b3cbbbd7 +config: 62ab75e9308de75eecbbef70afdb014d tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v4.3.0/.doctrees/README.doctree b/v4.3.0/.doctrees/README.doctree index 035266d56..95a043f78 100644 Binary files a/v4.3.0/.doctrees/README.doctree and b/v4.3.0/.doctrees/README.doctree differ diff --git a/v4.3.0/.doctrees/environment.pickle b/v4.3.0/.doctrees/environment.pickle index b4e9fab46..5e6265fdc 100644 Binary files a/v4.3.0/.doctrees/environment.pickle and b/v4.3.0/.doctrees/environment.pickle differ diff --git a/v4.3.0/.doctrees/examples/batch_chromatography.doctree b/v4.3.0/.doctrees/examples/batch_chromatography.doctree index c8745ca62..2a1d36fb4 100644 Binary files a/v4.3.0/.doctrees/examples/batch_chromatography.doctree and b/v4.3.0/.doctrees/examples/batch_chromatography.doctree differ diff --git a/v4.3.0/.doctrees/examples/index.doctree b/v4.3.0/.doctrees/examples/index.doctree index 9572473a0..79eeee717 100644 Binary files a/v4.3.0/.doctrees/examples/index.doctree and b/v4.3.0/.doctrees/examples/index.doctree differ diff --git a/v4.3.0/.doctrees/examples/load_wash_elute.doctree b/v4.3.0/.doctrees/examples/load_wash_elute.doctree index a2a37145c..b89e1e044 100644 Binary files a/v4.3.0/.doctrees/examples/load_wash_elute.doctree and b/v4.3.0/.doctrees/examples/load_wash_elute.doctree differ diff --git a/v4.3.0/.doctrees/examples/reaction_cstr.doctree b/v4.3.0/.doctrees/examples/reaction_cstr.doctree index 29c6ff564..4d8ef069f 100644 Binary files a/v4.3.0/.doctrees/examples/reaction_cstr.doctree and b/v4.3.0/.doctrees/examples/reaction_cstr.doctree differ diff --git a/v4.3.0/.doctrees/examples/rtd.doctree b/v4.3.0/.doctrees/examples/rtd.doctree index b1ab310d0..43ea79dcd 100644 Binary files a/v4.3.0/.doctrees/examples/rtd.doctree and b/v4.3.0/.doctrees/examples/rtd.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/build_linux.doctree b/v4.3.0/.doctrees/getting_started/build_linux.doctree index e5f829613..d8776fbfc 100644 Binary files a/v4.3.0/.doctrees/getting_started/build_linux.doctree and b/v4.3.0/.doctrees/getting_started/build_linux.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/build_osx.doctree b/v4.3.0/.doctrees/getting_started/build_osx.doctree index abcede389..9ad05e3ba 100644 Binary files a/v4.3.0/.doctrees/getting_started/build_osx.doctree and b/v4.3.0/.doctrees/getting_started/build_osx.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/build_windows.doctree b/v4.3.0/.doctrees/getting_started/build_windows.doctree index b91cc8d55..8e23d5334 100644 Binary files a/v4.3.0/.doctrees/getting_started/build_windows.doctree and b/v4.3.0/.doctrees/getting_started/build_windows.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/index.doctree b/v4.3.0/.doctrees/getting_started/index.doctree index 01c416cc6..52232df43 100644 Binary files a/v4.3.0/.doctrees/getting_started/index.doctree and b/v4.3.0/.doctrees/getting_started/index.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/installation.doctree b/v4.3.0/.doctrees/getting_started/installation.doctree index 85d4084e6..996e180f3 100644 Binary files a/v4.3.0/.doctrees/getting_started/installation.doctree and b/v4.3.0/.doctrees/getting_started/installation.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/overview.doctree b/v4.3.0/.doctrees/getting_started/overview.doctree index 1d00f8b70..8624ef8d8 100644 Binary files a/v4.3.0/.doctrees/getting_started/overview.doctree and b/v4.3.0/.doctrees/getting_started/overview.doctree differ diff --git a/v4.3.0/.doctrees/getting_started/tutorials/breakthrough.doctree b/v4.3.0/.doctrees/getting_started/tutorials/breakthrough.doctree index c5648f856..1bba89aa2 100644 Binary files a/v4.3.0/.doctrees/getting_started/tutorials/breakthrough.doctree and b/v4.3.0/.doctrees/getting_started/tutorials/breakthrough.doctree differ diff --git a/v4.3.0/.doctrees/index.doctree b/v4.3.0/.doctrees/index.doctree index 481ae2d86..390daedd2 100644 Binary files a/v4.3.0/.doctrees/index.doctree and b/v4.3.0/.doctrees/index.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/bi_steric_mass_action.doctree b/v4.3.0/.doctrees/interface/binding/bi_steric_mass_action.doctree index 660357c17..94c2a32c4 100644 Binary files a/v4.3.0/.doctrees/interface/binding/bi_steric_mass_action.doctree and b/v4.3.0/.doctrees/interface/binding/bi_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree index 030e18b0a..e9907a099 100644 Binary files a/v4.3.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/generalized_ion_exchange.doctree b/v4.3.0/.doctrees/interface/binding/generalized_ion_exchange.doctree index b267bec48..317af8932 100644 Binary files a/v4.3.0/.doctrees/interface/binding/generalized_ion_exchange.doctree and b/v4.3.0/.doctrees/interface/binding/generalized_ion_exchange.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/index.doctree b/v4.3.0/.doctrees/interface/binding/index.doctree index d60141425..87e41d182 100644 Binary files a/v4.3.0/.doctrees/interface/binding/index.doctree and b/v4.3.0/.doctrees/interface/binding/index.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/kumar_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/kumar_langmuir.doctree index 84f7f6137..9cdc3c9d3 100644 Binary files a/v4.3.0/.doctrees/interface/binding/kumar_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/kumar_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/linear.doctree b/v4.3.0/.doctrees/interface/binding/linear.doctree index d910261d0..8261beacb 100644 Binary files a/v4.3.0/.doctrees/interface/binding/linear.doctree and b/v4.3.0/.doctrees/interface/binding/linear.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree index fcfe0df00..5d5ed8145 100644 Binary files a/v4.3.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree index 04f5acf3d..a25b6c6dc 100644 Binary files a/v4.3.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree index d4a6a1dff..66ac25678 100644 Binary files a/v4.3.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/multi_component_langmuir.doctree b/v4.3.0/.doctrees/interface/binding/multi_component_langmuir.doctree index 4e41dc663..c93170fea 100644 Binary files a/v4.3.0/.doctrees/interface/binding/multi_component_langmuir.doctree and b/v4.3.0/.doctrees/interface/binding/multi_component_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/multi_component_spreading.doctree b/v4.3.0/.doctrees/interface/binding/multi_component_spreading.doctree index 9bb8aa305..40cc31762 100644 Binary files a/v4.3.0/.doctrees/interface/binding/multi_component_spreading.doctree and b/v4.3.0/.doctrees/interface/binding/multi_component_spreading.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree b/v4.3.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree index c5e32cffe..fd0b95dc4 100644 Binary files a/v4.3.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree and b/v4.3.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/saska.doctree b/v4.3.0/.doctrees/interface/binding/saska.doctree index 4082b1c3e..eca126c5e 100644 Binary files a/v4.3.0/.doctrees/interface/binding/saska.doctree and b/v4.3.0/.doctrees/interface/binding/saska.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/self_association.doctree b/v4.3.0/.doctrees/interface/binding/self_association.doctree index 42845afb7..1269623be 100644 Binary files a/v4.3.0/.doctrees/interface/binding/self_association.doctree and b/v4.3.0/.doctrees/interface/binding/self_association.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree b/v4.3.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree index 3fc991777..5d94c6b35 100644 Binary files a/v4.3.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree and b/v4.3.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/interface/binding/steric_mass_action.doctree b/v4.3.0/.doctrees/interface/binding/steric_mass_action.doctree index 3c6c3a9a2..14b660d8a 100644 Binary files a/v4.3.0/.doctrees/interface/binding/steric_mass_action.doctree and b/v4.3.0/.doctrees/interface/binding/steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/interface/consistent_initialization.doctree b/v4.3.0/.doctrees/interface/consistent_initialization.doctree index ae7db4699..56260c946 100644 Binary files a/v4.3.0/.doctrees/interface/consistent_initialization.doctree and b/v4.3.0/.doctrees/interface/consistent_initialization.doctree differ diff --git a/v4.3.0/.doctrees/interface/flux_reconstruction.doctree b/v4.3.0/.doctrees/interface/flux_reconstruction.doctree index c1a2fe67a..1f62474fa 100644 Binary files a/v4.3.0/.doctrees/interface/flux_reconstruction.doctree and b/v4.3.0/.doctrees/interface/flux_reconstruction.doctree differ diff --git a/v4.3.0/.doctrees/interface/index.doctree b/v4.3.0/.doctrees/interface/index.doctree index effba72e1..a58cdc780 100644 Binary files a/v4.3.0/.doctrees/interface/index.doctree and b/v4.3.0/.doctrees/interface/index.doctree differ diff --git a/v4.3.0/.doctrees/interface/input_group.doctree b/v4.3.0/.doctrees/interface/input_group.doctree index de65b37bc..206279673 100644 Binary files a/v4.3.0/.doctrees/interface/input_group.doctree and b/v4.3.0/.doctrees/interface/input_group.doctree differ diff --git a/v4.3.0/.doctrees/interface/introduction.doctree b/v4.3.0/.doctrees/interface/introduction.doctree index 34a93eb2f..2fe38442e 100644 Binary files a/v4.3.0/.doctrees/interface/introduction.doctree and b/v4.3.0/.doctrees/interface/introduction.doctree differ diff --git a/v4.3.0/.doctrees/interface/meta_group.doctree b/v4.3.0/.doctrees/interface/meta_group.doctree index 9083b7ec4..298f1c4d8 100644 Binary files a/v4.3.0/.doctrees/interface/meta_group.doctree and b/v4.3.0/.doctrees/interface/meta_group.doctree differ diff --git a/v4.3.0/.doctrees/interface/output_group.doctree b/v4.3.0/.doctrees/interface/output_group.doctree index dd2a454dc..36faacc89 100644 Binary files a/v4.3.0/.doctrees/interface/output_group.doctree and b/v4.3.0/.doctrees/interface/output_group.doctree differ diff --git a/v4.3.0/.doctrees/interface/reactions.doctree b/v4.3.0/.doctrees/interface/reactions.doctree index a9e61db45..e8abc930d 100644 Binary files a/v4.3.0/.doctrees/interface/reactions.doctree and b/v4.3.0/.doctrees/interface/reactions.doctree differ diff --git a/v4.3.0/.doctrees/interface/return_data.doctree b/v4.3.0/.doctrees/interface/return_data.doctree index afc44e433..f9d027a54 100644 Binary files a/v4.3.0/.doctrees/interface/return_data.doctree and b/v4.3.0/.doctrees/interface/return_data.doctree differ diff --git a/v4.3.0/.doctrees/interface/sensitivities.doctree b/v4.3.0/.doctrees/interface/sensitivities.doctree index bf8cb9efb..1a7a16091 100644 Binary files a/v4.3.0/.doctrees/interface/sensitivities.doctree and b/v4.3.0/.doctrees/interface/sensitivities.doctree differ diff --git a/v4.3.0/.doctrees/interface/solver.doctree b/v4.3.0/.doctrees/interface/solver.doctree index f8b99602e..1ce57e945 100644 Binary files a/v4.3.0/.doctrees/interface/solver.doctree and b/v4.3.0/.doctrees/interface/solver.doctree differ diff --git a/v4.3.0/.doctrees/interface/system.doctree b/v4.3.0/.doctrees/interface/system.doctree index ae3684589..707fc42ed 100644 Binary files a/v4.3.0/.doctrees/interface/system.doctree and b/v4.3.0/.doctrees/interface/system.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree b/v4.3.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree index 519756f06..7a47c3476 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree and b/v4.3.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/cstr.doctree b/v4.3.0/.doctrees/interface/unit_operations/cstr.doctree index b9ff6be75..f8b3d8f42 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/cstr.doctree and b/v4.3.0/.doctrees/interface/unit_operations/cstr.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/general_rate_model.doctree b/v4.3.0/.doctrees/interface/unit_operations/general_rate_model.doctree index 07c4525a4..35dd4c876 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/general_rate_model.doctree and b/v4.3.0/.doctrees/interface/unit_operations/general_rate_model.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/index.doctree b/v4.3.0/.doctrees/interface/unit_operations/index.doctree index 5efbcc6d9..8200f4426 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/index.doctree and b/v4.3.0/.doctrees/interface/unit_operations/index.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/inlet.doctree b/v4.3.0/.doctrees/interface/unit_operations/inlet.doctree index 76da0d892..c67d53e5a 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/inlet.doctree and b/v4.3.0/.doctrees/interface/unit_operations/inlet.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree b/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree index 7d2223e94..516a3eea4 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree and b/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree b/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree index 6d54911ab..317ff7b2e 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree and b/v4.3.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/v4.3.0/.doctrees/interface/unit_operations/outlet.doctree b/v4.3.0/.doctrees/interface/unit_operations/outlet.doctree index c8f2a5fef..cd43ee3bf 100644 Binary files a/v4.3.0/.doctrees/interface/unit_operations/outlet.doctree and b/v4.3.0/.doctrees/interface/unit_operations/outlet.doctree differ diff --git a/v4.3.0/.doctrees/license.doctree b/v4.3.0/.doctrees/license.doctree index 3e390753c..7ee527d01 100644 Binary files a/v4.3.0/.doctrees/license.doctree and b/v4.3.0/.doctrees/license.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree b/v4.3.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree index f29a9cc9c..f8fb6d34e 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree and b/v4.3.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree index 020b13df1..5af9afba1 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree b/v4.3.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree index 388292c2a..91bd10e3d 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree and b/v4.3.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/index.doctree b/v4.3.0/.doctrees/modelling/binding/index.doctree index a2a883873..9550391f0 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/index.doctree and b/v4.3.0/.doctrees/modelling/binding/index.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/kumar_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/kumar_langmuir.doctree index 2adede8a5..dbb522fa5 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/kumar_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/kumar_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/linear.doctree b/v4.3.0/.doctrees/modelling/binding/linear.doctree index 910ef0223..41952a417 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/linear.doctree and b/v4.3.0/.doctrees/modelling/binding/linear.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree index f58d8cb5c..1806987fd 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree index 86a988a22..5a618cd9b 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree index 79c5f1db9..8766da026 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/multi_component_langmuir.doctree b/v4.3.0/.doctrees/modelling/binding/multi_component_langmuir.doctree index e423f3350..a9e4d03b9 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/multi_component_langmuir.doctree and b/v4.3.0/.doctrees/modelling/binding/multi_component_langmuir.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/multi_component_spreading.doctree b/v4.3.0/.doctrees/modelling/binding/multi_component_spreading.doctree index dde9711b6..e4f25d817 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/multi_component_spreading.doctree and b/v4.3.0/.doctrees/modelling/binding/multi_component_spreading.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree b/v4.3.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree index 7ba04ce10..73157c72f 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree and b/v4.3.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/saska.doctree b/v4.3.0/.doctrees/modelling/binding/saska.doctree index decd7a54c..67d3723d9 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/saska.doctree and b/v4.3.0/.doctrees/modelling/binding/saska.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/self_association.doctree b/v4.3.0/.doctrees/modelling/binding/self_association.doctree index 9ed61d6c0..015aeabfa 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/self_association.doctree and b/v4.3.0/.doctrees/modelling/binding/self_association.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree b/v4.3.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree index 8cad18536..de0664e63 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree and b/v4.3.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/modelling/binding/steric_mass_action.doctree b/v4.3.0/.doctrees/modelling/binding/steric_mass_action.doctree index 4c4a9a702..3680805f0 100644 Binary files a/v4.3.0/.doctrees/modelling/binding/steric_mass_action.doctree and b/v4.3.0/.doctrees/modelling/binding/steric_mass_action.doctree differ diff --git a/v4.3.0/.doctrees/modelling/index.doctree b/v4.3.0/.doctrees/modelling/index.doctree index 17a4b8e69..c27e52574 100644 Binary files a/v4.3.0/.doctrees/modelling/index.doctree and b/v4.3.0/.doctrees/modelling/index.doctree differ diff --git a/v4.3.0/.doctrees/modelling/networks.doctree b/v4.3.0/.doctrees/modelling/networks.doctree index 88c3e4654..916c7e7cd 100644 Binary files a/v4.3.0/.doctrees/modelling/networks.doctree and b/v4.3.0/.doctrees/modelling/networks.doctree differ diff --git a/v4.3.0/.doctrees/modelling/reactions.doctree b/v4.3.0/.doctrees/modelling/reactions.doctree index 4dbde5421..f0a91c152 100644 Binary files a/v4.3.0/.doctrees/modelling/reactions.doctree and b/v4.3.0/.doctrees/modelling/reactions.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree b/v4.3.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree index ca38ba0ee..1d0fe9da4 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/cstr.doctree b/v4.3.0/.doctrees/modelling/unit_operations/cstr.doctree index e71013732..992677343 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/cstr.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/cstr.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/general_rate_model.doctree b/v4.3.0/.doctrees/modelling/unit_operations/general_rate_model.doctree index 487e8dd17..fdd69110c 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/general_rate_model.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/general_rate_model.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/index.doctree b/v4.3.0/.doctrees/modelling/unit_operations/index.doctree index 8c9896eb2..347213d4b 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/index.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/index.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/inlet.doctree b/v4.3.0/.doctrees/modelling/unit_operations/inlet.doctree index 031c38a8c..9b61748a3 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/inlet.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/inlet.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree b/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree index 3cd5649ec..402602395 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree b/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree index 18d89c67d..9fbf96721 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/v4.3.0/.doctrees/modelling/unit_operations/outlet.doctree b/v4.3.0/.doctrees/modelling/unit_operations/outlet.doctree index f67d9b6a7..9400a297c 100644 Binary files a/v4.3.0/.doctrees/modelling/unit_operations/outlet.doctree and b/v4.3.0/.doctrees/modelling/unit_operations/outlet.doctree differ diff --git a/v4.3.0/.doctrees/simulation/index.doctree b/v4.3.0/.doctrees/simulation/index.doctree index 085b4f227..07601ad11 100644 Binary files a/v4.3.0/.doctrees/simulation/index.doctree and b/v4.3.0/.doctrees/simulation/index.doctree differ diff --git a/v4.3.0/.doctrees/zbibliography.doctree b/v4.3.0/.doctrees/zbibliography.doctree index 355105a34..0ee026611 100644 Binary files a/v4.3.0/.doctrees/zbibliography.doctree and b/v4.3.0/.doctrees/zbibliography.doctree differ diff --git a/v4.4.0/.buildinfo b/v4.4.0/.buildinfo index 103454de4..498dfae0f 100644 --- a/v4.4.0/.buildinfo +++ b/v4.4.0/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 58d9dffa1f8282731169987cbb116f10 +config: 4a0988336220e751cdda548322c5d351 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v4.4.0/.doctrees/README.doctree b/v4.4.0/.doctrees/README.doctree index 6449c24f9..83489a071 100644 Binary files a/v4.4.0/.doctrees/README.doctree and b/v4.4.0/.doctrees/README.doctree differ diff --git a/v4.4.0/.doctrees/environment.pickle b/v4.4.0/.doctrees/environment.pickle index 566664e62..be639051c 100644 Binary files a/v4.4.0/.doctrees/environment.pickle and b/v4.4.0/.doctrees/environment.pickle differ diff --git a/v4.4.0/.doctrees/examples/batch_chromatography.doctree b/v4.4.0/.doctrees/examples/batch_chromatography.doctree index fd6f2d723..18954cb34 100644 Binary files a/v4.4.0/.doctrees/examples/batch_chromatography.doctree and b/v4.4.0/.doctrees/examples/batch_chromatography.doctree differ diff --git a/v4.4.0/.doctrees/examples/index.doctree b/v4.4.0/.doctrees/examples/index.doctree index 567b4e3e0..6519ab829 100644 Binary files a/v4.4.0/.doctrees/examples/index.doctree and b/v4.4.0/.doctrees/examples/index.doctree differ diff --git a/v4.4.0/.doctrees/examples/load_wash_elute.doctree b/v4.4.0/.doctrees/examples/load_wash_elute.doctree index 718524d82..2bd931ed4 100644 Binary files a/v4.4.0/.doctrees/examples/load_wash_elute.doctree and b/v4.4.0/.doctrees/examples/load_wash_elute.doctree differ diff --git a/v4.4.0/.doctrees/examples/reaction_cstr.doctree b/v4.4.0/.doctrees/examples/reaction_cstr.doctree index 70690b2a1..b1d1b1814 100644 Binary files a/v4.4.0/.doctrees/examples/reaction_cstr.doctree and b/v4.4.0/.doctrees/examples/reaction_cstr.doctree differ diff --git a/v4.4.0/.doctrees/examples/rtd.doctree b/v4.4.0/.doctrees/examples/rtd.doctree index 07b6b9691..48caea14b 100644 Binary files a/v4.4.0/.doctrees/examples/rtd.doctree and b/v4.4.0/.doctrees/examples/rtd.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/build_linux.doctree b/v4.4.0/.doctrees/getting_started/build_linux.doctree index 021d9721f..2ae93c1b4 100644 Binary files a/v4.4.0/.doctrees/getting_started/build_linux.doctree and b/v4.4.0/.doctrees/getting_started/build_linux.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/build_osx.doctree b/v4.4.0/.doctrees/getting_started/build_osx.doctree index c783415ad..87c1491ca 100644 Binary files a/v4.4.0/.doctrees/getting_started/build_osx.doctree and b/v4.4.0/.doctrees/getting_started/build_osx.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/build_windows.doctree b/v4.4.0/.doctrees/getting_started/build_windows.doctree index 6c0e92b97..14685b228 100644 Binary files a/v4.4.0/.doctrees/getting_started/build_windows.doctree and b/v4.4.0/.doctrees/getting_started/build_windows.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/index.doctree b/v4.4.0/.doctrees/getting_started/index.doctree index 0e649d2d4..a5049242e 100644 Binary files a/v4.4.0/.doctrees/getting_started/index.doctree and b/v4.4.0/.doctrees/getting_started/index.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/installation.doctree b/v4.4.0/.doctrees/getting_started/installation.doctree index 2db8b1ec6..98353d330 100644 Binary files a/v4.4.0/.doctrees/getting_started/installation.doctree and b/v4.4.0/.doctrees/getting_started/installation.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/overview.doctree b/v4.4.0/.doctrees/getting_started/overview.doctree index 36ccf8b2f..4d174ff8f 100644 Binary files a/v4.4.0/.doctrees/getting_started/overview.doctree and b/v4.4.0/.doctrees/getting_started/overview.doctree differ diff --git a/v4.4.0/.doctrees/getting_started/tutorials/breakthrough.doctree b/v4.4.0/.doctrees/getting_started/tutorials/breakthrough.doctree index e2460e2c9..b89c8dc80 100644 Binary files a/v4.4.0/.doctrees/getting_started/tutorials/breakthrough.doctree and b/v4.4.0/.doctrees/getting_started/tutorials/breakthrough.doctree differ diff --git a/v4.4.0/.doctrees/index.doctree b/v4.4.0/.doctrees/index.doctree index c1bddf370..0eaf50f27 100644 Binary files a/v4.4.0/.doctrees/index.doctree and b/v4.4.0/.doctrees/index.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/bi_steric_mass_action.doctree b/v4.4.0/.doctrees/interface/binding/bi_steric_mass_action.doctree index 924775068..7735feb4c 100644 Binary files a/v4.4.0/.doctrees/interface/binding/bi_steric_mass_action.doctree and b/v4.4.0/.doctrees/interface/binding/bi_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree b/v4.4.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree index 478f9698d..1ddcda677 100644 Binary files a/v4.4.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree and b/v4.4.0/.doctrees/interface/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/freundlich_ldf.doctree b/v4.4.0/.doctrees/interface/binding/freundlich_ldf.doctree index 56020096c..062a34156 100644 Binary files a/v4.4.0/.doctrees/interface/binding/freundlich_ldf.doctree and b/v4.4.0/.doctrees/interface/binding/freundlich_ldf.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/generalized_ion_exchange.doctree b/v4.4.0/.doctrees/interface/binding/generalized_ion_exchange.doctree index 7903c58ac..001b3c6ff 100644 Binary files a/v4.4.0/.doctrees/interface/binding/generalized_ion_exchange.doctree and b/v4.4.0/.doctrees/interface/binding/generalized_ion_exchange.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/hic_constant_water_activity.doctree b/v4.4.0/.doctrees/interface/binding/hic_constant_water_activity.doctree index a5c10031b..463c78f3d 100644 Binary files a/v4.4.0/.doctrees/interface/binding/hic_constant_water_activity.doctree and b/v4.4.0/.doctrees/interface/binding/hic_constant_water_activity.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree b/v4.4.0/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree index 34d831a67..99781fbe4 100644 Binary files a/v4.4.0/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree and b/v4.4.0/.doctrees/interface/binding/hic_water_on_hydrophobic_surfaces.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/index.doctree b/v4.4.0/.doctrees/interface/binding/index.doctree index a96886299..56df23cbd 100644 Binary files a/v4.4.0/.doctrees/interface/binding/index.doctree and b/v4.4.0/.doctrees/interface/binding/index.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/linear.doctree b/v4.4.0/.doctrees/interface/binding/linear.doctree index fced956e7..0494fd11d 100644 Binary files a/v4.4.0/.doctrees/interface/binding/linear.doctree and b/v4.4.0/.doctrees/interface/binding/linear.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree b/v4.4.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree index 80a7aa669..f2fd5e2ea 100644 Binary files a/v4.4.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree and b/v4.4.0/.doctrees/interface/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree index dbfad5f13..1403e1453 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_anti_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree index 999e7b544..df318a9a4 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree index f15776384..8454e5e99 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_bi_langmuir_ldf.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir.doctree index 26baaff94..d73c340dd 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree index a1877c73b..1fceb673a 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree index 89bd8c113..acbb5a39b 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_langmuir_ldf_liquid_phase.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_component_spreading.doctree b/v4.4.0/.doctrees/interface/binding/multi_component_spreading.doctree index 575eae907..e65deb682 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_component_spreading.doctree and b/v4.4.0/.doctrees/interface/binding/multi_component_spreading.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree b/v4.4.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree index d2c329daf..2520f4426 100644 Binary files a/v4.4.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree and b/v4.4.0/.doctrees/interface/binding/multi_state_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/saska.doctree b/v4.4.0/.doctrees/interface/binding/saska.doctree index 5bd1fc3fe..3c774c87f 100644 Binary files a/v4.4.0/.doctrees/interface/binding/saska.doctree and b/v4.4.0/.doctrees/interface/binding/saska.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/self_association.doctree b/v4.4.0/.doctrees/interface/binding/self_association.doctree index f56173226..8c125fd35 100644 Binary files a/v4.4.0/.doctrees/interface/binding/self_association.doctree and b/v4.4.0/.doctrees/interface/binding/self_association.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree b/v4.4.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree index e02b6328a..e8936ebe4 100644 Binary files a/v4.4.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree and b/v4.4.0/.doctrees/interface/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/interface/binding/steric_mass_action.doctree b/v4.4.0/.doctrees/interface/binding/steric_mass_action.doctree index 6d11d7560..a79cf782b 100644 Binary files a/v4.4.0/.doctrees/interface/binding/steric_mass_action.doctree and b/v4.4.0/.doctrees/interface/binding/steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/interface/consistent_initialization.doctree b/v4.4.0/.doctrees/interface/consistent_initialization.doctree index ab52a0425..4f0065344 100644 Binary files a/v4.4.0/.doctrees/interface/consistent_initialization.doctree and b/v4.4.0/.doctrees/interface/consistent_initialization.doctree differ diff --git a/v4.4.0/.doctrees/interface/flux_reconstruction.doctree b/v4.4.0/.doctrees/interface/flux_reconstruction.doctree index 786300a71..76486a576 100644 Binary files a/v4.4.0/.doctrees/interface/flux_reconstruction.doctree and b/v4.4.0/.doctrees/interface/flux_reconstruction.doctree differ diff --git a/v4.4.0/.doctrees/interface/index.doctree b/v4.4.0/.doctrees/interface/index.doctree index b08b6e5ed..e22937d67 100644 Binary files a/v4.4.0/.doctrees/interface/index.doctree and b/v4.4.0/.doctrees/interface/index.doctree differ diff --git a/v4.4.0/.doctrees/interface/input_group.doctree b/v4.4.0/.doctrees/interface/input_group.doctree index f2e34a701..de612bea5 100644 Binary files a/v4.4.0/.doctrees/interface/input_group.doctree and b/v4.4.0/.doctrees/interface/input_group.doctree differ diff --git a/v4.4.0/.doctrees/interface/introduction.doctree b/v4.4.0/.doctrees/interface/introduction.doctree index 7ccb03d59..6ec5e95ed 100644 Binary files a/v4.4.0/.doctrees/interface/introduction.doctree and b/v4.4.0/.doctrees/interface/introduction.doctree differ diff --git a/v4.4.0/.doctrees/interface/meta_group.doctree b/v4.4.0/.doctrees/interface/meta_group.doctree index 60b28884c..9fd564aa7 100644 Binary files a/v4.4.0/.doctrees/interface/meta_group.doctree and b/v4.4.0/.doctrees/interface/meta_group.doctree differ diff --git a/v4.4.0/.doctrees/interface/output_group.doctree b/v4.4.0/.doctrees/interface/output_group.doctree index 474ffd818..cb60fe57a 100644 Binary files a/v4.4.0/.doctrees/interface/output_group.doctree and b/v4.4.0/.doctrees/interface/output_group.doctree differ diff --git a/v4.4.0/.doctrees/interface/reactions.doctree b/v4.4.0/.doctrees/interface/reactions.doctree index c40ba7237..a9515fd0b 100644 Binary files a/v4.4.0/.doctrees/interface/reactions.doctree and b/v4.4.0/.doctrees/interface/reactions.doctree differ diff --git a/v4.4.0/.doctrees/interface/return_data.doctree b/v4.4.0/.doctrees/interface/return_data.doctree index bc277a709..7172a66d1 100644 Binary files a/v4.4.0/.doctrees/interface/return_data.doctree and b/v4.4.0/.doctrees/interface/return_data.doctree differ diff --git a/v4.4.0/.doctrees/interface/sensitivities.doctree b/v4.4.0/.doctrees/interface/sensitivities.doctree index 1f089ad06..bbaee6bcf 100644 Binary files a/v4.4.0/.doctrees/interface/sensitivities.doctree and b/v4.4.0/.doctrees/interface/sensitivities.doctree differ diff --git a/v4.4.0/.doctrees/interface/solver.doctree b/v4.4.0/.doctrees/interface/solver.doctree index 645c6a258..cac515104 100644 Binary files a/v4.4.0/.doctrees/interface/solver.doctree and b/v4.4.0/.doctrees/interface/solver.doctree differ diff --git a/v4.4.0/.doctrees/interface/system.doctree b/v4.4.0/.doctrees/interface/system.doctree index 87d9a5f74..b0a83e127 100644 Binary files a/v4.4.0/.doctrees/interface/system.doctree and b/v4.4.0/.doctrees/interface/system.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree b/v4.4.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree index 621333617..75a1ccbca 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree and b/v4.4.0/.doctrees/interface/unit_operations/2d_general_rate_model.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/cstr.doctree b/v4.4.0/.doctrees/interface/unit_operations/cstr.doctree index 7f1d779c2..5237cc552 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/cstr.doctree and b/v4.4.0/.doctrees/interface/unit_operations/cstr.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/general_rate_model.doctree b/v4.4.0/.doctrees/interface/unit_operations/general_rate_model.doctree index 6605aedba..e5af181de 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/general_rate_model.doctree and b/v4.4.0/.doctrees/interface/unit_operations/general_rate_model.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/index.doctree b/v4.4.0/.doctrees/interface/unit_operations/index.doctree index 874ba5802..b5ada7b2b 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/index.doctree and b/v4.4.0/.doctrees/interface/unit_operations/index.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/inlet.doctree b/v4.4.0/.doctrees/interface/unit_operations/inlet.doctree index ce2df6bfd..fb65ff2d2 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/inlet.doctree and b/v4.4.0/.doctrees/interface/unit_operations/inlet.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree b/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree index dcdb63cdd..435436c41 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree and b/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree b/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree index 12be3d4cf..7029ad312 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree and b/v4.4.0/.doctrees/interface/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/v4.4.0/.doctrees/interface/unit_operations/outlet.doctree b/v4.4.0/.doctrees/interface/unit_operations/outlet.doctree index 1432ab99d..7994fb42f 100644 Binary files a/v4.4.0/.doctrees/interface/unit_operations/outlet.doctree and b/v4.4.0/.doctrees/interface/unit_operations/outlet.doctree differ diff --git a/v4.4.0/.doctrees/license.doctree b/v4.4.0/.doctrees/license.doctree index 027ac40bf..89321ba3e 100644 Binary files a/v4.4.0/.doctrees/license.doctree and b/v4.4.0/.doctrees/license.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree b/v4.4.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree index f3eab3000..4f2d343c6 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree and b/v4.4.0/.doctrees/modelling/binding/bi_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree b/v4.4.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree index 9bdd23c3e..3fb6ec35a 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree and b/v4.4.0/.doctrees/modelling/binding/extended_mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/freundlich_ldf.doctree b/v4.4.0/.doctrees/modelling/binding/freundlich_ldf.doctree index a90cbf5c6..65357a01f 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/freundlich_ldf.doctree and b/v4.4.0/.doctrees/modelling/binding/freundlich_ldf.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree b/v4.4.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree index b572c0fbf..60cc14ee8 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree and b/v4.4.0/.doctrees/modelling/binding/generalized_ion_exchange.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/hic_constant_water_activity.doctree b/v4.4.0/.doctrees/modelling/binding/hic_constant_water_activity.doctree index 487ffc36d..d1f4eb819 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/hic_constant_water_activity.doctree and b/v4.4.0/.doctrees/modelling/binding/hic_constant_water_activity.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree b/v4.4.0/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree index ba00ef962..c99d568ef 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree and b/v4.4.0/.doctrees/modelling/binding/hic_water_on_hydrophobic_surfaces.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/index.doctree b/v4.4.0/.doctrees/modelling/binding/index.doctree index 2e783d93c..03fa69baa 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/index.doctree and b/v4.4.0/.doctrees/modelling/binding/index.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/linear.doctree b/v4.4.0/.doctrees/modelling/binding/linear.doctree index 29da205d3..70136630f 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/linear.doctree and b/v4.4.0/.doctrees/modelling/binding/linear.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree b/v4.4.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree index 5360a3193..489a2f38d 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree and b/v4.4.0/.doctrees/modelling/binding/mobile_phase_modulator_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree index 484141384..3ad69b32d 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_anti_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree index 16f057e20..63cce0f55 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree index 5395a031a..e13f31376 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_bi_langmuir_ldf.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir.doctree index 8c32eaf6a..ae9294d41 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree index ef41b2fb5..5b7676176 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree index 39fa47257..8c591bfaa 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_langmuir_ldf_liquid_phase.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_component_spreading.doctree b/v4.4.0/.doctrees/modelling/binding/multi_component_spreading.doctree index a765847fe..fb7bc30ab 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_component_spreading.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_component_spreading.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree b/v4.4.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree index 80a2305a1..9915bc251 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree and b/v4.4.0/.doctrees/modelling/binding/multi_state_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/saska.doctree b/v4.4.0/.doctrees/modelling/binding/saska.doctree index be885737e..d10b3c4e2 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/saska.doctree and b/v4.4.0/.doctrees/modelling/binding/saska.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/self_association.doctree b/v4.4.0/.doctrees/modelling/binding/self_association.doctree index 4382abc5d..388a01d6e 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/self_association.doctree and b/v4.4.0/.doctrees/modelling/binding/self_association.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree b/v4.4.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree index 17b8a3db3..b066880df 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree and b/v4.4.0/.doctrees/modelling/binding/simplified_multi_state_steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/modelling/binding/steric_mass_action.doctree b/v4.4.0/.doctrees/modelling/binding/steric_mass_action.doctree index c3dd87f31..8df99e035 100644 Binary files a/v4.4.0/.doctrees/modelling/binding/steric_mass_action.doctree and b/v4.4.0/.doctrees/modelling/binding/steric_mass_action.doctree differ diff --git a/v4.4.0/.doctrees/modelling/index.doctree b/v4.4.0/.doctrees/modelling/index.doctree index cc8c59e29..11e0c7279 100644 Binary files a/v4.4.0/.doctrees/modelling/index.doctree and b/v4.4.0/.doctrees/modelling/index.doctree differ diff --git a/v4.4.0/.doctrees/modelling/networks.doctree b/v4.4.0/.doctrees/modelling/networks.doctree index 4edf4b337..70dc29bf3 100644 Binary files a/v4.4.0/.doctrees/modelling/networks.doctree and b/v4.4.0/.doctrees/modelling/networks.doctree differ diff --git a/v4.4.0/.doctrees/modelling/reactions.doctree b/v4.4.0/.doctrees/modelling/reactions.doctree index 03eb4ab8e..a1c67fadf 100644 Binary files a/v4.4.0/.doctrees/modelling/reactions.doctree and b/v4.4.0/.doctrees/modelling/reactions.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree b/v4.4.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree index 46a93e6bc..b684b31fa 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/2d_general_rate_model.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/cstr.doctree b/v4.4.0/.doctrees/modelling/unit_operations/cstr.doctree index 7472a4313..60d77a250 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/cstr.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/cstr.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/general_rate_model.doctree b/v4.4.0/.doctrees/modelling/unit_operations/general_rate_model.doctree index f8031caf1..db608e7fb 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/general_rate_model.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/general_rate_model.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/index.doctree b/v4.4.0/.doctrees/modelling/unit_operations/index.doctree index 7a3d87775..bd5a80cc0 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/index.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/index.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/inlet.doctree b/v4.4.0/.doctrees/modelling/unit_operations/inlet.doctree index a74230e4b..e038da2b5 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/inlet.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/inlet.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree b/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree index 4008a8401..d4f892b3b 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_with_pores.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree b/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree index c27c9b6c4..cae7aca1c 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/lumped_rate_model_without_pores.doctree differ diff --git a/v4.4.0/.doctrees/modelling/unit_operations/outlet.doctree b/v4.4.0/.doctrees/modelling/unit_operations/outlet.doctree index b3ca7ceca..28e3d7ce0 100644 Binary files a/v4.4.0/.doctrees/modelling/unit_operations/outlet.doctree and b/v4.4.0/.doctrees/modelling/unit_operations/outlet.doctree differ diff --git a/v4.4.0/.doctrees/simulation/index.doctree b/v4.4.0/.doctrees/simulation/index.doctree index c7358ba23..595cfbe94 100644 Binary files a/v4.4.0/.doctrees/simulation/index.doctree and b/v4.4.0/.doctrees/simulation/index.doctree differ diff --git a/v4.4.0/.doctrees/zbibliography.doctree b/v4.4.0/.doctrees/zbibliography.doctree index 9514e08d1..2847b1a52 100644 Binary files a/v4.4.0/.doctrees/zbibliography.doctree and b/v4.4.0/.doctrees/zbibliography.doctree differ diff --git a/zbibliography.html b/zbibliography.html deleted file mode 100644 index 2f30e3c52..000000000 --- a/zbibliography.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - Bibliography — CADET - - - - - - - - - - - - - - - - - - -
- - -
-
- - -
- - - -
-

Bibliography

-
-
-
-[1] -

Eugene Kučera. Contribution to the theory of chromatography. Journal of Chromatography, 19:237–248, January 1965. URL: http://linkinghub.elsevier.com/retrieve/pii/S0021967301994579, doi:10.1016/S0021-9673(01)99457-9.

-
-
-[2] -

Tingyue Gu. Mathematical Modeling and Scale-up of Liquid Chromatography. Springer Berlin Heidelberg, Berlin, Heidelberg, 1995. ISBN 978-3-642-79543-5. URL: http://link.springer.com/10.1007/978-3-642-79541-1, doi:10.1007/978-3-642-79541-1.

-
-
-[3] -

Georges Guiochon, Attila Felinger, Dean G. Shirazi, and Anita M. Katti. Fundamentals of Preparative and Nonlinear Chromatography. Elsevier Academic Press, Amsterdam, 2nd edition, 2006. ISBN 978-0-12-370537-2.

-
-
-[4] -

A. Felinger and G. Guiochon. Comparison of the Kinetic Models of Linear Chromatography. Chromatographia, 60(S1):175–180, May 2004. URL: http://springerlink.metapress.com/openurl.asp?genre=article{\&}id=doi:10.1365/s10337-004-0288-7, doi:10.1365/s10337-004-0288-7.

-
-
-[5] -

Z. Ma, R. D. Whitley, and N.-H. L. Wang. Pore and surface diffusion in multicomponent adsorption and liquid chromatography systems. AIChE Journal, 42(5):1244–1262, May 1996. URL: http://doi.wiley.com/10.1002/aic.690420507, doi:10.1002/aic.690420507.

-
-
-[6] -

Petr Schneider and J. M. Smith. Chromatographic study of surface diffusion. AIChE Journal, 14(6):886–895, November 1968. URL: http://doi.wiley.com/10.1002/aic.690140613, doi:10.1002/aic.690140613.

-
-
-[7] -

Kanji Miyabe. Surface diffusion in reversed-phase liquid chromatography using silica gel stationary phases of different C1 and C18 ligand densities. Journal of Chromatography A, 1167(2):161–70, October 2007. URL: http://www.ncbi.nlm.nih.gov/pubmed/17825832, doi:10.1016/j.chroma.2007.08.045.

-
-
-[8] -

P.V. Danckwerts. Continuous flow systems: Distribution of residence times. Chemical Engineering Science, 2(1):1–13, February 1953. URL: http://linkinghub.elsevier.com/retrieve/pii/0009250953800011, doi:10.1016/0009-2509(53)80001-1.

-
-
-[9] -

Benedikt M. Aumeier, Anh H. Q. Dang, Burkhard Ohs, Süleyman Yüce, and Matthias Wessling. Aqueous-phase temperature swing adsorption for pesticide removal. Environmental Science & Technology, 53(2):919–927, 2019. URL: https://doi.org/10.1021/acs.est.8b05873, arXiv:https://doi.org/10.1021/acs.est.8b05873, doi:10.1021/acs.est.8b05873.

-
-
-[10] -

Ashok K. Singh. Chapter 8 - nanoparticle ecotoxicology. In Ashok K. Singh, editor, Engineered Nanoparticles, pages 343–450. Academic Press, Boston, 2016. URL: https://www.sciencedirect.com/science/article/pii/B978012801406600008X, doi:https://doi.org/10.1016/B978-0-12-801406-6.00008-X.

-
-
-[11] -

Thiemo C. Huuk, Tobias Hahn, Katharina Doninger, Jan Griesbach, Stefan Hepbildikler, and Jürgen Hubbuch. Modeling of complex antibody elution behavior under high protein load densities in ion exchange chromatography using an asymmetric activity coefficient. Biotechnology Journal, 12(3):1600336, March 2017. URL: http://doi.wiley.com/10.1002/biot.201600336, doi:10.1002/biot.201600336.

-
-
-[12] -

Jørgen M. Mollerup. A Review of the Thermodynamics of Protein Association to Ligands, Protein Adsorption, and Adsorption Isotherms. Chemical Engineering & Technology, 31(6):864–874, June 2008. URL: http://doi.wiley.com/10.1002/ceat.200800082, doi:10.1002/ceat.200800082.

-
-
-[13] -

Ronald Colin Jäpel and Johannes Felix Buyel. Bayesian optimization using multiple directional objective functions allows the rapid inverse fitting of parameters for chromatography simulations. Journal of Chromatography A, 1679:463408, 2022. URL: https://www.sciencedirect.com/science/article/pii/S0021967322005830, doi:https://doi.org/10.1016/j.chroma.2022.463408.

-
-
-[14] -

Gang Wang, Tobias Hahn, and Jürgen Hubbuch. Water on hydrophobic surfaces: mechanistic modeling of hydrophobic interaction chromatography. Journal of Chromatography A, 1465:71–78, 2016. URL: https://www.sciencedirect.com/science/article/pii/S0021967316310263, doi:https://doi.org/10.1016/j.chroma.2016.07.085.

-
-
-[15] -

Wayne R. Melander, Ziad El Rassi, and Csaba Horváth. Interplay of hydrophobic and electrostatic interactions in biopolymer chromatography. Journal of Chromatography A, 469:3–27, January 1989. URL: http://linkinghub.elsevier.com/retrieve/pii/S0021967301964374, doi:10.1016/S0021-9673(01)96437-4.

-
-
-[16] -

David Karlsson, Niklas Jakobsson, Anders Axelsson, and Bernt Nilsson. Model-based optimization of a preparative ion-exchange step for antibody purification. Journal of Chromatography A, 1055(1-2):29–39, November 2004. URL: http://linkinghub.elsevier.com/retrieve/pii/S0021967304014554, doi:10.1016/j.chroma.2004.08.151.

-
-
-[17] -

Irving Langmuir. The Constitution and Fundamental Properties of Solids and Liquids. Part I. Solids. Journal of the American Chemical Society, 38(11):2221–2295, November 1916. URL: http://pubs.acs.org/doi/abs/10.1021/ja02268a002, doi:10.1021/ja02268a002.

-
-
-[18] -

M. Saska, Mei Di Wu, S. J. Clarke, and K. Iqbal. Continuous Separation of Sugarcane Molasses with a Simulated Moving-Bed Adsorber. Adsorption Equilibria, Kinetics, and Application. Separation Science and Technology, 27(13):1711–1732, October 1992. URL: http://www.tandfonline.com/doi/abs/10.1080/01496399208019442, doi:10.1080/01496399208019442.

-
-
-[19] -

K. Westerberg, E. Broberg Hansen, M. Degerman, T. Budde Hansen, and B. Nilsson. Model-Based Process Challenge of an Industrial Ion-Exchange Chromatography Step. Chemical Engineering & Technology, 35(1):183–190, January 2012. URL: http://doi.wiley.com/10.1002/ceat.201000560, doi:10.1002/ceat.201000560.

-
-
-[20] -

Clayton A. Brooks and Steven M. Cramer. Steric mass-action ion exchange: Displacement profiles and induced salt gradients. AIChE Journal, 38(12):1969–1978, December 1992. URL: http://doi.wiley.com/10.1002/aic.690381212, doi:10.1002/aic.690381212.

-
-
-[21] -

Alan C. Hindmarsh, Peter N. Brown, Keith E. Grant, Steven L. Lee, Radu Serban, Dan E. Shumaker, and Carol S. Woodward. SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers. ACM Transactions on Mathematical Software, 31(3):363–396, September 2005. URL: http://portal.acm.org/citation.cfm?doid=1089014.1089020, doi:10.1145/1089014.1089020.

-
-
-[22] -

William F. Feehery, John E. Tolsma, and Paul I. Barton. Efficient sensitivity analysis of large-scale differential-algebraic systems. Applied Numerical Mathematics, 25(1):41–54, October 1997. URL: http://dl.acm.org/citation.cfm?id=264193.264573, doi:10.1016/S0168-9274(97)00050-0.

-
-
-[23] -

Andreas Püttmann, Sebastian Schnittert, Samuel Leweke, and Eric von Lieres. Utilizing algorithmic differentiation to efficiently compute chromatograms and parameter sensitivities. Chemical Engineering Science, 139:152–162, January 2016. URL: http://linkinghub.elsevier.com/retrieve/pii/S0009250915006168, doi:10.1016/j.ces.2015.08.050.

-
-
-
-
- - - -
- -
-
-
-
- - - - - - - \ No newline at end of file