Merge branch 'master' into lost_particle_plotting01

This commit is contained in:
Sterling Harper 2013-07-18 11:29:49 -04:00
commit b557ad5e55
8 changed files with 38 additions and 46 deletions

View file

@ -19,7 +19,7 @@ New Features
- Python script for mesh tally plotting
- Isotopic abundances based on IUPAC 2009 when using <element>
- Particle restart file
- Particle restart files for debugging
- Code will abort after certain number of lost particles (defaults to 10)
- Region outside lattice can be filled with material (void by default)
- 3D voxel plots
@ -41,6 +41,7 @@ Bug Fixes
- a3c593_: Fixed bug in use of free gas scattering for H-1.
- 3a66e3_: Fixed bug in 2D mesh tally implementation.
- ab0793_: Corrected PETSC_NULL references to their correct types.
- 182ebd_: Use analog estimator with energyout filter.
.. _7632f3: https://github.com/mit-crpg/openmc/commit/7632f3
.. _f85ac4: https://github.com/mit-crpg/openmc/commit/f85ac4
@ -53,3 +54,4 @@ Bug Fixes
.. _a3c593: https://github.com/mit-crpg/openmc/commit/a3c593
.. _3a66e3: https://github.com/mit-crpg/openmc/commit/3a66e3
.. _ab0793: https://github.com/mit-crpg/openmc/commit/ab0793
.. _182ebd: https://github.com/mit-crpg/openmc/commit/182ebd

View file

@ -239,7 +239,8 @@ Cross Section Configuration
In order to run a simulation with OpenMC, you will need cross section data for
each nuclide in your problem. Since OpenMC uses ACE format cross sections, you
can use nuclear data that was processed with NJOY, such as that distributed with
MCNP_ or Serpent_.
MCNP_ or Serpent_. The TALYS-based evaluated nuclear data library, TENDL_, is
openly available in ACE format.
Using JEFF Cross Sections from OECD/NEA
---------------------------------------
@ -292,6 +293,7 @@ file.
.. _here: http://www.oecd-nea.org/dbdata/pubs/jeff312-cd.html
.. _MCNP: http://mcnp.lanl.gov
.. _Serpent: http://montecarlo.vtt.fi
.. _TENDL: ftp://ftp.nrg.eu/pub/www/talys/tendl2012/tendl2012.html
--------------
Running OpenMC

View file

@ -259,7 +259,6 @@ neat:
# Rules
#===============================================================================
.SUFFIXES: .F90 .o
.PHONY: all xml-fortran install uninstall clean neat distclean
%.o: %.F90

View file

@ -36,11 +36,6 @@ contains
cmfd_act_flush, current_batch, keff, &
n_batches, message, master, mpi_err, rank
logical :: leave_cmfd
! set leave cmfd to false
leave_cmfd = .false.
! stop cmfd timer
if (master) then
call time_cmfd % start()
@ -60,17 +55,6 @@ contains
end if
! check to hold weights
if (cmfd_hold_weights) then
message = 'Not Modifying Weights - Albedo estimate not good, increase batch size.'
call warning()
cmfd_hold_weights = .false.
if (cmfd_feedback) call cmfd_reweight(.false.)
leave_cmfd = .true.
end if
call MPI_BCAST(leave_cmfd, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, mpi_err)
if (leave_cmfd) return
! filter processors (lowest PETSc group)
if (rank < n_procs_cmfd) then
@ -100,19 +84,6 @@ contains
end if
! check to hold weights
if ((abs(cmfd%keff-keff)/keff > cmfd_keff_tol)) then
if (current_batch >= cmfd_inact_flush(1) .or. &
current_batch >= cmfd_act_flush - 1 ) then
message = 'Not Modifying Weights - keff %diff > 0.005, up batch size'
call warning()
if (cmfd_feedback) call cmfd_reweight(.false.)
leave_cmfd = .true.
end if
end if
call MPI_BCAST(leave_cmfd, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, mpi_err)
if (leave_cmfd) return
! calculate fission source
call calc_fission_source()

View file

@ -555,7 +555,8 @@ contains
end select
! Set new particle direction
p % coord0 % uvw = (/ u, v, w /)
norm = sqrt(u*u + v*v + w*w)
p % coord0 % uvw = [u, v, w] / norm
! Reassign particle's cell and surface
p % coord0 % cell = last_cell

View file

@ -1764,6 +1764,9 @@ contains
tally_(i) % filter(j) % bins(k))
end do
! Set to analog estimator
t % estimator = ESTIMATOR_ANALOG
case default
! Specified tally filter is invalid, raise error
message = "Unknown filter type '" // trim(tally_(i) % &
@ -1975,6 +1978,7 @@ contains
end if
case ('scatter')
t % score_bins(j) = SCORE_SCATTER
case ('nu-scatter')
t % score_bins(j) = SCORE_NU_SCATTER
@ -2565,7 +2569,9 @@ contains
! create dictionary entry for both name and alias
call xs_listing_dict % add_key(listing % name, i)
call xs_listing_dict % add_key(listing % alias, i)
if (listing % alias /= '') then
call xs_listing_dict % add_key(listing % alias, i)
end if
end do
end subroutine read_cross_sections_xml

View file

@ -186,10 +186,11 @@ contains
integer, optional :: level ! verbosity level
integer :: i_start ! starting position
integer :: i_end ! ending position
integer :: line_wrap ! length of line
integer :: length ! length of message
integer :: i_start ! starting position
integer :: i_end ! ending position
integer :: line_wrap ! length of line
integer :: length ! length of message
integer :: last_space ! index of last space (relative to start)
! Set length of line
line_wrap = 80
@ -210,11 +211,17 @@ contains
else
! Determine last space in current line
i_end = i_start + index(message(i_start+1:i_start+line_wrap), &
last_space = index(message(i_start+1:i_start+line_wrap), &
' ', BACK=.true.)
if (last_space == 0) then
i_end = min(length + 1, i_start+line_wrap) - 1
write(ou, fmt='(1X,A)') message(i_start+1:i_end)
else
i_end = i_start + last_space
write(ou, fmt='(1X,A)') message(i_start+1:i_end-1)
end if
! Write up to last space
write(ou, fmt='(1X,A)') message(i_start+1:i_end-1)
! Advance starting position
i_start = i_end
@ -1420,16 +1427,20 @@ contains
gen_per_batch) / time_active % elapsed
end if
else
speed_inactive = real(n_particles * n_inactive * gen_per_batch) / &
time_inactive % elapsed
if (n_inactive > 0) then
speed_inactive = real(n_particles * n_inactive * gen_per_batch) / &
time_inactive % elapsed
end if
speed_active = real(n_particles * n_active * gen_per_batch) / &
time_active % elapsed
end if
! display calculation rate
string = to_str(speed_inactive)
if (.not. (restart_run .and. (restart_batch >= n_inactive))) &
write(ou,101) "Calculation Rate (inactive)", trim(string)
if (.not. (restart_run .and. (restart_batch >= n_inactive)) &
.and. n_inactive > 0) then
string = to_str(speed_inactive)
write(ou,101) "Calculation Rate (inactive)", trim(string)
end if
string = to_str(speed_active)
write(ou,101) "Calculation Rate (active)", trim(string)

View file

@ -7,7 +7,7 @@
<typedef name="ace_table_xml">
<component name="name" type="word" length="15" />
<component name="alias" type="word" length="15" />
<component name="alias" type="word" length="15" default="''" />
<component name="type" type="word" length="10" default="'neutron'" />
<component name="zaid" type="integer" default="0" />
<component name="metastable" type="integer" default="0" />