mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
simplified hotfix version of PR 440
This commit is contained in:
parent
fc5fd61b7f
commit
e1868225dd
3 changed files with 28 additions and 64 deletions
|
|
@ -6,8 +6,7 @@ module fixed_source
|
|||
|
||||
use constants, only: ZERO, MAX_LINE_LEN
|
||||
use global
|
||||
use output, only: write_message, header, print_mean_leak,&
|
||||
print_columns
|
||||
use output, only: write_message, header
|
||||
use particle_header, only: Particle
|
||||
use random_lcg, only: set_particle_seed
|
||||
use source, only: sample_external_source, copy_source_attributes
|
||||
|
|
@ -27,7 +26,6 @@ contains
|
|||
type(Particle) :: p
|
||||
|
||||
if (master) call header("FIXED SOURCE TRANSPORT SIMULATION", level=1)
|
||||
if (master) call print_columns()
|
||||
|
||||
! Allocate particle and dummy source site
|
||||
!$omp parallel
|
||||
|
|
@ -132,12 +130,6 @@ contains
|
|||
call synchronize_tallies()
|
||||
call time_tallies % stop()
|
||||
|
||||
leak = global_tallies(LEAKAGE) % sum / n_realizations
|
||||
leak_sem = sqrt(ONE / (n_realizations - ONE) &
|
||||
* (global_tallies(LEAKAGE) % sum_sq / n_realizations&
|
||||
- leak * leak))
|
||||
if (master) call print_mean_leak()
|
||||
|
||||
! Check_triggers
|
||||
if (master) call check_triggers()
|
||||
#ifdef MPI
|
||||
|
|
|
|||
|
|
@ -200,10 +200,6 @@ module global
|
|||
real(8) :: k_abs_tra = ZERO ! sum over batches of k_absorption * k_tracklength
|
||||
real(8) :: k_combined(2) ! combined best estimate of k-effective
|
||||
|
||||
! Temorary leakage values
|
||||
real(8) :: leak ! running mean leakage
|
||||
real(8) :: leak_sem ! 1sigma SEM of the running mean leakage
|
||||
|
||||
! Shannon entropy
|
||||
logical :: entropy_on = .false.
|
||||
real(8), allocatable :: entropy(:) ! shannon entropy at each generation
|
||||
|
|
|
|||
|
|
@ -1346,44 +1346,35 @@ contains
|
|||
|
||||
subroutine print_columns()
|
||||
|
||||
select case(run_mode)
|
||||
case(MODE_EIGENVALUE)
|
||||
write(UNIT=ou, FMT='(2X,A9,3X)', ADVANCE='NO') "Bat./Gen."
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') " k "
|
||||
if (entropy_on) write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "Entropy "
|
||||
write(UNIT=ou, FMT='(A20,3X)', ADVANCE='NO') " Average k "
|
||||
if (cmfd_run) then
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') " CMFD k "
|
||||
select case(trim(cmfd_display))
|
||||
case('entropy')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "CMFD Ent"
|
||||
case('balance')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "RMS Bal "
|
||||
case('source')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "RMS Src "
|
||||
case('dominance')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "Dom Rat "
|
||||
end select
|
||||
end if
|
||||
write(UNIT=ou, FMT=*)
|
||||
write(UNIT=ou, FMT='(2X,A9,3X)', ADVANCE='NO') "Bat./Gen."
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') " k "
|
||||
if (entropy_on) write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "Entropy "
|
||||
write(UNIT=ou, FMT='(A20,3X)', ADVANCE='NO') " Average k "
|
||||
if (cmfd_run) then
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') " CMFD k "
|
||||
select case(trim(cmfd_display))
|
||||
case('entropy')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "CMFD Ent"
|
||||
case('balance')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "RMS Bal "
|
||||
case('source')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "RMS Src "
|
||||
case('dominance')
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "Dom Rat "
|
||||
end select
|
||||
end if
|
||||
write(UNIT=ou, FMT=*)
|
||||
|
||||
write(UNIT=ou, FMT='(2X,A9,3X)', ADVANCE='NO') "========="
|
||||
write(UNIT=ou, FMT='(2X,A9,3X)', ADVANCE='NO') "========="
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
if (entropy_on) write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
write(UNIT=ou, FMT='(A20,3X)', ADVANCE='NO') "===================="
|
||||
if (cmfd_run) then
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
if (entropy_on) write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
write(UNIT=ou, FMT='(A20,3X)', ADVANCE='NO') "===================="
|
||||
if (cmfd_run) then
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
if (cmfd_display /= '') &
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
end if
|
||||
write(UNIT=ou, FMT=*)
|
||||
case(MODE_FIXEDSOURCE)
|
||||
write(ou, '(A10)', advance='no') 'Batch'
|
||||
write(ou, '(A24)', advance='no') 'Mean Leakage'
|
||||
write(ou, '(A24)') '1sigma SEM'
|
||||
case default
|
||||
continue
|
||||
end select
|
||||
if (cmfd_display /= '') &
|
||||
write(UNIT=ou, FMT='(A8,3X)', ADVANCE='NO') "========"
|
||||
end if
|
||||
write(UNIT=ou, FMT=*)
|
||||
|
||||
end subroutine print_columns
|
||||
|
||||
|
|
@ -1463,21 +1454,6 @@ contains
|
|||
|
||||
end subroutine print_batch_keff
|
||||
|
||||
!===============================================================================
|
||||
! PRINT_MEAN_LEAK displays the overall mean system leakage and 1sigma SEM at
|
||||
! each batch
|
||||
!===============================================================================
|
||||
|
||||
subroutine print_mean_leak()
|
||||
|
||||
! write out information batch and option independent output
|
||||
write(ou, '(A10)', advance='no') trim(to_str(current_batch))
|
||||
write(ou, '(ES24.16)', advance='no') leak
|
||||
if (n_realizations > 1) write(ou, '(ES24.16)', advance='no') leak_sem
|
||||
write(ou, *)
|
||||
|
||||
end subroutine print_mean_leak
|
||||
|
||||
!===============================================================================
|
||||
! PRINT_PLOT displays selected options for plotting
|
||||
!===============================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue