| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int32), | public, | allocatable | :: | col(:) | |||
| integer(kind=int32), | public, | allocatable | :: | ind(:) | |||
| integer(kind=int32), | public | :: | nnz | = | 0 | ||
| integer(kind=int32), | public | :: | num_nodes | = | 0 | ||
| integer(kind=int32), | public, | allocatable | :: | ptr(:) | |||
| integer(kind=int32), | public, | allocatable | :: | row(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(inout), | allocatable | :: | row_out(:) | ||
| integer(kind=int32), | intent(inout), | allocatable | :: | col_out(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(inout), | allocatable | :: | ptr_out(:) | ||
| integer(kind=int32), | intent(inout), | allocatable | :: | ind_out(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | node_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | node_id | |||
| integer(kind=int32), | intent(out), | allocatable | :: | neighbors(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_node_adjacency), | intent(inout) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | num_nodes | |||
| integer(kind=int32), | intent(in) | :: | computation_dimension | |||
| class(holder_sides), | intent(in) | :: | sides(:) | |||
| class(holder_elements), | intent(in) | :: | elements(:) |
type :: type_node_adjacency integer(int32) :: num_nodes = 0 integer(int32) :: nnz = 0 ! COO (Coordinate list) 形式のデータ (ソート済み) integer(int32), allocatable :: row(:) integer(int32), allocatable :: col(:) ! CSR (Compressed Sparse Row) 形式のデータ integer(int32), allocatable :: ptr(:) integer(int32), allocatable :: ind(:) contains procedure, pass(self), public :: initialize => initialize_hybrid_from_mesh procedure, pass(self), public :: get_num_nodes => get_num_nodes procedure, pass(self), public :: get_degree => get_degree_csr procedure, pass(self), public :: get_neighbors => get_neighbors_csr procedure, pass(self), public :: get_nnz => get_nnz procedure, pass(self), public :: get_coo => get_coo procedure, pass(self), public :: get_csr => get_csr procedure, pass(self), public :: destroy => destroy_hybrid end type type_node_adjacency