Dual timestepping error: metaclass conflict?

Hi, everyone

I am trying to use dual stepping with following settiing:

[solver-time-integrator]
formuation = dual
scheme = bdf2
pseudo-scheme = euler
tstart = 0.0
tend = 100.0
dt = 0.005
pseudo-dt = 0.001
controller = none
pseudo-niters-max = 20
pseudo-niters-min = 5
pseudo-aresid = 1e-5
pseudo-rresid = 1e-5

It turns out the following error:

[root@localhost dual]# pyfr run -b openmp -p ../euler_vortex_2d.pyfrm euler_vortex_2d.ini

Traceback (most recent call last):
File "/opt/rh/rh-python34/root/usr/bin/pyfr", line 11, in <module>
sys.exit(main())
File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/__main__.py", line 110, in main
args.process(args)
File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/__main__.py", line 235, in process_run
args, NativeReader(args.mesh), None, Inifile.load(args.cfg)
File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/__main__.py", line 216, in _process_common
solver = get_solver(backend, rallocs, mesh, soln, cfg)
File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/solvers/__init__.py", line 14, in get_solver
return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/integrators/__init__.py", line 40, in get_integrator
integrator = type(name, tuple(bc for bn, bc in bases), dict(name=name))
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases

Hi,

It should be “formulation”. Due to the typo PyFR is defaulting to
standard time stepping. This of course gives an error because PyFR does
not have a standard BDF-2 time stepper.

In the next release I’ll see if we can’t throw a more meaningful
exception here.

Regards, Freddie.

I AM SO SORRY…