BUTTERFLY_ALG_MOD Module


Uses

  • module~~butterfly_alg_mod~~UsesGraph module~butterfly_alg_mod BUTTERFLY_ALG_MOD PARKIND1 PARKIND1 module~butterfly_alg_mod->PARKIND1 module~ectrans_blas_mod ECTRANS_BLAS_MOD module~butterfly_alg_mod->module~ectrans_blas_mod module~interpol_decomp_mod INTERPOL_DECOMP_MOD module~butterfly_alg_mod->module~interpol_decomp_mod module~sharedmem_mod SHAREDMEM_MOD module~butterfly_alg_mod->module~sharedmem_mod EC_PARKIND EC_PARKIND module~ectrans_blas_mod->EC_PARKIND module~interpol_decomp_mod->EC_PARKIND iso_c_binding iso_c_binding module~sharedmem_mod->iso_c_binding

Used by

  • module~~butterfly_alg_mod~~UsedByGraph module~butterfly_alg_mod BUTTERFLY_ALG_MOD module~tpm_flt TPM_FLT module~tpm_flt->module~butterfly_alg_mod proc~ledirad LEDIRAD proc~ledirad->module~butterfly_alg_mod proc~ledir~2 LEDIR proc~ledir~2->module~butterfly_alg_mod proc~leinvad LEINVAD proc~leinvad->module~butterfly_alg_mod proc~leinv~2 LEINV proc~leinv~2->module~butterfly_alg_mod proc~read_legpol~2 READ_LEGPOL proc~read_legpol~2->module~butterfly_alg_mod proc~suleg~2 SULEG proc~suleg~2->module~butterfly_alg_mod proc~write_legpol~2 WRITE_LEGPOL proc~write_legpol~2->module~butterfly_alg_mod

Derived Types

type, public ::  NODE_TYPE

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: ILEV = 0
integer(kind=JPIM), public :: IFCOL = 0
integer(kind=JPIM), public :: ILCOL = 0
integer(kind=JPIM), public :: IFROW = 0
integer(kind=JPIM), public :: ILROW = 0
integer(kind=JPIM), public :: ICOLS = 0
integer(kind=JPIM), public :: IROWS = 0
integer(kind=JPIM), public :: IRANK = 0
integer(kind=JPIM), public :: IOFFBETA = 0
integer(kind=JPIM), public, POINTER :: ICLIST(:) => NULL()
real(kind=JPRB), public, POINTER :: PNONIM(:) => NULL()
real(kind=JPRB), public, POINTER :: B(:,:) => NULL()
real(kind=JPRD), public, POINTER :: DB(:,:) => NULL()

type, public ::  LEV_STRUCT

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: IJ = 0
integer(kind=JPIM), public :: IK = 0
integer(kind=JPIM), public :: IBETALEN = 0
type(NODE_TYPE), public, POINTER :: NODE(:,:) => NULL()

type, public ::  BUTTERFLY_STRUCT

Components

Type Visibility Attributes Name Initial
integer(kind=JPIM), public :: M_ORDER = 0
integer(kind=JPIM), public :: N_ORDER = 0
integer(kind=JPIM), public :: N_CMAX = 0
integer(kind=JPIM), public :: N_LEVELS = 0
integer(kind=JPIM), public :: IBETALEN_MAX = 0
type(LEV_STRUCT), public, POINTER :: SLEV(:) => NULL()

type, public ::  CLONE

Components

Type Visibility Attributes Name Initial
real(kind=JPRB), public, ALLOCATABLE :: COMMSBUF(:)

Subroutines

public subroutine CONSTRUCT_BUTTERFLY(PEPS, KCMAX, KM, KN, PMAT, YD_STRUCT)

Arguments

Type IntentOptional Attributes Name
real(kind=JPRD), intent(in) :: PEPS
integer(kind=JPIM), intent(in) :: KCMAX
integer(kind=JPIM), intent(in) :: KM
integer(kind=JPIM), intent(in) :: KN
real(kind=JPRD), intent(in) :: PMAT(:,:)
type(BUTTERFLY_STRUCT), intent(inout) :: YD_STRUCT

public subroutine PACK_BUTTERFLY_STRUCT(YD_STRUCT, YD_CLONE)

Arguments

Type IntentOptional Attributes Name
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
type(CLONE), intent(out), TARGET :: YD_CLONE

public subroutine UNPACK_BUTTERFLY_STRUCT(YD_STRUCT, YD_CLONE, YDMEMBUF)

Arguments

Type IntentOptional Attributes Name
type(BUTTERFLY_STRUCT), intent(out) :: YD_STRUCT
type(CLONE), intent(in), optional, TARGET :: YD_CLONE
type(SHAREDMEM), intent(inout), optional :: YDMEMBUF

public subroutine MULT_BUTV(CDTRANS, YD_STRUCT, PVECIN, PVECOUT)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: CDTRANS
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
real(kind=JPRB), intent(in) :: PVECIN(:)
real(kind=JPRB), intent(out) :: PVECOUT(:)

public subroutine MULT_BUTM(CDTRANS, YD_STRUCT, KF, PVECIN, PVECOUT, KWV)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: CDTRANS
type(BUTTERFLY_STRUCT), intent(in) :: YD_STRUCT
integer(kind=JPIM), intent(in) :: KF
real(kind=JPRB), intent(in) :: PVECIN(:,:)
real(kind=JPRB), intent(out) :: PVECOUT(:,:)
integer(kind=JPIM), intent(in), optional :: KWV