mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-29 06:35:48 -04:00
Added search for particle from universe 0 if particle can't be found after crossing lattice.
This commit is contained in:
parent
83a803b83f
commit
547b95dfee
1 changed files with 15 additions and 3 deletions
|
|
@ -513,9 +513,21 @@ contains
|
|||
! Find cell in next lattice element
|
||||
call find_cell(p, found)
|
||||
if (.not. found) then
|
||||
message = "Could not locate particle " // trim(to_str(p % id)) // &
|
||||
" in universe " // to_str(universes(p % coord % universe) % id)
|
||||
call fatal_error()
|
||||
! In some circumstances, a particle crossing the corner of a cell may not
|
||||
! be able to be found in the next universe. In this scenario we cut off
|
||||
! all lower-level coordinates and search from universe zero
|
||||
|
||||
! Remove lower coordinates
|
||||
call deallocate_coord(p % coord0 % next)
|
||||
p % coord => p % coord0
|
||||
|
||||
! Search for particle
|
||||
call find_cell(p, found)
|
||||
if (.not. found) then
|
||||
message = "Could not locate particle " // trim(to_str(p % id)) // &
|
||||
" after crossing a lattice boundary."
|
||||
call fatal_error()
|
||||
end if
|
||||
end if
|
||||
|
||||
end subroutine cross_lattice
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue