MODULE Network_Data_Types USE Precision USE Error_Handling USE System_Monitors IMPLICIT NONE PRIVATE PUBLIC::Directed_Graph,Spanning_Tree,Support_Tree_Mapping,Fill_Reducing_Ordering,& Network_SC_Cost,Network_Arrays,Network_Problem TYPE Directed_Graph INTEGER::PIN=1 INTEGER::n_nodes=0,n_arcs=0,n_special_nodes=0,n_special_arcs=0 INTEGER(KIND=i_wp),DIMENSION(:,:),POINTER::heads_tails=>NULL() ENDTYPE TYPE Spanning_Tree INTEGER::PIN=1 TYPE(Directed_Graph),POINTER::graph=>NULL() INTEGER(KIND=i_wp),DIMENSION(:),POINTER::parents=>NULL(),& cardinalities=>NULL(),level_ordering=>NULL() REAL(KIND=r_wp),DIMENSION(:),POINTER::path_labels=>NULL() INTEGER(KIND=i_byte),DIMENSION(:),POINTER::orientations=>NULL() LOGICAL(KIND=l_wp),DIMENSION(:),POINTER::mask=>NULL() ENDTYPE TYPE Support_Tree_Mapping INTEGER(KIND=i_word),DIMENSION(:),POINTER::nodes_mapping=>NULL() REAL(KIND=r_wp),DIMENSION(:),POINTER::arcs_weights=>NULL() ENDTYPE Support_Tree_Mapping TYPE Network_SC_Cost INTEGER::PIN=1 REAL(KIND=r_wp)::typical_voltage=1.0_r_wp,typical_flow=1.0_r_wp,& typical_resistance=1.0_r_wp REAL(KIND=r_wp)::low_conductance=-1.0_r_wp,high_conductance=-1.0_r_wp REAL(KIND=r_wp)::eps=10.0_r_wp*EPSILON(1.0_r_wp) ENDTYPE TYPE Fill_Reducing_Ordering INTEGER(KIND=i_wp),DIMENSION(:),POINTER::nodes_reordering=>NULL(),& nodes_renumbering=>NULL() ENDTYPE TYPE Network_Arrays REAL(KIND=r_wp),DIMENSION(:),POINTER::& arcs_flows=>NULL(),arcs_voltages=>NULL(),& arcs_resistances=>NULL(),arcs_conductances=>NULL() REAL(KIND=r_wp),DIMENSION(:),POINTER::& nodes_potentials=>NULL(),supplies_demands=>NULL() REAL(KIND=r_wp),DIMENSION(:),POINTER::& arcs_excess_voltages=>NULL(),arcs_excess_flows=>NULL() REAL(KIND=r_wp),DIMENSION(:),POINTER::& nodes_excess_potentials=>NULL(),nodes_excess_flows=>NULL() REAL(KIND=r_word),DIMENSION(:,:),POINTER::nodes_coordinates=>NULL() ENDTYPE TYPE Network_Problem INTEGER::PIN=1 TYPE(Directed_Graph)::graph,subgraph,special_subgraph TYPE(Network_SC_Cost)::cost_function TYPE(Network_Arrays)::arrays ENDTYPE END MODULE Network_Data_Types