Hi Will,
If you look at the pressure field early in the simulation you can
clearly see that there is a periodicity issue. The source term you
impose is perfectly fine, but it does work for the gradient between the
periodic back face and the front face.
p(x) = 0 - 4x,
p'(x)= -4
but derivative at the discontinuity reads p'(0) = [p(0) - p(8)]/dx = [0
- (-32)]/dx.
Currently, we do not have a functionality to force the constant pressure
gradient in a periodic domain. However, for this case you can add the
following line to pyfr/solvers/baseadvec/kernels/negdivconf.mako, which
adds a "pressure derivative" source term (-4.0) to the x-momentum
equation (index [1]).
% for i, ex in enumerate(srcex):
tdivtconf[${i}] = -rcpdjac*tdivtconf[${i}] + ${ex};
% endfor
+ tdivtconf[1] = tdivtconf[1] - 4.0;
</%pyfr:kernel>
I did not properly test it, but I have attached a picture what I got
after running for a minute. Please note that the pressure looks constant
if you add the source term this way, because p = du/dx + dv/dx = 0 + 0.
I also suggest using BDF2, rk4 or tvd-rk4 and multigrid.
Regards,
Niki
On 21/11/17 11:30, Will wrote:
Dear Niki,
Thanks for your advice. I have got good alignment on cavity flow now.
I am now trying to simulate pressure driven laminar 2d pipe flow with
periodic inlet/outlet BC. The velocity profile at roughly 50 seconds
is still not parabolic. Instead, the flow generates some vortex at
ReD less than 200 when ac-zeta = 20. The result is attached also the
.pyfrm and .ini.
The pressure gradient is constant 4 and nu = 0.01.
Best regards,
Will
--
You received this message because you are subscribed to the Google
Groups "PyFR Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "PyFR
Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/pyfrmailinglist.
For more options, visit https://groups.google.com/d/optout.