WAVEWATCH III  beta 0.0.1
yowelementpool Module Reference

Functions/Subroutines

logical function, public belongto (ele_in, rank)
 Returns true if the element belongs to rank. More...
 
subroutine, public finalizeelementpool ()
 

Variables

integer, public ne_global = 0
 number of elements, global More...
 
integer, public ne = 0
 number of local elements More...
 
integer, dimension(:,:), allocatable, target, public ine
 number of elements of the augmented domain More...
 
integer, dimension(:), allocatable, target, public ielg
 global element array. More...
 

Function/Subroutine Documentation

◆ belongto()

logical function, public yowelementpool::belongto ( integer, dimension(3), intent(in)  ele_in,
integer, intent(in), optional  rank 
)

Returns true if the element belongs to rank.

conversione: If a element is connected to domain 1,2 and 3. It belongs to 1,2 and 3.

Parameters
[in]rankoptional. If not given, datapool:myrank is used

Definition at line 74 of file yowelementpool.F90.

74  use yowdatapool, only: myrank, ntasks
75  use yownodepool, only: t_node, nodes_global
76  implicit none
77  integer, intent(in) :: ele_in(3)
78  integer, intent(in), optional :: rank
79  logical :: belongTo
80 
81  integer :: myDomainID
82  integer :: nodes(3)
83  integer J
84 
85  if(present(rank) .eqv. .true.) then
86  mydomainid = rank +1
87  else
88  mydomainid = myrank + 1
89  endif
90 
91  ! check if this element adjoint to three different domains.
92  belongto = .false.
93  DO j=1,3
94  IF (nodes_global(ele_in(j)) % domainID == mydomainid) THEN
95  belongto = .true.
96  END IF
97  END DO

References yowdatapool::myrank, yownodepool::nodes_global, and yowdatapool::ntasks.

Referenced by yowpdlibmain::postpartition2().

◆ finalizeelementpool()

subroutine, public yowelementpool::finalizeelementpool

Definition at line 102 of file yowelementpool.F90.

102  implicit none
103 
104  if(allocated(ine)) deallocate(ine)
105  !if(allocated(INE_global)) deallocate(INE_global)
106  if(allocated(ielg)) deallocate(ielg)

References ielg, and ine.

Referenced by yowpdlibmain::finalizepd().

Variable Documentation

◆ ielg

integer, dimension(:), allocatable, target, public yowelementpool::ielg

global element array.

it stored the global node IDs first index from 1 to 3. second index from 1 to ne_global Element local to global mapping ne long. give the global element id

Definition at line 65 of file yowelementpool.F90.

65  integer, public, target, allocatable :: ielg(:)

Referenced by yowpdlibmain::computetria_ien_si_ccon(), wmesmfmd::createexpmesh(), yowpdlibmain::element_crosses_dateline(), finalizeelementpool(), yowpdlibmain::postpartition2(), and w3triamd::ug_gradients().

◆ ine

◆ ne

◆ ne_global

yowelementpool::ielg
integer, dimension(:), allocatable, target, public ielg
global element array.
Definition: yowelementpool.F90:65
yownodepool
Has data that belong to nodes.
Definition: yownodepool.F90:39
yownodepool::t_node
Holds the nodes data.
Definition: yownodepool.F90:48
yowdatapool
Has fancy data.
Definition: yowdatapool.F90:39
yowelementpool::ine
integer, dimension(:,:), allocatable, target, public ine
number of elements of the augmented domain
Definition: yowelementpool.F90:56
yownodepool::nodes_global
type(t_node), dimension(:), allocatable, target, public nodes_global
all nodes with their data.
Definition: yownodepool.F90:103