Mixed periodic/non-periodic BC for scalar transport

Hello all

I’ve added a passive scalar to PyFR and now I am looking to create periodic flow b.c. with inlet-outlet conditions for the passive scalar. Is there a simple way to achieve such a thing?
Any help would be appreciated


I think this is quite challenging.

I think you would need to make sure that elements got added to both the interaface list and the bc int list and that any MPI communication also happened. You would then need to add some dependencies in the graph so that there isn’t a race condition on setting those interface points.

This will of course be dependent on how you implement the passives, but when I recently did this I added some optional buffers call pasv_upts, pasv_fpts, and pasv_qpts. This methodology would work for that approach.

It can be done with moderate complexity.

First, mark the boundaries as being periodic in your mesh generation software and give them an appropriate name. Next, use the latest development version of PyFR which preserves periodic information in the mesh file and ensures that periodic interfaces always end up on the same MPI rank. Then, in the internal interfaces class split apart the periodic faces into their own list. This is relatively simple to do since PyFR tags which internal interfaces are periodic. Finally, have the common flux for these interfaces computed by a custom kernel which does whatever you need to the passive scalar on the left- and right-hand sides.

Regards, Freddie.

1 Like

Thank you.
I will give it a try…