rxnfit.rate_const_ft_eval module
Time-dependent rate constants k(t) and helpers for evaluation.
The ft suffix denotes f(t): rate expressions may depend on time and on
free parameters. Provides has_time_dependent_rates() and
build_evaluator() for SymPy rate tables used by ODE builders and fitters.
- rxnfit.rate_const_ft_eval.build_evaluator(rate_consts_dict, symbolic_rate_const_keys, fixed_rate_consts=None)
Build a callable (t, params) -> dict of rate constant values.
Given rate_consts_dict (keys -> float, Symbol, or SymPy Expr possibly containing t and/or other symbols), returns a function that, for a given t and a list of parameter values (in symbolic_rate_const_keys order), returns a dict mapping every rate constant key to a numeric value. Used when rate constants are time-dependent or when building SolverConfig for re-integration after fitting.
- Parameters:
rate_consts_dict (dict) – Rate constant key -> float, sympy.Symbol, or SymPy Expr (e.g. a*exp(t), k1/4). May contain symbol t.
symbolic_rate_const_keys (list) – Order of free parameter names (e.g. [‘k1’, ‘a’, ‘b’]). Must not include ‘t’.
fixed_rate_consts (dict, optional) – Key -> float for constants already resolved. If None, only numeric entries in rate_consts_dict are treated as fixed.
- Returns:
- evaluator(t, params) where t is float and params is a
sequence of floats in symbolic_rate_const_keys order. Returns dict mapping each key in rate_consts_dict to float.
- Return type:
callable
- rxnfit.rate_const_ft_eval.has_time_dependent_rates(rate_consts_dict)
Return True if any rate constant expression contains the symbol t.
- Parameters:
rate_consts_dict (dict) – Rate constant key -> float, Symbol, or Expr.
- Returns:
True if any value has ‘t’ in its free_symbols.
- Return type:
bool