dual timestepping error: metaclass conflict?

21 views
Skip to first unread message

CatDog

unread,
Jan 22, 2017, 9:11:48 PM1/22/17
to PyFR Mailing List
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 ##39s
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



Freddie Witherden

unread,
Jan 23, 2017, 1:14:59 AM1/23/17
to pyfrmai...@googlegroups.com
Hi,

On 22/01/2017 18:11, CatDog wrote:
> [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 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.

signature.asc

CatDog

unread,
Jan 23, 2017, 10:27:26 PM1/23/17
to PyFR Mailing List
I AM SO SORRY...
Reply all
Reply to author
Forward
0 new messages