Purpose:
To select a ndfy data file other then the default.
FORTRAN Calling:
Call ndfaccess( yi, libnam, Version, grptype, subpath )
Integer | yi | i | N/A | Id of the incident particle (i.e., yi) |
Character*(*) | libnam | i | N/A | Evaluated data library name (e.g., 'endl') |
Character*(*) | Version | i | N/A | Version of evaluated data (e.g., '991129') |
Character*(*) | grptype | i | N/A | Suffix added to file name (e.g., '175') |
Character*(*) | subpath | o | N/A | Returned string of sub-directory |
In default mode, ndfinit looks for the requested ndfy data file in the current working directory. If the file is not found, ndfinit looks in the directory pointed to by the environment variable NDFPATH. If NDFPATH is not defined or the requested ndfy data file does not exist in the directory pointed to by NDFPATH, then ndfinit looks in the directory
/usr/gapps/data/nuclear/current/ndf
for the requested file. This final location can be changed by calling ndfaccess before calling ndfinit. If ndfaccess is called first, then ndfinit looks for the file
/usr/gapps/data/nuclear/libnam/Version/ndf/ndfyi.grptype,
assuming the file was not found in the current working directory or in the directory pointed to by NDFPATH. For example,
Call ndfaccess( 1, "endl", "endl94", "230", subpath )
will cause ndfinit to look for the file
/usr/gapps/data/nuclear/endl/endl94/ndf/ndf1.230 .
Not calling ndfaccess is equivalent to calling it as
Call ndfaccess( 1, "current", "", "", subpath ) .
A call to ndfaccess only modifies the search path for the specified incident particle. Thus, to get neutron (yi = 1) and gamma (yi = 7) data from the same location, ndfaccess must be called twice (once with yi = 1 and once with yi = 7). Calling ndfaccess with different parameters for different incident particles is valid. This allows one to mix and match data for different incident particles.
Fatal Message(s): Prints a fatal message if yi is invalid.
Related routines: None: ndfinit
Purpose:
Returns the mass for the current target in AMU.
FORTRAN Calling:
Call ndfatw( mass )
Real*8 | mass | o | AMU | Atomic mass in AMU for the current target |
This routine returns the current target's mass in atomic mass units (AMU).
Related routines: ndfiso:
Purpose:
Provide memory allocated by the user to the ndf routine.
FORTRAN Calling:
Call ndfbuff( Pointer )
Real*8 | Pointer | i | N/A | Pointer to pointer to memory allocated by the user |
Most ndf routines require the user to allocate memory to read and process the data. The last argument in the ndfinit routine is the amount of memory in 8-byte words that is needed to process the data. After calling ndfinit the user must allocate the required memory and pass the pointer to ndfbuff before calling most ndf routines. As example,
Integer Date, ReqdMem Character Name*(4) Real*8 DummyArray Pointer ( p, DummyArray(*) ) ! This may not work on all systems. Call ndfinit( 1, Name, Date, ReqdMem ) p = GetBytes( 8 * ReqdMem ) ! User routine to allocate memory. Call ndfbuff( p )
Most ndf routines cannot be called until ndfinit, ndfbuff and then ndfiso are called.
Related routines: ndfinit:
Purpose:
Closes the opened ndfy file.
FORTRAN Calling:
Call ndfclose( )
To properly close the opened ndfy file ndfclose must be called. Only one ndfy file can be opened at a time.
Fatal Message(s): Calling ndfinit twice without calling ndfclose between the two ndfinit calls will cause a fatal message to be printed.
Related routines: ndfinit:
Purpose:
Returns the transport-correcting cross-section for the current target.
FORTRAN Calling:
Call ndfcorrec( tccs )
Real*8 | tccs( ncg x ( lMax + 1 ) ) | o | barn | The transport-correcting cross-section |
For each target, the total cross-section and the diagonal of the yi yi interaction transfer matrix are transport corrected. This routine returns the transport-correcting cross-section; that is, the cross-section that is subtracted from the total cross-section and the diagonal of the interaction transfer matrix to produce the transport-corrected total cross-section and the transport corrected interaction transfer matrix. There are ncg values (see ndfngroup) for each l-order (l = 0, ..., lMax). The data are arranged serially with the first ncg points being the l = 0 data, the second being the l = 1 data and so on. The last ncg points are only valid when the transport correction method is e_ndfnone or e_ndfLLNL (see ndfmxorder_tc or ndfcmxorder_tc). Note, as per Table 3 the l = 0 data is tc1, the l = 1 data is tc2, ... and the l = lMax data is tc lMax+1.
Related routines: ndfiso: ndfgroup, ndfngroup, ndfsig, ndftrcorr, ndfmxorder, ndfmxorder_tc
Purpose:
Returns the deposited energy for the requested transportable outgoing particle for the current target.
FORTRAN Calling:
Call ndfed( ed, yo )
Real*8 | ed( ncg ) | o | MeV-barn | yo's deposit energy |
Integer | yo | i | N/A | Id of the transportable outgoing particle |
The deposit energy for yo is returned in ed, where yo is the id of the transportable outgoing particle (e.g., yo = 1 is a neutron). The are ncg data points returned (see ndfngroup). If the requested yo does not exist for the current target ndfed prints a fatal message. Use ndfnyos and ndfyos to determine the allowable yos. In general, ndfsig, ndfpmat, ndfsig, ndfpmat should be used to obtain the deposition energy for each particle being transported.
Fatal Message(s): Prints a fatal message if the requested yo does not exist for the current target.
Related routines: ndfiso: ndfnyos, ndfyos, ndfnppyos, ndfppyos
Purpose:
Returns the total available energy for the current target.
FORTRAN Calling:
Call ndfemax( em )
Real*8 | em( ncg ) | o | MeV-barn | Available energy |
The total available energy is returned in em. There are ncg data points (see ndfngroup).
Related routines: ndfiso:
Purpose:
Returns the production energy for the current target.
FORTRAN Calling:
Call ndfemax( ep )
Real*8 | ep( ncg ) | o | MeV-barn | Production energy |
The production energy is returned in ep. There are ncg data points (see ndfngroup).
Related routines: ndfiso:
Purpose:
Returns the fission matrix for the current target.
FORTRAN Calling:
Call ndffism( fm, iFlag )
Real*8 | fm( ncg x ncg ) | o | barn | Fission matrix |
Integer | iFlag | o | N/A | Indicates whether or not data is present |
The fission matrix, if present (iFlag = 0 is returned), for the current target is returned in fm. There are ncg x ncg data points (see ndfngroup). If no fission data is present then iFlag = 1 is returned. This data only exist for neutron as an incident particle (i.e., ndf1) and only for some of its targets.
Related routines: ndfiso: ndffisx, ndffsp
Purpose:
Returns the fission < > g for the current target.
FORTRAN Calling:
Call ndffisx( fnubar, iFlag )
Real*8 | fnubar( ncg ) | o | barn | Fission nubar data |
Integer | iFlag | o | N/A | Indicates whether or not data is present |
The average number of neutrons produced by fission < > g, if present (iFlag = 0 is returned), for the current target is returned in fnubar. There are ncg data points (see ndfngroup). If no fission data is present then iFlag = 1 is returned. This data only exist for neutron as an incident particle (i.e., ndf1) and only for some of its targets.
Related routines: ndfiso: ndffism, ndffsp
Purpose:
Returns the collapsed flux weights for the l = 0 Legendre order.
FORTRAN Calling:
Call ndfflxw( flux )
Real*8 | flux( ncg ) | o | N/A | l = 0 collapsed flux weights |
The l = 0 Legendre order, collapsed flux weights are returned in flux. This routine can only be called after ndfgroup has been called. This is equivalent to calling ndfflxw_l from FORTRAN as,
Call ndfflxw\_l( 0, flux )(see routine ndfflxw_l).
Related routines: ndfgroup: ndfflxw_l
Purpose:
Returns the collapsed flux weights for the requested Legendre order.
FORTRAN Calling:
Call ndfflxw_l( l, flux )
Integer | l | i | N/A | Requested Legendre order |
Real*8 | flux( ncg ) | o | N/A | lth Legendre order collapsed flux weights |
The lth Legendre order, collapsed flux weights are returned in flux. There are ncg data points (see ndfngroup). This routine can only be called after ndfgroup has been called.
Fatal Message(s): Prints a fatal message if the requested l-order is invalid.
Related routines: ndfgroup: ndfflxw
Purpose:
Returns the normalized fission spectrum for the current target.
FORTRAN Calling:
Call ndffsp( FissSpec )
Real*8 | FissSpec( ncg ) | o | N/A | Normalized fission spectrum |
Fatal Message(s): Prints a fatal message if the current target has no fission matrix.
Related routines: ndfiso: ndfifsp, ndffism, ndffisx
Purpose:
Returns the group id of the uncollapsed energy boundaries of the incident particle.
FORTRAN Calling:
gid = ndfgid( )
Integer | gid | f | N/A | Uncollapsed group id for the incident particle |
Related routines: ndfinit: ndfgp
Purpose:
Returns the uncollapsed energy boundaries of the incident particle.
FORTRAN Calling:
Call ndfgp( gb )
Real*8 | gb( ng + 1 ) | o | MeV | Uncollapsed energy boundaries for the incident particle |
Related routines: ndfbuff: ndfgid
Purpose:
Provides the user supplied information needed for collapsing of the data.
FORTRAN Calling:
Call ndfgroup( cgb, ncg, fid )
Real*8 | cgb( ncg + 1 ) | i | MeV | Boundaries for the collapsed group |
Integer | ncg | i | N/A | Number of collapsed groups |
Integer | fid | i | N/A | bdfls id of the flux to use for collapsing |
Fatal Message(s): Prints a fatal message if the collapsing group is not a subset of the group used to generate the file, if the bdfls file cannot be found, or if the requested flux is not found in the bdfls file.
Related routines: ndfbuff: ndfidog, ndfngroup
Purpose:
Reads an energy group from a bdfls file.
FORTRAN Calling:
Call ndfidog( gid, gb, ngs, Dummy )
Integer | gid | i | N/A | Id of the energy group to input from the bdfls file |
Real*8 | gb( ngs + 1 ) | o | MeV | Boundaries of returned group |
Integer | ngs | o | N/A | Number of returned groups |
Real*8 | Dummy | u | N/A | Not used |
Fatal Message(s): Prints a fatal message if the requested group is not found in the bdfls file, or if the bdfls file cannot be opened.
Related routines: None: ndfgroup
Purpose:
Returns a flag indicating whether or not fission data is present.
FORTRAN Calling:
Flag = ndfifsp( )
Integer | Flag | f | N/A | Flag indicating whether or not ndffsp will print a fatal message |
Related routines: ndfiso: ndffsp
Purpose:
Returns the path of the opened ndfy file.
FORTRAN Calling:
Call ndfinfo( path )
Character*(*) | path | o | N/A | Path of the opened ndfy file |
Related routines: ndfinit:
Purpose:
Opens an ndfy file.
FORTRAN Calling:
Call ndfinit( yi, Name, Date, ReqdMem )
Integer | yi | i | N/A | Id of the incident particle |
Character*(*) | Name | o | N/A | File name (e.g., 'ndf1') |
Integer | Date | o | N/A | Date in the ndfy file |
Integer | ReqdMem | o | N/A | Memory in 8-byte words needed by ndf routines |
Fatal Message(s): Prints a fatal message if yi is invalid, if the file could not be opened, or if a file is already opened.
Related routines: None: ndfaccess, ndfbuff, ndfinfo, ndfclose
Purpose:
Selects a target from the opened ndfy file.
FORTRAN Calling:
Call ndfiso( ZA, Flag )
Integer | ZA | i | N/A | ZA = (1000 x Z + A) of the target to select |
Integer | Flag | o | N/A | Flag indicating if target was found in file |
Related routines: ndfbuff: ndfistab, ndfnistab
Purpose:
Returns the list of targets in the opened ndfy file.
FORTRAN Calling:
Call ndfistab( ZAList, nZAs )
Integer | ZAList( nZAs ) | o | N/A | List of targets (ZAs) |
Integer | nZAs | o | N/A | Number of ZAs in ZAList |
Related routines: ndfbuff: ndfiso, ndfnistab
Purpose:
Returns the maximum Legendre order in the opened ndfy file.
FORTRAN Calling:
Call ndfmxorder( lMax )
Integer | lMax | o | N/A | Maximum Legendre order |
Related routines: ndfiso: ndfcorrec, ndfmxorder_tc, ndfsig, ndftrcorr
Purpose:
Returns the maximum Legendre order allowed by the current transport correction method.
FORTRAN Calling:
lm = ndfmxorder_tc( )
Integer | lm | f | N/A | Maximum Legendre order allowed by transport correction method |
Related routines: ndfiso: ndfcorrec, ndfmxorder, ndfsig, ndftrcorr
Purpose:
Returns the length of data in 'double' words required by ndfcorrec.
FORTRAN Calling:
Call ndfncorrec( len )
Integer | len | o | N/A | Length of data required by ndfcorrec |
Call ndfmxorder( lMax ) len = ( lMax + 1 ) * ndfngroup( )For e_ndfPendlebury and e_ndfFerguson transport correction methods, the amount of useful data is 'lMax * ndfngroup( )'; however, the number returned by ndfncorrec is the requirement amount of double' words required by ndfcorrec, which is always '(lMax + 1 ) * ndfngroup( )'.
Related routines: ndfiso: ndfcorrec, ndfngroup, ndfmxorder
Purpose:
Returns the number of collapsed groups.
FORTRAN Calling:
n = ndfngroup( )
Integer | n | o | N/A | Number of collapsed groups |
Related routines: ndfinit: ndfgroup, ndfngroups
Purpose:
Returns the number of uncollapsed groups.
FORTRAN Calling:
Call ndfngroups( ng )
Integer | ng | o | N/A | Number of uncollapsed groups |
Related routines: ndfinit: ndfgroup, ndfngroup
Purpose:
Returns the number of targets in the opened ndfy file.
FORTRAN Calling:
nZAs = ndfnistab( )
Integer | nZAs | f | N/A | Number of targets in the opened ndfy file |
Related routines: ndfbuff: ndfiso, ndfistab
Purpose:
Returns the largest group size used in processing the opened ndfy file.
FORTRAN Calling:
Call ndfnmaxgps( )
'return value' | f | N/A | Largest group size used in processing the opened ndfy file |
The groups used in grouping the various transportable particles can be difference and can have difference sizes. This routine returns the size of the largest group and may be useful if memory must be allocated for a production matrix.
Related routines: ndfbuff: ndfngroup, ndfngroups, ndfpmat, ndfppmatrix
Purpose:
Returns the number of transportable outgoing particles for which a production transfer matrix exist for the current target.
FORTRAN Calling:
nyos = ndfnppyos( )
Integer | nyos | f | N/A | Number of transportable outgoing particles |
Related routines: ndfiso: ndfppyos, ndfnyos, ndfyos, ndfpmat
Purpose:
Returns the number of outgoing particles produced for the requested reaction for the current target.
FORTRAN Calling:
n = ndfnprod( C )
Integer | C | i | N/A | C-value for the requested reaction |
Integer | n | f | N/A | Number of outgoing particles produced for reaction C |
Related routines: ndfiso: ndfprod
Purpose:
Returns the number of reactions for the current target.
FORTRAN Calling:
n = ndfnreact( )
Integer | n | f | N/A | Number of reactions for the current target |
Related routines: ndfiso: ndfreact
Purpose:
Returns the number of reactions of type C for the current target.
FORTRAN Calling:
n = ndfnrxs( C )
Integer | C | i | N/A | C-value for the requested reaction |
Integer | n | f | N/A | Number of reactions of type C |
Related routines: ndfiso: ndfrxs, ndfrxslist, ndfrxslevel
Purpose:
Returns the number of transportable outgoing particles for the current target.
FORTRAN Calling:
n = ndfnyos( )
Integer | n | f | N/A | Number of transportable outgoing particles |
Related routines: ndfiso: ndfyos, ndfed, ndfppyos, ndfnppyos
Purpose:
Returns the collapsed production transfer matrix and the corrected, collapsed, deposited energy.
FORTRAN Calling:
Call ndfpmat( matrix, ed, yo, ch, nch )
Real*8 | matrix( nch x ncg ) | o | barn | y i yo production transfer |
matrix for yi yo | ||||
Real*8 | ed( ncg ) | o | MeV-barn | Corrected energy deposited by yo |
Integer | yo | i | N/A | Requested outgoing particle (yo yi) |
Real*8 | ch( nch + 1 ) | i | MeV | Outgoing particle's collapsed group |
boundaries | ||||
Integer | nch | i | N/A | Number of groups in ch |
Fatal Message(s): Prints a fatal message if yo is not present in the particle directory of the global data section.
Related routines: ndfiso: ndfnppyos, ndfppyos, ndfyo_gid, ndfed, ndfppmatrix, ndfsig
Purpose:
Returns the uncollapsed production transfer matrix for the requested outgoing particle for the current target.
FORTRAN Calling:
Call ndfppmatrix( yo, matrix, nh )
Integer | yo | i | N/A | Requested outgoing particle (yo yi) |
Real*8 | matrix( nh x ng ) | o | barn | yi yo production transfer matrix for yi yo |
Integer | nh | o | N/A | Number of groups representing the outgoing |
particle's energy groups |
Fatal Message(s): Prints a fatal message if the requested transportable outgoing particle is not present.
Related routines: ndfiso: ndfpmat, ndfnppyos, ndfppyos
Purpose:
Returns the list of transportable outgoing particles for which there are production transfer matrices for the current target.
FORTRAN Calling:
Call ndfppyos( yoList, nyos )
Integer | yoList( nyos ) | o | N/A | List of outgoing particles for the current target |
Integer | nyos | o | N/A | Number of outgoing particles returned |
Related routines: ndfiso: ndfnppyos, ndfpmat, ndfppmatrix
Purpose:
Returns the ZA and multiplicity lists for particles produced by the requested reaction for the current target.
FORTRAN Calling:
Call ndfprod( C, n, ZAList, MList )
Integer | C | i | N/A | C-value for the reaction |
Integer | n | o | N/A | Number of outgoing particles produced for reaction C |
Integer | ZAList( n ) | o | N/A | List of ZAs |
Integer | MList( n ) | o | N/A | List of multiplicities |
For neutrons, the multiplicity may be zero. In this case, the outgoing neutron information is obtained by calling ndffisx. For example, calling ndfprod for a typical fission reaction, C = 15, of target 239Pu may return n = 2, ZAList = {1, 99120} and MList = {0, 2} (ZA = 99120 is the special ZA code for prompt fission products and ZA = 99125 is the special ZA code for delayed fission products). In this example 2 prompt fission products are produced and MList(1) = 0 implies that ndffisx must be called to get the multiplicity data for neutrons.
Fatal Message(s): Prints a fatal message if the requested C-value is not in the reaction list for the current target.
Related routines: ndfiso: ndfnprod
Purpose:
Returns a list of C-values for the reactions for the current target.
FORTRAN Calling:
Call ndfreact( CList, n )
Integer | CList( n ) | o | N/A | C-value for each reaction |
Integer | n | o | N/A | Number of reactions returned |
Related routines: ndfiso: ndfnreact, ndfrxs, ndfrxslevel, ndfrxslist
Purpose:
Returns the requested reaction's collapsed cross-section data for the current target.
FORTRAN Calling:
Call ndfrxs( C, cs, Q, n )
Integer | C | i | N/A | C-value of the requested reaction |
Real*8 | cs( ncg ) | o | barn | Collapsed cross-section for this reaction |
Real*8 | Q | o | MeV | Q-value of reaction |
Integer | n | i | N/A | Number of reactions with this C-value to include |
Related routines: ndfiso: ndfnrxs, ndf, ndfrxslevel, ndfrxslist
Purpose:
Returns S-, Q-, X1-, X2-, X3-, Q eff-values and the collapsed cross-section for the requested level of the requested reaction for the current target.
FORTRAN Calling:
err = ndfrxslevel( C, L, S, Q, X1, X2, X3, Qeff, cs )
Integer | C | i | N/A | C-value for the requested reaction |
Integer | L | i | N/A | Level for requested C-value |
Integer | S | o | N/A | S-value for reaction |
Real*8 | Q | o | MeV | Q-value for reaction |
Real*8 | X1 | o | Varies | X1-value for reaction |
Real*8 | X2 | o | Varies | X2-value for reaction |
Real*8 | X3 | o | Varies | X3-value for reaction |
Real*8 | Qeff | o | MeV | Q eff-value for reaction |
Real*8 | cs( ncg ) | o | barns | collapsed cross-section for reaction |
Integer | err | f | N/A | 1 if requested C and L are present, 0 otherwise |
Related routines: ndfiso: ndfrxs, ndfnrxs, ndfrxslist
Purpose:
Returns a list of S-, Q-, X1-, X2-, X3- and Q eff-values for the requested reaction for the current target.
FORTRAN Calling:
n = ndfrxslist( C, S, Q, X1, X2, X3, Qeff )
Integer | C | i | N/A | C-value for the requested reaction |
Integer | S( n ) | o | N/A | List of S-values for reaction |
Real*8 | Q( n ) | o | MeV | List of Q-values for reaction |
Real*8 | X1( n ) | o | Varies | List of X1-values for reaction |
Real*8 | X2( n ) | o | Varies | List of X2-values for reaction |
Real*8 | X3( n ) | o | Varies | List of X3-values for reaction |
Real*8 | Qeff( n ) | o | MeV | List of Q eff-values for reaction |
Integer | n | f | N/A | Number of reactions of type C |
Related routines: ndfiso: ndfrxs, ndfnrxs, ndfrxslevel
Purpose:
Returns the collapsed total cross-section (transport corrected), the collapsed interaction transfer matrix (yi yo for yi = yo transport corrected), the collapsed energy deposited by yo = yi and the collapsed transport correcting cross-section for the requested Legendre order for the current target.
FORTRAN Calling:
Call ndfsig( tcs, ed, tm, tc, l )
Real*8 | tcs( ncg ) | o | barn | Collapsed transport corrected total cross-section |
Real*8 | ed( ncg ) | o | MeV-barn | Collapsed corrected energy deposited by incident |
particle type | ||||
Real*8 | tm( ncg x | o | barn | Collapsed transport corrected interaction |
ncg x ( l + 1 ) ) | transfer matrix | |||
Real*8 | tc( ncg ) | o | barn | Collapsed transport correcting cross-section |
Integer | l | i | N/A | Requested Legendre order |
Fatal Message(s): Prints a fatal message if the request l-order is invalid.
Related routines: ndfiso: ndftotal, ndfed, ndfyo_info
Purpose:
Returns the collapsed group speeds for the opened ndfy file.
FORTRAN Calling:
Call ndfsp( speeds )
Real*8 | speeds( ncg ) | o | cm/sh | Collapsed group speeds for the opened ndfy file |
Related routines: ndfinit:
Purpose:
Returns the collapsed uncorrected total cross-section for the current target.
FORTRAN Calling:
Call ndftotal( tcs )
Real*8 | tcs( ncg ) | o | barn | Collapsed uncorrected total cross-section for the current target |
Related routines: ndfiso: ndfsig
Purpose:
Returns the uncollapsed, uncorrected interaction transfer matrix for the requested Legendre order for the current target.
FORTRAN Calling:
Call ndftransfer( tm, l )
Real*8 | tm( ng x ng ) | o | barn | Uncollapsed, uncorrected interaction |
transfer matrix for Legendre order l | ||||
Integer | l | i | N/A | Requested Legendre order |
Fatal Message(s): Prints a fatal message if the requested Legendre order is not present.
Related routines: ndfiso: ndfpmat, ndfmxorder
Purpose:
Sets the desired transport correction method.
FORTRAN Calling:
Call ndftrcorr( c )
Integer | c | i | N/A | Desired transport correction method |
c | Maximum l | Correction method |
0 | lMax | No correction |
1 | lMax - 1 | Pendlebury/Underhill correction (default) |
2 | lMax | Legacy LLNL correction |
3 | lMax - 1 | Ferguson correction |
In this table the second column is the maximum Legendre order the user can request. The transport correcting cross-section can be calculated to one greater than this Legendre order. For example, if lMax = 3 and the correction method is Pendlebury/Underhill then ndfsig can only be called for l-order up to 2. This routine must be called after each call to ndfinit, as ndfinit resets the internal flag to the default.
Fatal Message(s): Prints a fatal message if an invalid transport correct method is requested.
Related routines: ndfinit:
Purpose:
Returns the collapsed normalized l = 0 flux.
FORTRAN Calling:
Call ndfwsp( w )
Real*8 | w( ncg ) | o | N/A | Collapsed normalized l = 0 flux |
Fatal Message(s): Prints a fatal message if the l = 0 flux is all zeros.
Related routines: ndfgroup:
Purpose:
Returns the jth particle's id from the particle directory of the global data section.
FORTRAN Calling:
yo = ndfyo( j )
Integer | j | i | N/A | The index of the requested particle's id |
Integer | yo | f | N/A | The jth particle id from particle directory |
n = 0 yo = 0 Do While( yo .ne. -1 ) yo = ndfyo( n + 1 ) ! FORTRAN indexing. If( yo .ne. -1 ) n = n + 1 EndDo Print *, 'n = ', n
prints the number of particles in the particle directory of the global data section.
Related routines: ndfbuff:
Purpose:
Returns a list of transportable outgoing particles with energy deposit data for the current target.
FORTRAN Calling:
Call ndfyos( yo, n )
Integer | yo( n ) | o | N/A | List of transportable outgoing particles with energy deposit data |
Integer | n | o | N/A | Number of transportable outgoing particles with energy |
deposit data |
Related routines: ndfiso: ndfnyos, ndfed, ndfppyos, ndfnppyos
Purpose:
Returns the group id for the requested outgoing particle.
FORTRAN Calling:
gid = ndfyo_gid( yo )
Integer | yo | i | N/A | The requested outgoing particle |
Integer | gid | f | N/A | The group id used for the outgoing particle |
Related routines: ndfiso:
Purpose:
Returns the number of energy groups, nh, and the conservation flag, iecflg, for the requested transportable outgoing particle.
FORTRAN Calling:
Call ndfyo_info( yo, nh, iecflg )
Integer | yo | i | N/A | Requested transportable outgoing particle |
Integer | nh | o | N/A | Number of groups representing the transportable |
outgoing particle's energy grouping | ||||
Integer | iecflg | o | N/A | Particle and/or Energy conservation flag |
Real*8 matrix( nh, ng ) .
However, ndf treats all matrices as one dimensional vectors. The routine also returns iecflg which is a flag indicating the conservation mode used to process the production transfer matrix for this outgoing particle. The meaning of iecflg is as follows,
iecflg | Description |
0 | Conserve particles |
1 | Conserve energy, used for gammas (yo = 7) |
2 | Conserve energy for the l = 0 Legendre order |
3 | Conserve particles and energy |
If the requested yo is not present then nh = -1 and iecflg = -1.
Related routines: ndfbuff: ndfpmat, ndfppmatrix, ndfppyos