I’m seeing a simulation failure when loading/running a minimal .pvm case that includes a tritium bubbler block.
When running a minimal .pvm case with a tritium Bubbler block, the simulation fails during initialization.
Traceback (most recent call last):
File "<exec>", line 37, in <module>
File "/lib/python3.12/site-packages/pathsim/simulation.py", line 271, in __init__
self._assemble_graph()
File "/lib/python3.12/site-packages/pathsim/simulation.py", line 695, in _assemble_graph
self.graph = Graph(self.blocks, self.connections)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/utils/graph.py", line 73, in __init__
self._build_all_maps()
File "/lib/python3.12/site-packages/pathsim/utils/graph.py", line 147, in _build_all_maps
if len(blk) > 0:
^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/blocks/dynsys.py", line 97, in __len__
has_passthrough = np.any(self.op_alg.jac_u(x, u, 0.0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/operator.py", line 380, in jac_u
return num_jac(func_u, u)
^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/numerical.py", line 52, in num_jac
[(func(x + hv) - func(x - hv)) / h
^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/operator.py", line 378, in func_u
return self._func(x, _u, t)
^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim_chem/tritium/bubbler.py", line 146, in _fn_a
sol, ins = u
^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
Streaming simulation failed: Traceback (most recent call last):
File "/lib/python312.zip/_pyodide/_base.py", line 596, in eval_code_async
await CodeRunner(
File "/lib/python312.zip/_pyodide/_base.py", line 410, in run_async
coroutine = eval(self.code, globals, locals)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<exec>", line 37, in <module>
File "/lib/python3.12/site-packages/pathsim/simulation.py", line 271, in __init__
self._assemble_graph()
File "/lib/python3.12/site-packages/pathsim/simulation.py", line 695, in _assemble_graph
self.graph = Graph(self.blocks, self.connections)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/utils/graph.py", line 73, in __init__
self._build_all_maps()
File "/lib/python3.12/site-packages/pathsim/utils/graph.py", line 147, in _build_all_maps
if len(blk) > 0:
^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/blocks/dynsys.py", line 97, in __len__
has_passthrough = np.any(self.op_alg.jac_u(x, u, 0.0))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/operator.py", line 380, in jac_u
return num_jac(func_u, u)
^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/numerical.py", line 52, in num_jac
[(func(x + hv) - func(x - hv)) / h
^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim/optim/operator.py", line 378, in func_u
return self._func(x, _u, t)
^^^^^^^^^^^^^^^^^^^^
File "/lib/python3.12/site-packages/pathsim_chem/tritium/bubbler.py", line 146, in _fn_a
sol, ins = u
^^^^^^^^
ValueError: not enough values to unpack (expected 2, got 1)
NoneType: None
Bubbler._fn_a() expects two inputs, but during graph assembly / passthrough detection, PathSim calls it with only one input.
the bubbler block should validate that both required inputs are connected and raise a clearer error, or
graph assembly / passthrough detection should not call _fn_a() with an incorrectly sized dummy input vector.
Description
I’m seeing a simulation failure when loading/running a minimal .pvm case that includes a tritium bubbler block.
When running a minimal .pvm case with a tritium Bubbler block, the simulation fails during initialization.
SIMULATION ERROR
Essentially,
Bubbler._fn_a() expects two inputs, but during graph assembly / passthrough detection, PathSim calls it with only one input.
Minimal case file attached
Steps to Reproduce
min_bubbler_case.json
Expected Behavior
Either:
the bubbler block should validate that both required inputs are connected and raise a clearer error, or
graph assembly / passthrough detection should not call _fn_a() with an incorrectly sized dummy input vector.
Version
No response
Browser
No response
Additional Context