V1.12.3, KeyError: 'No subclasses of BaseDualStepper with attrs == (stepper_name = sdirk33)'

I am trying to follow the couette_flow_2d example from Examples — Documentation but it fails:

es/pyfr/__main__.py", line 250, in process_run
    _process_common(
  File "/usr/local/lib/python3.8/site-packages/pyfr/__main__.py", line 232, in _process_common
    solver = get_solver(backend, rallocs, mesh, soln, cfg)
  File "/usr/local/lib/python3.8/site-packages/pyfr/solvers/__init__.py", line 16, in get_solver
    return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
  File "/usr/local/lib/python3.8/site-packages/pyfr/integrators/__init__.py", line 24, in get_integrator
    sc = subclass_where(BaseDualStepper, stepper_name=sn)
  File "/usr/local/lib/python3.8/site-packages/pyfr/util.py", line 174, in subclass_where
    raise KeyError(f'No subclasses of {cls.__name__} with attrs == ({attrs})')
KeyError: 'No subclasses of BaseDualStepper with attrs == (stepper_name = sdirk33)'

OS: FreeBSD 13

The dirk schemes are not currently supported on the master 1.12.3 release. You will need to have the latest commit of develop. I tested this this morning and the dirk schemes seem to work fine for me.

If you are using the version from pip this won’t have this commit. If you are working from a git repo try pulling/rebasing from the upstream develop branch.

Also dual time stepping is not configured on the Couette flow, I’m guessing you meant the incompressible cylinder, but just in case you did mean the Couette flow. Simply changing scheme from rk4 to sdirk33 isn’t sufficient to get the dirk schemes running. You’ll have to add all the requisite bits for dual time stepping.

What could’ve also been causing some confusion is the documentation was accidentally built off of the develop branch, rather than the latest stable release. I have fixed this and it should now reflect the current mainlined features.