Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine initialize_node_adjacency(self,num_nodes_in,num_elems,&elements_conn_data,elements_ptr)class(type_node_adjacency),intent(inout)::selfinteger(int32),intent(in)::num_nodes_in,num_elemsinteger(int32),intent(in)::elements_conn_data(:)integer(int32),intent(in)::elements_ptr(:)integer(int32),allocatable::edge_i(:),edge_j(:)integer(int32)::edge_count,istatself%num_nodes=num_nodes_in! ステップ1: 要素情報から全てのエッジ(ノードペア)を抽出call generate_all_edges(num_elems,elements_ptr,elements_conn_data,&edge_i,edge_j,edge_count,istat)if(istat/=0)then print*,"Error in generate_all_edges"return end if! ステップ2: エッジリストからCSR形式の隣接グラフを構築call build_csr_from_edges(self,edge_i,edge_j,edge_count)call deallocate_array(edge_i)call deallocate_array(edge_j)end subroutine initialize_node_adjacency