mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Start implemented Zernike FE filter
This commit is contained in:
parent
a6746ab016
commit
ac776a5b51
5 changed files with 1293 additions and 2 deletions
|
|
@ -430,6 +430,7 @@ set(LIBOPENMC_FORTRAN_SRC
|
|||
src/tallies/tally_filter_sptl_legendre.F90
|
||||
src/tallies/tally_filter_surface.F90
|
||||
src/tallies/tally_filter_universe.F90
|
||||
src/tallies/tally_filter_zernike.F90
|
||||
src/tallies/tally_header.F90
|
||||
src/tallies/trigger.F90
|
||||
src/tallies/trigger_header.F90
|
||||
|
|
|
|||
|
|
@ -358,7 +358,7 @@ module constants
|
|||
integer, parameter :: NO_BIN_FOUND = -1
|
||||
|
||||
! Tally filter and map types
|
||||
integer, parameter :: N_FILTER_TYPES = 19
|
||||
integer, parameter :: N_FILTER_TYPES = 20
|
||||
integer, parameter :: &
|
||||
FILTER_UNIVERSE = 1, &
|
||||
FILTER_MATERIAL = 2, &
|
||||
|
|
@ -378,7 +378,8 @@ module constants
|
|||
FILTER_MESHSURFACE = 16, &
|
||||
FILTER_LEGENDRE = 17, &
|
||||
FILTER_SPH_HARMONICS = 18, &
|
||||
FILTER_SPTL_LEGENDRE = 19
|
||||
FILTER_SPTL_LEGENDRE = 19, &
|
||||
FILTER_ZERNIKE = 20
|
||||
|
||||
! Mesh types
|
||||
integer, parameter :: &
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ module tally_filter
|
|||
use tally_filter_sptl_legendre
|
||||
use tally_filter_surface
|
||||
use tally_filter_universe
|
||||
use tally_filter_zernike
|
||||
|
||||
implicit none
|
||||
|
||||
|
|
@ -87,6 +88,8 @@ contains
|
|||
type_ = 'surface'
|
||||
type is (UniverseFilter)
|
||||
type_ = 'universe'
|
||||
type is (ZernikeFilter)
|
||||
type_ = 'zernike'
|
||||
end select
|
||||
|
||||
! Convert Fortran string to null-terminated C string. We assume the
|
||||
|
|
@ -164,6 +167,8 @@ contains
|
|||
allocate(SurfaceFilter :: filters(index) % obj)
|
||||
case ('universe')
|
||||
allocate(UniverseFilter :: filters(index) % obj)
|
||||
case ('zernike')
|
||||
allocate(ZernikeFilter :: filters(index) % obj)
|
||||
case default
|
||||
err = E_UNASSIGNED
|
||||
call set_errmsg("Unknown filter type: " // trim(type_))
|
||||
|
|
|
|||
1281
src/tallies/tally_filter_zernike.F90
Normal file
1281
src/tallies/tally_filter_zernike.F90
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -362,6 +362,9 @@ contains
|
|||
type is (SpatialLegendreFilter)
|
||||
j = FILTER_SPTL_LEGENDRE
|
||||
this % estimator = ESTIMATOR_COLLISION
|
||||
type is (ZernikeFilter)
|
||||
j = FILTER_ZERNIKE
|
||||
this % estimator = ESTIMATOR_COLLISION
|
||||
end select
|
||||
this % find_filter(j) = i
|
||||
end do
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue