cottax.ode.consumers.architectures module¶
Registers how an architecture places an ODE (ModelReading), with why one is no implicit model.
- class OdeModel[source]¶
Bases:
ModelReadingImplicit model is here the entire function body: a cut in it does not work. In algebraic systems a cut is always the same (since hat(y) = y algebraically), but in rate-based systems where the body is integrated, that is not the same (hat(y) might change during the integration).
- not_implicit(graph, problem)[source]¶
Why the problem bound at problem is no implicit model in its language; nothing if it is.
- class RateUnwritten(problem: str, rates: tuple)[source]¶
Bases:
Violation- problem: str¶
- rates: tuple¶
- template: AbstractClassVar[str] = '{problem} is not an implicit model: no function node writes {rates!r} -- a rate is what its body computes from the states'¶
e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’
- Type:
Wording