Simulating T106A Low Pressure Turbine

Hello Everyone,

I am trying to run a simulation of the T106A Low-Pressure Turbine blade with PyFR version 1.12.2.

I found the geometry model of the T106A Low-Pressure Turbine blade at as one .iges file and I am trying to produce a mesh for that model with the Pointwise software. In particular, this software allows exporting the CAE model of the grid both in GMSH and PyFR formats.

Apart from more advanced issues (like the resolution that I am using now, which is very coarse), I am not able to make PyFR accept the mesh.

I report in the following the errors given by the two formats that I tried:

.msh Error
Traceback (most recent call last):
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/bin/pyfr", line 11, in <module>
    load_entry_point('pyfr==1.12.2', 'console_scripts', 'pyfr')()
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/", line 117, in main
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/", line 131, in process_import
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/readers/", line 23, in to_pyfrm
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/readers/", line 414, in _to_raw_pyfrm
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/readers/", line 188, in get_connectivity
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/readers/", line 155, in _pair_periodic_fluid_faces
KeyError: (8, 1007, 108781, 108819)
.pyfrm Error
Traceback (most recent call last):
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/bin/pyfr", line 11, in <module>
    load_entry_point('pyfr==1.12.2', 'console_scripts', 'pyfr')()
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/", line 117, in main
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/", line 171, in process_partition
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/partitioners/", line 272, in partition
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/partitioners/", line 48, in _combine_mesh_parts
  File "/davinci-1/work/PyFR/04_venv/pyfr-1.12.2/lib/python3.8/site-packages/pyfr-1.12.2-py3.8.egg/pyfr/readers/", line 36, in __getitem__
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/apps/anaconda/anaconda3/anaconda3-2020.11/lib/python3.8/site-packages/h5py/_hl/", line 60, in __getitem__
    attr =, self._e(name))
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5a.pyx", line 77, in
KeyError: "Can't open attribute (can't locate attribute: 'linear')"

I am new to this kind of meshing, therefore any hint from the community is more than appreciated.

Moreover, I cannot find a way to attach the mesh files that I produced, but if anyone may tell me how to do that, I can share those files.

Federico Cipolletta.

On the issues with the pyfrm export from pointwise, I am assuming that pointwise haven’t updated there PyFR support since we added linear elements. This causes a few changes to the mesh format.

I recently had a similar issue when re-partitioning an old pyfrm file, I made this modified version of pyfr GitHub - WillTrojak/PyFR at feature/old_part which added some exception handling. That might help, or at least point you in the right direction to solve this issue.

As to the gmsh problem, are you using high order surfaces and periodics BCs? If so take a look at this High order curved mesh visualization - #10 by WillT
I think this might be your problem.


Hello Will,

thank you for the answer.

Regarding the .pyfrm format, yes, this could well be the issue.

Regarding the .msh format, I do use periodic BCs (basically I defined the region around the blade giving periodic BCs at the top and at the bottom and on the boundaries at z=0 and z=375, i.e. at the start and end of the span direction of the blade). What do you mean by high-order surface? I do actually use one Akima spline for defining a curve in the span-section at z=0 in order to define one sub-domain (that in Pointwise’s terminology means one 2D grid). I then extrude each sub-domain in the span direction. I wonder if extruding one Akima spline might implicitly define what you call one high-order surface…

Federico Cipolletta.

What I mean by high order surface is are you asking pointwise to create a high order mesh? This is normally done by setting the order to Q2 or something and constraining one or more of the surfaces. If you are doing this then you will need to use the periodic tool in pointwise and not just simply extrude. Without this the points on what you want to be periodic are free to move in the high order smoothing when you export. PyFR will then not be able to match up the faces.

I see. Thank you very much for the hint. I will have a detailed look at that and will follow up in case I have some news that might be useful for the community.

Federico Cipolletta.

I would focus on exporting an .msh file. They are usually easier to work with (as they are plain text), support curvature, and can be opened in other programs (like Gmsh). The .msh importer is very fast nowadays — at least compared to how slow it used to be — and so the time saved by directly outputting pyfrm files from Pointwise is minimal. Further, the .msh importer does an extra linear element detection pass which can result in slightly improved performance.

Are you able to export your Pointwise file?

Regards, Freddie.

Hello Freddie,

and thank you very much for your follow-up.

Yes, I am able to export my mesh file as one .msh from Pointwise and I am able to open that with GMSH. However, when trying importing that in PyFR, from .msh to .pyfrm, it gives me the error of my previous message above.

Therefore, I will try to follow the steps suggested previously by Will inside Pointwise and will post what I get here as soon as I have news.

Federico Cipolletta.

Hello everyone,

just following up here for completeness.

Adopting the periodic feature of Pointwise, as suggested by Will, was crucial for making the .msh file correctly imported as .pyfrm by PyFR, even if I already checked that I was implicitly using Q1 for the mesh order.

Moreover, since I am trying to use one coarse grid resolution, it seems that the Anti-Aliasing was necessary to make the code running (otherwise, I was getting “Minimum timestep rejected”).

With those I am actually able to run my first simulation of Low-Pressure Turbine via PyFR.

Thank you very much for the help.

Federico Cipolletta.

1 Like