TypeError: issubclass() arg 1 must be a class
Running this program
use exp, log from numpy
kB = 1 [boltzmann_constant]
vib_energies = (v: 0.1, 0.05) [eV]
temperature = 273.15 [K]
beta = 1.0/(kB*temperature)
exp_hob(ene) = exp(-ene*beta)
exp_hob_res = map(exp_hob, vib_energies)
entr(en, eh) = en * beta * eh / (1.0-eh) - log(1.0-eh)
vib_ent = kB * sum(map(entr, vib_energies, exp_hob_res))
print(vib_ent)
vib_pfunc = 1. / reduce((x, y: x*y), map((y: 1.0-y), exp_hob_res))
print(vib_pfunc)
with the instant executor gives this exception:
Traceback (most recent call last):
File "vre-language/src/virtmat/language/utilities/errors.py", line 34, in wrapper
return func(*args, **kwargs)
File "vre-language/src/virtmat/language/utilities/types.py", line 90, in wrapper
return checktype_(func(obj), obj.type_)
File "vre-language/src/virtmat/language/interpreter/instant_executor.py", line 396, in map_value
if issubclass(dtype, (bool, str)):
TypeError: issubclass() arg 1 must be a class
The error does not occur with the deferred and workflow executors.