This fact simpliefies the computation considerably.
Translated into the language of an ode solver an impulsive input becomes a start vector $\frac{\vec{I}}{I}$
at time $T=0$
and $O(T)$ the respiration related to the solution of the initial value problem
observed at time $T$.
$$
\psi(T)=S_r \left( \frac{\vec{I}}{I},0,T\right)
$$
Note that from the perspective of the ode solver $S_r$ depends on the decomposition operator and the distribution of the input among the pools only.
It is therefor possible to implement the transit time distribution as a function of the decomposition operator and the fixed input flux distribution.
To insure steady state conditions the decomposition operator is not allowed to be a true function of time.
We therefor implement the method only for the subclass
ConstLinDecompOp
Remark:
The decision to implement this method for transitTimeDensity
especially for
objects of class ConstLinDecompOp
reflects the fact that an arbitrary model in SoilR is by no means bound to end up in steady state. To insure this we would have to ignore the input part of a user created model which would be confusing.
Remark:
In future versions of SoilR it will be possible to compute a dynamic, time dependent transit time distribution
for objects of class Model
with a time argument specifying for which time the distribution is sought.
The steady state results computed here could than be reproduced
with the user responsible for providing a model actually reaching it.