nek_master.i 2.29 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
[Mesh]
  type = FileMesh
  file = spheres_generator_in.e
[]

[Kernels]
  [hc]
    type = HeatConduction
    variable = temp
  []
  [heat]
    type = BodyForce
    #value = 35.37
    value = 70
    variable = temp
  []
[]

[BCs]
  inactive = 'outside'
  [outside]
    type = DirichletBC
    variable = temp
    boundary = '1'
    value = 300
  []
  [match_nek]
    type = MatchedValueBC
    variable = temp
    boundary = '1'
    v = 'nek_temp'
  []
[]

[Materials]
  [hc]
    type = GenericConstantMaterial
    prop_values = '0.2' # 20 W/mK -> 0.2 W/cmK
    prop_names = 'thermal_conductivity'
  []
[]

[Executioner]
  type = Transient
  petsc_options_iname = '-pc_type -pc_hypre_type'
Derek Gaston's avatar
Derek Gaston committed
46
  num_steps = 10000000
47 48 49 50 51 52 53 54 55 56 57
  petsc_options_value = 'hypre boomeramg'
  dt = 1e-4
  nl_rel_tol = 1e-5
[]

[Variables]
  [temp]
  []
[]

[Outputs]
Derek Gaston's avatar
Derek Gaston committed
58
  inteval = 50
59
  exodus = true
Derek Gaston's avatar
Derek Gaston committed
60
  file_base = ../../../../../../../../scratch/gastdr/coe/146_pebbles/out
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
[]

[MultiApps]
  [nek]
    type = TransientMultiApp
    app_type = NekApp
    input_files = 'nek.i'
  []
[]

[Transfers]
  [nek_temp]
    type = MultiAppNearestNodeTransfer
    source_variable = temp
    direction = from_multiapp
    multi_app = nek
    variable = nek_temp
78
    fixed_meshes = true
79 80 81 82 83 84 85
  []
  [avg_flux]
    type = MultiAppNearestNodeTransfer
    source_variable = avg_flux
    direction = to_multiapp
    multi_app = nek
    variable = avg_flux
86
    fixed_meshes = true
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
  []
  [total_flux_to_nek]
    type = MultiAppPostprocessorTransfer
    to_postprocessor = total_flux
    direction = to_multiapp
    from_postprocessor = total_flux
    multi_app = nek
  []
[]

[AuxVariables]
  [nek_temp]
  []
  [avg_flux]
    family = MONOMIAL
    order = CONSTANT
    initial_condition = 0
  []
[]

[AuxKernels]
  [avg_flux]
109
    type = NormalDiffusionFluxAux
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
    coupled = 'temp'
    diffusivity = thermal_conductivity
    variable = avg_flux
    boundary = '1'
  []
[]

[Postprocessors]
  [total_flux_check]
    # Should add up to the same thing as total_flux
    type = SideIntegralVariablePostprocessor
    variable = avg_flux
    boundary = 1
  []

  [total_flux]
    type = SideFluxIntegral
    diffusivity = thermal_conductivity
    variable = 'temp'
    boundary = '1'
  []
  [average_flux]
    type = SideFluxAverage
    diffusivity = thermal_conductivity
    variable = 'temp'
    boundary = '1'
  []
[]