arfc / sneks4me

Simplified Nek Simulations for Moltres Enhancement
BSD 3-Clause "New" or "Revised" License
2 stars 0 forks source link

Create simple mesh for conjugate heat transfer #6

Closed anshchaube closed 5 years ago

anshchaube commented 5 years ago
anshchaube commented 5 years ago

Having trouble with step 3 : Nek's gen_rea(2) generates only the mesh data in its newrea.out file. The header and tail for the rea file that I need to add by hand are a bit of a mystery to me. I could take the top and the bottom of a 3d rea file from Nek5000/examples , but I am not sure how many parameters and logical flags I need to change from the original example.

Do the usr and par files overwrite everything in the rea file, so it doesn't matter what's in it? If not, is there a smarter way to do this, instead of changing several parameters by hand @dshaver-ANL ?

dshaver-ANL commented 5 years ago

You should blindly copy the head and tail to construct a complete rea file, then immediately convert it to an re2 file with reatore2. The re2 file doesn’t contain any of the extra info from the head or tail, so it doesn’t matter what you put there.

From: Ansh Chaube notifications@github.com Sent: Wednesday, June 26, 2019 4:30 PM To: arfc/sneks4me sneks4me@noreply.github.com Cc: Shaver, Dillon R. dshaver@anl.gov; Mention mention@noreply.github.com Subject: Re: [arfc/sneks4me] Create simple mesh for conjugate heat transfer (#6)

Having trouble with step 3 : Nek's gen_rea(2) generates only the mesh data in its newrea.out file. The header and tail for the rea file that I need to add by hand are a bit of a mystery to me. I could take the top and the bottom of a 3d rea file from Nek5000/examples , but I am not sure how many parameters and logical flags I need to change from the original example.

Do the usr and par files overwrite everything in the rea file, so it doesn't matter what's in it? If not, is there a smarter way to do this than changing several parameters by hand @dshaver-ANLhttps://github.com/dshaver-ANL ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/arfc/sneks4me/issues/6?email_source=notifications&email_token=AE3653A23YNKSJR6UO5EQGDP4PNURA5CNFSM4HZ46JQKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYU37CY#issuecomment-506052491, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AE3653EQZEX2V2MOJWLHO4TP4PNURANCNFSM4HZ46JQA.

anshchaube commented 5 years ago

Thanks! Kirk and I figured out that we need the head and the tail of an example rea file that is 3D and has thermal boundary conditions. We also removed the par file while running Nek in post-processing because Kirk was more comfortable with using rea files for this purpose.

The rea files generated were finally accepted by prenek as valid input.

anshchaube commented 5 years ago

Further steps:

anshchaube commented 5 years ago

I added test code to see if prenek was naming side sets correctly. I used this code in my userbc AND useric:

     do iel=1,nelv
          do ifc=1,2*ndim
              id_face = bc(5,ifc,iel,1)
              bc(5,ifc,iel,2) = id_face
              if (id_face.eq.100) then       ! Inlet
                  temp = 1.0
              elseif (id_face.eq.10) then   ! Inlet graphite
                  temp = 1.0
              elseif (id_face.eq.1) then   ! Inlet graphite
                  temp = 0.5
              endif
          enddo
      enddo

visit0000 As the attached image shows, some sidesets have the temp 0.5, meaning there are some sidesets labelled "1", even though I never created any sideset with this ID in gmsh. It seems prenek is creating random sideset IDs.

anshchaube commented 5 years ago

What worked - changing all solid/graphite boundary conditions to insulated, having only one user-specified temperature BC (at the inlet). I can now see the inlet temperature being propagated along the flow.

anshchaube commented 5 years ago

@dshaver-ANL I tried to set the volumetric heat source in the fluid region in my usr file as follows:

     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 = 10.0
      if (eg.gt.nelgv) qvol = 0.0 ! glob el id > no. of el in glob v mesh

      return
      end

Does this seem correct?

dshaver-ANL commented 5 years ago

looks right to me

anshchaube commented 5 years ago

Conjugate heat transfer works. I will post results that look physical once I have run a Nek simulation with the right non-dimensionalized thermal properties of the MSRE salt.

anshchaube commented 5 years ago

visit0001 CHT is working. Inlet BC for temp is 1, which you can see propagating upwards. There's heat generation (qvol = 1.0) in the fluid which is also apparent. Mesh is functional.

Flow is not fully developed thermally. Future issues will focus on running a case with actual MSRE thermal properties until the flow is fully developed.