Symbol Unpacker#
- class pybamm.SymbolUnpacker(classes_to_find: Sequence[pybamm.Symbol] | pybamm.Symbol, unpacked_symbols: dict | None = None)[source]#
Helper class to unpack a (set of) symbol(s) to find all instances of a class. Uses caching to speed up the process.
- Parameters:
- unpack_list_of_symbols(list_of_symbols: Sequence[pybamm.Symbol]) set[pybamm.Symbol] [source]#
Unpack a list of symbols. See
SymbolUnpacker.unpack()
- Parameters:
list_of_symbols (list of
pybamm.Symbol
) – List of symbols to unpack- Returns:
Set of unpacked symbols with class in self.classes_to_find
- Return type:
list of
pybamm.Symbol
- unpack_symbol(symbol: Sequence[pybamm.Symbol] | pybamm.Symbol) list[pybamm.Symbol] [source]#
This function recurses down the tree, unpacking the symbols and saving the ones that have a class in self.classes_to_find.
- Parameters:
symbol (list of
pybamm.Symbol
) – The symbols to unpack- Returns:
List of unpacked symbols with class in self.classes_to_find
- Return type:
list of
pybamm.Symbol