WAVEWATCH III  beta 0.0.1
yownodepool Module Reference

Has data that belong to nodes. More...

Data Types

type  t_node
 Holds the nodes data. More...
 

Functions/Subroutines

type(t_node) function, pointer, public nodes (id_local)
 return pointer to the (global) node from the local id. More...
 
type(t_node) function, pointer, public ghosts (id)
 return pointer to the (global) (ghost) node Ghost nodes are nodes in the global node array, with the particularity that their local id is the id from another domain This is in effekt ghostlg(1:ng) More...
 
subroutine, public finalizenodepool ()
 

Variables

real(rkind), dimension(:), allocatable, target, public x
 coordinates of the local + ghost nodes. More...
 
real(rkind), dimension(:), allocatable, target, public y
 
real(rkind), dimension(:), allocatable, target, public z
 
real(rkind), dimension(:), allocatable, target, public pdlib_si
 
real(rkind), dimension(:), allocatable, target, public pdlib_tria
 
real(rkind), dimension(:), allocatable, target, public pdlib_tria03
 
real(rkind), dimension(:,:), allocatable, target, public pdlib_ien
 
integer, dimension(:), allocatable, target, public pdlib_ccon
 
integer, dimension(:), allocatable, target, public pdlib_ia
 
integer, dimension(:), allocatable, target, public pdlib_ja
 
integer, dimension(:), allocatable, target, public pdlib_ia_p
 
integer, dimension(:), allocatable, target, public pdlib_ja_p
 
integer, dimension(:,:,:), allocatable, target, public pdlib_ja_ie
 
integer, dimension(:), allocatable, target, public pdlib_pos_cell
 
integer, dimension(:), allocatable, target, public pdlib_ie_cell
 
integer, dimension(:,:), allocatable, target, public pdlib_ie_cell2
 
integer, dimension(:,:), allocatable, target, public pdlib_pos_cell2
 
integer, dimension(:,:), allocatable, target, public pdlib_posi
 
integer, dimension(:), allocatable, target, public pdlib_i_diag
 
integer, dimension(:), allocatable, target, public listnp
 
integer, dimension(:), allocatable, target, public listnpa
 
integer, dimension(:), allocatable, target, public listiplg
 
integer, public np_global = 0
 number of nodes, global More...
 
integer, public pdlib_nnz = 0
 
integer, public np = 0
 number of nodes, local More...
 
integer, public ng = 0
 number of ghost nodes this partition holds More...
 
integer, public npa = 0
 number of ghost + resident nodes this partition holds More...
 
type(t_node), dimension(:), allocatable, target, public nodes_global
 all nodes with their data. More...
 
integer, public maxconnnodes = 0
 max number of conntected nodes to a node More...
 
integer, dimension(:,:), allocatable, public connnodes_data
 conntected Node Array. More...
 
integer, dimension(:), allocatable, public iplg
 Node local to global mapping. More...
 
integer, dimension(:), allocatable, public ipgl
 Node global to local mapping np_global long. More...
 
integer, dimension(:), allocatable, public ghostlg
 Ghost local to global mapping ng long. More...
 
integer, dimension(:), allocatable, public ghostgl
 Ghost global to local mapping np_global long. More...
 
integer, dimension(:), allocatable, public np_perproc
 Numbers of Nodes pro Processor. More...
 
integer, dimension(:), allocatable, public np_perprocsum
 Number of Nodes pro Processor totalize. More...
 

Detailed Description

Has data that belong to nodes.

Function/Subroutine Documentation

◆ finalizenodepool()

subroutine, public yownodepool::finalizenodepool

Definition at line 220 of file yownodepool.F90.

220  implicit none
221 
222  if(allocated(x)) deallocate(x)
223  if(allocated(y)) deallocate(y)
224  if(allocated(z)) deallocate(z)
225  if(allocated(nodes_global)) deallocate(nodes_global)
226  if(allocated(connnodes_data)) deallocate(connnodes_data)
227  if(allocated(iplg)) deallocate(iplg)
228  if(allocated(ipgl)) deallocate(ipgl)
229  if(allocated(ghostlg)) deallocate(ghostlg)
230  if(allocated(ghostgl)) deallocate(ghostgl)
231  if(allocated(np_perproc)) deallocate(np_perproc)
232  if(allocated(np_perprocsum)) deallocate(np_perprocsum)

References connnodes_data, ghostgl, ghostlg, ipgl, iplg, nodes_global, np_perproc, np_perprocsum, x, y, and z.

Referenced by yowpdlibmain::finalizepd().

◆ ghosts()

type(t_node) function, pointer, public yownodepool::ghosts ( integer, intent(in)  id)

return pointer to the (global) (ghost) node Ghost nodes are nodes in the global node array, with the particularity that their local id is the id from another domain This is in effekt ghostlg(1:ng)

Parameters
idCounts from 1 to ng
Returns
pointer to the (global) node

Definition at line 172 of file yownodepool.F90.

172  implicit none
173  integer, intent(in) :: id
174  type(t_Node), pointer :: ghosts
175  ghosts => nodes_global(ghostlg(id))

References connnodes_data, ghostlg, nodes_global, and np.

Referenced by yowpdlibmain::findconndomains(), yowpdlibmain::findghostnodes(), yowexchangemodule::pdlib_exchange1dreal(), and yowexchangemodule::pdlib_exchange2dreal().

◆ nodes()

type(t_node) function, pointer, public yownodepool::nodes ( integer, intent(in)  id_local)

return pointer to the (global) node from the local id.

This is in effekt iplg(id_local)

Parameters
id_localthe local node number
Returns
poiner to the (global) node

Definition at line 159 of file yownodepool.F90.

159  implicit none
160  integer, intent(in) :: id_local
161  type(t_Node), pointer :: nodes
162  nodes => nodes_global(iplg(id_local))

References iplg, and nodes_global.

Referenced by yowpdlibmain::exchangeghostids(), yowpdlibmain::findconnnodes(), yowpdlibmain::findghostnodes(), yowpdlibmain::postpartition(), and yowpdlibmain::runparmetis().

Variable Documentation

◆ connnodes_data

integer, dimension(:,:), allocatable, public yownodepool::connnodes_data

conntected Node Array.

2D Array. Holds the global node numbers conntected to each other.

Parameters
1global node number from wich you want the neighbors
2from 1 to t_Node::nConnNodes

Definition at line 112 of file yownodepool.F90.

112  integer, public, allocatable :: connNodes_data(:,:)

Referenced by finalizenodepool(), yowpdlibmain::findconnnodes(), and ghosts().

◆ ghostgl

integer, dimension(:), allocatable, public yownodepool::ghostgl

Ghost global to local mapping np_global long.

give the local ghost node id. local ghost node ids for other ranks are set to 0!

Definition at line 129 of file yownodepool.F90.

129  integer, public, allocatable :: ghostgl(:)

Referenced by yowexchangemodule::creatempitype(), finalizenodepool(), and yowpdlibmain::findghostnodes().

◆ ghostlg

integer, dimension(:), allocatable, public yownodepool::ghostlg

Ghost local to global mapping ng long.

give the global node id of nodes, which belong to adjacent domains

Definition at line 125 of file yownodepool.F90.

125  integer, public, allocatable :: ghostlg(:)

Referenced by yowpdlibmain::computetria_ien_si_ccon(), yowpdlibmain::element_crosses_dateline(), finalizenodepool(), yowpdlibmain::findghostnodes(), ghosts(), and yowpdlibmain::postpartition2().

◆ ipgl

integer, dimension(:), allocatable, public yownodepool::ipgl

Node global to local mapping np_global long.

give the local node id but only for this rank. local node id for other ranks are set to 0!

Definition at line 120 of file yownodepool.F90.

120  integer, public, allocatable :: ipgl(:)

Referenced by yowexchangemodule::creatempitype(), finalizenodepool(), w3parall::get_jsea_ibelong(), w3parall::init_get_jsea_isproc(), yowpdlibmain::initfromgriddim(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), yowpdlibmain::postpartition(), and pdlib_w3profsmd::set_ug_iobp_pdlib_init().

◆ iplg

integer, dimension(:), allocatable, public yownodepool::iplg

Node local to global mapping.

np long. give the gobal node id

Definition at line 116 of file yownodepool.F90.

116  integer, public, allocatable :: iplg(:)

Referenced by pdlib_w3profsmd::action_limiter_local(), pdlib_w3profsmd::all_va_integral_print(), pdlib_w3profsmd::block_solver_init(), pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::calcarray_jacobi_spectral_1(), pdlib_w3profsmd::calcarray_jacobi_spectral_2(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_w3profsmd::check_array_integral_nx_r8_maxfunct(), w3wavset::compute_active_node(), yowfunction::computelistnp_listnpa_listiplg(), yowfunction::computelistnp_listnpa_listiplg_kernel(), yowpdlibmain::computetria_ien_si_ccon(), wmesmfmd::createexpmesh(), w3wavset::differentiate_xydir_mapsta(), yowpdlibmain::element_crosses_dateline(), yowrankmodule::exchangeiplg(), wmesmfmd::fieldindex(), finalizenodepool(), yowpdlibmain::findghostnodes(), w3parall::get_jsea_ibelong(), w3parall::init_get_isea(), w3parall::init_get_jsea_isproc(), yowpdlibmain::initfromgriddim(), nodes(), pdlib_w3profsmd::pdlib_explicit_block(), pdlib_w3profsmd::pdlib_init(), pdlib_w3profsmd::pdlib_iobp_init(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_mapsta_init(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), pdlib_w3profsmd::pdlib_w3xypug(), yowpdlibmain::postpartition(), yowpdlibmain::postpartition2(), yowpdlibmain::prepartition(), yowpdlibmain::runparmetis(), pdlib_w3profsmd::scal_integral_print_general(), pdlib_w3profsmd::set_iobdp_pdlib(), pdlib_w3profsmd::set_iobpa_pdlib(), pdlib_w3profsmd::set_ug_iobp_pdlib_init(), wmesmfmd::setupimpbmsk(), w3parall::synchronize_global_array(), w3wavset::trig_compute_lh_stress(), w3wavset::trig_wave_setup_apply_precond(), w3wavset::trig_wave_setup_computation(), w3wavset::trig_wave_setup_compute_system(), w3wavemd::w3wave(), and pdlib_w3profsmd::write_var_to_text_file().

◆ listiplg

◆ listnp

integer, dimension(:), allocatable, target, public yownodepool::listnp

◆ listnpa

◆ maxconnnodes

integer, public yownodepool::maxconnnodes = 0

max number of conntected nodes to a node

Definition at line 106 of file yownodepool.F90.

106  integer, public :: maxConnNodes = 0

Referenced by yowpdlibmain::findconnnodes().

◆ ng

◆ nodes_global

type(t_node), dimension(:), allocatable, target, public yownodepool::nodes_global

◆ np

integer, public yownodepool::np = 0

number of nodes, local

Definition at line 93 of file yownodepool.F90.

93  integer, public :: np = 0

Referenced by pdlib_w3profsmd::all_va_integral_print(), pdlib_w3profsmd::all_vaold_integral_print(), pdlib_w3profsmd::apply_boundary_condition(), pdlib_w3profsmd::block_solver_explicit_init(), pdlib_w3profsmd::block_solver_init(), pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::calcarray_jacobi_spectral_1(), pdlib_w3profsmd::calcarray_jacobi_spectral_2(), pdlib_w3profsmd::calcarray_jacobi_vec(), w3wavset::compute_active_node(), yowfunction::computelistnp_listnpa_listiplg(), yowfunction::computelistnp_listnpa_listiplg_kernel(), yowpdlibmain::computetria_ien_si_ccon(), yowexchangemodule::creatempitype(), pdlib_w3profsmd::deallocate_pdlib_global(), yowpdlibmain::element_crosses_dateline(), yowpdlibmain::exchangeghostids(), yowrankmodule::exchangeiplg(), wmesmfmd::fieldindex(), yowpdlibmain::findconnnodes(), yowpdlibmain::findghostnodes(), ghosts(), yowpdlibmain::initfromgriddim(), pdlib_w3profsmd::jacobi_init(), yowexchangemodule::pdlib_exchange1dreal(), yowexchangemodule::pdlib_exchange2dreal(), pdlib_w3profsmd::pdlib_explicit_block(), pdlib_w3profsmd::pdlib_init(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), yowpdlibmain::postpartition(), yowpdlibmain::postpartition2(), yowpdlibmain::prepartition(), pdlib_w3profsmd::print_wn_statistic(), yowpdlibmain::runparmetis(), pdlib_w3profsmd::set_iobdp_pdlib(), pdlib_w3profsmd::set_iobpa_pdlib(), pdlib_w3profsmd::set_ug_iobp_pdlib_init(), wmesmfmd::setupimpbmsk(), w3wavset::trig_set_meanvalue_to_zero(), w3wavset::trig_wave_setup_apply_fct(), w3wavset::trig_wave_setup_computation(), w3wavset::trig_wave_setup_compute_system(), w3wavset::trig_wave_setup_scalar_prod(), w3wavset::trig_wave_setup_solve_poisson_neumann_dir(), w3wdatmd::w3dimw(), w3wavemd::w3wave(), and pdlib_w3profsmd::write_var_to_text_file().

◆ np_global

◆ np_perproc

integer, dimension(:), allocatable, public yownodepool::np_perproc

Numbers of Nodes pro Processor.

Has the number of nodes each thread ows. Array is nTasks long

Definition at line 133 of file yownodepool.F90.

133  integer, public, allocatable :: np_perProc(:)

Referenced by finalizenodepool(), yowpdlibmain::postpartition(), yowpdlibmain::prepartition(), and yowpdlibmain::runparmetis().

◆ np_perprocsum

integer, dimension(:), allocatable, public yownodepool::np_perprocsum

Number of Nodes pro Processor totalize.

Has the sum of nodes each thread owen. Array in nTasks+1 long Processor i stores np_perProcSum(i)::np_perProcSum(i+1)-1 nodes

Definition at line 138 of file yownodepool.F90.

138  integer, public, allocatable :: np_perProcSum(:)

Referenced by finalizenodepool(), yowpdlibmain::initfromgriddim(), yowpdlibmain::postpartition(), yowpdlibmain::prepartition(), and yowpdlibmain::runparmetis().

◆ npa

integer, public yownodepool::npa = 0

number of ghost + resident nodes this partition holds

Definition at line 99 of file yownodepool.F90.

99  integer, public :: npa = 0

Referenced by pdlib_w3profsmd::all_va_integral_print(), pdlib_w3profsmd::all_vaold_integral_print(), pdlib_w3profsmd::apply_boundary_condition(), pdlib_w3profsmd::block_solver_explicit_init(), pdlib_w3profsmd::block_solver_init(), pdlib_w3profsmd::calcarray_jacobi(), pdlib_w3profsmd::calcarray_jacobi2(), pdlib_w3profsmd::calcarray_jacobi3(), pdlib_w3profsmd::calcarray_jacobi4(), pdlib_w3profsmd::calcarray_jacobi_source_1(), pdlib_w3profsmd::calcarray_jacobi_source_2(), pdlib_w3profsmd::calcarray_jacobi_vec(), pdlib_w3profsmd::check_array_integral_nx_r8(), pdlib_w3profsmd::check_array_integral_nx_r8_maxfunct(), w3wavset::compute_active_node(), yowfunction::computelistnp_listnpa_listiplg(), yowfunction::computelistnp_listnpa_listiplg_kernel(), yowpdlibmain::computetria_ien_si_ccon(), wmesmfmd::createexpmesh(), pdlib_w3profsmd::deallocate_pdlib_global(), w3wavset::differentiate_xydir(), w3wavset::differentiate_xydir_mapsta(), w3wavset::differentiate_xydir_native(), yowpdlibmain::element_crosses_dateline(), yowrankmodule::exchangeiplg(), yowexchangemodule::finalizeexchangemodule(), yowpdlibmain::findghostnodes(), yowpdlibmain::initfromgriddim(), pdlib_w3profsmd::jacobi_init(), yowexchangemodule::pdlib_exchange1dreal(), yowexchangemodule::pdlib_exchange2dreal(), yowexchangemodule::pdlib_exchange2dreal_zero(), pdlib_w3profsmd::pdlib_explicit_block(), pdlib_w3profsmd::pdlib_init(), pdlib_w3profsmd::pdlib_iobp_init(), pdlib_w3profsmd::pdlib_jacobi_gauss_seidel_block(), pdlib_w3profsmd::pdlib_mapsta_init(), pdlib_w3profsmd::pdlib_w3xypfsfct2(), pdlib_w3profsmd::pdlib_w3xypfsn2(), pdlib_w3profsmd::pdlib_w3xypfspsi2(), pdlib_w3profsmd::pdlib_w3xypug(), yowpdlibmain::postpartition2(), pdlib_w3profsmd::printtotaloffcontrib(), yowpdlibmain::runparmetis(), pdlib_w3profsmd::scal_integral_print_general(), pdlib_w3profsmd::set_iobdp_pdlib(), pdlib_w3profsmd::set_ug_iobp_pdlib_init(), w3parall::set_up_nseal_nsealm(), w3parall::synchronize_global_array(), w3wavset::trig_compute_lh_stress(), w3wavset::trig_set_meanvalue_to_zero(), w3wavset::trig_wave_setup_apply_fct(), w3wavset::trig_wave_setup_apply_precond(), w3wavset::trig_wave_setup_computation(), w3wavset::trig_wave_setup_compute_system(), w3wavset::trig_wave_setup_scalar_prod(), w3wavset::trig_wave_setup_solve_poisson_neumann_dir(), w3triamd::ug_gradients(), w3wdatmd::w3dimw(), w3initmd::w3init(), w3wavemd::w3wave(), wminiomd::wmioeg(), wminiomd::wmiohg(), and pdlib_w3profsmd::write_var_to_text_file().

◆ pdlib_ccon

◆ pdlib_i_diag

◆ pdlib_ia

◆ pdlib_ia_p

integer, dimension(:), allocatable, target, public yownodepool::pdlib_ia_p

◆ pdlib_ie_cell

integer, dimension(:), allocatable, target, public yownodepool::pdlib_ie_cell

Definition at line 83 of file yownodepool.F90.

Referenced by yowpdlibmain::element_crosses_dateline().

◆ pdlib_ie_cell2

integer, dimension(:,:), allocatable, target, public yownodepool::pdlib_ie_cell2

◆ pdlib_ien

◆ pdlib_ja

◆ pdlib_ja_ie

integer, dimension(:,:,:), allocatable, target, public yownodepool::pdlib_ja_ie

◆ pdlib_ja_p

integer, dimension(:), allocatable, target, public yownodepool::pdlib_ja_p

Definition at line 82 of file yownodepool.F90.

Referenced by yowpdlibmain::element_crosses_dateline().

◆ pdlib_nnz

◆ pdlib_pos_cell

integer, dimension(:), allocatable, target, public yownodepool::pdlib_pos_cell

Definition at line 83 of file yownodepool.F90.

83  integer, public, target, allocatable :: PDLIB_POS_CELL(:), PDLIB_IE_CELL(:)

Referenced by yowpdlibmain::element_crosses_dateline().

◆ pdlib_pos_cell2

◆ pdlib_posi

integer, dimension(:,:), allocatable, target, public yownodepool::pdlib_posi

◆ pdlib_si

◆ pdlib_tria

◆ pdlib_tria03

real(rkind), dimension(:), allocatable, target, public yownodepool::pdlib_tria03

◆ x

real(rkind), dimension(:), allocatable, target, public yownodepool::x

coordinates of the local + ghost nodes.

range [1:npa]

Definition at line 79 of file yownodepool.F90.

79  real(rkind), public, target, allocatable :: x(:), y(:), z(:)

Referenced by yowpdlibmain::computetria_ien_si_ccon(), finalizenodepool(), yowpdlibmain::postpartition2(), and w3wavset::trig_compute_diff().

◆ y

real(rkind), dimension(:), allocatable, target, public yownodepool::y

◆ z

real(rkind), dimension(:), allocatable, target, public yownodepool::z