Commit cfe3cb17 authored by Elia Merzari's avatar Elia Merzari
Browse files

Adding two additional cases with variants explained in RADME_nek

parent d4518b75
pb_fluid3 - Advection diffusion only, start from non-huniform initial condition for temperature
pb_fluid4 - Advection diffusion only, start from huniform initial condition for temperature
pb_fluid5 - Full Navier-Stokes, start from non-huniform initial condition for temperature
****** PARAMETERS *****
2.6099999 NEKTON VERSION
3 DIMENSIONAL RUN
118 PARAMETERS FOLLOW
2.00000 p001 DENSITY
0.50000 p002 VISCOS 0.00081
0.00000 p003
0.00000 p004
0.00000 p005
0.00000 p006
1.2500 p007 RHOCP
0.500 p008 CONDUCT
0.00000 p009
0.00000 p010 FINTIME
20000.0 p011 NSTEPS
-5.0E-5 p012 DT
0.00000 p013 IOCOMM
0.00000 p014 IOTIME
250.0 p015 IOSTEP
0.00000 p016 PSSOLVER: 0=default
0.00000 p017
0.00000 p018 GRID < 0 --> # cells on screen
0.00000 p019 INTYPE
0.00000 p020 NORDER
0.01 p021 DIVERGENCE
0.01 p022 HELMHOLTZ
0.00000 p023 NPSCAL
0.100E-01 p024 TOLREL
0.100E-01 p025 TOLABS
4.00000 p026 COURANT/NTAU
2.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
1.00000 p040 p40 =1 means IFAMG="true"
0.00000 p041 1-->multiplicative SEMG
0.00000 p042 0=gmres/1=pcg
0.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
1.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
500.0 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
0.00000 p093 Number of previous pressure solns saved
0.00000 p094 start projecting velocity after p94 step
0.00000 p095 start projecting pressure after p95 step
0.00000 p096
0.00000 p097
0.00000 p098
4.00000 p099 dealiasing: <0--> off/3--> old/4--> new
0.00000 p100
1.00000 p101 Number of additional modes to filter
0.00000 p102 Dump out divergence at each time step
0.05000 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
T IFHEAT
T IFTRAN
T T 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
T IFCHAR
5.00000 5.10000 -1.00000 -1.00000 XFAC,YFAC,XZERO,YZERO
**MESH DATA** 6 lines are X,Y,Z;X,Y,Z. Columns corners 1-4;5-8
-5340 3 5340 NELT,NDIM,NELV
1 PRESOLVE/RESTART OPTIONS *****
pb_fluid.run05 XU
7 INITIAL CONDITIONS *****
C Default
C Default
C Default
C Default
C Default
C Default
C Default
***** DRIVE FORCE DATA ***** BODY FORCE, FLOW, Q
4 Lines of Drive force data follow
C
C
C
C
***** Variable Property Data ***** Overrrides Parameter data.
1 Lines follow.
0 PACKETS OF DATA FOLLOW
***** HISTORY AND INTEGRAL DATA *****
0 POINTS. Hcode, I,J,H,IEL
***** OUTPUT FIELD SPECIFICATION *****
7 SPECIFICATIONS FOLLOW
T COORDINATES
T VELOCITY
T PRESSURE
T TEMPERATURE
F TEMPERATURE GRADIENT
0 PASSIVE SCALARS
***** OBJECT SPECIFICATION *****
0 Surface Objects
0 Volume Objects
0 Edge Objects
0 Point Objects
c-----------------------------------------------------------------------
c nek5000 user-file template
c
c user specified routines:
c - uservp : variable properties
c - userf : local acceleration term for fluid
c - userq : local source term for scalars
c - userbc : boundary conditions
c - useric : initial conditions
c - userchk : general purpose routine for checking errors etc.
c - userqtl : thermal divergence for lowMach number flows
c - usrdat : modify element vertices
c - usrdat2 : modify mesh coordinates
c - usrdat3 : general purpose routine for initialization
c
c-----------------------------------------------------------------------
subroutine uservp(ix,iy,iz,eg) ! set variable properties
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e
c e = gllel(eg)
udiff = 0.0
utrans = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userf(ix,iy,iz,eg) ! set acceleration term
c
c Note: this is an acceleration term, NOT a force!
c Thus, ffx will subsequently be multiplied by rho(x,t).
c
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e
c e = gllel(eg)
ffx = 0.0
ffy = 0.0
ffz = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userq(ix,iy,iz,eg) ! set source term
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e
c e = gllel(eg)
qvol = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userbc(ix,iy,iz,iside,eg) ! set up boundary conditions
c
c NOTE ::: This subroutine MAY NOT be called by every process
c
c implicit none
integer ix,iy,iz,iside,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
common /flux_reconstructed/flux_recon(lx1,ly1,lz1,lelt)
c if (cbc(iside,gllel(eg),ifield).eq.'v01')
ux = 0.0
uy = 0.0
uz = 17.0
temp = 573.0
flux = abs(flux_recon(ix,iy,iz,gllel(eg))) ! flux does not have sign
return
end
c-----------------------------------------------------------------------
subroutine useric(ix,iy,iz,eg) ! set up initial conditions
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
ux = 0.0
uy = 0.0
uz = 0.0
temp = 573.0
return
end
c-----------------------------------------------------------------------
subroutine userchk()
c implicit none
include 'SIZE'
include 'TOTAL'
ifflow=.false.
c n=lx1*ly1*lz1*nelt
c
c if (istep.eq.0) then
c do i=1,n
c xm1(i,1,1,1)=xm1(i,1,1,1)*100.0
c ym1(i,1,1,1)=ym1(i,1,1,1)*100.0
c zm1(i,1,1,1)=zm1(i,1,1,1)*100.0
c enddo
c call fix_geom(2)
c endif
ntot=lx1*ly1*lz1*nelt
tmax=glmax(t(1,1,1,1,1),ntot)
tmin=glmin(t(1,1,1,1,1),ntot)
if (nid.eq.0) write(6,*)"T bounds > ",tmin,tmax
do i=1,ntot
t(i,1,1,1,1)=max(t(i,1,1,1,1),573.0)
t(i,1,1,1,1)=min(t(i,1,1,1,1),773.0)
enddo
return
end
c-----------------------------------------------------------------------
subroutine userqtl ! Set thermal divergence
call userqtl_scig
return
end
c-----------------------------------------------------------------------
subroutine usrdat() ! This routine to modify element vertices
c implicit none
include 'SIZE'
include 'TOTAL'
ifheat=.true.
return
end
c-----------------------------------------------------------------------
subroutine usrdat2() ! This routine to modify mesh coordinates
c implicit none
include 'SIZE'
include 'TOTAL'
common /flux_reconstructed/flux_recon(lx1,ly1,lz1,lelt)
integer f,e
n=lx1*ly1*lz1*nelt
do iel=1,nelv
do ifc=1,2*ndim
id_face = bc(5,ifc,iel,1)
if (id_face.eq.3) then ! SideSet 3 SIDEWALL
cbc(ifc,iel,1) = 'W '
cbc(ifc,iel,2) = 'I '
elseif (id_face.eq.4) then ! SideSet 4 PEBBLES
cbc(ifc,iel,1) = 'W '
cbc(ifc,iel,2) = 'f '
elseif (id_face.eq.1) then ! SideSet 1 inlet
cbc(ifc,iel,1) = 'v '
cbc(ifc,iel,2) = 't '
elseif (id_face.eq.2) then ! SideSet 2 outlet
cbc(ifc,iel,1) = 'O '
cbc(ifc,iel,2) = 'O '
else
cbc(ifc,iel,1) = 'E '
cbc(ifc,iel,2) = 'E '
endif
enddo
enddo
igeom = 2
call setup_topo
call rzero(flux_recon,n)
return
end
c-----------------------------------------------------------------------
subroutine usrdat3()
c implicit none
include 'SIZE'
include 'TOTAL'
return
end
****** PARAMETERS *****
2.6099999 NEKTON VERSION
3 DIMENSIONAL RUN
118 PARAMETERS FOLLOW
2.00000 p001 DENSITY
0.50000 p002 VISCOS 0.00081
0.00000 p003
0.00000 p004
0.00000 p005
0.00000 p006
1.2500 p007 RHOCP
0.500 p008 CONDUCT
0.00000 p009
0.00000 p010 FINTIME
20000.0 p011 NSTEPS
-5.0E-5 p012 DT
0.00000 p013 IOCOMM
0.00000 p014 IOTIME
250.0 p015 IOSTEP
0.00000 p016 PSSOLVER: 0=default
0.00000 p017
0.00000 p018 GRID < 0 --> # cells on screen
0.00000 p019 INTYPE
0.00000 p020 NORDER
0.01 p021 DIVERGENCE
0.01 p022 HELMHOLTZ
0.00000 p023 NPSCAL
0.100E-01 p024 TOLREL
0.100E-01 p025 TOLABS
4.00000 p026 COURANT/NTAU
2.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
1.00000 p040 p40 =1 means IFAMG="true"
0.00000 p041 1-->multiplicative SEMG
0.00000 p042 0=gmres/1=pcg
0.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
1.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
500.0 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
0.00000 p096
0.00000 p097
0.00000 p098
4.00000 p099 dealiasing: <0--> off/3--> old/4--> new
0.00000 p100
1.00000 p101 Number of additional modes to filter
0.00000 p102 Dump out divergence at each time step
0.05000 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
T IFHEAT
T IFTRAN
T T 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
T IFCHAR
5.00000 5.10000 -1.00000 -1.00000 XFAC,YFAC,XZERO,YZERO
**MESH DATA** 6 lines are X,Y,Z;X,Y,Z. Columns corners 1-4;5-8
-5340 3 5340 NELT,NDIM,NELV
1 PRESOLVE/RESTART OPTIONS *****
pb_fluid.run05
7 INITIAL CONDITIONS *****
C Default
C Default
C Default
C Default
C Default
C Default
C Default
***** DRIVE FORCE DATA ***** BODY FORCE, FLOW, Q
4 Lines of Drive force data follow
C
C
C
C
***** Variable Property Data ***** Overrrides Parameter data.
1 Lines follow.
0 PACKETS OF DATA FOLLOW
***** HISTORY AND INTEGRAL DATA *****
0 POINTS. Hcode, I,J,H,IEL
***** OUTPUT FIELD SPECIFICATION *****
7 SPECIFICATIONS FOLLOW
T COORDINATES
T VELOCITY
T PRESSURE
T TEMPERATURE
F TEMPERATURE GRADIENT
0 PASSIVE SCALARS
***** OBJECT SPECIFICATION *****
0 Surface Objects
0 Volume Objects
0 Edge Objects
0 Point Objects
c-----------------------------------------------------------------------
c nek5000 user-file template
c
c user specified routines:
c - uservp : variable properties
c - userf : local acceleration term for fluid
c - userq : local source term for scalars
c - userbc : boundary conditions
c - useric : initial conditions
c - userchk : general purpose routine for checking errors etc.
c - userqtl : thermal divergence for lowMach number flows
c - usrdat : modify element vertices
c - usrdat2 : modify mesh coordinates
c - usrdat3 : general purpose routine for initialization
c
c-----------------------------------------------------------------------
subroutine uservp(ix,iy,iz,eg) ! set variable properties
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e
c e = gllel(eg)
udiff = 0.0
utrans = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userf(ix,iy,iz,eg) ! set acceleration term
c
c Note: this is an acceleration term, NOT a force!
c Thus, ffx will subsequently be multiplied by rho(x,t).
c
c implicit none
integer ix,iy,iz,eg
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'
integer e
c e = gllel(eg)
ffx = 0.0
ffy = 0.0
ffz = 0.0
return
end
c-----------------------------------------------------------------------
subroutine userq(ix,iy,iz,eg) ! set source term
c implicit none
integer ix,iy,iz,eg
include 'SIZE'