Patent Number: 052672760
Section: description

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Outline of the Collision/Transfer Probability Method The neutron transport equation is a linearized form of the more general Boltzmann equation from gas dynamics. Knowing that the analytical solution of this equation can be found only for very idealized problems, many methods have been developed to find approximate numerical solutions. These methods are usually divided into two broad groups: stochastic (Monte Carlo) and deterministic. In Monte Carlo methods, the history of a finite number of particles is followed (i.e., simulated on a computer). In the case of the deterministic methods, approximate equations are derived from the transport equation, and the resulting system of algebraic equations is solved on a computer. Depending on the form of the neutron transport equation chosen as a starting point, the deterministic methods can be divided into three large groups: those based on the integro-differential form, PA0 those based on the surface-integral form, and PA0 those based on the integral form of the neutron transport equation. PA0 1. Geometrical Step. The in-plane numerical integration of (y,.phi.) is performed by covering the geometrical domain of interest (which is divided into flat flux zones) with a set of parallel integration lines at a number of discrete azimuthal angles. For each integration line, the following data are calculated: PA0 the intersections with the zone boundaries, PA0 the path length between the intersections, PA0 the total number of zones on the track, PA0 the zone, edit and materials numbers, and PA0 the intersections with the outer boundary of the geometrical domain. PA0 The accuracy of collision/transfer probabilities can be increased by reducing the size of the flat flux zones, increasing the number of integration angles, and decreasing the distance between parallel integration lines. PA0 2. Numerical Integration Step. Given the geometric data and the total cross-sections for all materials, the elements of T are calculated by numerical integration. PA0 a) PWR Test Case 1 - Homogenized pin cells with 1 mesh per pin cell, PA0 b) PWR Test Case 2 - Homogenized pin cells with 2.times.2 meshes per pin cell, PA0 c) PWR Test Case 3 - Homogenized pin cells with 3.times.3 meshes per pin cell. PA0 a) PWR Test Case 4 - Heterogeneous pin cells with 1 mesh per fuel region and 1 mesh per moderator region, PA0 b) PWR Test Case 5 - Heterogeneous pin cells with 2.times.2 meshes per fuel region and 2.times.2 meshes per moderator region, PA0 c) PWR Test Case 6 - Heterogeneous pin cells with fuel region divided into 2 zones radially and 4 zones azimuthally, and 2.times.2 meshes per moderator region, Since the collision/transfer probability (CTP) method is based on the integral form of the transport equation, several features of the integral transport methods will be pointed out. The main idea behind the integral transport methods is to integrate out the angular dependence and to solve the transport equation for the scalar neutron flux directly. This method is very accurate and relatively simple to apply, if isotropic scattering can be assumed. The integral transport equation is based on a global neutron balance in a given direction, leading to a strong coupling of all regions; on the other hand, the integro-differential transport equation is based on a local neutron balance, leading to a coupling between the neighboring regions in space only. Although the treatment of the spatial variables in 2-D or 3-D in the integral transport equation leads to discretized matrices that are full (dense), integral transport methods can treat very complicated geometries, usually treated by Monte Carlo methods only. The strong spatial coupling and large, dense matrices, which put strong demands on computer memory and CPU time in the early years of applications of these methods, are not prohibitive for today's very fast supercomputers/workstations with large real/virtual memories. In the following subsections, the general form of the multigroup discrete integral transport equations in 3D will be presented, and the definitions of various probabilities in neutron transport will be given. In order to reduce the number of collision, escape and transmission probabilities that need to be numerically calculated, the reciprocity and conservation relations will be derived. The general form of the 2D multigroup discrete integral transport equations will then be presented and the expressions for collision, escape and transmission probabilities will be derived for the case of isotropic neutron scattering and sources. The Multigroup Discrete Integral Transport Equations in 3D With assumptions of steady-state, zero external sources and a finite volume V bounded by a surface S (and with reference to FIG. 1, which shows the coordinates characterizing neutron transport in three-dimensions [3D]), the multigroup integral transport equation for the angular flux point at r in direction .OMEGA. can be expressed as ##EQU1## and k is the effective multiplication factor. Equation (1) can be interpreted as follows: the neutron flux at r in direction .OMEGA. is a result of adding up all the uncollided source neutrons in volume V, produced on the trajectory (r-R.sub.s .OMEGA.,r) in direction .OMEGA., plus all uncollided neutrons entering the volume V through the surface S at r.sub.s =r-R.sub.s .OMEGA. in direction .OMEGA.. The general isotropic fission source is given as and the scattering source as ##EQU2## Generalized Peierls' Equation For most applications in reactor physics, it is sufficient to know the mean value of the reaction rates in certain regions. It is therefore reasonable to derive the balance equations for the mean values directly from Eq.(1), rather than solving it first for the angular flux, and integrating afterwards. Thus, we will start by integrating Eq.(1) over .OMEGA. and substituting (using the notation defined in FIG. 1) ##EQU3## is the incoming angular current at r.sub.s, on surface S, with n, being the outward normal to surface S. In the case of either isotropic scattering or when linearly anisotropic scattering is approximated by transport corrected cross-sections, the scattering source depends on the scalar flux only, and Eq.(2) becomes a self-contained balance equation, the so called Peierls' equation. In the case of the general boundary conditions with incoming angular currents, an additional equation is needed for the partial currents of neutrons leaving the volume V, ##EQU4## Three-Dimensional Collision Probability Formalism It should be pointed out that so far no approximations have been introduced, and Eqs.(2) and (3) are exact. To obtain the mean reaction rates in regions of interest, the volume V and surface S are partitioned into N.sub.r subvolumes and N.sub.b subsurfaces, respectively, such that ##EQU5## Eq.(2) is then multiplied by .SIGMA..sub.t,g (r) and integrated over V.sub.i, whereas Eq.(3) is integrated over S.sub..alpha., giving ##EQU6## The first flight collision probabilities, which are the probabilities that neutrons emitted in V.sub.i or neutrons which entered the system through S.sub..alpha., will make their next collision in V.sub.i, are defined as ##EQU7## The escape probability, which is the probability that neutrons emitted in V.sub.i will escape through S.sub..alpha. without making a collision, is given by ##EQU8## Similarly, the transmission probability, which is the probability that neutrons entering through S.sub..alpha., will leave the system through S.sub..alpha. without making a collision is ##EQU9## Equations (6)-(9) are general definitions of the collision, escape and transmission probabilities. General Reciprocity and Conservation Relations General properties of the solution of the linear transport equation will now be employed to reduce the number of the collision, escape, and transmission probabilities that need to be calculated numerically. Although the general reciprocity relation and two well-known relations among the probabilities will be derived here, it will be shown later that the reciprocity relations for uncollided (first-flight) probabilities are a consequence of the symmetry of the kernel ##EQU10## General Reciprocity Relation The steady-state neutron transport equation is given by EQU .OMEGA...gradient..PHI.(r,.OMEGA.)+.SIGMA..sub.t (r).PHI.(r,.OMEGA.)=Q(r,.OMEGA.). (10) Two cases are considered: in Case 1, the angular flux distribution .PHI..sub.1 (r,.OMEGA.) is due to a volumetric source Q.sub.1 (r, .OMEGA.) and an incoming flux .PHI..sub.1.sup.m (r, .OMEGA.), and in Case 2, the angular flux distribution .PHI..sub.2 (r, .OMEGA.) is due to a volumetric source Q.sub.2 (r, .OMEGA.) and an incoming flux .PHI..sub.2.sup.m (r, .OMEGA.), i.e. ##EQU11## where Eq.(12) is written for -.OMEGA.. Equation (11) is now multiplied by .PHI..sub.2 (r,-.OMEGA.), Eq.(12) by .PHI..sub.1 (r,.OMEGA.), and they are subtracted. The result is then integrated over all angles and over the volume V. Combining the two gradient terms into one and using the divergence theorem, one can obtain ##EQU12## The angular integration on the left-hand side of Eq.(13) can be divided into two parts, for n..OMEGA.&gt;0 and n..OMEGA.&lt;0, giving the general form of the reciprocity relation: ##EQU13## Reciprocity Relation for Collision Probabilities Suppose that in Case 1 there is a uniform and isotropic source in V.sub.1, emitting 1 neutron/second, and there is no incoming neutron flux. Then, ##EQU14## In Case 2 there is a uniform and isotropic source in V.sub.2, emitting 1 neutron/second, and no incoming neutron flux, i.e. ##EQU15## With sources defined this way, Eq.(14) becomes ##EQU16## The collision probability that neutrons emitted uniformly and isotropically in V.sub.1 will make their next collision in V.sub.2 can be calculated by substituting the value for Q.sub.1 (r,.OMEGA.) into Eq.(6): ##EQU17## where we assumed that the total cross-section is constant over V.sub.2. A similar expression can be obtained for the collision probability that neutrons emitted uniformly and isotropically in V.sub.2 will make their next collision in V.sub.1, ##EQU18## where we assumed that the total cross-section is constant over V.sub.1. By combining Eqs.(15)-(17), the well-known reciprocity relation for collision probabilities is obtained EQU V.sub.2 .SIGMA..sub.t,2 P(V.sub.1 .rarw.V.sub.2)=V.sub.1 .SIGMA..sub.t,1 P(V.sub.2 .rarw.V.sub.1). (18) Reciprocity Relation for Collision and Escape Probabilities Suppose that Case 1 remains the same; for Case 2 it is assumed that all volumetric sources are zero, and that there is a uniform and isotropic incoming flux on surface S.sub.2 of magnitude 1 neutron/second, i.e. ##EQU19## Substituting the neutron sources for Case 1 and Case 2 into Eq.(14), one obtains ##EQU20## The collision probability that neutrons entering through S.sub.2 uniformly and isotropically will make their next collision in V.sub.1 can be calculated by substituting the incoming flux from Case 2 into Eq.(7): ##EQU21## where we assumed that the total cross-section is constant over V.sub.1. The escape probability that neutrons emitted uniformly and isotropically in V.sub.1 will escape through S.sub.2 can be calculated by substituting the volumetric source from Case 1 into Eq.(8): ##EQU22## By combining Eqs.(19)-(21), the well-known surface reciprocity relation is obtained ##EQU23## Reciprocity Relation for Transmission Probabilities For both cases we assume that all volumetric sources are zero, and that there is a uniform and isotropic incoming flux on surface S.sub.1 in Case 1 and on surface S.sub.2 in Case 2, both of strength 1 neutron/second, i.e. ##EQU24## where .alpha.=1,2. With the sources defined this way, Eq.(14) becomes ##EQU25## Using Eq.(9) we obtain EQU S.sub.1 P(S.sub.2 .rarw.S.sub.1)=S.sub.2 P(S.sub.1 .rarw.S.sub.2) (24) General Conservation Relation The uncollided angular flux, .PHI..sub.u (r,.OMEGA.), satisfies the following equation, obtained from Eq.(10) EQU .OMEGA...gradient..PHI..sub.u (r,.OMEGA.)+.SIGMA..sub.t (r).PHI..sub.u (r,.OMEGA.)=q(r,.OMEGA.), (25) where q(r,.OMEGA.) is the volumetric angular source which does not contain the scattering source any more. Integrating Eq.(25) over .OMEGA. and V, and applying the divergence theorem one obtains ##EQU26## is the uncollided outgoing scalar current, and ##EQU27## is the surface source (or the incoming scalar current). Using the definitions of the spatially averaged quantities from Eqs.(4) and (5), Eq.(26) becomes ##EQU28## which is still formally exact. Knowing that Eq.(27) has to be satisfied for arbitrary sources, we can define the following two cases: Case 1, with a uniform and isotropic source in volume V.sub.i' emitting 1 neutron/second, and with zero incoming current, i.e. ##EQU29## and Case 2, with a uniform and isotropic incoming flux on surface S.sub..alpha.' of magnitude 1 neutron/second, and zero volumetric sources, i.e. ##EQU30## The first conservations relation can be obtained by substituting the volumetric and surface source from Case 1 into Eq.(27): ##EQU31## For Case 1, Eqs.(4) nd (5) will have the following form ##EQU32## which when substituted into Eq.(28) gives ##EQU33## This conservation theorem relates the volume-to-volume collision probabilities with the escape probabilities. To obtain the second conservation relation we use the same procedure, but for the sources defined in Case 2, i.e. ##EQU34## which when substituted into Eq.(28) gives ##EQU35## This conservation theorem relates the surface-to-volume collision probabilities with the transmission probabilities. Two-Dimensional Collision/Transfer Probability Formalism To obtain the integral equations for two-dimensional geometries, we assume that the volume V is an infinitely long cylinder (FIG. 2), homogeneous in the z-direction, such that the sources, partial currents and scalar flux are independent of z. Therefore, these quantities can be replaced by their values in the x-y plane, i.e. ##EQU36## where .OMEGA..sub.xy is a unit vector in the direction of the projection of .OMEGA. on the x-y plane, and R=Rsin.THETA.. Similarly, the projection of the optical length on the x-y plane is EQU t.sub.g (r-R.OMEGA..sub.xy,.OMEGA.)=t.sub.g (r-R.OMEGA.,.OMEGA.)sin.theta., where .theta. is the polar angle. With these changes Eq.(1) become ##EQU37## The scaler flux is obtained from Eq.(31) by integrating over .OMEGA.. Using notation from FIG. 2, which illustrates the coordinates characterizing neutron transport in two-dimensional geometry, one obtains ##EQU38## To obtain the discretized integral transport equations for two-dimensional geometry, the same formalism can be applied as in the three-dimensional case. The are A and boundary L are partitioned into N.sub.r subareas and N.sub.b sub-boundaries, respectively, such that ##EQU39## Eq.(32) is then multiplied by .SIGMA..sub.t,g (r) and integrated over A.sub.i, whereas Eq.(33)k is integrated over L.sub..alpha., giving ##EQU40## where the spatially averaged quantities are defined as follows ##EQU41## The first flight collision probabilities that neutrons emitted in A.sub.i' or neutrons that entered the system through L.sub..alpha.' will make their next collision in A.sub.i are defined as ##EQU42## Similarly, the escape probability that neutrons emitted in A.sub.i' will escape through L.sub..alpha. without making a collision is given by ##EQU43## and the transmission probability that neutrons entering through L.sub..alpha.' will leave the system through L.sub..alpha. without making a collision is ##EQU44## Equations (36)-(39) provide general definitions of the collision, escape and transmission probabilities for two-dimensional geometry. In order to solve the system of eigenvalue equations (Eqs.[34]-[35]), one more equation is needed to relate the incoming and outgoing currents. This equation can be obtained from the boundary conditions, which can be expressed in general form as follows ##EQU45## Isotropic Scattering and Isotropic Incoming Flux In the case of isotropic scattering and isotropic incoming flux, we have ##EQU46## Assuming that the total cross-section is constant over the particular region, and using the flat-source approximation, we can write ##EQU47## With these assumptions, Eqs.(36)-(39) become ##EQU48## where ##EQU49## is the Bickley-Nayler function. In this case P.sub.g (A.sub.i .rarw.A.sub.i') is the first flight volume-to-volume collision probability that neutrons emitted uniformly and isotropically in A.sub.i' will have their next collision in A.sub.i' whereas P.sub.g (A.sub.i .rarw.L.sub.a') is the first flight surface-to-volume collision probability that neutrons entering through L.sub..alpha.' uniformly and isotropically will have their next collision in A.sub.i. Similarly, P.sub.g (L.sub.a .rarw.A.sub.i') is the first flight escape probability that neutrons emitted uniformly and isotropically in A.sub.i' will escape through L.sub..alpha. without having a collision, and P.sub.g (L.sub..alpha. .rarw.L.sub..alpha.') is the transmission probability that neutrons entering through L.sub..alpha.' uniformly and isotropically will escape through L.sub..alpha. without having a collision. Reciprocity and Conservation Relations in 2D The reciprocity relations in 2D can be derived from the general reciprocity relations in 3D, or more easily from Eqs.(41)-(44), by reversing the direction of .OMEGA. and using the optical length symmetry, to get: ##EQU50## For two dimensional geometry the conservation relations, Eqs.(29) and (30), take the form ##EQU51## Numerical Calculation of Collision/Transfer Probability Matrices The most time-consuming part of the entire collision/transfer probability formalism is the evaluation of the coefficients of the collision, escape and transmission probability matrices. The calculation time increases rapidly with the increase in the number of energy and space meshes. The usefulness of the collision probability method is closely related to the efficiency with which the collision, escape and transmission probability matrices are numerically calculated. The form in which the probabilities are presented in Eqs.(41)-(44) is not suited for numerical integration. The number of integrations that must be carried out is five for Eq.(41), four for Eqs.(42) and (43) and three for Eq.(44). The best way to integrated those expressions is to follow the neutron trajectories, in which case some integrals can be carried out analytically. Using notation from FIG. 2 and FIG. 3 and the definitions from Eqs.(32) and (33), we can change variables in Eqs.(41)-(44) to find ##EQU52## The integrals in R is eqs.(50) and (52), and the integrals in x(dA=dy.dx) in Eqs.(50) and (51), can be carried out analytically, leaving three integrals for numerical evaluation in each expression. Evaluation of Collision Probabilities Noting that EQU .pi..sub.g (r,r')=.pi..sub.g (r,r-R.sub.1 .OMEGA..sub.xy)+(R-R.sub.1).SIGMA..sub.t,g,i' we can carry out integration in R as follows ##EQU53## so that Eq.(50) becomes ##EQU54## In order to truly follow the neutron trajectory, the order of integration in Eq.(49) must be changed, and the integration in A carried out in the rotated coordinate system, where the x' axis is parallel to the direction of neutron motion (FIG. 4). With these changes, Eq.(49) can be written in the form ##EQU55## where notation from FIG. 4 has been used, and where ##EQU56## For the fixed azimuthal angle .phi., the area integral is carried out first, but it must be set equal to zero if the neutron directions do not pass through both A.sub.i and A.sub.i'. To address this, a new function .zeta.(Z) has been defined as follows ##EQU57## After the integration in x' is performed, the final expression for the volume-to-volume collision probability, ready for numerical evaluation, is obtained ##EQU58## where .pi..sub.g,i =.pi..sub.g,i (y') is the optical length across A.sub.i in the direction of neutron motion at a distance y' above the x'-axis, and .pi..sub.g,ii' =.pi..sub.g,ii' (y') is the optical length between A.sub.i and A.sub.i' in the direction of neutron motion at a distance y' above the x'-axis. PA1 Monte Carlo codes are continuous energy codes. In GTRAN2 a multigroup treatment is applied. PA1 MC codes can treat any degree of anisotropy. GTRAN2 assumes isotropic scattering and neutron sources. Higher degrees of anisotropy than linear are impossible to treat with integral transport methods. PA1 MC codes are 3D codes. GTRAN2 is a 2D code. PA1 There is no "meshing" in MC; the domain geometry is represented exactly. Due to the flat flux approximation, "meshing" for the collision/transfer probability calculations must be much finer that the usual "zoning" used for MC calculations. PA1 determine the zone in which a starting point is located, PA1 find the distance along a given direction to the exit point from this zone, PA1 determine the next zone the ray will enter, PA1 find the distance to the exit point of this zone, etc. PA1 1. Isotropic scattering, DP.sub.o incoming flux (i.e., white reflective boundary conditions), combinatorial geometry ray tracing. PA1 2. Isotropic scattering, specular reflective boundary conditions (BS). This option uses the modified versions of the CPXY and FLUXY modules from the CPM-2 code and is applicable to square lattice geometries with homogenized pin cells. PA1 1. Turn on the TPGEOM module flag. Turn off the TPXY module flag. PA1 2. Turn on the plotting flag. PA1 3. Request all three plot options: ICNT=-1,IRG=0, plot zone geometry, ICNT=-1,IRG=-1, plot edit region geometry, ICNT=0 (must be zero for the last plot), IRG=1, plot material geometry, PA1 4. For each plot, request only one angle. PA1 5. If no error is detected, refine the line step, and increase the number of angles, NANGLE. PA1 6. If no error is detected, turn off the plotting flat (IPICT=0), and turn on the TPXY module flag (ITPXY=1). Equation (56) is valid for i.noteq.i'. For i=i' one can get a slightly different expression ##EQU59## A similar procedure can be used to evaluate the surface-to-volume collision probability, defined in Eq.(46). There is no need for the integration with respect to R, so that the order of integration can be changed immediately, and integration with respect to x' can be carried out, which gives (FIG. 5) ##EQU60## Evaluation of Escape Probabilities After performing the integration with respect to R, using the same procedure as was explained above, the following expression (see notation from FIG. 5) is obtained from Eq.(47) ##EQU61## After changing the order of integration and rotating the coordinate system, one can get ##EQU62## Evaluation of Transmission Probabilities To evaluate the transmission probability from Eq.(48), one needs only to change the order of integration and rotate the coordinate system. Using notation from FIG. 5 the following expression can be obtained ##EQU63## Normalization of Generalized Collision/Transfer Probability Matrix The system of equations, Eqs.(34) and (35), can be presented in matrix form as follows EQU Tq=r (62) where T is a three-dimensional array, q and r are two-dimensional arrays, and the energy group is the last dimension of each array. In the case of isotropic scattering and DP.sub.o incoming flux, T consists of 4 submatrices: collision probability matrix, surface-to-volume collision probability matrix, escape probability matrix, and transmission probability matrix, with total dimensions (N.sub.r +N.sub.b)x(N.sub.r +N.sub.b)xN.sub.g. The elements of T are derived from Eqs.(56), (58), (60) and (61), where the coefficients in front of integrals are replaced by 1. By replacing integrals with summations for the numerical calculation, the elements of T can be presented as: ##EQU64## With these definitions of its elements, the T matrix is symmetric in first two dimensions, i.e. EQU T.sub.g =T.sub.g.sup.T, and only the lower triangular part for each energy group g needs to be calculated. The elements of q and r are given as ##EQU65## The collision/transfer probabilities should strictly obey the conservation relations, which can be written in matrix form, as EQU T.sup.t i=p (64) where i is the unit vector, T.sup.T is a transpose of T, and elements of p are given as ##EQU66## Due to approximations in the numerical integration procedure, these conservation relations may not be maintained and therefore they are enforced by the following normalization scheme ##EQU67## It must be mentioned that in our approach the correction R.sub.g,i is very small even for a relatively crude mesh (for tracking), and becomes negligible with mesh refinement. This is not the case in CPXY, where, due to the truncation of the path integral, the conservation relations are not a priori satisfied, and a relatively large correction must be imposed, regardless of the refinement in tracking mesh. Calculations of Bickley-Nayler Functions The 3rd order Bickley-Nayler functions are needed to calculate collision/transfer probability matrices. The Bickley-Nayler functions are calculated by linear interpolation: EQU Ki.sub.3 (x)=a.sub.i x+b.sub.i, where ##EQU68## The fast subroutine BIC3 has been used to calculate Ki.sub.3 (x). Ray Tracing Algorithm for Elements of T In our approach, the calculation of the elements of T is performed in two independent steps: This approach has several advantages. By decoupling the geometric part from the calculation of the collision/transfer probability matrices, the geometric data, once precalculated, can be used for each energy group and burnup step. Also, the same module for the numerical integration of the T matrices can be used for any 2D geometry (heterogeneous as well as homogeneous pin cells), providing that the abovementioned geometric data exist. This feature of our approach has been exploited to remove the most serious limitation in the exact CP formalism, i.e. geometric limitation by utilizing combinatorial geometry for ray tracing. Multiprocessor Calculation of the Generalized T Matrix Calculation of the T matrix can proceed in parallel on advanced computers with more than one shared memory processor. Parallelism is course-grained (or subroutine-level parallelism), where each processor calculates all elements for T for a particular energy group such as illustrated in FIG. 6. This is permitted by the fact that the calculations of the T elements are independent for different energy groups. As a three-dimensional array, T is also kept in a large dynamic COMMON (in shared memory), so that each processor can access all the elements as noted above. In order to avoid possibility of address conflicts, parts of T (for g=constant), are defined as private variables for each parallel task, so that each processor can write only into a corresponding part of T. Using the same geometric data, each parallel task is performing exactly the same calculations, and the load balancing for each processor is perfect. Due to the similarity of the transport kernels, contributions to all elements of T for a particular energy group (i.e. on each processor) from one array of intercepts are calculated at the same time. Iterative Solution of the Linear Equations The system of multigroup eigenvalue equations, Eq.(34), (35) and (40), can be presented in the following form, which is suited for iterative solution ##EQU69## where s is the scattering source, S.sub.g is also a scattering source, but does not include the in group scattering, f is the fission source, X is the fission spectrum operator, and where T.sub.c, T.sub.s, T.sub.c and T.sub.t are slightly modified submatrices of T, i.e., volume-to-volume collision, surface-to-volume collision, escape and transmission probability matrices, respectively. The elements a matrix A are given as: EQU a.sub.g,ij =.delta..sub.ij -A.sub.j .SIGMA..sub.s,g.fwdarw.g',j T.sub.c,g,j.rarw.i. (68) For reflective boundary conditions, the albedo matrix M is a unit matrix. Here we have a set of coupled systems of linear equations, one system for each energy group. These equations are coupled through the fission and scattering sources, as well as currents, and solved iteratively by means of the power method. The fission source is calculated iteratively through so-called "fission source" or "outer" iterations. Prior to each outer iteration, the total fission source is normalized to 1: ##EQU70## and the fission source for the next outer iteration is calculated from ##EQU71## For the fixed fission source in one outer iteration, Eq.(65) is solved in each energy group as the one-group fixed-source problem: EQU A.phi.=b (71) through the inner iteration procedure. The inner iteration scheme is accelerated through the successive overrelaxation (SOR) method: ##EQU72## where m is the inner iteration number, and the energy group index is omitted. The relaxation parameter is given as 1.2.ltoreq..omega..ltoreq.1.4. The following convergence criterion is applied: ##EQU73## In order to account for up-scattering in the thermal energy region, an additional loop is added through the thermal groups (the scattering source iterations). It is not necessary to iterate in the thermal region to full convergence so long as there is no convergence in the groups above the thermal iteration range. Usually the scattering source iterations are interrupted after two or three sweeps. Overrelaxation of the group fluxes from one scattering iteration to the next is done as follows: ##EQU74## where the overrelaxation parameter for scattering iterations is in the range 1.4.ltoreq..omega..sub.t .ltoreq.1.6. After Eq.(71) is solved for the flux distribution in one group, the current equations are solved in the same group, using the new flux distribution to update the scattering source. By combining Eqs.(66) and (67), one can get: EQU Hj=c, (74) where ##EQU75## The current equation, Eq.(74) is solved using direct solution methods provided in LINPACK/BLAS routines, or other routines optimized for a particular computing system. The outer iterations proceed until each group needs just one inner iteration to converge, and the final value of k.infin. is calculated. Limitations of the Collision/Transfer Probability Method The advantages of GTRAN2 over MC calculations have been mentioned several times. Here we want to point out the limitations of GTRAN2 when compared with Monte Carlo codes: Regardless of the above-mentioned limitations with respect to MC codes, the advantages of GTRAN2 will prevail when many repetitive fast calculations are needed, as in the case of burnup calculations. A Guide for User Applications The GTRAN2 code has been developed on the basis of the mathematical models described above. In its stand-alone form GTRAN2 performs combinatorial geometry ray tracing and numerical integration in order to calculate collision/transfer probability matrices and solves the resulting eigenvalue equations for the eigenvalue, volumetric flux and incoming/outgoing current distributions. GTRAN2 consists of a main routine which calls three modules: TPGEOM, TPXY/CTP and TPXY/FLUJ (FIG. 7). TPGEOM is a modified version of PICTURE, which processes the combinatorial geometry input used by the Monte Carlo code VIM and performs ray tracing. TPXY's module CTP uses the geometry data from TPGEOM and calculates collision, escape and transmission probability matrices. TPXY's module FLUJ solves the eigenvalue equations. The GTRAN2 input consists of a description of the domain to be treated and macroscopic multigroup cross-sections for all materials. GTRAN2 is written in FORTRAN 77 and its scalar version is portable to various computing systems. The parallel/vector version of GTRAN2 is optimized for IBM 3090/600J, and can run on up to 6 processors. TPGEOM: A Combinatorial Geometry Ray Tracing Module Most MC codes use similar combinatorial geometry packages to describe physical shapes and materials used in a problem, and to track particles in a random walk. The combinatorial geometry package allows the description of the domain by the combination of certain basic geometric bodies such as rectangular parallelepipeds, right circular cylinders, hexagonal prisms, etc. The basic bodies are combined using three logical operations: OR, AND and NOT. The usual procedure used in a MC code to track a particle in its random walk is to This process is continued until the next collision point is encountered or the particle reaches the outer system boundary. If the particle undergoes a collision, the type of collision (absorption or scattering) is determined. If the particle is absorbed, its history is finished (analog MC). In the case of scattering, the new directional vector and particle energy are determined and the tracking procedure is repeated. The geometric ray tracking in MC is not decoupled from the rest of the calculation (i.e. "particle physics"), and the above-mentioned procedure must be repeated for all particles, all energies and all time steps. In TPGEOM, this standard procedure of particle tracking was modified in order to obtain intersections of the group of bodies with the x-y plane (i.e., with the plane z=0). In order to evaluate the probabilities, the in-plane numerical integration over (y,.phi.) is performed by covering the system with a set of parallel integration lines (pseudo-particle tracks) at a number of discrete azimuthal angles. A set of outer "frames" is generated around a fixed inner frame with orientation and dimensions appropriate to the inner frame and mesh requirements. The inner frame contains all regions of interest (part of an assembly, an assembly, or several assemblies). The outer frame, with the set of parallel tracks attached to it, rotates around the inner frame as shown in FIG. 8. For each pseudo-particle track, the intersections with the zone boundaries, the path length between the intersections, the total number of zones on the track, the zone and medium numbers, and the intersections with the outer surface, are calculated. The geometric data are stored in two ways. On computing systems with a limited amount of memory, the geometric data are stored in a file, and read in from the CTP module as needed during the simulation. On the IBM 3090, all geometric data are kept in dynamic COMMONs, thus eliminating a considerable number of slow I/O operations, and allowing unlimited access to these shared memory data from each processor during multiprocessor calculations. As was mentioned earlier, the advantage over the MC ray tracing lays in the decoupling of the geometric part from the rest of calculations: the geometrical pre-processing is done only once, and the calculated data are repeatedly used for all energies and all time steps. Also, the calculations of geometric data for each parallel integration line and each integration angle are independent and can proceed in parallel. In order to verify TPGEOM's accuracy and/or the accuracy of the combinatorial geometry (CG) input, the tracks are plotted and the intersections with the mesh boundaries are indicated, together with the zone, edit region or material numbers. By specifying coordinates of the picture frame, the entire assembly or any part of it can be plotted in detail. Several examples of this "printer" plotting are given in FIGS. 23-25. TPGEOM reads from the input on logical unit 5, uses logical unit 16 as a scratch file for temporary storage of intermediate results, writes formatted output to logical unit 6, and binary ray tracing geometry data into logical unit 45 for TPXY. The calling sequence of routines in TPGEOM is the following: ##STR1## TPXY: A Collision/Transfer Probability Module and Solver Module Given macroscopic cross-sections and ray tracing data, TPXY calculates collision, escape and transmission probabilities (the CTP module) and solves the resulting eigenvalue equations for the eigenvalue, volumetric flux and incoming/outgoing current distributions (the FLUJ module). Several options are currently available: The discussion of the numerical calculations of collision/transfer probability matrices in the CTP module and its optimization for advanced supercomputers is given in Section 2.3. The CTP module reads from logical unit 20, 27, 45, 80 and/or 91. It writes a formatted output into logical unit 6. The calling sequence of routines in CTP is the following: ##STR2## The conventional inner-outer iteration scheme has been used in the FLUJ module to solve the set of coupled systems of linear algebraic equations. For the outer or fission source iterations, the power method has been used. Prior to each outer iteration, the total fission source is normalized to one. For the fixed fission source and incoming currents in one outer iteration, the equation for the volumetric flux in each energy group is solved as the one-group fixed-source problem, through the inner iteration procedure. The inner iteration scheme is accelerated through the successive overrelaxation (SOR) method. On the IBM 3090, we have efficiently vectorized this scheme, so that between 80% and 90% of the entire FLUJ module is running in vector mode. For the current equations, the vectorizd ESSL routines, DGEMV, DGEF, and DGES are used on the IBM 3090. On other computing systems the following LINPACK routines are used: DGEMV, DGEFA and DGESL, which are provided with the code package. The calling sequence of routines in FLUJ is the following: ##STR3## FLUJ reads from logical unit 20, 27, 80 and/or 91. It writes formatted output to logical unit 6. Preparation of Combinatorial Geometry Input The description of the domain to be treated and integration parameters to be used in numerical calculations of collision/transfer probabilities, are given in the input file on logical unit 6. A Monte Carlo code VIM and GTRAN2 use similar geometrical modules for particle or ray tracing. Therefore, the combinatorial geometry input cards in TPGEOM are identical to the following VIM cards: ##STR4## The other input cards are specific to the TPGEOM input, for example, the input cards related to the outer boundary meshing or the fixed frame coordinates. As was mentioned earlier, the combinatorial geometry package allows the description of the geometrical domain of interest by the combination of certain basic geometric bodies. The description of available body types is given in Table 1, and the body types are illustrated in FIG. 9. Each zone (a flat flux zone, in the case of GTRAN2) is defined by the set of basic bodies which are combined using three logical operations: OR, AND and NOT. The AND and NOT operators do not appear explicitly in the input. A "+" means AND and a "-" means NOT. The use of OR, AND and NOT operations in defining combinatorial geometry zones is illustrated in FIGS. 10 through 12. Tables 1a, 1b and 1c define the geometric zones and inputs for the combinatorial geometries respectively shown in FIGS. 10, 11 and 12. Having in mind that the 3D combinatorial geometry package is used to perform 2D ray tracing for GTRAN2, the user must specify the z coordinates of the bodies as follows: Zmin=0 Zmax=1. If the height of the body in the z-direction is required, the user must specify HZ=1. Consequently, the zone volumes must be calculated assuming a unit height. The optimal choice of the flat flux zones, flat current zones on the outer boundary, number of integration angles and the spacing between parallel integration lines used for ray tracing cannot be generalized. For each problem, the user must do some experimenting to find the optimal parameters. In addition, the external domain boundary must be subdivided into smaller meshes. The integration over .phi. is from 0.degree. to 180.degree., in equal angles of 180.degree./NANGLE. The spacing between parallel integration lines should be chosen so that the smallest zone is covered with at least 2-3 lines. In addition to the description of the geometric domain to be treated, the user must define a rectangular frame which will contain the entire geometrical domain shown in FIG. 8. The frame must not lie on the external domain boundary (for example, the outer assembly boundary). There must be a gap of at least 0.2 cm between the frame and the outer domain boundary. Preparation of the combinatorial geometry input can be a long and error prone process. In the next subsection we will recommend some strategies which can help the user in preparing and testing the input. TABLE 1 __________________________________________________________________________ Combinatorial Geometry Body Cards Body Body Type Card Name Columns Order Data Description __________________________________________________________________________ BOX BOX 3-5 1ST 6-10 BODY NUMBER 11-20 VX COORDINATES OF A CORNER 21-30 VY 31-40 VZ 41-50 H1X EDGE 1 VECTOR 51-60 H1Y 61-70 H1Z 11-20 2ND H2X EDGE 2 VECTOR 21-30 H2Y 31-40 H2Z 41-50 H3X EDGE 3 VECTOR 51-60 H3Y 61-70 H3Z RPP RIGHT PARALLEL- 3-5 1ST EPIPED 6-10 BODY NUMBER 11-20 XMIN X-DIMENSIONS 21-30 XMAX 31-40 YMIN Y-DIMENSIONS 41-50 YMAX 51-60 ZMIN Z-DIMENSIONS 61-70 ZMAX SPH SPHERE 3-5 1ST 6-10 BODY NUMBER 11-20 VX COORDINATES OF CENTER 21-30 VY 31-40 VZ 41-50 R RADIUS RCC RIGHT CIRCULAR 3-5 1ST 6-10 BODY NUMBER 11-20 VY COORDINATES OF BASE CENTER 21-30 VY 31-40 VZ 41-50 HX LENGTH OF AXIS 51-60 HY 61-70 HZ 11-20 2ND R RADIUS REC RIGHT ELLIPTIC 3-5 1ST CYLINDER 6-10 BODY NUMBER 11-20 VX COORDINATES OF BASE CENTER 21-30 VY 31-40 VZ 41-50 HX LENGTH OF AXIS (HEIGHT) 51-60 HY 61-70 HZ 11-20 2ND R1X MINOR RADIUS VECTOR 21-30 R1Y 31-40 R1Z 41-50 R2X MAJOR RADIUS VECTOR 51-60 R2Y 61-70 R2Z CYL RIGHT CIRCULAR 3-5 1ST CYLINDER IN Z- DIRECTION 6-10 BODY NUMBER 11-20 VX COORDS OF CENTER 21-30 VY 31-40 VZ 41-50 HX AXIS LENGTH (HEIGHT) 51-60 R RADIUS OF BASE ELL ELLIPSOID 3-5 1ST 6-10 BODY NUMBER 11-20 V1X COORDINATES OF FOCI 21-30 V1Y 31-40 V1Z 41-50 V2X 51-60 V2Y 61-70 V2Z 11-20 2ND L LENGTH OF MAJOR AXIS TRC TRUNCATED RIGHT- 3-5 1ST CONE 6-10 BODY NUMBER 11-20 VX COOR. OF BASE CENTER 21-30 VY 31-40 VZ 41-50 HX AXIS VECTOR (HEIGHT) 51-60 HY 61-70 HZ 11-20 2ND R1 RADIUS OF LOWER BASE 21-30 R2 RADIUS OF UPPER BASE WED RIGHT ANGLE 3-5 1ST WEDGE 6-10 BODY NUMBER 11-20 VX COORDS OF A RIGHT 21-30 VY ANGLE CORNER 31-40 VZ 41-50 H1X PERPENDICULAR 51-60 H1Y TRIANGLE SIDE 61-70 H1Z VECTOR 11-20 2ND H2X 21-30 H2Y 31-40 H2Z 41-50 H3X RIGHT ANGLE EDGE 51-60 H3Y VECTOR 61-70 H3Z WARNING: When using WED bodies for azimuthal detail, be sure that adjacen disjoint wedges overlap slightly. Otherwise, tracking across azimuthal interfaces may fail. ARB ARBITRARY POLY- 3-5 1ST HEDRON 6-10 BODY NUMBER 11-20 V1X COORDINATES OF VERTICES 21-30 V1Y 31-40 V1Z 41-50 V2X 51-60 V2Y 61-70 V2Z 11-20 2ND V3X 21-30 V3Y 31-40 V3Z 41-50 V4X 51-60 V4Y 61-70 V4Z 11-20 3RD V5X 21-30 V5Y 31-40 V5Z 41-50 V6X 51-60 V6Y 61-70 V6Z 11-20 4TH V7X 21-30 V7Y 31-40 V7Z 41-50 V8X 51-60 V8Y 61-70 V8Z 11-20 5TH FACE #1 FACE DESCRIPTION 21-30 FACE #2 (E.G. "1234.") 31-40 FACE #3 41-50 FACE #4 51-60 FACE #5 61-70 FACE 63 NOTE: Face descriptions are four digit numbers indicating the numbering sequences of the corners of each face in either clockwise or counterclockwise order. RHP RIGHT HEXAGO- 3-5 1ST NAL PRISM IN Z- DIRECTION 6-10 BODY NUMBER 11-20 VX COORDINATES OF BASE CENTER 21-30 VY 31-40 VZ 41-50 HZ AXIS LENGTH (HEIGHT) 51-60 W WIDTH ACROSS FLATS OF BASE (IN X-DIRECTION) __________________________________________________________________________ NOTE: The data above should be used for body cards, GTRAN2 type 6 (APPENDIX A). The symbols BOX, RPP, SPH, etc. are "character type" names given to each of the body types. Quantities listed under `BODY DATA`, above, represent physical dimensions to be supplies by the user. TABLE 1a __________________________________________________________________________ Zone Input __________________________________________________________________________ A +1 - 2 - 3 (Zone A is composed of all points interior to RPP No. 1 and exterior to spheres 2 and 3.) B +3 - 2 (Zone B is composed of all points interior to sphere 3 and exterior to sphere 2.) C +2 + 3 (Zone C is composed of all points which are in sphere 2 and are also in sphere 3.) D +2 - 3 (Zone D is composed of all points interior to sphere 2 and exterior to sphere 4.) E 0R + 2 0R + 3 (if desired, one zone, the total of zones B, C, and D, can be defined as zone E.) __________________________________________________________________________ TABLE 1b __________________________________________________________________________ Zone Input __________________________________________________________________________ A +1 - 2 (all points interior to the RPP and outside the cylinder.) B 0R + 3 0R + 4 (all points interior to sphere 3 or 4. C +2 - 3 - 4 (all points in the cylinder but not in the spheres. __________________________________________________________________________ TABLE 1c __________________________________________________________________________ Zone Input __________________________________________________________________________ A +1 - 2 - 3 (all points interior to the cylinder, and exterior to the cylinder and sphere. Note that zone A includes all of the space contained inside body 4, except that portion inside cylinder 2. This space can be assign a special zone number, if desired. If, as in the example, it is nit desired, it is not necessary.) B +2 - 4 (all points interior to the cylinder, and outside the box.) C +3 - 2 (all points interior to the sphere and external to the cylinder.) D +2 + 4 (all points interior to the cylinder and also inside the __________________________________________________________________________ box.) Diagnostics Before attempting to run either GTRAN2 modules, TPGEOM and TPXY, the user must make sure that the combinatorial geometry input (logical unit 5) is error free. The following steps are recommended: If an error is detected by TPGEOM, the code will stop plotting, and the coordinates of the site which is in an erroneously defined part of the combinatorial geometry will then be printed, along with the type of problem (undefined point or multiple zones defined). When the diagnostic parameter IDBG is set to 1, and/or when certain tracking errors occur in the combinatorial geometry package, subroutine PR prints out several pertinent variables which are defined in Table 2. Also, floating point body data in array FPD are printed out as shown in Table 3. Fixed point data in array MA are printed out as shown in Table 4. With the help of a plot and printed diagnostic data, the user can determine the last zone which was processed and the next zone where the error occurred. Also, by analyzing the edit region and material plots, the user can check if the edit region and material number were properly assigned. If a crude step was used (for example, DELT=0.5 cm) when an error was detected, it may be difficult to find out the zone where the error occurred. The user should refine the step (DELT=0.1 cm, or even DLET=0.05 cm), and define the frame with smaller dimensions to zoom on a particular area where the tracking error occurred. After an error has been detected and corrected, the user should continue with the same procedure, until all errors are removed. TABLE 2 __________________________________________________________________________ Definition of Combinatorial Geometry Variables Printed out by Subroutine PR Variable Definition __________________________________________________________________________ IR Zone number where the neutron is currently. XB(3) Cartesian coordinates of the starting point of the current trajectory. For lattices (IGEOM = -1 or -2) these are the intra-cell coordinates. XP(3) Temporary storage of XB(3). WB(3) Direction cosines of neutron trajectory. IRPRIM Next zone number that the neutron will enter. NASC Body number of the last calculated intersection. (if .LT. 0, collision point not on body surface) LSURF Surface of body NASC where intersection occurred. Positive if particle is entering the body and negative when exiting. NBO Body number and a sign used to define zones. Input in zone description as positive when zone is contained in body and as negative if zone is outside body LRI Entry surface calculated in GG. (-RIN away) LRO Exit surface calculated in GG. (+ROUT away) KLOOP Trajectory index of present path. LOOP Index of last trajectory calculated for body NBO.LOOP and KLOOP are used to skip cal- culation if RIN and ROUT for a body which has already been checked in another zone for the same trajectory. ITIPE Body type of body NBO. ITIPE Name 1 ARP 2 SPH 3 RCC 4 REC 5 TRR 6 ELL 7 BOX 8 WED 9 RPP 10 RHP 11 CYL N Location in MA array of first body making up code zone IPR. Zone IR may be union (OR) of "code" zones. Location in MA array of last Body making up code zone IRP. LOCAT Starting location in MA array of integer data for ISAVE Location in MA array of body NBO. INEXT Location in MA of next code zone to be searched for possible entry. IRP Code zone that neutron will enter. INEX Location in MA array of index in MA for the second code zone to be searched for possible entry. Note: First IRP = MA(INEXT) INEX = INEXT + 1 Then INEXT = MA(INEX) Second IRP = MA(INEXT), etc. LDATA Storage location in MA array for additional leap frog data for determining the next zone entered. RIN Distance from starting point XB to entry of body NBO. ROUT Distance from starting point XB to exit of body NBO. SMIN Minimum distance from starting point XB to exit of code zone. DIST Distance from XB to current point. (In combinatorial geometry, on the boundary of the next zone, or at the collision point. At collision, XB(new) = XB(old) + WB*DIST. XH Distance from previous point to boundary crossing or to point of collision (cm). DELTA Input parameter for step-across boundaries in combinatorial geometries. SDEL 0 if no boundary crossing occurs, DELTA if a boundary crossing occurs. STMFP Number of mean free paths remaining to collision point. DIST0 (combinatorial geometry only) Distance from XB to next collision. Used in G1/G2 to avoid calculating the next zone before the intersection. PINF An artificial infinity. MARK 0 (next zone), 1 (collision), -2 (interior vacuum or __________________________________________________________________________ reflection). TABLE 3 __________________________________________________________________________ Layout of the FPD Array in BPOINTER Container Position in Size Container (REAL*8 Array Information Stored Words) Description __________________________________________________________________________ KFPD RIN for Body 1 1 Path length data for last trajectory in Body 1 KFPD + 1 ROUT for Body 1 1 KFPD + 2 First 6 words of real data 6 Read from first card of Body 1 card set. for Body 1 KFPD + 8 Remaining words of real N.sub.1 N.sub.1 depends on body type. See Table 1. data for Body 1 KFPD + 8 + N.sub.1 RIN for Body 2 1 Same information as above, but for Body 2. ROUT for Body 2 1 Remaining data for Body 2 N.sub.2 Repeat for all bodies. 4 __________________________________________________________________________ NOTE: Eight words are set aside at the end of the FPD array, but are not used TABLE 4 __________________________________________________________________________ Layout of the MA Array in BPOINTER Container Position in Size Container (REAL*8 Array Information Stored Words) Description __________________________________________________________________________ KMA 1 (body number) KMA + 1 LOOP for Body 1 KMA + 2 Body type (ITIPE) KMA + 3 LRI 7 Body 1 data (each KMA + 4 LRO body requires seven words of KMA + 5 information). KMA + 6 Beginning location in FPD of body data KMA + 7 Body 2 7 Same information and order as for body 1. KMA + 14 KMA + (L-1)*7 Body No. (L) 7 Body No. L last body. KMA + L*7 1 (zone number) 1 Beginning of code zone information. No. of first body in this zone Location of integer data for this body Beginning of information about bodies defining code zone 1. First zone to search upon exiting this 4 Integer data location is given by body. Location of next zone to be 7*(Body No.)-6. searched. The last two words in each set of body data initiate the "leap frog" process by which the code stores possible zones which can be entered upon exiting this body in that particular zone. These zones are checked by the code when the next zone entered is being determined. If the next zone is not located from this stored data, all zones are searched. Data on second body in this zone 4 Data on last body in the zone 4 Zone 2 1 Body information Same information as above for code zone 2. KMA + LDATA Code search information (leap- 2*NAZT Storage set aside for determining the zone frog) to be searched and where the next zone number is located. __________________________________________________________________________ NOTE: An input zone consists of a single code zone or a union (OR) of code zones, where a code zone is the intersection (+ or -) of bodies. NAZT is the total number of possible code zones which be entered when leaving all zones. It is the sum of columns 6-10 of zone cards type 07 (Appendix A). Preparation of Multigroup Cross-Section Input In order to evaluate volume-to-volume collision probabilities and escape probabilities, Eqs.(36) and (38), the angular dependency of the volumetric sources must be know. The fission source does not usually depend on .OMEGA., but the differential scattering cross-sections in the scattering source depend on the cosine of the scattering angle between incoming and outgoing neutron directions .mu..sub.0 =.OMEGA...OMEGA.'. If isotropic scattering is assumed, the volumetric sources do not depend on .OMEGA. any more, and the evaluation of collision and escape probabilities is simplified (Eqs. [41] and [43]). If linearly anisotropic scattering is assumed, the volumetric sources and fluxes could be expanded into spherical harmonics. In 2D, only three moments are present in the volumetric source expansion, as well as in the volumetric flux expansion. Consequently, instead of one collision probability matrix in the case of isotropic scattering, one needs to calculate 9 collision probability matrices relating different flux and source moments, which requires considerably more CPU time and memory. To remedy this, so-called transport correction is used, i.e., it is assumed that problems with linearly anisotropic scattering can be replaced by problems with isotropic scattering, provided that the total and scattering cross-sections are reduced. The differential scattering cross-section is usually expanded in Legendre polynomials, P.sub.1 (.mu..sub.0), where .mu..sub.0 =.OMEGA...OMEGA.', is: ##EQU76## where the angular components are defined as ##EQU77## The linear anisotropic scattering approximation means that only the first two terms in Eq.(75) are considered, i.e. ##EQU78## which after integration over E' gives ##EQU79## where ##EQU80## Usually, linearly anisotropic scattering is not treated explicitly in the integral transport methods. In fact, scattering is assumed to be isotropic, but the total and scattering cross-sections are reduced (transport corrected) as follows: ##EQU81## i.e., the diagonal of the P.sub.0 scattering matrix is corrected, and the transport-corrected total cross-section is given by ##EQU82## From Eq.(78), by summing over g', we get ##EQU83## When preparing the cross-section data file for GTRAN2, the user should have in mind that GTRAN2 expects transport corrected total cross-sections. Cross-sections generated from the nuclear data libraries used for CASMO-3 or CPM2 are transport corrected. The stand-alone version of GTRAN2 reads macroscopic cross-sections in card image format from logical unit 20. The following macroscopic cross-sections are needed by GTRAN2 for each material/composition and each energy group: ______________________________________ SA macroscopic absorption cross-section, SF macroscopic fission cross-sections, SNF macroscopic nu fission cross-section, ST macroscopic total cross-section, transport corrected, STOTSC macroscopic total scattering cross-section, transport corrected, SSC PO macroscopic scattering cross-section matrix, CHI fraction of fission neutrons in each group. ______________________________________ GTRAN2 can also read from the interface cross-section data files generated by CASMO-3 (logical units 80 and 91) or CPM2 (logical unit 27). These files are binary. Computer Requirements for Program Execution This Section provides the user with general information for the execution of GTRAN2 on different computer systems. Brief description of logical unit assignment, sample procedures to compile, link and execute the code, as well as execution statistics on different computer systems are presented. Description of Logical Units GTRAN2 needs several input files and writes into several output files. Scratch files are used for temporary storage of intermediate results during execution. Different computer systems have different requirements for allocating files, but most allow the files to be defined in the coding of the program. We use the FORTRAN statements OPEN and CLOSE (MAIN routine) to define a status of the majority of the files. On some computer systems (UNIX workstations, Cray) the files on logical units 5 and 6 (standard input and output) are not defined through the OPEN statement. Rather, they are assigned at run time by the user, so that the user has some flexibility in choosing the input and output file names. A brief description of the input and output files follows: ______________________________________ Unit For- Number Name matted Description ______________________________________ 5 Yes Combinatorial geometry in- put (Appendix A). 6 Yes GTRAN2 output. 9 GTIME Yes Summary of execution times for the major modules. 16 TPG.TMP Yes Temporary storage. 20 TPXY.IN Yes GTRAN2 input (Appendix B). 27 GCXYOUT No Cross section data from CPM-2. 45 TPGOUT No Ray tracing data generated by TPGEOM. 80 TPXY.FILE No Cross section data from CASMO-3. 81 Yes Error messages. 91 TPXY.FILE11 No Cross section data from CASMO-3. ______________________________________ The following scratch files are also used: ______________________________________ Unit Number Formatted ______________________________________ 21 No 25 No 31 No 34 No ______________________________________ Memory Consideration The memory requirements for storing the GTRAN2 data will vary a lot depending on the specific problem. The following parameters have a major influence: N1 - Number of zones, N2 - Number of energy groups, N3 - Number of parallel integration lines, N4 - Number of integration angles, N5 - Number of intercepted zones per integration line, N6 - Number of meshes on the external boundary (number of faces), N7 - Number of compositions (materials), N8 - Number of edit regions. The geometric data and collision/transfer probability matrices are stored in two ways. On computing systems with a limited amount of memory, the geometric data are stored in a file, and read in from the CTP module as needed during the simulation. On the IBM 3090 with large virtual memory, all geometric data are kept in dynamic COMMONs, thus eliminating a considerable number of slow I/O operations, and allowing unlimited access to these shared memory data from each processor during multiprocessor calculations. On computing systems with large real/virtual memory, collision/transfer probability matrices are stored in 3D arrays as follows: CP(N1,N1,N2) - collision probability array, EP(N6,N1,N2) - escape probability array, and TP(N6,N6,N2) - transmission probability array. This way of storing allows multiprocessor calculation of CTP arrays without causing any memory conflicts, i.e., each processor calculates all probabilities for one energy group. Also, it allowed highly efficient vectorization of the solver module, FLUJ (see Tables 5, 6 and 7 for timing comparison on scalar and vector computers). TABLE 5 ______________________________________ CPU Time(s) and Speedup Factors for BWR Assembly Benchmark, Case 1 Risc IBM Risc Cray SPARC1 SPARC2 530 3090 550 XMP ______________________________________ TPGEOM 65.07 28.73 19.30 17.21 11.09 11.09 (5.9) (2.6) (1.7) (1.6) (1.0) (1.0) CTP 12.49 5.52 3.77 2.03 2.17 1.72 (5.8) (2.5) (1.7) (0.9) (1.0) (0.8) FLUJ 21.93 9.49 2.55 1.24 1.59 0.40 (13.8) (6.0) (1.6) (0.8) (1.0) (0.25) GTRAN2 99.49 43.74 25.62 20.48 14.85 13.21 (6.7) (2.9) (1.7) (1.4) (1.0) (0.9) ______________________________________ TABLE 6 ______________________________________ CPU Time(s) and Speedup Factors for BWR Assembly Benchmark, Case 2 Risc IBM Risc Cray SPARC1 SPARC2 530 3090 550 XMP ______________________________________ TPGEOM 139.23 57.47 50.22 45.74 29.24 30.85 (4.8) (2.0) (1.7) (1.6) (1.0) (1.1) CTP 26.56 10.58 7.92 4.06 4.86 3.36 (5.5) (2.2) (1.6) (0.8) (1.0) (0.7) FLUJ 128.07 55.16 14.45 6.55 8.97 1.54 (14.3) (6.1) (1.6) (0.7) (1.0) (0.2) GTRAN2 293.86 123.21 72.59 56.35 43.07 35.75 (6.8) (2.9) (1.7) (1.3) (1.0) (0.8) ______________________________________ TABLE 7 ______________________________________ CPU Time(s) and Speedup Factors for BWR Assembly Benchmark, Case 3 Risc IBM Risc Cray SPARC1 SPARC2 530 3090 550 XMP ______________________________________ TPGEOM 285.66 114.15 116.33 98.54 60.96 67.96 (4.7) (1.9) (1.9) (1.6) (1.0) (1.1) CTP 47.44 19.39 15.44 7.26 9.32 5.87 (5.1) (2.1) (1.7) (0.8) (1.0) (0.6) FLUJ 452.32 187.47 48.45 20.76 29.11 4.40 (15.5) (6.4) (1.7) (0.7) (1.0) (0.15) GTRAN2 785.42 321.01 180.22 126.56 99.39 78.23 (7.9) (3.2) (1.8) (1.3) (1.0) (0.8) ______________________________________ On computing systems with relatively small amount of memory, collision/transfer probability matrices are stored in 2D arrays, i.e., the energy group as a third dimension is removed. This means that the CTP data for different energy groups must be stored into a file, thus causing a considerable number of slow I/O operations during the solver calculations. As an example, the test problem with the following set of parameters: N1=680, N2=6, N3 =350, N4 =30, N5 =80, N6 =105, N7 =100, N8 =150 required in total 5.96 MWords of memory, of the CTP matrices are stored in 3D arrays. Procedures to Compile, Link and Execute GTRAN2 In this section several simple procedures to compile, link and execute GTRAN2 on various workstations and mainframe computers will be given. Procedures on Cray X-MP/18 To compile GTRAN2 modules (main.f, tpgeom.f, and tpxy.f) create an executable file gtran2.exe using UNICOS, and execute GTRAN2, use the procedures given in FIGS. 13 and 14. Procedures on IBM 3090/600J To compile GTRAN2 modules (MAIN FORTRAN A, TPGEOM FORTRAN A, and TPXY FORTRAN A) create an executable file GTRAN2 MODULE A under VCMS(XA), and execute GTRAN2, use the procedures given in FIGS. 15 and 16. Procedures on the Sun SPARCstation To compile GTRAN2 modules (main.f, tpgeom.f, and tpxy.f) and create an executable file gtran2.exe, execute the make file in FIG. 17. To execute gtran2.exe, the user can use the following command EQU gtran2.exe&lt;tpg.in&gt;gtran2.out making sure that the file TPXY.IN exists in the same directory. In this command, tpg.in is a standard input file on logical unit 5, and gtran2.out is a standard output file on logical unit 6. Procedures on the IBM RISC 6000 workstation To compile GTRAN2 modules (main.f, tpgeom.f, and tpxy.f) and create an executable file gtran2.exe, execute the make file in FIG. 18. In this example a C timing routine ftimes.c has been used to provide CPU times in seconds. To execute gtran2.exe, the user can use the following command EQU gtran2.exe&lt;tpg.in&gt;gtran2.out making sure that the file TPXY.IN exists in the same directory. PWR Assembly Problem The nine-cell PWR assembly geometry is shown in FIG. 19. The fuel rod geometry is simplified, i.e., there is no gap or cladding. The fuel rod radius is 0.409575 cm, and the lattice pitch is 1.25984 cm. The material properties are as follows: ______________________________________ Fuel: Material = UO.sub.2, density = 10.4025 g/cm.sup.3, tem- perature = 296 K, U-238: 85.5909 weight percent, U-235: 2.55626 weight percent, O: 11.85284 weight percent, Moderator: Material = H.sub.2 O, density = 1.005 g/cm.sup.3, tem- perature = 296 K, O: 88.81 weight percent, H: 11.19 weight percent. ______________________________________ CASMO-3 with 40-group cross-section library was used to generate a two-group cross-section data for this test problem. CASMO-3 has been modified in order to extract the sets of cross-section data before and after the 2D homogenization process. The CASMO-3 input cards are shown in FIG. 20. CASMO-3 was run for 1/8 of the assembly, and the following value for k.infin. was obtained: k.infin.=1.40326. Note that the 2D transport calculation in CASMO-3 is done with homogenized pin cells. Using the cross-sections generated by CASMO-3, TPXY.IN (the GTRAN2 input on unit 20) has been generated and used for both homogenized and heterogeneous PWR test problems. Note that material number 1 is FUEL, material number 2 is WATER, and material number 3 is homogenized fuel and water. More details about the GTRAN2 combinatorial geometry input generation (logical unit 5) for homogeneous and heterogeneous PWR test problems can be found in the following subsections. Homogenized Pin Cells GTRAN2 combinatorial geometry inputs were generated for the following three cases: The edit region geometry as well as the zone geometries for all three cases are given in FIG. 21. As can be seen from FIG. 21, Case 1 consists of 9 volumetric zones and 12 zones on the external boundary, Case 2 consists of 36 volumetric zones and 24 zones on the external boundary and Case 3 consists of 81 volumetric zones and 36 zones on the external boundary. The eigenvalue results for these three cases are given in Table 8. Convergence of GTRAN2 was tested for 10, 20 and 40 integration angles and for the distance between the equidistant parallel integration lines of 0.2 cm, 0.1 cm and 0.05 cm. TABLE 8 ______________________________________ GTRAN2 eigenvalue spatial convergence for PWR assembly with homogenized pin cells Number of Step Mesh Mesh Mesh angles (cm) (1 .times. 1) (2 .times. 2) (3 .times. 3) ______________________________________ 10 0.2 1.40322 1.40321 1.40321 0.1 1.40322 1.40321 1.40321 0.05 1.40322 1.40321 1.40321 20 0.05 1.40322 1.40321 1.40321 40 0.05 1.40322 1.40321 1.40321 ______________________________________ Heterogeneous Pin Cells GTRAN2 combinatorial geometry inputs were generated for the following three cases: The edit region geometry as well as the zone geometries for all three cases are given in FIG. 22. As can be seen, Case 4 consists of 18 volumetric zones and 9 zones on the external boundary, Case 5 consists of 72 volumetric zones and 24 zones on the external boundary, and Case 6 consists of 108 volumetric zones and 24 zones on the external boundary. The best way to test the combinatorial geometry input is to request a "printer plotting" of material, zone and/or edit region geometries. To do this, the user should turn on the plotting flag in Card Type 02 (Appendix A), i.e., IPICT=1, and turn off the TPXY flag in Card Type 01, ITPXY=0. The type of the plot is chosen in Card Type 11 (Appendix A), i.e., IRG=0 - plot zone geometry, IRG=1 - plot material geometry, or IRG=-1 - plot edit region geometry. The "printer plotting" for Case 5 is shown in FIGS. 23-25. The eigenvalue results for these three cases are given in Table 9. Convergence of GTRAN2 was tested for 10, 20 and 40 integration angles, and for the distance between the equidistant parallel integration lines of 0.2 cm, 0.1 cm and 0.05 cm. TABLE 9 ______________________________________ GTRAN2 eigenvalue spatial convergence for PWR assembly with heterogeneous pin cells Number of Step angles (cm) Case 4 Case 5 Case 6 ______________________________________ 10 0.2 1.40264 1.40249 1.40242 0.1 1.40287 1.40284 1.40278 0.05 1.40292 1.40290 1.40285 20 0.05 1.40306 1.40305 1.40300 40 0.05 1.40318 1.40317 1.40308 ______________________________________ BWR Benchmark Problem Another test problem, the well-known two-group BWR assembly benchmark problem has been analyzed. The BWR assembly consists of homogenized pin cells with four different fuel types (regions 1-4), gadolinium pins (region 5), assembly walls (region 6) and water gaps (region 7), as shown in FIG. 26. The two-group cross-sections are given in Table 10. The GTRAN2 inputs on logical unit 5 (with 2.times.2 meshes per pin cell) and logical unit 20 are given in Appendix D. Convergence of GTRAN2 was tested for 1.times.1, 2.times.2, 3.times.3 and 4.times.4 meshes per pin cell, for 10, 20 and 40 integration angles and for the distance between the equidistant parallel integration lines of 0.2 cm, 0.1 cm and 0.05 cm. TABLE 10 __________________________________________________________________________ Two-group constants for BWR benchmark problem Material Group .SIGMA..sub.f (cm.sup.-1) .SIGMA..sub.a (cm.sup.-1) v.SIGMA..sub.f (cm.sup.-1) .SIGMA..sub.t.sup.tr (cm.sup.-1) .SIGMA..sub.s1.fwdarw.2 (cm.sup.-1) __________________________________________________________________________ 1 1 2.281-3 8.983-3 5.925-3 2.531-1 1.069-2 2 4.038-2 5.892-2 9.817-2 5.732-1 -- 2 1 2.003-3 8.726-3 5.242-3 2.536-1 1.095-2 2 3.385-2 5.174-2 8.228-2 5.767-1 -- 3 1 1.830-3 8.578-3 4.820-3 2.535-1 1.112-2 2 2.962-2 4.717-2 7.200-2 5.797-1 -- 4 1 1.632-3 8.480-3 4.337-3 2.533-1 1.113-2 2 2.428-2 4.140-2 5.900-2 5.837-1 -- 5 1 2.155-3 9.593-3 5.605-3 2.506-1 1.016-2 2 9.968-2 1.626-1 2.424-2 5.853-1 -- 6 1 -- 1.043-3 -- 2.172-1 9.095-5 2 -- 4.394-3 -- 4.748-1 -- 7 1 -- 1.983-4 -- 2.476-1 3.682-2 2 -- 7.796-3 -- 1.123+0 -- __________________________________________________________________________ TABLE 11 ______________________________________ GTRAN2 eigenvalue spatial convergence for BWR benchmark problem Number of Step Mesh Mesh Mesh Mesh angles (cm) (1 .times. 1) (2 .times. 2) (3 .times. 3) (4 .times. 4) ______________________________________ 10 0.2 1.08637 1.08737 1.08778 1.08783 0.1 1.08638 1.08738 1.08779 1.08787 0.05 1.08639 1.08739 1.08779 1.08786 20 0.2 1.08630 1.08729 1.08768 1.08777 0.1 1.08630 1.08731 1.08771 1.08778 0.05 1.08631 1.08731 1.08771 1.08778 40 0.2 1.08629 1.08730 1.08772 1.08778 0.1 1.08629 1.08729 1.08770 1.08776 0.05 1.08630 1.08730 1.08770 1.08777 ______________________________________ NP-MHTGR Assembly Problem The NP-MHTGR reactor has a helium-cooled, graphite-moderated, graphite-reflected annular core formed from prismatic graphite fuel blocks. The fuel blocks have a geometrically complex layout: they are built from hexagonal graphite blocks with axial cylindrical channels for coolant flow or insertion of highly enriched fuel compacts and lithium absorbers. The material layout for NP-MHTGR assemblies is shown in FIG. 27. The meshing for the GTRAN2 calculation is shown in FIG. 28. The total number of zones in the collision/transfer probability calculations is 690, with 70 edit regions (FIG. 28). As can be seen, the graphite block is divided mostly into hexagonal zones with corners in the fuel holes. Absorber compacts are divided into 4x6 zones radially. In order to test the GTRAN2 capabilities, each fuel pin was divided into 3 radial zones, although this is not necessary for obtaining an accurate result. In addition, the external assembly boundary was subdivided into 96 meshes in the CTP calculations. While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that changes and modifications may be made without departing from the invention in its broader aspects. Therefore, the aim in the appended claims is to cover all such changes and modifications as fall within the true spirit and scope of the invention. The matter set forth in the foregoing description and accompanying drawings is offered by way of illustration only and not as a limitation. The actual scope of the invention is intended to be defined in the following claims when viewed in their proper perspective based on the prior art.