The Elk Code
rfmtsm.f90
Go to the documentation of this file.
1
2
! Copyright (C) 2013 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3
! This file is distributed under the terms of the GNU General Public License.
4
! See the file COPYING for license details.
5
6
subroutine
rfmtsm
(m,nr,nri,rfmt)
7
use
modmain
8
implicit none
9
! arguments
10
integer
,
intent(in)
:: m,nr,nri
11
real(8)
,
intent(inout)
:: rfmt(*)
12
! local variables
13
integer
nro,iro,lm
14
integer
i1,j0,j1
15
! automatic arrays
16
real(8)
fr(nr)
17
nro=nr-nri
18
iro=nri+1
19
do
lm=1,
lmmaxi
20
i1=
lmmaxi
*(nri-1)+lm
21
j0=i1+
lmmaxi
22
j1=
lmmaxo
*(nr-iro)+j0
23
fr(1:nri)=rfmt(lm:i1:
lmmaxi
)
24
fr(iro:nr)=rfmt(j0:j1:
lmmaxo
)
25
call
fsmooth
(m,nr,fr)
26
rfmt(lm:i1:
lmmaxi
)=fr(1:nri)
27
rfmt(j0:j1:
lmmaxo
)=fr(iro:nr)
28
end do
29
do
lm=
lmmaxi
+1,
lmmaxo
30
j0=
lmmaxi
*nri+lm
31
j1=
lmmaxo
*(nr-iro)+j0
32
fr(iro:nr)=rfmt(j0:j1:
lmmaxo
)
33
call
fsmooth
(m,nro,fr(iro))
34
rfmt(j0:j1:
lmmaxo
)=fr(iro:nr)
35
end do
36
end subroutine
37
modmain::lmmaxo
integer lmmaxo
Definition:
modmain.f90:203
fsmooth
pure subroutine fsmooth(m, n, f)
Definition:
fsmooth.f90:10
modmain
Definition:
modmain.f90:6
rfmtsm
subroutine rfmtsm(m, nr, nri, rfmt)
Definition:
rfmtsm.f90:7
modmain::lmmaxi
integer lmmaxi
Definition:
modmain.f90:207
rfmtsm.f90
Generated by
1.8.14