[Nek5000-users] problem with pressure calculation
nek5000-users at lists.mcs.anl.gov
nek5000-users at lists.mcs.anl.gov
Fri Sep 2 10:03:59 CDT 2016
Hi Neks,
I'm having a problem with the computation of my pressure. I am simulating a flow past an airfoil. I'm using user defined velocity bounday condition at the inlet (set as 'v'), and zero gradient at the outlet.
I implemented a von Karman isotropic turbulence model at the inlet of my domain, on which I impose in the userbc U+u', v' and w'(flow in x direction). The model gives correct description of the perturbation , spatially and in time.
With constant velocity the problem works fine, but when I add the fluctuation, the local pressure becomes randomed and jump from a value to another with no correlation at all. The velocities look just fine in all cases.
I tried to use call dsavg(u) to ensure I am C0-continuous, but it didn't work i.e. I guess I am already, and since I use only one random number to generate my von Karman spectra, there is no reason not to be, at least spatially.
I have more doubts about my time correlation, where I use a basic asymmetric time filter that seems to induce quite random behavior near low amplitudes fluctuations.
Some time ago, I also had the same problem by setting a random noise at the inlet.
I also tried to tighten the convergence by decreasing p21(10e-8,10e-9, 10e-10..) in the rea but it have no effect at all.
I also checked my model with flow past a flat plate and it gives similar problem.
after calling the subroutine in usechk, I just add the fluctuation writing ux=U+utm(ix,iy,iz,e), uy= .... in userbc
Any comments will be very much appreciated and thank you in advance.
Antoine
PS: Below is my parameters in the rea file, and a part of the userbc in case there is something I missed...
****** PARAMETERS *****
2.6099999 NEKTON VERSION
3 DIMENSIONAL RUN
118 PARAMETERS FOLLOW
1.0000 p001 DENSITY
0.000001 p002 VISCOS
0.00000 p003
0.00000 p004
0.00000 p005
0.00000 p006
1.00000 p007 RHOCP
1.00000 p008 CONDUCT
0.00000 p009
000000.00000 p010 FINTIME
0100.000 p011 NSTEPS
2500.00000 p012 DT
0.00000 p013 IOCOMM
00000.00000 p014 IOTIME
00000025.00 p015 IOSTEP
0.00000 p016 PSSOLVER: 0=default
0.00000 p017
0.500000 p018 GRID < 0 --> # cells on screen
-1.00000 p019 INTYPE
10.0000 p020 NORDER
0.100000E-08 p021 DIVERGENCE
0.100000E-07 p022 HELMHOLTZ
0.00000 p023 NPSCAL
0.100000E-01 p024 TOLREL
0.100000E-01 p025 TOLABS
0.600000 p026 COURANT/NTAU
3.00000 p027 TORDER
0.00000 p028 TORDER: mesh velocity (0: p28=p27)
0.00000 p029 = magnetic visc if > 0, = -1/Rm if < 0
0.00000 p030 > 0 ==> properties set in uservp()
0.00000 p031 NPERT: #perturbation modes
0.00000 p032 #BCs in re2 file, if > 0
0.00000 p033
0.00000 p034
0.00000 p035
0.00000 p036
0.00000 p037
0.00000 p038
0.00000 p039
0.00000 p040
0.00000 p041 1-->multiplicative SEMG
0.00000 p042 0=gmres/1=pcg
1.00000 p043 0=semg/1=schwarz
0.00000 p044 0=E-based/1=A-based prec.
0.00000 p045 Relaxation factor for DTFS
0.00000 p046 reserved
0.00000 p047 vnu: mesh matieral prop.
0.00000 p048
0.00000 p049
0.00000 p050
0.00000 p051
0.00000 p052 IOHIS
0.00000 p053
0.00000 p054 fixed flow rate dir: |p54|=1,2,3=x,y,z
0.00000 p055 vol.flow rate (p54>0) or Ubar (p54<0)
0.00000 p056
0.00000 p057
0.00000 p058
0.00000 p059 !=0 --> full Jac. eval. for each el.
0.00000 p060 !=0 --> init. velocity to small nonzero
0.00000 p061
0.00000 p062 >0 --> force byte_swap for output
0.00000 p063 =8 --> force 8-byte output
0.00000 p064 =1 --> perturbation restart
0.00000 p065 #iofiles (eg, 0 or 64); <0 --> sep. dirs
6.00000 p066 output : <0=ascii, else binary
6.00000 p067 restart: <0=ascii, else binary
0.00000 p068 iastep: freq for avg_all (0=iostep)
0.00000 p069
0.00000 p070
0.00000 p071
0.00000 p072
0.00000 p073
0.00000 p074 verbose Helmholtz
0.00000 p075
0.00000 p076
0.00000 p077
0.00000 p078
0.00000 p079
0.00000 p080
0.00000 p081
0.00000 p082
0.00000 p083
0.00000 p084 !=0 --> sets initial timestep if p12>0
0.00000 p085 dt ratio if p84 !=0, for timesteps>0
0.00000 p086 reserved
0.00000 p087
0.00000 p088
0.00000 p089 p89 reserved
0.00000 p090
0.00000 p091
0.00000 p092
20.0000 p093 Number of previous pressure solns saved
5.00000 p094 start projecting velocity after p94 step
5.00000 p095 start projecting pressure after p95 step
1.00000 p096 p96 u0 translational velocity (in
0.300000 p097 p97 v0 translational velocity (i
0.00000 p098
3.00000 p099 dealiasing: <0--> off/3--> old/4--> new
0.00000 p100
0.00000 p101 Number of additional modes to filter
0.00000 p102 Dump out divergence at each time step
0.00000 p103 weight of stabilizing filter (.01)
0.00000 p104
0.00000 p105
0.00000 p106
0.00000 p107 !=0 --> add to h2 array in hlmhotz eqn
0.00000 p108
0.00000 p109
0.00000 p110
0.00000 p111
0.00000 p112
0.00000 p113
0.00000 p114
0.00000 p115
0.00000 p116 !=0: x elements for fast tensor product
0.00000 p117 !=0: y elements for fast tensor product
0.00000 p118 !=0: z elements for fast tensor product
4 Lines of passive scalar data follows2 CONDUCT; 2RHOCP
1.00000 1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000 1.00000
1.00000 1.00000 1.00000 1.00000
13 LOGICAL SWITCHES FOLLOW
T IFFLOW
F IFHEAT
T IFTRAN
T F F F F F F F F F F IFNAV & IFADVC (convection in P.S. fields)
F F T T T T T T T T T T IFTMSH (IF mesh for this field is T mesh)
F IFAXIS
F IFSTRS
F IFSPLIT
F IFMGRID
F IFMODEL
F IFKEPS
F IFMVBD
F IFCHAR
----------------------------------
subroutine userbc (ix,iy,iz,iside,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e,eg
common /myturb/ utm(lx1,ly1,lz1,lelt),vtm(lx1,ly1,lz1,lelt), ! my fluctuations
$ wtm(lx1,ly1,lz1,lelt)
e=gllel(eg)
...
uy=vtm(ix,iy,iz,e)
ux =1.0+utm(ix,iy,iz,e)
uz=wtm(ix,iy,iz,e)
...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20160902/ffbe9708/attachment.html>
More information about the Nek5000-users
mailing list