A node in the expression tree representing a broadcasting operator. Broadcasts a child to a specified domain. After discretisation, this will evaluate to an array of the right shape for the specified domain.
For an example of broadcasts in action, see this example notebook
child (Symbol
) – child node
domains (iterable of str) – Domain(s) of the symbol after broadcasting
name (str) – name of the node
**Extends (** SpatialOperator
) –
A class for full broadcasts.
A node in the expression tree representing a primary broadcasting operator. Broadcasts in a primary dimension only. That is, makes explicit copies of the symbol in the domain specified by broadcast_domain. This should be used for broadcasting from a “larger” scale to a “smaller” scale, for example broadcasting temperature T(x) from the electrode to the particles, or broadcasting current collector current i(y, z) from the current collector to the electrodes.
A node in the expression tree representing a secondary broadcasting operator. Broadcasts in a secondary dimension only. That is, makes explicit copies of the symbol in the domain specified by broadcast_domain. This should be used for broadcasting from a “smaller” scale to a “larger” scale, for example broadcasting SPM particle concentrations c_s(r) from the particles to the electrodes. Note that this wouldn’t be used to broadcast particle concentrations in the DFN, since these already depend on both x and r.
A full broadcast onto the edges of a domain (edges of primary dimension, nodes of other dimensions)
A primary broadcast onto the edges of the domain.
A secondary broadcast onto the edges of a domain.
Returns an array with the same shape and domains as the sum of the input symbols, with each entry equal to one.
symbols (Symbol
) – Symbols whose shape to copy