Object responsible for taking velocity moments of distributions and other velocity grid manipulation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
real(kind=rk), | private, | allocatable, dimension(:) | :: | vGrid |
Copy of velocity grid |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | vWidths |
Velocity grid cell widths |
||
real(kind=rk), | private, | allocatable, dimension(:) | :: | linInterp |
Linear interpolation coefficient for cell faces in velocity space |
||
integer(kind=ik), | public | :: | numV |
Number of velocity cells |
|||
integer(kind=ik), | public | :: | numH |
Number of harmonics |
Getter for userDefined
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(in) | :: | this |
Set userDefined to .true.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Set userDefined to .false.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(Object), | intent(inout) | :: | this |
Getter for vWidths
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this |
Getter for vGrid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this |
Return total number of resolved harmonic on grid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this |
Return number of v points on grid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this |
Getter for linInterp
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this |
Calculate moment of the h-th harmonic of passed local distribution function f, optionally multiplied by g(v). If gDependsOnX is .true. assumes that g is given as a strided array with stride numV, and it is used to allocate the result - this allows g to not have a halo while f does. The moment is of order mOrder.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | f | ||
integer(kind=ik), | intent(in) | :: | h | |||
integer(kind=ik), | intent(in) | :: | mOrder | |||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | g | |
logical, | intent(in), | optional | :: | gDependsOnX |
Return two nearest points for given velocity value v. If the first point is 0, the velocity is below the lowest velocity in the grid, and if the second point is 0 the velocity is above the greatest v in the grid.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this | |||
real(kind=rk), | intent(in) | :: | v |
Return index of cell which containes the given velocity value v. If the returned index is 0, the point is outside of the grid.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this | |||
real(kind=rk), | intent(in) | :: | v |
Return sparse row data format for the lower triangular Shkarofsky I_index integral.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | index |
Return sparse row data format for the upper triangular Shkarofsky J_index integral.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(VSpace), | intent(in) | :: | this | |||
integer(kind=ik), | intent(in) | :: | index |