decoupled_master.i 2.03 KB
Newer Older
Derek Gaston's avatar
Derek Gaston committed
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
[Mesh]
  type = FileMesh
  file = spheres_generator_in.e
[]

[Variables]
  [dummy]
  []
[]

[AuxVariables]
  [heat_source]
    family = MONOMIAL
    order = CONSTANT
  []

  [temp]
    initial_condition = 573
  []

  [average_temp]
    family = MONOMIAL
    order = CONSTANT
  []
[]

[AuxKernels]
  [average_temp]
    variable = average_temp
    type = SpatialUserObjectAux
    user_object = average_temp
    execute_on = 'initial timestep_end'
  []
[]

[Problem]
  type = FEProblem
  solve = false
  kernel_coverage_check = false
  material_coverage_check = false
[]

[Executioner]
  type = Transient
  num_steps = 10000000
  dt = 5e-3
[]

[Outputs]
  [exo]
    type = Exodus
    interval = 1
    file_base = ../../../../../../../../scratch/gastdr/coe/146_pebbles/out
    execute_on = 'timestep_end'
  []
[]

[MultiApps]
  [hc]
    type = TransientMultiApp
    app_type = CardinalApp
    input_files = 'hc.i'
    execute_on = timestep_end
    sub_cycling = true
    output_sub_cycles = true
  []

  [openmc]
    type = TransientMultiApp
    app_type = OpenMCApp
    input_files = 'openmc.i'
    execute_on = timestep_begin
  []
[]

[Transfers]
  [temp]
    type = MultiAppCopyTransfer
    source_variable = temp
    direction = from_multiapp
    multi_app = hc
    variable = temp
  []
  [./heat_source_to_hc]
    type = MultiAppCopyTransfer
    source_variable = heat_source
    direction = to_multiapp
    multi_app = hc
    variable = heat_source
  []

  [./heat_source_from_openmc]
    type = MultiAppUserObjectTransfer
    direction = from_multiapp
    multi_app = openmc
    user_object = heat_source
    variable = heat_source
  []
  [./average_temp_to_openmc]
    type = NearestPointReceiverTransfer
    direction = to_multiapp
    multi_app = openmc
    from_uo = average_temp
    to_uo = average_temp
  []
[]

[UserObjects]
  [./average_temp]
    type = NearestPointAverage
    variable = temp
    execute_on = 'initial timestep_end' # Evaluate on timestep end so OpenMC can get updated values next timestep
113
    points_file = 'pebble_centers_rescaled.txt'
Derek Gaston's avatar
Derek Gaston committed
114 115
  []
[]