Houses InelasticGridData class
Determine whether separate W and emit interpolations are valid and incorporate class into test suite
Return fixed mapping matrix with given index
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(InelasticGridData), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Return fixed emission vector for mapping matrix with given index
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(InelasticGridData), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | ind |
Return interpolated emission vector for given input energy E
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(InelasticGridData), | intent(in) | :: | this | |||
real(kind=rk), | intent(in) | :: | E |
Inelastic grid data initialization routine
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(InelasticGridData), | intent(inout) | :: | this | |||
type(VSpace), | intent(in) | :: | space |
Velocity space on which weights should be calculated |
||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | fixedEnergies |
Energy values for fixed energy mappings |
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | interpolationGrid |
Energy values for mappings on the interpolation grid |
Interpolate mapping matrices for given energy and store in passed triangular matrix. Assumes upper triangular structure for wRes if E is positive and lower if it's negative
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(InelasticGridData), | intent(in) | :: | this | |||
real(kind=rk), | intent(in) | :: | E |
Transition energy to interpolate for |
||
type(SparseRowData), | intent(inout) | :: | wRes |
Lower/upper triangular matrix to store the interpolated weights |
Object responsible for storing inelastic mapping matrices, determining active emitter cels, and interpolating variable energy mapping matrices
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private, | allocatable, dimension(:) | :: | eInterpGrid |
Energy grid for interpolating variable energy mappings |
||
type(SparseRowData), | private, | allocatable, dimension(:) | :: | interpW |
Mappings evaluated on the interpolation grid |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | fixedE |
Energies used to evaluate fixed mappings |
||
type(SparseRowData), | private, | allocatable, dimension(:) | :: | fixedW |
Mappings with fixed transition energies |
||
type(RealArray), | private, | allocatable, dimension(:) | :: | fixedEmissionVecs |
Emission vectors for fixed mappings |
||
integer(kind=ik), | public | :: | numV |
Local copy of velocity grid size used for building emission vectors |
procedure, public :: isDefined => isDefinedObject | |
procedure, public :: makeDefined => makeDefinedObject | |
procedure, public :: makeUndefined => makeUndefinedObject | |
procedure, public :: getFixedW | |
procedure, public :: getFixedEmissionVector | |
procedure, public :: interpolateW | |
procedure, public :: getInterpolatedEmissionVector | |
procedure, public :: init => initInelData |