qrunch.chemistry.problem_builders.reaction_path_problem.simple_reaction_path_problem_builders
Module containing a simple reaction path problem builder.
Classes
Simple reaction path problem builder. |
- class SimpleReactionPathProblemBuilder
Bases:
ReactionPathProblemBuilderSimple reaction path problem builder.
Each molecular ground state problem is made one at a time without knowledge of the rest of the reaction.
When the underlying ground state problem builder is configured with a
DataPersisterManager, the resultingUnrestrictedReactionPathProblem/RestrictedReactionPathProblemwill hold lazy on-disk references (one per geometry) instead of the full in-memory problems. This keeps peak memory usage bounded to a single ground state problem, which is important when each problem can be many GB.When a
ConsistentActiveSpaceProcedureis provided, the builder splits the problem construction into three stages:Build each per-configuration problem up to (but not including) the active space modifier.
Run the consistent active-space procedure across all configurations (fingerprinting, AVAS).
Apply post-active-space modifiers to each configuration’s AVAS-modified problem.
This ensures the active space is consistent along the entire reaction path.
- __init__(ground_state_problem_builder: GroundStateProblemBuilder, consistent_active_space_procedure: ConsistentActiveSpaceProcedure | None = None) None
Initialize an instance of the simple reaction path problem builder.
- Parameters:
ground_state_problem_builder (GroundStateProblemBuilder) – Problem builder to be used on every molecular configuration in the reaction.
consistent_active_space_procedure (ConsistentActiveSpaceProcedure | None) – Optional procedure for consistent active-space selection across all configurations. When provided, the builder uses a split-build workflow to ensure the same active space is used at every geometry.
- Return type:
None
- build_restricted(reaction_configuration: ReactionConfiguration) RestrictedReactionPathProblem
Build the restricted reaction path problem.
When a
ConsistentActiveSpaceProcedureis configured, the build is split into pre-active-space, AVAS, and post-active-space stages. Otherwise, each problem is built independently.When the underlying ground state problem builder has a
DataPersisterManagerconfigured, each per-geometry ground state problem is built, persisted via the manager and immediately released; the returned reaction path problem then holds lazy on-disk references. Otherwise, every problem is built and kept fully in memory.- Parameters:
reaction_configuration (ReactionConfiguration) – The reaction configuration object.
- Return type:
- build_restricted_cube_files(reaction_configuration: ReactionConfiguration) None
Build restricted cube files.
- Parameters:
reaction_configuration (ReactionConfiguration) – The reaction configuration object.
- Return type:
None
- build_unrestricted(reaction_configuration: ReactionConfiguration) UnrestrictedReactionPathProblem
Build the unrestricted reaction path problem.
When a
ConsistentActiveSpaceProcedureis configured, the build is split into pre-active-space, AVAS, and post-active-space stages. Otherwise, each problem is built independently.When the underlying ground state problem builder has a
DataPersisterManagerconfigured, each per-geometry ground state problem is built, persisted via the manager and immediately released; the returned reaction path problem then holds lazy on-disk references. Otherwise, every problem is built and kept fully in memory.- Parameters:
reaction_configuration (ReactionConfiguration) – The reaction configuration object.
- Return type:
- build_unrestricted_cube_files(reaction_configuration: ReactionConfiguration) None
Build unrestricted cube files.
- Parameters:
reaction_configuration (ReactionConfiguration) – The reaction configuration object.
- Return type:
None