diff --git a/README.md b/README.md index de8234a..6b0401e 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,11 @@ Some examples provide additional pdf files for a more complete description. * __Purpose__ : 2D Poiseiulle flow moving between two heated finite thickness * __Features__ : * Temperature solve with frozen velocity + * `conj_ht_rbc` + * __Test name__ : cht2d + * __Purpose__ : 2D thermal convection between two solid finite thickness + * __Features__ : + * Non-dimensional governing equations are valid when temperature drop across both solid plates is 1. * `eddy_neknek` * __Test name__ : Eddy_Neknek * __Purpose__ : Eddy solutions in doubly-periodic domain domains diff --git a/conj_ht_rbc/README.md b/conj_ht_rbc/README.md new file mode 100644 index 0000000..f58ef01 --- /dev/null +++ b/conj_ht_rbc/README.md @@ -0,0 +1,403 @@ +# Conjugate Heat Transfer + +[![](https://img.shields.io/badge/Nek5000-v17.0-green)](http://nek5000.github.io/NekDoc/index.html) +[![](https://img.shields.io/badge/case-updated-blue)](http://nek5000.github.io/NekDoc/tutorials/conjht.html) + +In this tutorial, we want to simulate a simple 2D Rayleigh-Benard convection flow. The heat transfer across the horizontal walls of finite thickness is included. If you are not familiar with Nek5000, we strongly recommend you to begin with the periodic hill example first! Similarly, we start by generating a 2D mesh, and modify the case files for this instance afterwards and finally run the case. + + +## 1. Pre-processing + + +Users always bear in mind, when you set up a test case in `Nek5000` you must edit case files. Samples can be found in the [Nek5000/examples](https://github.com/Nek5000/NekExamples/tree/35bac75238bf3e7abb6f621615be1f5b3b2bed04) directory included with the release version. As a first step, the user should create a case directory in the corresponding run directory: + +```bash +cd $HOME/Nek5000/run +mkdir conj_ht_rbc +cd conj_ht_rbc +``` +then copy the templates to your case directory. This tutorial requires the `ray0.rea` file from the Rayleigh-Bernard example found in [Nek5000/examples/rayleigh](https://github.com/Nek5000/NekExamples/tree/master/rayleigh). + +We begin by creating the mesh with appropriate bounday conditions and then we need to set the parameters and case files. + + +### 1.1 Mesh generation + + +This tutorial requires that you have the tools `genbox`, `genmap`, `prenek`, and `nekmerge` compiled. +Make sure the `Nek5000/bin` directory is in your search PATH. First, we create the mesh for the fluid part by the following input file (called *cht2d.box*) to `genbox`. +In Nek5000, it is important to understand that there are two types of mesh topology: **t mesh** stands for temperature and **v mesh** stands for velocity mesh. The **v mesh** (fluid subdomain) is always the subset of the **t mesh**. Therefore, we generate a **v mesh** and **t mesh** with appropriate BCs separately, later we merge both subdomains using the `nekmerge` tool. + +The fluid mesh is generated by `genbox` with the following input file: + +```bash + + ray0.rea + 2 spatial dimension + 2 number of fields + #======================================================== + # + # Example of 2D .box file for fluid. This gives 2 x 1 + # box with 20 x 10 elements + # + # If nelx (y or z) < 0, then genbox automatically generates the + # grid spacing in the x (y or z) direction + # with a geometric ratio given by "ratio". + # ( ratio=1 implies uniform spacing ) + # + #======================================================== + # + Box + -20 -10 nelx,nely,nelz for Box) + 0 2 1 x0 x1 ratio + 0 1 1 y0 y1 ratio + W ,W ,W ,W , V bc's ! NB: 3 characters each ! + I ,I ,E ,E , T bc's ! You must have 2 spaces! +``` + +It is worth mentioning that since we are running a 2D case, the input file named *ray0.rea* should be a **2D file, not a 3D file**. In this example, the elements are distributed uniformly in stream-wise (x) and span-wise (y) directions. The thermal boundary conditions for the upper and lower face must be "\E" which indicates that the *Interior boundary*-- this condition is mandatory for the interface between the fluid and solid domains. The lateral surfaces of the inner domain and solid walls are assumed to be adiabatic. + +When you run `genbox`, the tool will produce the binary mesh and boundary data file named `box.rea` which should be renamed to `boxfluid.rea`. + +In the next step, we create two upper and _lower solid_ parts of finite thickness h=0.2. The lower domain spans ![](https://latex.codecogs.com/gif.latex?-0.2%20%5Cleqslant%20y%20%5Cleqslant%200) and the upper domain spans ![](https://latex.codecogs.com/gif.latex?1%20%5Cleqslant%20y%20%5Cleqslant%201.2). + +:warning: Note: It is important to keep the number of elements equal in spanwise direction for different parts. + +The lower solid domain is generated by `genbox with the following input file: + +```bash + ray0.rea + 2 spatial dimension + 2 number of fields + #======================================================== + # + # This gives a 2 x 1 box with 20 x 5 elements + # here used for Rayleigh Benard convection. + # + # Note that number of fields < 0 implies that box.rea + # will be ascii. + # + #======================================================== + # + Box + -20 -5 nelx,nely,nelz for Box) + 0 2 1 x0 x1 ratio + -0.2 0 1 y0 y1 ratio + W ,W ,W ,W , V bc's ! NB: 3 characters each ! + I ,I ,t ,E , T bc's ! You must have 2 spaces!! + ``` +The tool will produce the binary mesh with boundary data file named ``box.rea`` which should be renamed to ``boxlower.rea``. The upper solid mesh is also generated by genbox with the following input file: + +```bash + ray0.rea + 2 spatial dimension + 2 number of fields + #======================================================== + # + # This gives a 9 x 1 box, periodic in x, + # here used for Rayleigh Benard convection. + # + # Note that number of fields < 0 implies that box.rea + # will be ascii. + # + #======================================================== + # + Box + -20 -5 nelx,nely,nelz for Box) + 0 2 1 x0 x1 ratio + 1 1.2 1 y0 y1 ratio + W ,W ,W ,W , V bc's ! NB: 3 characters each ! + I ,I ,E ,t , T bc's ! You must have 2 spaces!! +``` +The tool will produce the binary mesh with boundary data file named `box.rea which should be renamed to `boxupper.rea`. + +In [nek5000/tools](https://github.com/Nek5000/Nek5000/tree/master/tools), there is a code `nekmerge.f` that can be compiled with your local Fortran compiler (preferably not g77). By running this code, you can merge upper and lower solid subdomain into one. Below is a typical session, upon typing `nekmerge the user is prompted at the command line: + +```bash + ascii or binary output ? (a/b): + a + Input new (output) file name: + box_solids + Input source .rea file name or press enter to continue: + boxlower + Opening input file: boxlower + Input source .rea file name or press enter to continue: + boxupper +``` + +Then, we can run the `pretex` tool to merge fluid subdomain with the solid resulting. It is important to first enter the fluid domain file name and then the solid part. Example of running `pretex` tool is shown below: + + +```bash + Choose a Name for This Session: + cht2d + Beginning Session cht2d + 1 READ PREVIOUS PARAMETERS + 2 TYPE IN NEW PARAMETERS + 3 CONJ. HEAT TRANSFER MERGE + Choose item: + 3 + 3 + Enter name of fluid session + boxfluid + Enter name of the solid session + box_solids + Exiting session +``` + +Now, the user needs to run `reatore2` and `genmap` tools in order to produce `cht2d.re2` and `cht2d.ma2` binary files respectively. + + + +

+ +

+ +### 1.2 Case set-up .usr + + +The [User Routines File (.usr)](http://nek5000.github.io/NekDoc/problem_setup/case_files.html#case-files-usr) file implements various subroutines to allow the users to interact with the solver. + +To get started we copy the template to our case directory and then we modify its subroutines accordingly. +```bash +cp $HOME/Nek5000/examples/conj_ht_rbc/conj_ht.usr cht2d.usr +``` +:warning: Note: in the [uservp](http://nek5000.github.io/NekDoc/problem_setup/case_files.html#case-files-uservp) subroutine, users should specifiy different variable properties for fluid and solid subdomain. For exapmle, thermal diffusivity ratios of Copper and liquid metal alloy GaInSn (Pr = 0.033) is 10 and thermal diffusivity ratios of Copper and air (Pr = 0.7) is 5.2 , [read more here](https://github.com/Foroozani/MyLecturesNote/blob/main/refrences/turbulent_convection_for_different_thermal_boundary_conditions_at_the_plates.pdf "Turbulent convection for different thermal boundary conditions at the plates"). + + +```bash + subroutine uservp (ix,iy,iz,ieg) + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + + if (ifield.eq.1) then + utrans = param(1) + udiff = param(2) + + else + + utrans = param(7) ! thermal properties + udiff = param(8) + + if (ieg .gt. nelgv) then ! properties in the solid + udiff = 10.0*param(8) ! conductivity copper/GaInSn + utrans = 1.0 + endif + + endif + + return + end +``` + +### 1.3 Initial & boundary conditions + +In this study, the volumetric heat source is set to be zero *qvol=0* in *t mesh* which can be done in `userq` subroutine. The next step is to specify the initial and boundary conditions. We apply a linear variation of temperature in fluid mesh in *y*-direction where the lower plate is heated and the upper one is cooled, uniformly. Subsequently, we modify `userf`, `userbc` and `useric` as: + +```bash + subroutine userf (ix,iy,iz,ieg) + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + + ffx = 0.0 + ffy = temp + ffz = 0.0 + + return + end +``` +In this example, *Ra = 1E7* and *Pr = 0.033*. In order to have averege temperature at ![equation](https://latex.codecogs.com/gif.latex?%5Csmall%20%5Ctextlangle%20T%28y%3D0%29%20%5Ctextrangle%20%5Capprox%201%2C%20%5Ctextlangle%20T%28y%3D1%29%20%5Ctextrangle%20%5Capprox%200), one can impose temperature increment of *deltaT = 2.5* (can be set in `USERDEF.f`) at the bottom plate ![](https://latex.codecogs.com/gif.latex?%5Csmall%20%5Cdelta%20T%20%3D%202.5). Therefore temperature equation across the whole domain is `T(y) = -4.303*y + 2.651`. + +:warning: The temperature drop across both solid plates varies with *Pr* and *Ra* and is adjusted at the boundaries. Therfeore `T(y)` equation should be set carefully as shown in the figure [Refrence](https://github.com/Foroozani/MyLecturesNote/blob/main/refrences/turbulent_convection_for_different_thermal_boundary_conditions_at_the_plates.pdf "Turbulent convection for different thermal boundary conditions at the plates"). + +

+ +

+ + + +```bash + subroutine userbc (ix,iy,iz,iside,ieg) + + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + include 'USERDEF.f' + + ux = 0.0 + uy = 0.0 + uz = 0.0 + + !if deltaT=2.512, tempereture equation is + temp = -4.303*y + 2.651 + + ! bottom plate + if(y.le.0) then + temp = 1.0-(y/h)*(deltaT) + end if + ! top plate + if(y.ge.1) then + temp= ((1.0-y)/(h))*(deltaT) + end if + + return + endd +``` +... + +```bash + subroutine useric (ix,iy,iz,ieg) + + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + include 'USERDEF.f' + + ux = 0.0 + uy = 0.0 + uz = 0.0 + + temp = 1.0 - y + + if (y.le.0.0) then + temp = 1.0-(y/h)*(deltaT) + else if (y.ge.1.0) then + temp=((1.0-y)/(h))*(deltaT) + end if + + return + endd +``` + +### 1.4 Control parameters + + +The control parameters for any case are given in the `.par` file. +For this case, using any text editor, create a new file called `cht2d.par` and type in the following: + +```bash + #-------------------- + # nek parameter file + #-------------------- + + [GENERAL] + numSteps = 8000 + stopAt = numSteps + dt = 5e-02 + variableDT = yes + targetCFL = 0.5 + writeInterval = 500 + writeControl = timeStep + timeStepper = bdf2 + + [PROBLEMTYPE] + equation = incompNS + + [PRESSURE] + residualTol = 1e-04 + residualProj = no + + [VELOCITY] + residualTol = 1e-06 + density = 1.0 + viscosity = 3.1623E-04 + + [TEMPERATURE] + + conjugateHeatTransfer = yes + + rhoCp = 1.0 + conductivity = 3.1623E-04 + residualTol = 1e-06 +``` +In this example, we have set the calculation to stop after 8000-time steps (`numSteps=8000`) and print the checkpoint file every 500-time steps (`writeInterval=500`). +In choosing `viscosity=3.1623E-04` and `conductivity=3.1623E-04`, actually we are setting the Rayleigh *Ra=10e7* and Prandtl *Pr=1*. + + +### 1.5 SIZE file + + +The static memory layout of Nek5000 requires the user to set some solver parameters through a so called `SIZE` file. +Typically it's a good idea to start from our template. +Copy the `SIZE.template` file from the core directory and rename it `SIZE` in the working directory: + +```bash +cp $HOME/Nek5000/core/SIZE.template SIZE + +``` +Then, adjust the following parameters in the BASIC section + +```bash + ... + + ! BASIC + parameter (ldim=2) + parameter (lx1=8) + parameter (lxd=12) + parameter (lx2=lx1) + + parameter (lelg=400) + parameter (lpmin=1) + parameter (lpmax=512) + parameter (ldimt=1) + + ... +``` + +For this tutorial we have set our polynomial order to be *N=7* - this is defined in the `SIZE` file above as `lx1=8` which indices that there are 8 points in each spatial dimension of every element. +Additional details on the parameters in the `SIZE` file are given [here](http://nek5000.github.io/NekDoc/problem_setup/case_files.html#case-files-size). + + +## 2. Compilation + + +With the `hillp.usr`, and `SIZE` files created, we are now ready to compile: + +```bash +makenek cht2d +``` + +If all works properly, upon compilation the executable `nek5000` will be generated. + +Now you are all set, just run + +```bash +nekbmpi cht2d 4 +``` + +to launch an MPI jobs on your local machine using 4 ranks. The output will be redirected to `logfile`. + + +## 3. Post-processing the results + + +Once execution is completed your directory should now contain multiple checkpoint files that look like this: + +```bash +cht2d.f00001 +cht2d.f00002 + ... +``` +The preferred mode for data visualization and analysis with `Nek5000` is +to use `Visit/Paraview`. One can use the script *visnek*, to be found in `/scripts`. It is sufficent to run: + +```bash +visnek cht2d +``` + +*(or the name of your session)* to obatain a file named `cht2d.nek5000` which can be recognized in `Visit/Paraview`. + +In the viewing window, one can visualize the temperature-field as depicted in this figure + +

+ +

+ + Steady-State flow field visualized in `Visit/Paraview`. Vectors represent velocity. Colors represent velocity magnitude. + + +**Refrence** + +- [Turbulent convection for different thermal boundary conditions at the plates](https://github.com/Foroozani/MyLecturesNote/blob/main/refrences/turbulent_convection_for_different_thermal_boundary_conditions_at_the_plates.pdf "Turbulent convection for different thermal boundary conditions at the plates") diff --git a/conj_ht_rbc/SIZE b/conj_ht_rbc/SIZE new file mode 100644 index 0000000..63a76b4 --- /dev/null +++ b/conj_ht_rbc/SIZE @@ -0,0 +1,42 @@ +c +c Include file to dimension static arrays +c and to set some hardwired run-time parameters +c + integer ldim,lx1,lxd,lx2,lx1m,lelg,lelt,lpmin,lpmax,ldimt + integer lpelt,lbelt,toteq,lcvelt + integer lelx,lely,lelz,mxprev,lgmres,lorder,lhis + integer maxobj,lpert,nsessmax,lxo + integer lfdm, ldimt_proj + + ! BASIC + parameter (ldim=2) ! domain dimension (2 or 3) + parameter (lx1=8) ! GLL points per element along each direction + parameter (lxd=10) ! GL points for over-integration (dealiasing) + parameter (lx2=lx1-0) ! GLL points for pressure (lx1 or lx1-2) + + parameter (lelg=400) ! max total number of elements + parameter (lpmin=1) ! min MPI ranks + parameter (lpmax=512) ! max MPI ranks + parameter (ldimt=1) ! max auxiliary fields (temperature + scalars) + + ! OPTIONAL + parameter (ldimt_proj=1) ! max auxiliary fields residual projection + parameter (lhis=1000) ! max history/monitoring points + parameter (maxobj=4) ! max number of objects + parameter (lpert=1) ! max number of perturbations + parameter (toteq=5) ! max number of conserved scalars in CMT + parameter (nsessmax=2) ! max sessions to NEKNEK + parameter (lxo=lx1) ! max GLL points on output (lxo>=lx1) + parameter (mxprev=20,lgmres=30) ! max dim of projection & Krylov space + parameter (lorder=3) ! max order in time + parameter (lx1m=lx1) ! GLL points mesh solver + parameter (lfdm=0) ! set to 1 for fast diagonalization method + parameter (lelx=1,lely=1,lelz=1) ! global tensor mesh dimensions + + parameter (lelt=lelg/lpmin + 3) ! max number of local elements per MPI rank + parameter (lbelt=1) ! set to lelt for mhd + parameter (lpelt=1) ! set to lelt for linear stability + parameter (lcvelt=lelt) ! set to lelt for cvode + + ! INTERNALS + include 'SIZE.inc' diff --git a/conj_ht_rbc/USERDEF.f b/conj_ht_rbc/USERDEF.f new file mode 100644 index 0000000..8258c83 --- /dev/null +++ b/conj_ht_rbc/USERDEF.f @@ -0,0 +1,4 @@ +! USER define parameter + + Parameter (deltaT = 2.512) ! prescribe temperatuere at the top and bottom + parameter (hs = 0.200000) ! height of the solid in units of H diff --git a/conj_ht_rbc/cht2d.box b/conj_ht_rbc/cht2d.box new file mode 100644 index 0000000..8aa2f0a --- /dev/null +++ b/conj_ht_rbc/cht2d.box @@ -0,0 +1,19 @@ +ray0.rea + 2 spatial dimension + 2 number of fields +#======================================================== +# +# This gives a 9 x 1 box, periodic in x, +# here used for Rayleigh Benard convection. +# +# Note that number of fields < 0 implies that box.rea +# will be ascii. +# +#======================================================== +# +Box +-20 -10 nelx,nely,nelz for Box) +0 2 1 x0 x1 ratio +0 1 1 y0 y1 ratio +W ,W ,W ,W , V bc's ! NB: 3 characters each ! +I ,I ,E ,E , T bc's ! You must have 2 spaces!! diff --git a/conj_ht_rbc/cht2d.par b/conj_ht_rbc/cht2d.par new file mode 100644 index 0000000..c0d2ed9 --- /dev/null +++ b/conj_ht_rbc/cht2d.par @@ -0,0 +1,50 @@ +#-------------------- +# nek parameter file +#-------------------- + +[GENERAL] +# +#---------------------------------------- +# Job 0 +#---------------------------------------- +numSteps = 800001 +stopAt = numSteps +dt = 5e-02 +variableDT = yes +targetCFL = 0.5 +writeInterval = 1000 +writeControl = timeStep +timeStepper = bdf2 + +#----------------------------------------- +[PROBLEMTYPE] +equation = incompNS +variableProperties = yes + +#------------------------------------------ +[PRESSURE] +residualTol = 1e-04 +residualProj = no +#preconditioner = semg_amg + +#------------------------------------------ +[VELOCITY] +residualTol = 1e-06 +density = 1.0 +# +# Ra=1e7, Pr=0.7, viscosity=sqrt(Pr/Ra) +# +viscosity = 3.162278E-04 + +#------------------------------------------ +[TEMPERATURE] # temperature with Hmholtz +# + conjugateHeatTransfer = yes +# +rhoCp = 1.0 +# +# conductivity=1/sqrt(RaPr) +# +conductivity = 3.162278E-04 +residualTol = 1e-06 + diff --git a/conj_ht_rbc/cht2d.usr b/conj_ht_rbc/cht2d.usr new file mode 100644 index 0000000..e80cb95 --- /dev/null +++ b/conj_ht_rbc/cht2d.usr @@ -0,0 +1,131 @@ +c----------------------------------------------------------------------- + subroutine uservp (ix,iy,iz,ieg) + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + + if (ifield.eq.1) then + utrans = param(1) + udiff = param(2) + + else + + utrans = param(7) ! thermal properties + udiff = param(8) + + if (ieg .gt. nelgv) then ! properties in the solid + udiff = 10.0*param(8) ! conductivity solid/fluid + utrans = 1.0 + endif + + endif + + return + end +c----------------------------------------------------------------------- + subroutine userf (ix,iy,iz,ieg) + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + + ffx = 0.0 + ffy = temp + ffz = 0.0 + + return + end +c----------------------------------------------------------------------- + subroutine userq (ix,iy,iz,ieg) + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + + qvol = 0.0 +c if (ieg.gt.nelgv) qvol = 1.0 + + return + end +c----------------------------------------------------------------------- + subroutine userchk + include 'SIZE' + include 'TOTAL' + + nv = nx1*ny1*nz1*nelv + nt = nx1*ny1*nz1*nelt + + if (mod(istep,10).eq.0) then + tmax = glmax(t ,nt) + umax = glmax(vx,nt) + if (nid.eq.0) write(6,1) istep,time,umax,tmax + 1 format(i9,1p3e12.5,' tmax') + endif + + return + end +c----------------------------------------------------------------------- + subroutine userbc (ix,iy,iz,iside,ieg) +c NOTE ::: This subroutine MAY NOT be called by every process + +C Set boundary conditions + + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + include 'USERDEF.f' + + ux = 0.0 + uy = 0.0 + uz = 0.0 + + temp = -4.303*y + 2.651 !if deltaT=2.512 + + ! bottom plate + if(y.le.0) then + temp = 1.0-(y/hs)*(deltaT) + end if + + ! top plate + if(y.ge.1) then + temp= ((1.0-y)/(hs))*(deltaT) + end if + + return + end +c----------------------------------------------------------------------- + subroutine useric (ix,iy,iz,ieg) + +C Set initial conditions + + include 'SIZE' + include 'TOTAL' + include 'NEKUSE' + include 'USERDEF.f' + + ux = 0.0 + uy = 0.0 + uz = 0.0 + + temp = 1.0 - y + + if (y.le.0.0) then + temp = 1.0-(y/hs)*(deltaT) + else if (y.ge.1.0) then + temp=((1.0-y)/(hs))*(deltaT) + end if + + + return + end +c----------------------------------------------------------------------- + subroutine usrdat + return + end +c----------------------------------------------------------------------- + subroutine usrdat2 + return + end +c----------------------------------------------------------------------- + subroutine usrdat3 + return + end +c----------------------------------------------------------------------- diff --git a/conj_ht_rbc/image/cht_rbc.png b/conj_ht_rbc/image/cht_rbc.png new file mode 100644 index 0000000..56a8cfe Binary files /dev/null and b/conj_ht_rbc/image/cht_rbc.png differ diff --git a/conj_ht_rbc/image/deltaT2.png b/conj_ht_rbc/image/deltaT2.png new file mode 100644 index 0000000..11fcef8 Binary files /dev/null and b/conj_ht_rbc/image/deltaT2.png differ diff --git a/conj_ht_rbc/image/file b/conj_ht_rbc/image/file new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/conj_ht_rbc/image/file @@ -0,0 +1 @@ + diff --git a/conj_ht_rbc/image/mesh.png b/conj_ht_rbc/image/mesh.png new file mode 100644 index 0000000..7893a68 Binary files /dev/null and b/conj_ht_rbc/image/mesh.png differ diff --git a/conj_ht_rbc/ray0.rea b/conj_ht_rbc/ray0.rea new file mode 100644 index 0000000..1e9388d --- /dev/null +++ b/conj_ht_rbc/ray0.rea @@ -0,0 +1,278 @@ + ****** PARAMETERS ***** + 2.60000 NEKTON VERSION + 2 DIMENSIONAL RUN + 103 PARAMETERS FOLLOW + 1.000000 p01 DENSITY + 1.000000 p02 VISCOS + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 1.000000 p07 RHOCP + 1.000000 p08 CONDUCT + 0.0000000E+00 + 0.0000000E+00 p10 FINTIME + 75000.00 p11 NSTEPS + -2.0000000E-02 p12 DT + 0.0000000E+00 p13 IOCOMM + 0.0000000E+00 p14 IOTIME + 1000.000 p15 IOSTEP + 0.0000000E+00 p16 PSSOLVER + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p21 DIVERGENCE + 0.0000000E+00 p22 HELMHOLTZ + 0.0000000E+00 p23 NPSCAL + 1.0000000E-03 p24 TOLREL + 1.0000000E-03 p25 TOLABS + 2.010000 p26 COURANT/NTAU + 2.000000 p27 TORDER + 0.0000000E+00 p28 TORDER: mesh velocity (0: p28=p27) + 0.0000000E+00 p29 magnetic visc if > 0, = -1/Rm if < 0 + 0.0000000E+00 p30 > 0 ==> properties set in uservp() + 0.0000000E+00 p31 NPERT: #perturbation modes + 0.0000000E+00 p32 #BCs in re2 file, if > 0 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p42 0=gmres/1=pcg + 0.0000000E+00 p43 0=semg/1=schwarz + 0.0000000E+00 p44 0=E-based/1=A-based prec. + 0.0000000E+00 p45 Relaxation factor for DTFS + 0.0000000E+00 p46 if >0, dont call SETICS + 0.0000000E+00 p47 vnu: mesh matieral prop + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p52 IOHIS + 0.0000000E+00 + 0.0000000E+00 p54 1,2,3-->fixed flow rate dir=x,y,z + 0.0000000E+00 p55 vol.flow rate(p54>0) or Ubar(p54<0) + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p59 !=0 --> use std axhelm for all elem + 0.0000000E+00 p60 !=0--> init velocity to small nonzero + 0.0000000E+00 + 0.0000000E+00 p62 >0 --> force byte_swap for output + 0.0000000E+00 p63 =8 --> force 8-byte output + 0.0000000E+00 p64 =1 --> perturbation restart + 0.0000000E+00 p65 #iofile(eg,0 or 64); <0 --> sep. dirs + 6.000000 p66 write fmt:ONLY postx uses rea value + 6.000000 p67 read fmt: same modes as p66 + 0.0000000E+00 p68 iastep: freq for avg_all + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p74 verbose Helmholtz + 0. p75 epsilon for RB criticality (in .usr) + 1750. p76 Rayleigh number (in .usr) + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p84 !=0 -->sets initial timestep if p12>0 + 0.0000000E+00 p85 dt ratio if p84 !=0, for timesteps>0 + 0.0000000E+00 p86 reserved + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 p89 reserved + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 40.00000 p93 Numbr of prev pressure solns saved + 5.000000 p94 start projecting vel. after p94 step + 5.000000 p95 start projecting pr after p95 step + 0.0000000E+00 + 0.0000000E+00 + 0.0000000E+00 + 3.000000 p99 dealiasing:if <0 disable + 0.0000000E+00 p100 reserved + 0.0000000E+00 p101 No. of additional filter modes + 0.0000000E+00 + 0.0000000E+00 p103 weight of stabilizing filter (.01) + 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 + F IFCHAR + 8.00000 8.00000 -0.500000 -4.00000 XFAC,YFAC,XZERO,YZERO + *** MESH DATA *** + 10 2 10 NEL,NDIM,NELV + ELEMENT 1 [ 1a] GROUP 0 + 0.000000E+00 0.900000 0.900000 0.000000E+00 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 2 [ 1b] GROUP 0 + 0.900000 1.80000 1.80000 0.900000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 3 [ 1c] GROUP 0 + 1.80000 2.70000 2.70000 1.80000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 4 [ 1d] GROUP 0 + 2.70000 3.60000 3.60000 2.70000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 5 [ 1e] GROUP 0 + 3.60000 4.50000 4.50000 3.60000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 6 [ 1f] GROUP 0 + 4.50000 5.40000 5.40000 4.50000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 7 [ 1g] GROUP 0 + 5.40000 6.30000 6.30000 5.40000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 8 [ 1h] GROUP 0 + 6.30000 7.20000 7.20000 6.30000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 9 [ 1i] GROUP 0 + 7.20000 8.10000 8.10000 7.20000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ELEMENT 10 [ 1j] GROUP 0 + 8.10000 9.00000 9.00000 8.10000 + 0.000000E+00 0.000000E+00 1.00000 1.00000 + ***** CURVED SIDE DATA ***** + 0 Curved sides follow IEDGE,IEL,CURVE(I),I=1,5, CCURVE + ***** BOUNDARY CONDITIONS ***** + ***** FLUID BOUNDARY CONDITIONS ***** + W 1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 1 2 2.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 1 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + P 1 4 10.00000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 2 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 2 2 3.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 2 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 2 4 1.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 3 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 3 2 4.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 3 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 3 4 2.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 4 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 4 2 5.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 4 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 4 4 3.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 5 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 5 2 6.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 5 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 5 4 4.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 6 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 6 2 7.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 6 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 6 4 5.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 7 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 7 2 8.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 7 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 7 4 6.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 8 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 8 2 9.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 8 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 8 4 7.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 9 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 9 2 10.00000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 9 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 9 4 8.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 10 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + P 10 2 1.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + W 10 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 10 4 9.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + ***** THERMAL BOUNDARY CONDITIONS ***** + t 1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 1 2 2.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 1 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + P 1 4 10.00000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 2 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 2 2 3.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 2 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 2 4 1.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 3 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 3 2 4.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 3 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 3 4 2.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 4 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 4 2 5.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 4 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 4 4 3.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 5 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 5 2 6.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 5 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 5 4 4.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 6 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 6 2 7.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 6 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 6 4 5.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 7 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 7 2 8.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 7 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 7 4 6.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 8 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 8 2 9.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 8 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 8 4 7.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 9 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 9 2 10.00000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 9 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 9 4 8.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 10 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + P 10 2 1.000000 4.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + t 10 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 + E 10 4 9.000000 2.000000 0.0000000E+00 0.0000000E+00 0.0000000E+00 + 0 PRESOLVE/RESTART OPTIONS ***** + 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 ***** + 001 POINTS. Hcode, I,J,H,IEL + UV PT H 3 3 1 1 + ***** OUTPUT FIELD SPECIFICATION ***** + 6 SPECIFICATIONS FOLLOW + F 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