# Weak-Prescribed BCs

**URL:** <https://pyfr.discourse.group/t/weak-prescribed-bcs/1294>\
**Category:** Development\
**Created:** [5 September 2025 17:45 UTC](https://pyfr.discourse.group/t/weak-prescribed-bcs/1294 "2025-09-05T17:45:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![boundaryconditions](https://avatars.discourse-cdn.com/v4/letter/b/d6d6ee/32.png) [@boundaryconditions](https://pyfr.discourse.group/u/boundaryconditions)\
**Post date:** [5 September 2025 17:45 UTC](https://pyfr.discourse.group/t/weak-prescribed-bcs/1294/1 "2025-09-05T17:45:01Z")

</div>

Hi, I would like to explore some weak-prescribed boundary conditions mentioned in “A Guide to the Implementation of Boundary Conditions in Compact High-Order Methods for Compressible Aerodynamics”, Mengaldo et al. Most of the Mako templates in PyFR for the advective fluxes at boundaries seem to be for the Weak-Riemann approach. I understand that unlike the Weak-Riemann approach, for the Weak-prescribed approach, there isn’t two set of states and there is no need for a Riemann Solver at the boundaries. Would it be possible to test the Weak-prescribed approach in PyFR, and if so, may I get some pointers on how I could go about doing that?

Edit: Perhaps it involves something like setting cflux\_state = None in inters.py, and creating \<%pyfr:macro name=‘bc\_common\_flux\_state’..\> similar to that in ghost.mako/slp-adia-wall.mako?

---

<div class="post-metadata">

**Author:** ![fdw](https://avatars.discourse-cdn.com/v4/letter/f/a587f6/32.png) [@fdw](https://pyfr.discourse.group/u/fdw)\
**Post date:** [5 September 2025 23:04 UTC](https://pyfr.discourse.group/t/weak-prescribed-bcs/1294/2 "2025-09-05T23:04:11Z")

</div>

This form of enforcement is supported. In particular your BC needs to provide:

> <https://github.com/PyFR/PyFR/blob/3942b823abe26bb9d96114159d0448cf127e2d0e/pyfr/solvers/navstokes/kernels/bccflux.mako#L18>

This is controlled by the BC class setting `cflux_state = None` which ensures that no default implementations are included here:

> <https://github.com/PyFR/PyFR/blob/3942b823abe26bb9d96114159d0448cf127e2d0e/pyfr/solvers/navstokes/kernels/bccflux.mako#L6>

Then, everything is on your BC to provide a complete `bc_common_flux_state` along with the appropriate common solution states needed for LDG.

Regards, Freddie.
