"3D Triangular Aerofoil" example case

Hello, I am trying to follow the tutorials through the provided examples.

So far, “2D Incompressible Cylinder Flow” example case working without issue.

However, for the “3D Triangular Aerofoil” example case, I got the error below after command
pyfr -p run -b cuda triangular-aerofoil.pyfrm triangular-aerofoil.ini

Because I only have 1 GPU, I’ve also tried to run with 2 CPU cores after grid partitioning.
“mpiexec -n 2 pyfr run -b openmp triangular-aerofoil.pyfrm triangular-aerofoil.ini”

This also gave me error which is not exactly the same with the error from cuda command, but the last line of the error is the same “RuntimeError: Template “pyfr.plugins.kernels.turbulence” not found”

Please let me know how I can fix this using either GPU or CPUs.

Thank you!

Traceback (most recent call last):
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/bin/pyfr", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/__main__.py", line 124, in main
    args.process(args)
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/__main__.py", line 258, in process_run
    _process_common(
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/__main__.py", line 243, in _process_common
    solver = get_solver(backend, rallocs, mesh, soln, cfg)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/solvers/__init__.py", line 14, in get_solver
    return get_integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/integrators/__init__.py", line 34, in get_integrator
    return integrator(backend, systemcls, rallocs, mesh, initsoln, cfg)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/integrators/std/controllers.py", line 85, in __init__
    super().__init__(*args, **kwargs)
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/integrators/std/controllers.py", line 11, in __init__
    super().__init__(*args, **kwargs)
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/integrators/std/steppers.py", line 131, in __init__
    super().__init__(*args, **kwargs)
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/integrators/std/base.py", line 26, in __init__
    self.system.commit()
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/solvers/base/system.py", line 67, in commit
    self._gen_kernels(self.nregs, self.ele_map.values(), self._int_inters,
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/solvers/base/system.py", line 202, in _gen_kernels
    kern = kgetter(i)
           ^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/solvers/baseadvec/elements.py", line 112, in <lambda>
    kernels['negdivconf'] = lambda fout: self._be.kernel(
                                         ^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/backends/base/backend.py", line 196, in kernel
    kern = kern_meth(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/backends/base/kernels.py", line 173, in kernel_meth
    src, ndim, argn, argt = self._render_kernel(name, mod, extrns,
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/util.py", line 38, in newmeth
    res = cache[key] = meth(self, *args, **kwargs)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/backends/base/kernels.py", line 85, in _render_kernel
    src = tpl.render(**tplargs)
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/template.py", line 34, in render
    return super().render(*args, **self.dfltargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/template.py", line 438, in render
    return runtime._render(self, self.callable_, args, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/runtime.py", line 874, in _render
    _render_context(
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/runtime.py", line 916, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/runtime.py", line 943, in _exec_template
    callable_(context, *args, **kwargs)
  File "memory:0x14c63c4abcd0", line 47, in render_body
  File "memory:0x14c6924b6bd0", line 42, in render_body
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/runtime.py", line 780, in _include_file
    template = _lookup_template(context, uri, calling_uri)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/mako/runtime.py", line 837, in _lookup_template
    return lookup.get_template(uri)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yongsu/Research/CFD/PyFR/libxsmm/pyfr-venv/lib/python3.11/site-packages/pyfr/template.py", line 29, in get_template
    raise RuntimeError(f'Template "{name}" not found')
RuntimeError: Template "pyfr.plugins.kernels.turbulence" not found

I believe this is now fixed in the latest develop branch as of 2 days ago.