Class | lattice_class |
In: |
LatticeClass/lattice_class.F90
|
$Id: lattice_class.F90,v 1.23 2011/10/30 02:48:26 ishikawa Exp $
Constant : | |
C0 = (0.0_SP,0.0_SP) : | complex(SP), parameter |
Original external subprogram is constants_module#C0
Constant : | |
C1 = (1.0_SP,0.0_SP) : | complex(SP), parameter |
Original external subprogram is constants_module#C1
Constant : | |||
CHARLEN =256 : | integer, parameter
|
Original external subprogram is constants_module#CHARLEN
Constant : | |
CI = (0.0_SP,1.0_SP) : | complex(SP), parameter |
Original external subprogram is constants_module#CI
Constant : | |
DP = SELECTED_REAL_KIND(15) : | integer, parameter |
Original external subprogram is constants_module#DP
Constant : | |||
NTT =_NTT : | integer, parameter
|
Constant : | |
ONE = 1.0_DP : | real(DP), parameter |
Original external subprogram is constants_module#ONE
Constant : | |
PI = 4 * ATAN(1.0_DP) : | real(DP), parameter |
Original external subprogram is constants_module#PI
Constant : | |
SP = SELECTED_REAL_KIND(6) : | integer, parameter |
Original external subprogram is constants_module#SP
Constant : | |||
SW_OFF = 0 : | integer, parameter
|
Original external subprogram is constants_module#SW_OFF
Constant : | |||
SW_ON = 1 : | integer, parameter
|
Original external subprogram is constants_module#SW_ON
Constant : | |
TWO = 2.0_DP : | real(DP), parameter |
Original external subprogram is constants_module#TWO
Constant : | |
Z0 = (0.0_DP,0.0_DP) : | complex(DP), parameter |
Original external subprogram is constants_module#Z0
Constant : | |
Z1 = (1.0_DP,0.0_DP) : | complex(DP), parameter |
Original external subprogram is constants_module#Z1
Constant : | |
ZERO = 0.0_DP : | real(DP), parameter |
Original external subprogram is constants_module#ZERO
Constant : | |
ZI = (0.0_DP,1.0_DP) : | complex(DP), parameter |
Original external subprogram is constants_module#ZI
Subroutine : | |
this : | type(lattice_world), intent(inout) |
Delete lattice constants, node information (next to nearest node rank etc.)
subroutine delete_lattice(this) ! ! Delete lattice constants, node information (next to nearest node rank etc.) ! use comlib implicit none type(lattice_world), intent(inout) :: this if (.not.m_is_initialized) return #ifndef _singlePU call comlib_finalize() #endif m_is_initialized = .FALSE. return end subroutine
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
scl : | real(8), intent(inout) |
Get random number scalar
generate normalized random numbers: 0 < scl < 1
- this : rand_gfsr_obj - scl : uniform random number scalar
Original external subprogram is random_class#get
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
vec(:) : | real(8), intent(inout) |
Get real random number vector
generate normalized random numbers: 0 < vec(:) < 1
- this : rand_gfsr_obj - vec : uniform random number vector
Original external subprogram is random_class#get
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
vec(:) : | real(8), intent(inout) |
Get real random number vector
generate normalized random numbers: 0 <= vec(:) <= 1
- this : rand_gfsr_obj - vec : uniform random number vector
Original external subprogram is random_class#get_rand2
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
vec(:) : | real(8), intent(inout) |
Get real random number vector
generate normalized random numbers: 0 <= vec(:) < 1
- this : rand_gfsr_obj - vec : uniform random number vector
Original external subprogram is random_class#get_rand3
Function : | |
status : | logical |
this : | type(lattice_world), intent(in) |
return lattice initialization status
.true.:: lattice is initialized
.false.: | lattice is not initialized |
function is_initialized_lattice(this) result(status) ! ! return lattice initialization status ! ! .true.:: lattice is initialized ! .false.:: lattice is not initialized ! implicit none type(lattice_world), intent(in) :: this logical :: status status = m_is_initialized return end function
Subroutine : | |
this : | type(lattice_world), intent(inout) |
Initialize lattice constants, node information (next to nearest node rank etc.)
subroutine new_lattice(this) ! ! Initialize lattice constants, node information (next to nearest node rank etc.) ! use comlib #ifdef _QMX_ use qmxf03_module #endif implicit none type(lattice_world), intent(inout) :: this #ifndef _singlePU integer :: npe #endif if (m_is_initialized) then write(*,'("Lattice_world is already initialized.")') return endif !------------------------- ! Set node information !------------------------- #ifndef _singlePU call comlib_init call comlib_node(nodeid,npe) if (npe.NE.NPU) then write(*,'(" Error : PE num: NPU=",I5," npe=",I5)') call comlib_finalize stop 999 endif #ifdef _QMX_ ipsite(1) = qmx_get_2d_local_rank_x() ipsite(2) = qmx_get_2d_local_rank_y() ipsite(3) = 0 ipeo=mod(ipsite(1)*NX+ipsite(2)*NY+ipsite(3)*NZ,2) nodeidup(1) = qmx_get_2d_next_x_rank() nodeiddn(1) = qmx_get_2d_prev_x_rank() nodeidup(2) = qmx_get_2d_next_y_rank() nodeiddn(2) = qmx_get_2d_prev_y_rank() nodeidup(3) = nodeid nodeiddn(3) = nodeid #else ipsite(1)=mod(nodeid,NDIMX) ipsite(2)=mod(nodeid/NDIMX,NDIMY) ipsite(3)=mod(nodeid/NDIMX/NDIMY,NDIMZ) ipeo=mod(ipsite(1)*NX+ipsite(2)*NY+ipsite(3)*NZ,2) nodeidup(1)=mod(ipsite(1)+1,NDIMX) +ipsite(2) *NDIMX +ipsite(3) *NDIMX*NDIMY nodeiddn(1)=mod(ipsite(1)-1+NDIMX,NDIMX) +ipsite(2) *NDIMX +ipsite(3) *NDIMX*NDIMY nodeidup(2)= ipsite(1) +mod(ipsite(2)+1,NDIMY) *NDIMX +ipsite(3) *NDIMX*NDIMY nodeiddn(2)= ipsite(1) +mod(ipsite(2)-1+NDIMY,NDIMY)*NDIMX +ipsite(3) *NDIMX*NDIMY nodeidup(3)= ipsite(1) +ipsite(2) *NDIMX +mod(ipsite(3)+1,NDIMZ) *NDIMX*NDIMY nodeiddn(3)= ipsite(1) +ipsite(2) *NDIMX +mod(ipsite(3)-1+NDIMZ,NDIMZ)*NDIMX*NDIMY #endif #else ipsite(1)=0 ipsite(2)=0 ipsite(3)=0 ipeo=0 nodeid=0 #endif m_is_initialized = .TRUE. return end subroutine
Subroutine : | |
this : | type(lattice_world), intent(inout) |
Print out Lattice configuration (size,partition,etc...) on display
subroutine print_lattice(this) ! ! Print out Lattice configuration (size,partition,etc...) on display ! implicit none type(lattice_world), intent(inout) :: this if (nodeid==0) then write(*,'(16X," Lattice Size :",4I3)')NTX,NTY,NTZ,NTT write(*,'(16X,"PU Lattice Size :",4I3)')NX ,NY ,NZ ,NT write(*,'(16X," PU Array Size :",4I3)')NDIMX,NDIMY,NDIMZ,1 endif return end subroutine
Derived Type : | |||
rr(:) : | real(8), pointer
| ||
seed(:) : | integer(prc), pointer
| ||
irhere : | integer(INT)
| ||
irseed : | integer(INT)
| ||
myid : | integer(INT)
| ||
NPU : | integer(INT)
|
Original external subprogram is random_class#rand_gfsr_obj
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
iout : | integer, intent(in) |
Original external subprogram is random_class#read
Subroutine : | |
this : | type(rand_gfsr_obj), intent(inout) |
iout : | integer, intent(in) |
Original external subprogram is random_class#save