Loop over all mode and store it's corresponding and m-values. This should maybe made into a type bound procedure.
This sets this%ll and this%mm.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(scal_schw), | intent(inout) | :: | this | The mode information will be set for this scal_schw object. |
||
integer(kind=ip), | intent(in) | :: | lmin | The mininum -value. |
||
integer(kind=ip), | intent(in) | :: | lmax | The mininum -value. |
subroutine set_lm_mode_info ( this, lmin, lmax )
!! Loop over all mode and store it's corresponding \(\ell\) and m-values.
!! This should maybe made into a type bound procedure.
!!
!! This sets this%[[scal_schw:ll]] and this%[[scal_schw:mm]].
implicit none
type(scal_schw), intent(inout) :: this
!! The mode information will be set for this [[scal_schw]] object.
integer(ip), intent(in) :: lmin
!! The mininum \(\ell\)-value.
integer(ip), intent(in) :: lmax
!! The mininum \(\ell\)-value.
integer(ip) :: l, m, nn
nn = 0
do l = lmin, lmax
do m = mod(l,2), l, 2
nn = nn+1
this%ll(nn) = l
this%mm(nn) = m
end do
end do
end subroutine set_lm_mode_info