Symbol Unpacker#
- class pybamm.SymbolUnpacker(classes_to_find: Sequence[Symbol] | type[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[Symbol] | Generator[Symbol, None, None]) set[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_parameter_values(parameter_values: ParameterValues | dict) set[Symbol][source]#
Unpack a parameter values object.
- unpack_symbol(symbol: Sequence[Symbol] | Symbol) list[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