nek.i 1.49 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
# This input file controls the nekRS run (in addition to the usual nekRS input files).
#
# -- sideset 1: pellet surface
# -- sideset 2: duct inner surface
# -- sideset 3: inlet
# -- sideset 4: outlet

# Note that these sideset IDs are different from what you see in solid.i! This is
# because nekRS uses a completely separate mesh from MOOSE, and it so happens to have
# different sideset IDs.

[Mesh]
  # First, build a mirror of the nekRS mesh, but only on the boundaries that will be
  # communicating with MOOSE. Here, we want to send temperatures from nekRS and heat
  # flux into nekRS on the pin surfaces and duct inner surface.
  type = NekRSMesh
  boundary = '1 2'
[]

[Problem]
  type = NekRSProblem
[]

[Executioner]
  type = Transient

  [./TimeStepper]
    type = NekTimeStepper
  [../]
[]

[Outputs]
  exodus = true
  execute_on = 'final'
[]

[Postprocessors]
  [flux_integral] # this receives the total heat flux for normalization
    type = Receiver
  []

  # This is the heat flux in the nekRS solution, i.e. it is not an integral
  # of nrs->usrwrk, instead this is directly an integral of k*grad(T)*hat(n).
  # So this should closely match 'flux_integral'
  [pin_flux_in_nek]
    type = NekHeatFluxIntegral
    boundary = '1'
  []
  [duct_flux_in_nek]
    type = NekHeatFluxIntegral
    boundary = '2'
  []

  [max_nek_T]
    type = NekVolumeExtremeValue
    field = temperature
    value_type = max
  []
  [min_nek_T]
    type = NekVolumeExtremeValue
    field = temperature
    value_type = min
  []
[]