List of Descriptors¶
For two-phase morphology, GraSPI
computes the following set of descriptors:
STAT_n
- number of verticesSTAT_e
- number of interface edgesSTAT_n_D
- number of black verticesSTAT_n_A
- number of white verticesSTAT_CC_D
- number of black connected componentsSTAT_CC_A
- number of white connected componentsSTAT_CC_D_An
- number of black connected components connected to topSTAT_CC_A_Ca
- number of white connected components connected to bottomABS_wf_D
- weighted fraction of black verticesABS_f_D
- fraction of black verticesDISS_f10_D
- fraction of black vertices in 10 distance to interfaceCT_f_e_conn
- fraction of interface with complementary paths to bottom and topCT_f_conn_D_An
- fraction of black vertices connected to topCT_f_conn_A_Ca
- fraction of white vertices connected to bottomCT_e_conn
- number of interface edges with complementary pathsCT_e_D_An
- number of black interface vertices with path to topCT_e_A_Ca
- number of white interface vertices with path to bottomCT_f_D_tort1
- fraction of black vertices with straight rising paths (t=1)CT_f_A_tort1
- fraction of white vertices with straight rising paths (t=1)CT_n_D_adj_An
- number of black vertices in direct contact with top (An - top/anode)CT_n_A_adj_Ca
- number of white vertices in direct contact with bottom (Ca - bottom/cathode)
The name of each descriptor starts with the abbreviation of the step in the photovoltaic process in organic solar cells (OSC): light absorption (ABS), exciton dissociation (DISS), and charge transport (CT). We additionally compute few statistical descriptors (STATS). The extra information is intended to facilitate the modeling of structure-property maps in OSC.
Below we provide the definitions of all above descriptors. We refer to graph-centric terms defined in basic definitions (BD) section.
STAT_n
¶
STAT_n
is number of vertices in the morphology. It is the total number of vertices in the graph.
It simply the cardinality of set \(V\) (from BD).
STAT_e
¶
STAT_e
is the number of interface edges. It is the interfacial area,
this is the total number of edges in the graph
connecting BLACK and WHITE vertices. Three steps are involved:
Input: Given labeled, weighted, undirected graph \(G=(V,E,W,L,L_e)\).
Construct set of edges, \(I=\{e=(u,v)\in E\;|\; (L_e(e)=f)\;\land\; ( L(u)=BLACK \land L(v)=WHITE\}\).
Output: \(|I|\) – the cardinality of interface edges.
STAT_n_D
¶
STAT_n_D
- number of black vertices
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Identify set \(B\) of all (electron donor) black vertices.
Output: \(|B|\), where \(|.|\) is the cardinality of the set.
STAT_n_A
¶
STAT_n_A
- number of white vertices
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Identify set \(W\) of all (electron donor) black vertices.
Output: \(|W|\), where \(|.|\) is the cardinality of the set.
STAT_CC_D
¶
STAT_CC_D
- number of black connected components
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct vertex-induced subgraph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all BLACK vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Compute the set of connected components, \(C_B\), in \(G'\).
Output: \(|C_B|\).
STAT_CC_A
¶
STAT_CC_A
- number of white connected components
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct vertex-induced subgraph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all WHITE vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Compute the set of connected components, \(C_W\), in \(G'\).
Output: \(|C_W|\).
STAT_CC_D_An
¶
STAT_CC_D_An
- number of black connected components connected to top
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Reconstruct the neighborhood of RED vertex \(ngbr_R\) in \(G\).
Construct vertex-induced subgraph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all BLACK vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Compute the set of connected components, \(C_B\), in \(G'\).
Compute the set \(C_B^R\) of indices of connected components in \(ngbr_R\) using the set \(C_B\).
Output: \(|C_B^R|\).
CT_f_conn_D_An
¶
CT_f_conn_D_An
- fraction of black vertices connected to top
We use the same steps as in STAT_CC_D_An
. With one more step:
Let \(P\) be the union of all BLACK vertices in \(C_B^R\).
Output: \(|P|/|B|\), where \(B\) is the set of BLACK vertices.
STAT_CC_A_Ca
¶
STAT_CC_A_Ca
- number of white connected components connected to bottom
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Reconstruct the neighborhood of BLUE vertex \(ngbr_B\) in \(G\).
Construct vertex-induced subgraph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all WHITE vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Compute the set of connected components, \(C_W\), in \(G'\).
Compute the set \(C_W^B\) of indices of connected components in \(ngbr_B\) using the set \(C_W\).
Output: \(|C_W^B|\).
CT_f_conn_A_Ca
¶
CT_f_conn_A_Ca
- fraction of white vertices connected to bottom
We use the same steps as in STAT_CC_D_An
. With one more step:
Let \(P\) be the union of all WHITE vertices in \(C_W^B\).
Output: \(|P|/|B|\), where \(W\) is the set of WHITE vertices.
ABS_wf_D
¶
ABS_wf_D
- weighted fraction of black vertices
ABS_f_D
¶
ABS_f_D
- fraction of black vertices
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Identify set \(B\) of all BLACK vertices.
Output: \(|B|/|V|\), where \(|.|\) is the cardinality of the set.
DISS_f10_D
¶
DISS_f10_D
- fraction of black vertices in 10 distance to interface
This descriptor is constructed in three steps. First, we construct the subgraph induced by a set of BLACK and GREEN vertices. Next, using Dijkstra’s algorithm the shortest paths between GREEN vertex and all other vertices in the induced subgraph are determined. The distance is weighted by the physics-informed function (here: \(f(d)=exp(-d/L_d)\), where \(L_d\) is the exciton diffusion length). Formally:
Input: Given labeled, weighted, undirected graph \(G=(V,E,W,L)\).
Construct vertex-induced subgraph, \(G'=(V',E')\), where: \(V'\) is a set of all BLACK and GREEN vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Find all shortest paths in \(G'\) from GREEN vertex \(u' :math:\).
Identify vertex set \(V_d=\{v \in V'\;|\;\) (shortest_path(\(v\)) \(<d\)) \(\land (L(v) = BLACK)\}\). Shortest_path (\(v\)) denotes the distance between \(u\) and \(v\) in \(G'\).
Weight each distance \(d\) with the weighting function (\(f(d)=exp(-d/L_d)\)).
Output: \(\sum_{i=1..|B|} f(d)i)/|B|\), where \(|B|\) is the cardinality of a set that consists of BLACK vertices.
CT_f_e_conn
¶
CT_f_e_conn
- fraction of interface with complementary paths to bottom and top
We search for interface edges in the graph that connect BLACK and WHITE vertices (interface), where both vertices have paths to relevant electrodes (BLACK vertex has path to RED meta-vertex and WHITE vertex has path to BLUE meta-vertex). Formally,
Let \(G_B\) be the vertex-induced subgraph with BLACK and RED vertices.
Let \(G_W\) be the vertex-induced subgraph with WHITE and BLUE vertices.
Find a set \(I_c\subset I\) of interface edges in the graph, such that the path from the BLACK vertex to RED exists in \(G_B\) and the path from WHITE vertex to BLUE exists in \(G_W\).
This is computed using the following algorithm:
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct a filtered graph, \(G'=(V,E')\), where \(E'\) is a set of edges connecting vertices of the same color.
Let \(I\) be the set of all interface edges.
Identify connected components, \(C\), in \(G'\).
Compute subset \(R_r \subset C\) of all components \(c\in C\), such that \(c\) has BLACK vertices adjacent to RED in \(G\) (from
CT_f_conn_D_An
).Compute subset \(R_b \subset C\) of all components \(c\in C\), such that \(c\) has WHITE vertices adjacent to BLUE in \(G\) (from
CT_f_conn_A_Ca
).Identify subset, \(I_{rb} \subset I\) where BLACK vertex belongs to set of vertices in \(R_r\) and WHITE vertex belongs to set of vertices in \(R_b\).
Output: \(|I_{rb}|/|I|\).
This descriptor is formulated in a hierarchical way using CT_f_conn_D_An
and CT_f_conn_A_Ca
. This hierarchical construction is one additional
advantage of our graph-based approach. Moreover, the next descriptor is
computed using intermediate data from this descriptor.
CT_e_conn
¶
CT_e_conn
- number of interface edges with complementary paths
This descriptor is computed as an intermediate step in the algorithm from
CT_f_e_conn
. The number of interface edges is the cardinality of the set
\(|I_{rb}|\).
CT_e_D_An
¶
CT_e_D_An
- number of black interface vertices with path to top
This descriptor is computed as an analogous way as
CT_f_e_conn
.
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct a filtered graph, \(G'=(V,E')\), where \(E'\) is a set of edges connecting vertices of the same color.
Let \(I\) be the set of all interface edges.
Identify connected components, \(C\), in \(G'\).
Compute subset \(R_r \subset C\) of all components \(c\in C\), such that \(c\) has BLACK vertices adjacent to RED in \(G\) (from
CT_f_conn_D_An
).Compute subset \(R_b \subset C\) of all components \(c\in C\), such that \(c\) has WHITE vertices adjacent to BLUE in \(G\) (from
CT_f_conn_A_Ca
).Identify subset, \(I_{r} \subset I\) where BLACK vertex belongs to set of vertices in \(R_r\).
Output: \(|I_{r}|\).
CT_e_A_Ca
¶
CT_e_A_Ca
- number of white interface vertices with path to bottom
This descriptor is computed as an analogous way as
CT_f_e_conn
.
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct a filtered graph, \(G'=(V,E')\), where \(E'\) is a set of edges connecting vertices of the same color.
Let \(I\) be the set of all interface edges.
Identify connected components, \(C\), in \(G'\).
Compute subset \(R_r \subset C\) of all components \(c\in C\), such that \(c\) has BLACK vertices adjacent to RED in \(G\) (from
CT_f_conn_D_An
).Compute subset \(R_b \subset C\) of all components \(c\in C\), such that \(c\) has WHITE vertices adjacent to BLUE in \(G\) (from
CT_f_conn_A_Ca
).Identify subset, \(I_{b} \subset I\) where WHITE vertex belongs to set of vertices in \(R_b\).
Output: \(|I_{b}|\).
CT_f_D_tort1
¶
CT_f_D_tort1
- fraction of black vertices with straight rising paths (t=1)
Straight rising paths are paths with tortuosity one (\(t\)). Tortuosity is the ratio between the path length to the relevant electrode through morphology, and ideal straight path length to the electrode without any constraints. Tortuosity is computed for domains that are connected to relevant electrode. In case of this descriptor, the donor domains (BLACK vertices) connected to top boundary (RED meta-vertex) are considered.
The graph-based algorithm to compute the fraction is given below:
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct vertex-induced graph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all BLACK and RED vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Let \(V_B\subset V'\) be a set of BLACK vertices in \(V'\) in \(G\).
Find the shortest paths from the RED to all BLACK vertices in \(G'\) (filtered graph - step 2).
Find the shortest paths from the RED to all BLACK vertices in \(G\) (original graph).
For each BLACK vertex compute the tortuosity using the shortest paths from step 5 and 4.
Filter the set \(V_{Bt1}\) with all BLACK vertices that have the shortest path with \(t=1\).
Output: The fraction of BLACK vertices with straight rising paths \(|V_{Bt1}|/|V_B|\).
CT_f_A_tort1
¶
CT_f_A_tort1
- fraction of white vertices with straight rising paths (t=1)
Similar to previous descriptor, the acceptor domains (WHITE vertices) connected to bottom boundary (BLUE meta-vertex) are considered.
The graph-based algorithm to compute the fraction is given below:
Input: Given labeled, weighted, undirected graph, \(G=(V,E,W,L)\).
Construct vertex-induced graph, \(G'=(V',E')\), where \(V'=\{v \in V\}\) is a set of all WHITE and BLUE vertices in \(V\), \(E'\) is a set of all edges between vertices in \(V'\).
Let \(V_W\subset V'\) be a set of WHITE vertices in \(V'\) in \(G\).
Find the shortest paths from the BLUE to all WHITE vertices in \(G'\) (filtered graph - step 2).
Find the shortest paths from the BLUE to all WHITE vertices in \(G\) (original graph).
For each WHITE vertex compute the tortuosity using the shortest paths from step 5 and 4.
Filter the set \(V_{Wt1}\) with all WHITE vertices that have the shortest path with \(t=1\).
Output: The fraction of WHITE vertices with straight rising paths \(|V_{Wt1}|/|V_W|\) .
CT_n_D_adj_An
¶
CT_n_D_adj_An
- number of black vertices in direct contact with top (An - top/anode)
This descriptor computes the number of BLACK vertices with distance to RED (Anode/top) vertex. To compute this descriptor, post processing of distance vector is performed. By counting the number of BLACK vertices with zero distance to the RED vertex.
CT_n_A_adj_Ca
¶
CT_n_A_adj_Ca
- number of white vertices in direct contact with bottom (Ca - bottom/cathode)
This descriptor computes the number of WHITE vertices with distance to BLUE (Cathode/bottom) vertex. To compute this descriptor, post processing of distance vector is performed. By counting the number of WHITE vertices with zero distance to the BLUE vertex.