*** SEEFMM_MIX - Implementation of Simple Exponential Expansion FMM
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=jpim), | public | :: | nfmm_lim | = | 200 | ||
integer(kind=jpim), | public, | parameter | :: | nquadEm14 | = | 28 | |
integer(kind=jpim), | public, | parameter | :: | nquadEm10 | = | 20 | |
integer(kind=jpim), | public, | parameter | :: | nquadEm07 | = | 14 |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=jpim), | public | :: | nxy | ||||
integer(kind=jpim), | public | :: | nx | ||||
integer(kind=jpim), | public | :: | nquad | ||||
integer(kind=jpim), | public | :: | ncik | ||||
real(kind=JPRBT), | public | :: | rw(56) | ||||
real(kind=JPRBT), | public, | pointer | :: | rdexp(:,:) | |||
integer(kind=jpim), | public, | pointer | :: | index(:) | |||
integer(kind=jpim), | public, | pointer | :: | nclose(:) | |||
real(kind=JPRBT), | public, | pointer | :: | cik(:) |
*** SETUP_SEEFMM - Setup seefmm
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kx | |||
real(kind=jprd), | intent(in) | :: | px(:) | |||
integer(kind=jpim), | intent(in) | :: | ky | |||
real(kind=JPRBT), | intent(in) | :: | py(:) | |||
type(fmm_type), | intent(out) | :: | ydfmm | |||
real(kind=JPRBT), | intent(in), | optional | :: | pdiff(:,:) |
*** FREE_SEEFMM - Release memory
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(fmm_type), | intent(inout) | :: | ydfmm |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kn | |||
integer(kind=jpim), | intent(in) | :: | kx | |||
logical, | intent(in) | :: | ldxout | |||
integer(kind=jpim), | intent(in) | :: | kquad | |||
real(kind=JPRBT), | intent(in) | :: | prw(:) | |||
real(kind=JPRBT), | intent(in) | :: | pq(:) | |||
real(kind=JPRBT), | intent(in) | :: | prdexp(:,:) | |||
integer(kind=jpim), | intent(in) | :: | kindex(:) | |||
integer(kind=jpim), | intent(in) | :: | kclosel(:) | |||
integer(kind=jpim), | intent(in) | :: | kcik | |||
real(kind=JPRBT), | intent(in) | :: | pcik(:) | |||
real(kind=JPRBT), | intent(out) | :: | ptheta(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(fmm_type), | intent(in) | :: | ydfmm | |||
logical, | intent(in) | :: | ldxout | |||
real(kind=JPRBT), | intent(in) | :: | pq(:) | |||
real(kind=JPRBT), | intent(out) | :: | ptheta(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(fmm_type), | intent(in) | :: | ydfmm | |||
integer(kind=jpim), | intent(in) | :: | km | |||
integer(kind=jpim), | intent(in) | :: | kskip | |||
logical, | intent(in) | :: | ldxout | |||
real(kind=JPRBT), | intent(in) | :: | pq(:,:) | |||
real(kind=JPRBT), | intent(out) | :: | ptheta(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kn | |||
integer(kind=jpim), | intent(in) | :: | km | |||
integer(kind=jpim), | intent(in) | :: | kskip | |||
integer(kind=jpim), | intent(in) | :: | kx | |||
logical, | intent(in) | :: | ldxout | |||
integer(kind=jpim), | intent(in) | :: | kquad | |||
real(kind=JPRBT), | intent(in) | :: | prw(:) | |||
real(kind=JPRBT), | intent(in) | :: | pq(:,:) | |||
real(kind=JPRBT), | intent(in) | :: | prdexp(:,:) | |||
integer(kind=jpim), | intent(in) | :: | kindex(:) | |||
integer(kind=jpim), | intent(in) | :: | kclosel(:) | |||
integer(kind=jpim), | intent(in) | :: | kcik | |||
real(kind=JPRBT), | intent(in) | :: | pcik(:) | |||
real(kind=JPRBT), | intent(out) | :: | ptheta(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kn | |||
real(kind=JPRBT), | intent(in) | :: | prange | |||
integer(kind=jpim), | intent(in) | :: | kquad | |||
real(kind=JPRBT), | intent(out) | :: | prw(:) | |||
real(kind=JPRBT), | intent(out) | :: | prt(:) | |||
real(kind=JPRBT), | intent(out) | :: | pr |
$do jxy=1,kxy $ kindex(irank(jxy))=jxy $enddo
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kx | |||
real(kind=jprd), | intent(in) | :: | px(:) | |||
integer(kind=jpim), | intent(in) | :: | ky | |||
real(kind=JPRBT), | intent(in) | :: | py(:) | |||
integer(kind=jpim), | intent(in) | :: | kxy | |||
real(kind=JPRBT), | intent(out) | :: | pxy(:) | |||
integer(kind=jpim), | intent(out) | :: | kindex(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=jpim), | intent(in) | :: | kx | |||
integer(kind=jpim), | intent(in) | :: | kxy | |||
integer(kind=jpim), | intent(in) | :: | kquad | |||
real(kind=JPRBT), | intent(in) | :: | prw(:) | |||
real(kind=JPRBT), | intent(in) | :: | prt(:) | |||
real(kind=JPRBT), | intent(in) | :: | pr | |||
real(kind=JPRBT), | intent(in) | :: | pxy(:) | |||
integer(kind=jpim), | intent(in) | :: | kindex(:) | |||
real(kind=JPRBT), | intent(out) | :: | prdexp(:,:) | |||
integer(kind=jpim), | intent(out) | :: | kclosel(:) | |||
real(kind=JPRBT), | intent(out) | :: | pcik(:) | |||
integer(kind=jpim), | intent(out) | :: | knocik | |||
real(kind=JPRBT), | intent(in), | optional | :: | pdiff(:,:) |