1 Introduction

Today, numerical simulations allow us to obtain as much detailed information as possible for any nuclear system based on the Monte Carlo (MC) method and software. The physical quantities can easily obtain both measurable and immeasurable values, especially for some extreme conditions inaccessible by experiments. Monte Carlo methods and software have been widely used in nuclear science engineering, statistical physics, biomedicine, quantum mechanics, molecular dynamics, petroleum geophysical exploration, finance, information, operational research, and polymer chemistry.

Joint Monte Carlo Transport (JMCT) has been developed by the IAPCM and CAEP-SCNS. It is designed to simulate neutrons, photons, electrons, proton, light radiation, atmosphere and molecule transport. This passes the validation and verification of a large number of benchmarks and experiments. The simulation problems cover the standard, critical fission, and adjoint sources. The data libraries use the continuous point-wise cross section of the ACE format and multigroup cross section of the ANISN format. Abundant variance reduction techniques have been incorporated into the JMCT. The JMCT software has been developed based on the parallel infrastructure JCOGIN [1] and JASMIN [2], where JCOGIN is a parallel combinatorial geometry infrastructure and JASMIN is an adaptive structured mesh infrastructure. The input uses CAD modeling, and the calculated results are outputted as a visual format or text file. Some problems in which the memory exceeds the limit of a single core or node can be simulated using the DD algorithm. At present, the number of geometric bodies, materials, tallies, depletion zones, sample numbers, period of random numbers, and parallel processors are large enough and expandable. In particular, the JMCT is coupled depletion and thermal hydraulic, where the depletion supports the TTA and CRAM methods, and thermal hydraulic supports the sub-channel method [3].

In this paper, first, the basic features and key algorithms are introduced. Then, the numerical results of the BEAVRS [4], VERA [5], AP1000 [6] and CAP1400 [7] reactor models are presented. For the BEAVRS, VERA, and AP1000 models, the numerical results of the JMCT are in good agreement with the results of MC21 [8], OpenMC [9], KENO-VI [10] and experiments. Finally, the initial physical parameters of the CAP1400 first core were predicted. The high accuracy of the JMCT was demonstrated in comparison with other well-known Monte Carlo programs.

2 JMCT and methods

2.1 JMCT system

JMCT is a program of the Joint Particle Transport System (JPTS) package. The JPTS package includes three floors, where the top floor contains the data library NuDa produced by NJOY [11]. The middle floor contains four application programs: JSNT (SN) [12], JMCT [3] (MC), JBURN [13] (deletion), and JTH (thermal-hydraulic). The lower floor comprises the two support frameworks of JASMIN [2] and JCOGIN [1]. The unified CAD preprocessor JLAMT [14] and view postprocessor TeraVAP [15] are equipped for the JPTS (see Fig. 1). Figure 2 shows the structure flow of the JMCT, where the JMCT is coupled with the JSNT for radiation shielding and the JMCT is coupled with the JBURN and JTH for the reactor core.

Fig. 1
figure 1

Configuration of the JPTS package

Fig. 2
figure 2

Logical flow structure of JMCT

2.2 JMCT modeling and geometry

The JMCT input is performed with the help of preprocess software JLAMT, which provides CAD modeling. Figure 3 shows the input interface. The input parameters include geometry, material, density, temperature, importance, tally types, source information, sample numbers, a wide variety of variance reduction techniques, energy cutoff, weight cutoff, and time cutoff, etc. The material in the geometric zone consists of multiple nuclei, including isotopes. Specifically, JMCT supports repetitive structures of the same geometry zone with different materials (MCNP [16] only supports repetitive structures of the same geometry zone with the same material). This function is available for the tightly coupled of neutron transport and depletion. The JMCT tally assorts a global tally and user-specified tally. By default, a global tally is performed for all zones according to the track length estimator. In addition, a mesh tally was added to the structured mesh.

Fig. 3
figure 3

JMCT input interface

The JMCT was developed on the basis of the JCOGIN infrastructure. JCOGIN supports the real combination geometry body and it integrates the common Monte Carlo particle transport methods, such as geometry descriptions, Boolean operations, track length calculations, random number generators, sample of arbitrary distributions, calculation of volumes and areas, domain decomposition (DD), parallel computations, and load balance technologies etc. At present, the JCOGIN infrastructure has supported the development of several Monte Carlo programs, and the JMCT is one of these programs.

JMCT uses real combinatorial geometry. The basic geometric bodies include cube, cylinder, sphere, cone, ellipsoid, and torus, etc. Some special bodies, such as reactor components, 1/n pillars, 1/n spheres, and special fuel assemblies, can be customized (see Fig. 4).

Fig. 4
figure 4

(Color online) Combinatorial geometry bodies and meshes being supported by JMCT. a Reactor core modeling; b custom special geometry bodies and meshes

2.3 JMCT output

The JMCT supports visual output and text file output. The postprocessor TeraVAP supports image output in TBs scale. Figure 5 shows some examples.

Fig. 5
figure 5

(Color online) JMCT image output by postprocessor TeraVAP

2.4 JMCT features

2.4.1 Nuclear data

The nuclear data were from the ENDF/B-VII [17] and CENDL-3.2 [18] evaluation libraries. The cross section parameters were generated by using NJOY code [11]. The energy ranges are 10–11–20 MeV for neutrons, 1 eV–100 GeV for photons, and 10 eV–1 GeV for electrons, especially for 1 eV–1 keV of photons and 10 eV–1 keV of electrons are newly increased. It makes that JMCT has a simulation capability for visible light problems. The continuous point-wise cross section accounts for all the neutron reactions in the evaluation library. Thermal neutron processes in free-gas mode or S(α,β) mode. For photons, coherent and incoherent scattering, fluorescence emission, and electron pair generation are considered to follow photoelectric absorption. Nuclear data tables exist for neutron interactions, neutron-induced photons, photon interactions, neutron dosimetry or activation, and thermal scattering, S(α,β). Photon and electron data are atomic rather than nuclear in nature. The functions of proton, atmosphere and molecule transport are newly added in JMCT3.0.

Simultaneously, JMCT provides the function of multigroup calculation, where a 47-group neutron and 20-group photon P5 cross section library is mainly used for radiation shielding, which its energy structure is same as the Bugle library [19]. Another 172-group neutrons, 40-group upper scatter neutrons, and 30-group photon P5 library is mainly used for the reactor core.

2.4.2 Source specification

JMCT provides several standard sources. Users can specify a wide variety of source conditions. Independent probability distributions may be specified for the source variables of the position, energy, direction, time, and zone or surface. Information regarding the geometrical extent of the source can also be provided. In addition, the source variables may depend on other source variables. The user can bias all of the input distributions. For the energy, it includes various analytic functions for fission and fusion energy spectra, such as Watt, Maxwellian and Gaussian spectra. Biasing can also be accomplished by using special building functions. Simultaneously, the user source subroutine also provides a standard port.

2.4.3 Estimation of errors

Monte Carlo error ε satisfies the center limit theorem as following

$$\mathop {\lim }\limits_{N \to \infty } P\left\{ {\left| {\frac{{\overline{x} - a}}{{\overline{x}}}} \right| < \varepsilon } \right\} = \phi (\lambda ),$$
(1)

where \(\overline{x} = \frac{1}{N}\sum\nolimits_{i = 1}^{N} {x_{i} }\) is the mean, N is the sample number (or histories), \(a = E(x_{i} ),\,i = 1,2, \ldots\) is a mathematical expectation of various random xi, \(\varepsilon = \frac{\lambda \sigma }{{\sqrt N \overline{x}}}\) is an error, σ is a variance and \(\phi (\lambda ) = \frac{1}{{\sqrt {2\pi } }}\int_{ - \lambda }^{\lambda } {{\text{e}}^{{ - t^{2} /2}} {\text{d}}t}\) is the degree of confidence.

\(\phi (1) = 0.6827\), \(\phi (2) = 0.9545\), \(\phi (3) = 0.9973\). In general, the error in \(\phi (1)\) is the standard deviation of the fixed-source problem. The errors in \(\phi (1)\), \(\phi (2)\), and \(\phi (3)\) are the standard deviations of the critical source problem.

The FOM (a figure of merit) is calculated for one tally bin of each tally as a function of the sample numbers. It is defined as

$${{FOM}} = 1/(\sigma^{2} t),$$
(2)

where t is the computation time (min). FOM value was used to determine the Monte Carlo calculation efficiency. The larger FOM means the lesser the computer time t and a small variance σ.

2.4.4 Variance reduction techniques

Reducing the variance σ is important for studying the Monte Carlo method. In JMCT, the main techniques include weight window, importance, mesh window, and source biasing. Biasing parameters may be produced based on adjoint calculations. At present, JMCT has a function of adjoint calculation. Other variance reduction techniques include geometry splitting and Russian roulette, energy splitting/roulette, implicit capture, forced collisions, source variable biasing, correlated sampling, exponential transformation, time cutoff, weight cutoff and energy cutoff, direction probability for point detector estimator, DXTRAN, etc.

2.4.5 Tallies

All tallies can be expressed as

$$I = \left\langle {\phi ,g} \right\rangle = \int_{D} {\phi ({\mathbf{P}})g({\mathbf{P}}){\text{d}}{\mathbf{P}}} ,$$
(3)

where \({\mathbf{P}} = ({\mathbf{r}},E,{{\varvec{\Omega}}},t)\), \(\phi ({\mathbf{P}})\) is a flux, \(g({\mathbf{P}})\) is a responding function.

\(\phi ({\mathbf{P}})\) satisfies the Boltzmann differential-integral equation as follows [20]:

$$\begin{aligned} & \frac{1}{v}\frac{{\partial \phi ({\varvec{r}},E,{\varvec{\Omega}},t)}}{\partial t} +{\varvec{\Omega}}\cdot \nabla \phi (r,E,{\varvec{\Omega}},t) + \Sigma_\text{t} \phi \\ & \quad = \iint {\Sigma_\text{s} ({\varvec{r}},E^{\prime},{\varvec{\Omega}}^{\prime} \to E,{\varvec{\Omega}})}\phi ({\varvec{r}},E^{\prime},{\varvec{\Omega}}^{\prime},t){\text{d}}E^{\prime}{\text{d}}{\varvec{\Omega}}^{\prime} \\ & \quad \quad + \, \frac{{\chi ({\varvec{r}},E)}}{{4\pi k_\text{eff} }}\iint {\nu \Sigma_\text{f} ({\varvec{r}},E)}\phi ({\varvec{r}},E^{\prime},{\varvec{\Omega}}^{\prime},t)\mathrm{d}E^{\prime}d{\varvec{\Omega}}^{\prime} + S({\varvec{r}},E,{\varvec{\Omega}},t). \\ \end{aligned}$$
(4)

In the JMCT, the standard tallies include k-effective, current, surface flux, volume flux, point flux, deposition energy, detector response, and various reactive rates. In addition, the JMCT also provides a standard port of tally subroutine for user.

2.5 Algorithms

In recent years, a series of special algorithms for different problems have been developed for JMCT. Here, only a few key algorithms are introduced.

2.5.1 Domain decomposition and parallelization [21]

Currently, most Monte Carlo particle transport programs do not have a DD function which includes the MCNP program. The Mercury Monte Carlo particle transport program was the first program with a DD function [22]. If the case happens when one zone is divided into two or more zones (see Fig. 6a), there are some differences between a DD case and the no DD case. For JMCT, another DD algorithm has been developed, in which the nature of the geometry interface is determined by random sampling (see Fig. 6b). Due to the topology structure maintaining, the same results are obtained in the DD case and no DD case. Of cause, it is necessary for designing a clear chain of random numbers (see Fig. 7).

Fig. 6
figure 6

(Color online) Result comparison of DD and without DD case. a DD schematic of mercury; b DD schematic of JMCT

Fig. 7
figure 7

(Color online) Pin flux comparison of a reactor core in DD and no DD. a Pin flux without DD; b pin flux with 2 × 1 × 1 DD; c pin flux with 2 × 2 × 1 DD

JMCT supports two-level parallelization of MPI and OpenMP. Figure 8a shows the communication between different domains in the DD case. Figure 8b shows domain replication, domain decomposition, and parallelization. Dr. Gang Li developed several algorithms to solve data exchange, dynamic load balance, and variance lower questions [21]. Figure 8c shows a comparison of the parallel efficiency in the DD and no DD case. A high parallel efficiency was still obtained even in the DD case.

Fig. 8
figure 8

Domain communication and comparison of parallel efficiency in DD and no DD. a Domain communication in 2 × 2 case; b domain replication and decomposition; c parallel efficiency for 2 × 1DD, 2 × 2DD and no DD

2.5.2 Uniform tally density (UTD)

Monte Carlo methods are widely used for criticality calculations. For this purpose, the power iteration method is one of the most important techniques for the Monte Carlo program. To obtain an accurate multiplication factor and global tallies, inactive iteration cycles must be performed until the source distribution converges. Generally, tallying should only be invoked in the subsequent active cycles after completion of the inactive cycles. If the directed simulation uses, the errors in some margin assemblies may exceed the convergence rule of 95%. Therefore, the MC21 Monte Carlo program proposes a uniform fission site (UFS) algorithm for computing the expected number of fission secondary neutrons. UFS algorithm significantly improves the convergence of margin assemblies [23]. For JMCT, an improved algorithm based on the UFS algorithm has been proposed. This algorithm is called the uniform tally density (UTD) algorithm, and the modified formula is as follows:

$$m_{{{\text{JMCT}}}}^{{{\text{std}}}} = w_{{{\text{in}}}} \frac{{\nu \Sigma_\text{f} }}{{\hat{k}_{{{\text{eff}}}} \Sigma_\text{t} }}\frac{{v_{k} }}{{t_{k} }},$$
(5)

where m is the expected number of fission neutrons.  \(\hat{k}_{{{\text{eff}}}}\) is the multiplication factor estimated in the last cycle, vk is a fraction of V occupied by zone k, in which the collision occurs, V is the volume of the problem domain that comprises all fissionable materials, sk is a fraction of the fission source contained in zone k. For same problem, a large FOM value is obtained based on UTD [24].

2.5.3 Doppler broadening on-the-fly (OTF)

The on-the-fly (OTF) Doppler method was used to calculate the temperature-dependent cross section of any nuclide at any temperature in the range of 300–3000 K based on a cross section library of 300 K. For the OTF method, first, a series of temperature-dependent cross section is produced by NJOY [11]. Second, a uniform energy grid was evaluated using temperature-dependent cross section. Third, a polynomial was used to fit the temperature-dependent cross section of each energy grid. The coefficient of the polynomial was obtained using a single-value decomposition algorithm. The basic formula of OTF cross-section is as follows:

$$\sigma_{x} (v,T) = \sum\limits_{i = 1}^{n} {\frac{{a_{i} }}{{T^{i/2} }} + } \sum\limits_{i = 1}^{n} {b_{i} T^{i/2} + C} ,T = 300 - 3000\,{\text{K}},\Delta T = 25\,{\text{K}};x = \text{t}, \, \text{a}, \, \text{f},$$
(6)

where \(\text{t},\text{a},\text{f}\) express the total, absorption, and fission. Finally, the coefficients of the polynomial in all energy grids and the energy grids themselves were written in a text file for interpolation [25].

2.5.4 Fast criticality search of boron concentration (FCSBC)

The algorithms are based on the neutron balance equation. When considering significant reactions, such as (n, a), (n, f), (n, γ), and (n, 2n), the following equation is obtained:

$$\int_{v} {\left( {\rho_\text{b} \sigma_{{{\text{boron}}}} + \Sigma_{n,\gamma } + \Sigma_\text{f} + {{\varvec{\Omega}}} \cdot \nabla - \Sigma_{n,2n} } \right)} \phi {(}{\mathbf{r}}){\text{d}}{\mathbf{r}} = \frac{1}{{k_{{{\text{eff}}}} }}\int_{v} {F\phi {(}{\mathbf{r}}){\text{d}}{\mathbf{r}}} ,$$
(7)

where \({\sigma }_{\mathrm{boron}}\) is a microscopic cross section of soluble boron, \(\Sigma\) are the related macroscopic cross sections, F presents the neutron produced by fission. Assuming that the ratio of soluble boron density to water density is the same in the entire reactor, the boron concentration can be iterated together with \({k}_{\mathrm{eff}}\) during the cycles. The new algorithm is only one cycle iteration for convergence and the traditional method usually needs four to five time iterations [26].

2.5.5 Coupled MC and SN

It is well known that consistent adjoint driven importance sampling (CADIS, or FW-CADIS) is an ideal method for solving the deep penetration problem. The importance values of Monte Carlo transport are produced by SN code. However, it needs two modeling for SN and MC calculation, respectively. It is good luck that JMCT (MC) and JSNT (SN) use same modeling, it makes the CADIS method become easy and highly efficient. The mesh weight windows, importance values, and source biasing coefficients were produced by solving the adjoint equation based on the discrete ordinate SN program JSNT [12]. Figure 9 shows the coupled flow of MC and SN. Good efficiency has been achieved for some deep-penetration shielding problems [27, 28].

Fig. 9
figure 9

Flow of the coupled MC and SN

2.5.6 Multi-physics coupled calculation

Tightly coupled neutron transport (JMCT), depletion (JBURN), and thermal hydraulics (JTH) have been developed for numerical reactor simulations. Recently, the JMCT has added the analysis of fuel properties and makes the simulation closer to the true. Figure 10 shows the iteration flow.

Fig. 10
figure 10

Iterate flow of neutronics, thermal hydraulics and fuel property. a Data exchange among neutronics, thermal-hydraulic, and fuel properties; b flow diagram of the multiphysics calculation

2.5.7 Collision mechanism based on material [29]

For most Monte Carlo multigroup neutron transport calculations, the collision mechanism is based on nuclides. A new collision mechanism has been developed based on the material. This mechanism is suitable for the case of a large amount of fission productions. The simulation can save a significant amount of memory and computational time. The basic principle is that suppose the material k being consists of m(k) types of nuclides. The combined cross sections of material k are defined as follows:

$$\sigma_{x}^{g} (k) = \sum\limits_{i = 1}^{m(k)} {n_{i} \sigma_{x,i}^{g} } ,_{{}} x = \text{t},\text{a},\text{f}$$
(8)

where ni (i = 1,2, …, m(k)) is the percentage of each nuclide, and g, t, a, f express the energy group, total, absorption, and fission, respectively. The scattering cross section is defined as follows:

$$\sigma_\text{s}^{g^{\prime} \to g} (k) = \sum\limits_{i = 1}^{m(k)} {n_{i} \sigma_{\text{s},i}^{g^{\prime} \to g} }.$$
(9)

If \(\sigma_\text{f}^{g} \ne 0\), then the number of fission neutrons of material k is defined as follows:

$$\nu_{g} (k) = (\nu \sigma )_\text{f}^{g} (k)/\sigma_\text{f}^{g} (k).$$
(10)

The fission spectrum of material k is defined as follows:

$$\chi_{g} (k) = \sum\limits_{i = 1}^{m(k)} {n_{i} (\nu \sigma )_{\text{f},i}^{g} \chi_{g,i} } /\sum\limits_{i = 1}^{m(k)} {n_{i} (\nu \sigma )_{\text{f},i}^{g} },$$
(11)

where \(\chi_{g,i}\) is the fission spectrum of i fission nuclide; g = 1, 2, …, G, where g = 1 corresponds to the highest energy group and g = G corresponds to the lowest energy group.

The scattering transfer matrix of material k is defined as follows:

$$\left[\begin{array}{cccc}{\sigma }_\text{s}^{1\to 1}& {\sigma }_\text{s}^{1\to 2}& {\sigma }_\text{s}^{1\to 3}& \begin{array}{cc}\cdots & {\sigma }_\text{s}^{1\to G}\end{array}\\ {\sigma }_\text{s}^{2\to 1}& {\sigma }_\text{s}^{2\to 2}& {\sigma }_\text{s}^{2\to 2}& \begin{array}{cc}\cdots & {\sigma }_\text{s}^{2\to G}\end{array}\\ {\sigma }_\text{s}^{3\to 1}& {\sigma }_\text{s}^{3\to 2}& {\sigma }_\text{s}^{3\to 3}& \begin{array}{cc}\cdots & {\sigma }_\text{s}^{3\to G}\end{array}\\ \begin{array}{c}\cdots \\ 0\end{array}& \begin{array}{c}\cdots \\ \cdots \end{array}& \begin{array}{c}\cdots \\ {\sigma }_\text{s}^{G\to G-{\text{nup}}}\end{array}& \begin{array}{c}\begin{array}{cc}\cdots & \cdots \end{array}\\ \begin{array}{cc}\cdots & {\sigma }_\text{s}^{G\to G}\end{array}\end{array}\end{array}\right]$$
(12)

If upper scattering is not considered, that is, nup = 0, then the scattering transfer matrix becomes a triangular matrix.

2.5.8 Treatment of multigroup angular distribution

The multigroup scattering cross section can be expressed as follows:

$$\sigma_\text{s}^{g^{\prime} \to g} (x,\mu ) = \sigma_\text{s}^{g^{\prime} \to g} (x)f(\mu ),$$
(13)

where \(\mu = {{\varvec{\Omega}}}^{\prime} \cdot {{\varvec{\Omega}}}\);\({{\varvec{\Omega}}}^{\prime}\), and \({{\varvec{\Omega}}}\) are the incident and emission directions, respectively, and \(f(\mu )\) is an angle distribution function that satisfies normalization, that is, \(f(\mu ) \ge 0,_{{}} \int_{ - 1}^{1} {f(\mu ){\text{d}}\mu } = 1\).

In general,\(f(\mu )\) is expanded in a Legendre series as following

$$f(\mu ) = \sum\limits_{l = 0}^{\infty } {\frac{2l + 1}{2}f_{l} P_{l} (\mu )} ,$$
(14)

where Legendre coefficients are

$$f_{l} = \sigma_{\text{s},l}^{g^{\prime} \to g} /\sigma_{\text{s},0}^{g^{\prime} \to g}.$$
(15)

The approximate distribution is obtained by making L-order cutoff:

$$f_{L} (\mu ) = \sum\limits_{l = 0}^{L} {\frac{2l + 1}{2}f_{l} P_{l} (\mu )}.$$
(16)

Due to this cutoff, \(f_{L} (\mu )\) may appear negative in [− 1, 1]. To avoid this case, the generalized Gaussian quadrature is used [30] and an approximate discrete distribution is obtained as follows:

$$f^{*} (\mu ) = \sum\limits_{i = 1}^{n} {p_{i} \delta (\mu - \mu_{i} )} ,$$
(17)

where \(n = \frac{L + 1}{2}\), \(p_{i} = \left[ {\sum\limits_{k = 1}^{n - 1} {Q_{k}^{2} (\mu_{i} )} /N_{k} } \right]^{ - 1}\) is the probability of the sample \(\mu_{i}\) (\(\sum\nolimits_{i = 1}^{n} {p_{i} } = 1\)). \(\left\{ {Q_{i} (\mu )} \right\}_{i = 1}^{n}\) is an orthogonal polynomial system with respect to \(f_{L} (\mu )\), \(\left\{ {\mu_{i} } \right\}_{i = 1}^{n}\) is the root of \(Q_{n} (\mu )\) and satisfies

$$\int_{ - 1}^{1} {Q_{i} (\mu )} Q_{j} (\mu )f_{L} (\mu ){\text{d}}\mu = \delta_{ij} N_{i} ,$$
(18)

where \(\delta_{ij}\) is the Kronecker delta function and \(N_{i}\) is a normalization constant [29]. \(f^{*} (\mu )\) replaces \(f_{L} (\mu )\) and μ is produced through sampling.

2.5.9 Random geometry modeling

The JMCT is used to simulate a high-temperature reactor (HTR). The core of the HTR consists of many fuel pebbles, with each fuel pebble consisting of many individual pellets [31]. According to the traditional method, these pellets are uniformly mixed into a single material. Today, precision physical research is needed to study the effect of pellet numbers and different distributions on pebble criticality. Therefore, the geometry must describe according to the real distribution of pellet. So, a sample method has been developed based on the real distribution of pellet. Figure 11 shows the uniform pellet distribution in the pebble.

Fig. 11
figure 11

Pellet distribution in pebble based on the sampling method

3 Numerical tests

3.1 BEAVRS model

The BEAVRS model is thought to be a significant challenge for computers and software. The model was released by the MIT Computational Reactor Physics Group on July 7, 2013 (www.crpg.mit.edu) [4]. It includes detailed specifications of the operating 4-loop Westinghouse PWR (3411 MW), two cycles of measured data, hot zero power (HZP) and hot full power (HFP) data, fuel loads by assembling as built, and three enriched fuels (1.6%, 2.4%, and 3.1%). Two cycles of measured data were used to validate the high-fidelity core analysis program. The simulation results of MC21 and OpenMC in the HZP condition were presented in PHYSOR2014 [32].

The basic parameters are as follows:

  1. (1)

    Fuel assembles: 193

  2. (2)

    Axial planes: 398

  3. (3)

    Pins/assemble: 289 (17 × 17, 264 fuel pins, and 25 guide tubes)

  4. (4)

    Total tally regions: 193 × 17 × 17 × 1 × 398 = 22,199,246

  5. (5)

    Total regions: 193 × 17 × 17 × 2 × 398 = 44,398,492

  6. (6)

    Convergence standard: standard deviation of 95% pin powers ≤ 1%.

The core contained eight types of rods, as shown in Fig. 12a, and nine types of assemblies, as shown in Fig. 12b. Each assembly had six segment grids in the axial direction, as shown in Fig. 12c. Because the model memory is too large, 2 × 2 × 2 DD are used, as shown in Fig. 12d. The simulation tracked 4 million neutrons per cycle, 1000 cycles in total, and discarded 400 cycles. The simulation consumed 200 processors and 5.3 h in the Tianhe-II computer. Figure 13 shows a comparison of the radial integral assembly power between the MC21 and JMCT. The maximal difference is 3.17% in the E2 assembly, and the minimum difference is 0 in the E6 assembly (MC21 appears in the same assemblies). Figure 14 shows a comparison of the detector tallies and measured data in the instrument tubes. The maximal deviation of the power assemble was − 14.77% in the B13 assembly (MC21 was − 17.05%). The minimum deviation of the power assemble was − 5.648% in the L15 assembly.

Fig. 12
figure 12

(Color online) BEAVRS local model for simulation of JMCT. a Rods; b assemblies; c grids; d 2 × 2 × 2 DD

Fig. 13
figure 13

Comparison of the pin power distribution and of peak power between MC21 and JMCT

Fig. 14
figure 14

Comparison of the detectors difference at tallies in meter pipe axial elevation between MC21 and JMCT

Therefore, comparisons of the axial detector power signals were performed for the B13 and L15 assemblies. The JMCT results were located between MC21 and the measured values (see Fig. 15). Figure 16 shows a comparison of the radial pin power in the axial plane between the MC21 and JMCT. The standard deviation of 99% of the fuel pin power was less than 1% (see Fig. 16c). Table 1 shows the keff comparison of JMCT, OpenMC, and MC21 at the different locations of the control rods and boron concentrations. Table 2 lists the reactivity worth of the control rods at 560 °F. Table 3 presents a comparison of the temperature coefficients. The integrated axial power distribution of the experiment had a slight asymmetry. We guess that this was caused by the instrument tubes. Generally, the comparison shows good agreement among the JMCT, MC21, and OpenMC models [33].

Fig. 15
figure 15

(Color online) Comparison of the axial power shape in B13 and L15 assemblies among MC21, JMCT and experiment. a B13 assembly (with maximal difference); b L15 assembly (with minimum power)

Fig. 16
figure 16

(Color online) Comparison of the radial pin power between MC21 and JMCT. a MC21 radial pin power; b JMCT radial pin power; c JMCT pin standard deviation

Table 1 keff comparison in different control rod statuses and boron concentration
Table 2 Comparison of reactivity worth of control rod
Table 3 Temperature coefficient

3.2 VERA model

3.2.1 HZP condition

As a marked achievement of the CASL plan [34], VERA core physics benchmark progression problem specifications were published on March 29, 2013 [5]. Figure 17 shows the VERA modeling by the JLAMT. Table 4 compares the keff and control rod worth between the JMCT and KENO-VI [10]. Figure 18 shows a comparison of the radial integral power distributions of the JMCT and KENO-VI. The maximum difference was 0.85%. Good agreement was achieved between the JMCT and the KENO-VI.

Fig. 17
figure 17

(Color online) VERA geometry by JMCT

Table 4 Result comparison of JMCT and KENO-VI
Fig. 18
figure 18

Comparison of assembly power between JMCT and KENO-VI. a Radial assembly power distribution; b axial relative power distribution

3.2.2 HFP condition

Figure 19 shows a comparison of the radial integral assembly power distribution between the JMCT and MC21. The maximum difference was 2.27%.

Fig. 19
figure 19

Comparison of the radial integral assembly power distribution between JMCT and MC21

3.3 AP1000 [6]

Figure 20 shows the CAD modeling using JLAMT. The start of the physical experiment of the first core in units A(b) and B(b) was simulated by JMCT, NECP-X [35] and SCAP [36]. Table 5 lists the deviations of the simulation results relative to the experimental results for unit A(b). Figure 21 shows the deviation of the control rod worth of units A(b) and B(b).

Fig. 20
figure 20

(Color online) AP1000 core modeling by JLAMT

Table 5 The deviations of simulations and experiments in unit A(b)
Fig. 21
figure 21

(Color online) Deviations of the simulations and experiments for control rod worth of unit A(b) and unit B(b). a Unit A(b); b Unit B(b)

3.4 CAP1400 [7]

3.4.1 Reactor core

For CAP1400, the initial physical parameters of the first core were calculated in a similar fashion to that of AP1000. The JMCT simulation results were selected as the reference values. Table 6 lists the deviations of NECP-X and SCAP relative to JMCT [37].

Table 6 The simulation results and deviations from CAP1400 first core start physical experiment

3.4.2 Shielding

The radiation shielding of the CAP1400 includes eight operating cases (i.e., eight models). Here, only the simulation results for a typical case are presented. First, a complex source subroutine is designed according to the distribution of position, energy, and direction. The fixed source and mesh are tally adopted, where the importance values are produced by the SN program JSNT. A total of 26,000 million neutron histories were simulated using 260,000 processors. The total CPU time was 17.7 min. The calculation was completed using a Tianhe-II computer. Figure 22 shows the neutron dose distribution and secondary photon dose distribution of the full factory.

Fig. 22
figure 22

(Color online) Model and simulation results of CAP1400 full factory. a Shield model of CAP1400; b neutron dose distribution; c secondary photon dose distribution

4 Summary

A high-fidelity general-purpose 3-D Monte Carlo particle transport program, JMCT3.0, was developed for integrated simulation of nuclear systems, where the geometry zones break through ten million, the depletion regions break through millions, and parallel processors break through one hundred thousand. Advanced computer technologies, automatic CAD modeling, and visualization make the program with a high performance. The JMCT has carried out a number of simulations in reactor full-core, radiation shielding [38], nuclear detection [39] and nuclear medicine [40]. A strong simulation capability was shown. In recent years, JMCT has completed the simulations of many large and complex nuclear devices, such as CFR600, ACP100, Hualong, Qingshan-I, VVER, CFETR, and HTR-10 etc (see Fig. 23). The necessary technology supports ware provided for the optimization of nuclear device designs.

Fig. 23
figure 23

(Color online) Part devices and simulation results by JMCT

Future efforts will be forced to enhance computing efficiency. Depletion, complicating the uncertainty quantification and propagation of errors is an essential area to consider in the future. Furthermore, new algorithms need to be developed to reduce computing fees. JMCT is still evolving toward this goal, and all algorithms are being actively developed at present.