Instead of having the number of excited states as a direct user input, we should have a workflow to determine it automatically from a desired spectrum range (actinic region by default, but should be configurable by the user).
In the workflow, we should probably take the lowest energy conformer, and calculate single point tddft with large number of states (10?) and determine the threshold, with some extra room (1 eV?). We might need to do this iteratively, in case the predetermined large number of states is not enough, which might happen for larger molecules with high density of states, or if user needs high-energy range. We should also have a maximum number of states though and warn the user if that is hit.
Instead of having the number of excited states as a direct user input, we should have a workflow to determine it automatically from a desired spectrum range (actinic region by default, but should be configurable by the user).
In the workflow, we should probably take the lowest energy conformer, and calculate single point tddft with large number of states (10?) and determine the threshold, with some extra room (1 eV?). We might need to do this iteratively, in case the predetermined large number of states is not enough, which might happen for larger molecules with high density of states, or if user needs high-energy range. We should also have a maximum number of states though and warn the user if that is hit.