fudge.gnds.productData.distributions package¶
Submodules¶
fudge.gnds.productData.distributions.Legendre module¶
This is for ENDL I = 4 data with l > 0. This is a temporary module, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.
-
class
fudge.gnds.productData.distributions.Legendre.
LLNLPointwise
(axes)[source]¶ Bases:
fudge.gnds.productData.distributions.Legendre.subform
This is for ENDL I = 4 data with l > 0. This is a temporary class, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.
-
moniker
= 'LLNLLegendrePointwise'¶
-
-
class
fudge.gnds.productData.distributions.Legendre.
form
(label, productFrame, LegendreSubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
This is for ENDL I = 4 data with l > 0. This is a temporary class, to be removed once testing is done and all coefficients in endl99, H2(n,2n)p data are filled in.
-
moniker
= 'LLNLLegendre'¶
-
subformAttributes
= ('Legendre',)¶
-
-
class
fudge.gnds.productData.distributions.Legendre.
subform
[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
Abstract base class for LLNLLegendre forms.
fudge.gnds.productData.distributions.angular module¶
Angular distribution classes with forms form
, twoBodyForm
and CoulombElasticForm
.
This details most of the stuff in angular.py
, and it also applies to energy.py
,
energyAngular.py
and angularEnergy.py
. Here we only describe some of the old classes.
Namely,
pdfOfMu.pointwise
- Stores a
as a list of
,
pdfOfMu.Legendre
- Stores a
as a Legendre series
pointwise
- Stores the
as a list of
which can be either pdfOfMu.pointwise of pdfOfMu.Legendre
piecewise
- Stores
as a contigous list of
pointwise
instances.
and their new equivalent classes
Note, there was no pdfOfMu.piecewise
and its new equivalent regions1d
, as
they are not currently needed. There are other classes in angular.py
(e.g., isotropic2d
, forward
, recoil
) but we can ignore them for now.
So what are the classes in angular.py
for? They are to represent the
physics function where
is the outgoing
and
is
the projectile’s energy. Currently, we only store these as list of
or
‘s (or regions of these).
For the simple case with only ‘s (no
‘s), and no change of
interpolation or step in function, a
looks like:
E_1, P_1(mu)
E_2, P_2(mu)
...
E_n-1, P_n-1(mu)
E_1, P_1(mu)
In the old code each was stored as an instance of a
pdfOfMu.pointwise
and the P(mu|E) was an instance of pointwise
. In the new
code each :math:’P_i(mu)` is stored as an instance of XYs1d
, and is an
instance of
XYs2d
. There are several nice things about the new structure.
For example, the names here match the names in xData
. Also, the internal
functions do not need to be nested as, for example, pdfOfMu.pointwise
was.
This latter point is a result of adding the dimension to the name of each
class (e.g., XYs1d
vs. XYs2d
) so there is no name clashing.
As a further note, in MF=4, the LTT = 1, 2 and 3 are stored using
- LTT=1
- XYs1d for
and
XYs2d
for the list of.
- LTT=2
- Legendre for
and
XYs2d
for the list of.
- LTT=3
regions2d
that stores the LTT=1 in the first region and LTT=2 in the second region.
-
class
fudge.gnds.productData.distributions.angular.
Legendre
(coefficients, domainMin=-1, domainMax=1, lowerIndex=0, axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ')[source]¶ Bases:
xData.series1d.LegendreSeries
-
class
fudge.gnds.productData.distributions.angular.
XYs1d
(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]¶ Bases:
xData.XYs.XYs1d
-
class
fudge.gnds.productData.distributions.angular.
XYs2d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.angular.subform
,xData.multiD_XYs.XYs2d
-
fudge.gnds.productData.distributions.angular.
calculateAverageProductData
(self, style, indent, **kwargs)[source]¶ This function calculates average product data for two-body reactions.
-
class
fudge.gnds.productData.distributions.angular.
form
(label, productFrame, angularSubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
This class only seems to be used in site_packages/legacy/toENDF6/productData/distributions/uncorrelated.py to write GNDS structure to ENDF6. This class should be deprecated.
-
ancestryMembers
= ('angularSubform',)¶
-
moniker
= 'angular'¶
-
subformAttributes
= ('angularSubform',)¶
-
-
class
fudge.gnds.productData.distributions.angular.
forward
[source]¶ Bases:
fudge.gnds.productData.distributions.angular.subform
-
ancestryMembers
= ('',)¶
-
domainMax
¶
-
domainMin
¶
-
domainUnit
¶
-
moniker
= 'forward'¶
-
-
class
fudge.gnds.productData.distributions.angular.
isotropic1d
[source]¶ Bases:
xData.ancestry.ancestry
-
ancestryMembers
= ('',)¶
-
moniker
= 'isotropic1d'¶
-
-
class
fudge.gnds.productData.distributions.angular.
isotropic2d
[source]¶ Bases:
fudge.gnds.productData.distributions.angular.subform
-
ancestryMembers
= ('',)¶
-
domainMax
¶
-
domainMin
¶
-
domainUnit
¶
-
moniker
= 'isotropic2d'¶
-
-
class
fudge.gnds.productData.distributions.angular.
recoil
(link, root=None, path=None, relative=False)[source]¶ Bases:
xData.link.link
,fudge.gnds.productData.distributions.angular.subform
-
ancestryMembers
= ('',)¶
-
moniker
= 'recoil'¶
-
partner
¶
-
-
class
fudge.gnds.productData.distributions.angular.
regions2d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.angular.subform
,xData.regions.regions2d
-
class
fudge.gnds.productData.distributions.angular.
subform
[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
Abstract base class for angular subforms.
-
class
fudge.gnds.productData.distributions.angular.
twoBodyForm
(label, productFrame, angularSubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
-
ancestryMembers
= ('angularSubform',)¶
-
moniker
= 'angularTwoBody'¶
-
static
parseXMLNode
(angularElement, xPath, linkData)[source]¶ Translate <angularTwoBody> element from xml. Returns instance of angular.twoBodyForm.
-
subformAttributes
= ('angularSubform',)¶
-
fudge.gnds.productData.distributions.angularEnergy module¶
-
class
fudge.gnds.productData.distributions.angularEnergy.
LLNLAngularEnergyForm
(label, productFrame, angularSubform, angularEnergySubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
This class is for legacy LLNL ENDL I = 1 and 3 data and is deprecated. Only use for the legacy ENDL data.
-
moniker
= 'LLNLAngularEnergy'¶
-
subformAttributes
= ('angularSubform', 'angularEnergySubform')¶
-
-
class
fudge.gnds.productData.distributions.angularEnergy.
LLNLAngularEnergyOfAngularEnergySubform
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
-
moniker
= 'LLNLAngularEnergyOfAngularEnergy'¶
-
-
class
fudge.gnds.productData.distributions.angularEnergy.
LLNLAngularOfAngularEnergySubform
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
-
moniker
= 'LLNLAngularOfAngularEnergy'¶
-
-
class
fudge.gnds.productData.distributions.angularEnergy.
XYs1d
(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]¶ Bases:
xData.XYs.XYs1d
-
class
fudge.gnds.productData.distributions.angularEnergy.
XYs2d
(interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, interpolationQualifier='')[source]¶ Bases:
xData.multiD_XYs.XYs2d
-
class
fudge.gnds.productData.distributions.angularEnergy.
XYs3d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.angularEnergy.subform
,xData.multiD_XYs.XYs3d
-
fudge.gnds.productData.distributions.angularEnergy.
defaultAxes
(energyUnit, probabilityLabel='P(mu, energy_out|energy_in)')[source]¶
-
class
fudge.gnds.productData.distributions.angularEnergy.
form
(label, productFrame, angularEnergySubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
-
ancestryMembers
= ('angularEnergySubform',)¶
-
moniker
= 'angularEnergy'¶
-
subformAttributes
= ('angularEnergySubform',)¶
-
-
class
fudge.gnds.productData.distributions.angularEnergy.
subform
[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
Abstract base class for angularEnergy forms.
fudge.gnds.productData.distributions.base module¶
Base classes for distributions.
fudge.gnds.productData.distributions.energy module¶
Energy distribution classes.
-
class
fudge.gnds.productData.distributions.energy.
MadlandNix
(EFL, EFH, Ts)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.functionalBase
-
moniker
= 'MadlandNix'¶
-
-
class
fudge.gnds.productData.distributions.energy.
NBodyPhaseSpace
(numberOfProducts, numberOfProductsMasses)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
-
ancestryMembers
= ('',)¶
-
averageEp
(E, massUnit, projectileMass, targetMass, productMass, Q)[source]¶ Calculate the average energy of the product in the center-of-mass frame for projectile energy E. This method only works for a one-step reaction.
-
moniker
= 'NBodyPhaseSpace'¶
-
-
class
fudge.gnds.productData.distributions.energy.
T_M
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.energyFunctionalData
-
moniker
= 'T_M'¶
-
-
class
fudge.gnds.productData.distributions.energy.
WattSpectrum
(U, a, b)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.functionalBase
-
moniker
= 'Watt'¶
-
-
class
fudge.gnds.productData.distributions.energy.
XYs1d
(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]¶ Bases:
xData.XYs.XYs1d
-
class
fudge.gnds.productData.distributions.energy.
XYs2d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
,xData.multiD_XYs.XYs2d
-
class
fudge.gnds.productData.distributions.energy.
a
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.energyFunctionalData
-
moniker
= 'a'¶
-
-
class
fudge.gnds.productData.distributions.energy.
b
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.energyFunctionalData
-
moniker
= 'b'¶
-
-
class
fudge.gnds.productData.distributions.energy.
discreteGamma
(value, domainMin, domainMax, axes=None)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.discretePrimaryGamma
-
moniker
= 'discreteGamma'¶
-
-
class
fudge.gnds.productData.distributions.energy.
discretePrimaryGamma
(value, domainMin, domainMax, axes=None)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
-
ancestryMembers
= ('',)¶
-
axes
¶
-
dimension
= 2¶
-
-
class
fudge.gnds.productData.distributions.energy.
energyFunctionalData
(data)[source]¶ Bases:
xData.ancestry.ancestry
-
ancestryMembers
= ('data',)¶
-
-
class
fudge.gnds.productData.distributions.energy.
energyFunctionalDataToPointwise
(data, evaluateAtX)[source]¶ Bases:
object
-
class
fudge.gnds.productData.distributions.energy.
evaporationSpectrum
(U, thetas)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.functionalBase
-
moniker
= 'evaporation'¶
-
-
class
fudge.gnds.productData.distributions.energy.
form
(label, productFrame, energySubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
I think this is only used to convert to ENDF6. If so, should be moved to site_packages/legacy/toENDF6/productData/distributions/energy.py
-
moniker
= 'energy'¶
-
subformAttributes
= ('energySubform',)¶
-
-
class
fudge.gnds.productData.distributions.energy.
functionalBase
(LF, U, parameter1, parameter2=None)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
-
ancestryMembers
= ('parameter1', 'parameter2')¶
-
domainMax
¶
-
domainMin
¶
-
-
class
fudge.gnds.productData.distributions.energy.
g
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.energyFunctionalData
-
moniker
= 'g'¶
-
-
class
fudge.gnds.productData.distributions.energy.
generalEvaporationSpectrum
(U, thetas, gs)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.functionalBase
-
isLinear
(qualifierOk=False, flatIsOk=False)[source]¶ Returns the results of isLinear called on the axes of g(E’|E).
-
moniker
= 'generalEvaporation'¶
-
-
class
fudge.gnds.productData.distributions.energy.
primaryGamma
(value, domainMin, domainMax, axes=None)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.discretePrimaryGamma
-
massRatio
¶
-
moniker
= 'primaryGamma'¶
-
-
class
fudge.gnds.productData.distributions.energy.
regions1d
(axes=None, index=None, valueType='Float64', value=None, label=None)[source]¶ Bases:
xData.regions.regions1d
-
class
fudge.gnds.productData.distributions.energy.
regions2d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
,xData.regions.regions2d
-
class
fudge.gnds.productData.distributions.energy.
simpleMaxwellianFissionSpectrum
(U, thetas)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.functionalBase
-
moniker
= 'simpleMaxwellianFission'¶
-
-
class
fudge.gnds.productData.distributions.energy.
subform
[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
Abstract base class for energy forms.
-
class
fudge.gnds.productData.distributions.energy.
theta
(data)[source]¶ Bases:
fudge.gnds.productData.distributions.energy.energyFunctionalData
-
moniker
= 'theta'¶
-
-
class
fudge.gnds.productData.distributions.energy.
weighted
(weight, functional)[source]¶ Bases:
xData.ancestry.ancestry
-
ancestryMembers
= ('weight', 'functional')¶
-
moniker
= 'weighted'¶
-
-
class
fudge.gnds.productData.distributions.energy.
weightedFunctionals
[source]¶ Bases:
fudge.gnds.productData.distributions.energy.subform
-
ancestryMembers
= ('[weights',)¶
-
moniker
= 'weightedFunctionals'¶
-
fudge.gnds.productData.distributions.energyAngular module¶
Energy/angular double differential distribution classes.
-
class
fudge.gnds.productData.distributions.energyAngular.
Legendre
(coefficients, domainMin=-1, domainMax=1, lowerIndex=0, axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ')[source]¶ Bases:
xData.series1d.LegendreSeries
-
class
fudge.gnds.productData.distributions.energyAngular.
XYs1d
(data=None, dataForm='xys', interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, sep=' ', initialSize=10, overflowSize=10, infill=True, safeDivide=False)[source]¶ Bases:
xData.XYs.XYs1d
-
class
fudge.gnds.productData.distributions.energyAngular.
XYs2d
(interpolation='lin-lin', axes=None, index=None, valueType='Float64', value=None, label=None, interpolationQualifier='')[source]¶ Bases:
xData.multiD_XYs.XYs2d
-
class
fudge.gnds.productData.distributions.energyAngular.
XYs3d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.energyAngular.subform
,xData.multiD_XYs.XYs3d
-
class
fudge.gnds.productData.distributions.energyAngular.
form
(label, productFrame, energyAngularSubform)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
-
ancestryMembers
= ('energyAngularSubform',)¶
-
moniker
= 'energyAngular'¶
-
subformAttributes
= ('energyAngularSubform',)¶
-
-
class
fudge.gnds.productData.distributions.energyAngular.
regions3d
(**kwargs)[source]¶ Bases:
fudge.gnds.productData.distributions.energyAngular.subform
,xData.regions.regions3d
-
class
fudge.gnds.productData.distributions.energyAngular.
subform
[source]¶ Bases:
fudge.gnds.productData.distributions.base.subform
Abstract base class for energyAngular subforms.
fudge.gnds.productData.distributions.miscellaneous module¶
-
fudge.gnds.productData.distributions.miscellaneous.
GaussQuadrature2
(function, parameters, a, b)[source]¶
-
fudge.gnds.productData.distributions.miscellaneous.
GnG_adaptiveQuadrature
(function, a, b, parameters, quadrature, tolerance, maxEvaluations=1000)[source]¶
fudge.gnds.productData.distributions.photonScattering module¶
Coherent and incoherent photon scattering forms.
-
class
fudge.gnds.productData.distributions.photonScattering.
baseForm
(link=None, root=None, path=None, relative=False, label=None)[source]¶ Bases:
fudge.gnds.productData.distributions.base.form
,xData.link.link
-
productFrame
¶
-