Traceback (most recent call last): File "C:\Users\San\Desktop\src\code.py", line 178, in <module> connections['Xe1Ae1'] = Synapses(input_groups['Xe1'], neuron_groups['Ae1'],method="euler", File "D:\anaconda3\lib\site-packages\brian2\synapses\synapses.py", line 735, in __init__ model = Equations(model) File "D:\anaconda3\lib\site-packages\brian2\equations\equations.py", line 554, in __init__ self._equations = parse_string_equations(eqns) File "D:\anaconda3\lib\site-packages\brian2\utils\caching.py", line 101, in cached_func func._cache[cache_key] = func(*args, **kwds) File "D:\anaconda3\lib\site-packages\brian2\equations\equations.py", line 366, in parse_string_equations expression = Expression(p.sub(' ', expression)) File "D:\anaconda3\lib\site-packages\brian2\equations\codestrings.py", line 107, in __init__ str_to_sympy(code) File "D:\anaconda3\lib\site-packages\brian2\parsing\sympytools.py", line 76, in str_to_sympy return _str_to_sympy(expr) File "D:\anaconda3\lib\site-packages\brian2\utils\caching.py", line 101, in cached_func func._cache[cache_key] = func(*args, **kwds) File "D:\anaconda3\lib\site-packages\brian2\parsing\sympytools.py", line 84, in _str_to_sympy raise SyntaxError(f"Error during evaluation of sympy expression " SyntaxError: Error during evaluation of sympy expression '-(0.00035 * unblock_mg_function(voltage) * on + 0.00095 * ov)*(voltage -140) * (ca < 1)/ms - ca / t_ca ': Relational cannot be used in Mul
from the error message, I think the problem is that your equation multiplies with
(ca < 1). You probably want this to multiply with 0 or 1 depending on the value of
ca, but this is not “mathematically correct”. Confusingly, this will often work the way you wrote it, since in the generated code it will be interpreted correctly. But as you can see in this example, we use
sympy to deal with the equations mathematically, and during these transformations this formulation can lead to issues. Instead, write it as
int(ca < 1) to explicitly tell Brian/
sympy to convert the boolean value into a number.
Hope that works,
Thanks very much for your prompt reply. By changing it into int(ca<1), I have solved this problem.