seefmm_mix Module

*** SEEFMM_MIX - Implementation of Simple Exponential Expansion FMM

  • Interface. ----------

Uses

  • module~~seefmm_mix~~UsesGraph module~seefmm_mix seefmm_mix ecsort_mix ecsort_mix module~seefmm_mix->ecsort_mix module~wts500_mod~2 WTS500_MOD module~seefmm_mix->module~wts500_mod~2 parkind1 parkind1 module~seefmm_mix->parkind1

Derived Types

type, public ::  fmm_type

Components

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=jprb), public :: rw(56)
real(kind=jprb), public, pointer :: rdexp(:,:)
integer(kind=jpim), public, pointer :: index(:)
integer(kind=jpim), public, pointer :: nclose(:)
real(kind=jprb), public, pointer :: cik(:)

Subroutines

public recursive subroutine setup_seefmm(kx, px, ky, py, ydfmm, pdiff)

*** SETUP_SEEFMM - Setup seefmm

Arguments

Type IntentOptional Attributes Name
integer(kind=jpim), intent(in) :: kx
real(kind=jprd), intent(in) :: px(:)
integer(kind=jpim), intent(in) :: ky
real(kind=jprb), intent(in) :: py(:)
type(fmm_type), intent(out) :: ydfmm
real(kind=jprb), intent(in), optional :: pdiff(:,:)

public subroutine free_seefmm(ydfmm)

*** FREE_SEEFMM - Release memory

Arguments

Type IntentOptional Attributes Name
type(fmm_type), intent(inout) :: ydfmm

public recursive subroutine seefmm_mulm(ydfmm, km, kskip, ldxout, pq, ptheta)

Arguments

Type IntentOptional 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=jprb), intent(in) :: pq(:,:)
real(kind=jprb), intent(out) :: ptheta(:,:)