# Modified Possibilistic Fuzzy C-Means Algorithm for Clustering Incomplete
Data Sets

Rustam
Departement of Telecommunication Engineering
Faculty of Electrical Engineering
Telkom University
<EMAIL_ADDRESS>
& Koredianto Usman
Departement of Telecommunication Engineering
Faculty of Electrical Engineering
Telkom University
& Mudyawati Kamaruddin
AKBID Tahirah Al Baeti Bulukumba
Sulawesi Selatan, Indonesia
<EMAIL_ADDRESS>& Dina Chamidah
Department of Biology Education
Faculty of Language and Science
Universitas Wijaya Kusuma Surabaya
Surabaya, Jawa Timur, Indonesia
& Nopendri
Departement of Industrial Engineering
Faculty of Industrial Engineering
Telkom University
& Khaerudin Saleh
Departement of Telecommunication Engineering
Faculty of Electrical Engineering
Telkom University
& Yulinda Eliskar
Departement of Telecommunication Engineering
Faculty of Electrical Engineering
Telkom University
& Ismail Marzuki
Department of Chemical Engineering
Universitas Fajar
Panakkukang, Makassar, Sulawesi Selatan, Indonesia
Jl. Telekomunikasi No.1 Dayeuh Kolot, Kabupaten Bandung, Jawa Barat, Indonesia
40257 (https://rustamtelu.staff.telkomuniversity.ac.id/)

###### Abstract

Possibilistic fuzzy c-means (PFCM) algorithm is a reliable algorithm has been
proposed to deal the weakness of two popular algorithms for clustering, fuzzy
c-means (FCM) and possibilistic c-means (PCM). PFCM algorithm deals with the
weaknesses of FCM in handling noise sensitivity and the weaknesses of PCM in
the case of coincidence clusters. However, the PFCM algorithm can be only
applied to cluster complete data sets. Therefore, in this study, we propose a
modification of the PFCM algorithm that can be applied to incomplete data sets
clustering. We modified the PFCM algorithm to OCSPFCM and NPSPFCM algorithms
and measured performance on three things: 1) accuracy percentage, 2) a number
of iterations to termination, and 3) centroid errors. Based on the results
that both algorithms have the potential for clustering incomplete data sets.
However, the performance of the NPSPFCM algorithm is better than the OCSPFCM
algorithm for clustering incomplete data sets.

_Keywords_ Incomplete data $\cdot$ Fuzzy clustering $\cdot$ Possibilistic
clustering $\cdot$ Missing values imputation

##  1 Introduction

Incomplete data sets are common in the real world. Incomplete data sets can be
caused by failures during data collection, the problem of merging data from
various data sources, data cleaning or data transfer problems [1]. The main
problem faced when trying to cluster incomplete data sets is the existing
clustering algorithm cannot be used for clustering incomplete data sets.
Popular clustering algorithms included fuzzy c-means (FCM) [2] and
possibilistic c-means (PCM) [3], which can only be used for complete data
sets. Bezdek and Hathaway [4] have developed FCM algorithm to deal with the
problem of clustering data sets contain missing values. They proposed whole
data strategy fuzzy c-means (WDSFCM) to deal with incomplete data sets
clustering problems by removing features that contain missing values and
running standard FCM algorithms on the remaining data that have become
complete data sets. However, WDSFCM produces biased clustering results when
the missing values are large.

Dixon [5] proposed partial distance strategy (PDS) algorithm to deal with
incomplete data sets in clustering by calculates a partial distance (squared
euclidean) using all the values available at the data points containing
missing values and then scaling this quantity by the reciprocal of the
component proportion used. Bezdek and Hathaway [4] modified FCM using PDS to
deal with clustering incomplete data sets known as the PDSFCM algorithm.
WDSFCM and PDSFCM algorithms do not impute missing values or in other words,
do not get estimates of missing values after the clustering process.

The following two algorithms, which were also proposed by Bezdek and Hathaway
in [4] have imputed missing values. They modified the FCM algorithm using the
optimal completion strategy (OCS) and the nearest prototype strategy (NPS),
each of which is referred to as the OCSFCM and NPSFCM algorithms. The optimal
completion strategy fuzzy c-means (OCSFCM) algorithm estimates missing values
by considering missing values as an additional variable and partitioning the
data together with optimizing the value of the FCM objective function. The
nearest prototype strategy fuzzy c-means (NPSFCM) algorithm estimates missing
values using the prototype cluster closest to itself in each iteration step.
So the difference between OCSFCM and NPSFCM algorithms lies in how to update
the imputation for missing values at each iteration step.

In another paper, Bezdek et al. [6] also introduced the possibilistic fuzzy
c-means (PFCM) algorithm. The PFCM algorithm corrects the shortcomings of the
FCM and PCM algorithms by overcoming noise sensitivity and the possibility of
the occurrence of coincidental clusters, respectively. However, the PFCM
algorithm also has disadvantages like those of FCM and PCM algorithms, which
can be only used for clustering complete data sets. Therefore, in this study
we propose a modification of PFCM algorithm so that it can be applied to
incomplete data sets. Incomplete data sets are overcome by a strategy adapted
from Bezdek and Hathaway[4], using the optimal completion strategy (OCS) and
the nearest prototype strategy (NPS). This modification of the PFCM algorithm
uses OCS as the OCSPFCM algorithm. While the modification of the PFCM
algorithm uses the NPS, we term as the NPSPFCM algorithm.

This paper will describe the PFCM algorithm for clustering complete data sets
in Section 2. In Section 3, a modification of the PFCM algorithm for
clustering incomplete data sets is explained. In Section 4, we describe the
experimental setup. In Section 5, experimental results on real world and
artificial data sets are shown and we discuss the results, and Section 6 is
the conclusion of this study.

##  2 Possibilistic Fuzzy C-Means (PFCM) Algorithm of Complete Data Sets

Suppose unlabeled data sets
$X=\left\\{\textbf{x}_{1},\textbf{x}_{2},\cdots,\textbf{x}_{n}\right\\}\subset\mathbb{R}^{p}\>(p=n\times
s)$ will be clustered into a fuzzy subset of $c$ ($1<c<n$) clusters. Here $n$
states the number of data points and $s$ states dimension each of data point.
The purpose of clustering $X$ into $c$ clusters is achieved by minimizing the
following objective functions [6].

$J_{m,\tau}(U,T,\textbf{V};X)=\sum_{k=1}^{n}\sum_{i=1}^{c}(\alpha
u_{ik}^{m}+\beta
t_{ik}^{\tau})d_{ik}^{2}+\sum_{i=1}^{c}\delta_{i}\sum_{k=1}^{n}(1-t_{ik})^{\tau}.$
(1)

Here $\alpha(\alpha>0)$ states the importance level of fuzzy membership degree
$(u_{ik})$. Equation (1) is subject to $\sum_{i=1}^{c}u_{ik}=1$ constraints.
Krishnapuram and Keller [3] relaxed this constrain become
$\sum_{i=1}^{c}u_{ik}\geq 1$, so that it would be better in reflecting the
typical of $\textbf{x}_{k}$ to the $i$-th cluster. $t_{ik}$ states
possibilistic membership degree of $\textbf{x}_{k}$ to the $i$-th cluster. So
$\beta(\beta>0)$ states the importance level of possibilistic membership
degree ($t_{ik}$). $d_{ik}^{2}=\left\|\textbf{x}_{k}-\textbf{v}_{i}\right\|$
states the Euclidean distance of the $j$-th data to $i$-th cluster centre
vector. $\textbf{V}=(\textbf{v}_{1},\textbf{v}_{2},\cdots,\textbf{v}_{c})$
states cluster centre vector, $\textbf{v}_{i}\in\mathbb{R}^{s}$ and
$\delta_{i}>0$ is the typical of possibilistic. Here $m>1$ and $\tau>1$ are
weighting exponent.

Basically determining of the $u_{ik}$, $t_{ik}$ and $\textbf{v}_{i}$ must be
done simultaneously. However, in this study we determined numerically using
the recursive method. So that we can choose which values will be initiated to
calculate the other values. Here, we chose initiate $\textbf{v}_{i}$ to
calculate $u_{ik}$ and $t_{ik}$.

###  2.1 Possibilistic Fuzzy C-Means (PFCM) Algorithm

In this study, the complete data sets is clustered use the possibilistic fuzzy
c-means (PFCM) algorithm proposed by Bezdek et al. [6]. The PFCM algorithm is
described as follows.

Step I: Fix $m>1$, $\tau>1$, $\epsilon>0$ and $1<c<n$. Pick
$\textbf{v}^{(0)}\in\mathbb{R}^{s}$, $\textbf{v}^{(0)}$ can be chosen randomly
from
$X=\left\\{\textbf{x}_{1},\textbf{x}_{2},\cdots,\textbf{x}_{n}\right\\}\in\mathbb{R}^{p}$.
Then at step $l$, $l=1,2,\cdots$

Step II: Calculate fuzzy membership degree ($u_{ik}$) which minimize the
objective function $J_{m,\tau}$ using the following

$u_{ik}^{(l)}=\left(\sum_{j=1}^{c}\left(\frac{d_{ik}^{2}}{d_{jk}^{2}}\right)^{\frac{1}{m-1}}\right)^{-1},1\leq
i\leq c;~{}1\leq k\leq n.$ (2)

Step III: Calculate possibilistic typical ($\delta_{i}$) which minimizes the
objective function $J_{m,\tau}$ using the following

$\delta_{i}^{(l)}=\frac{\sum_{k=1}^{n}\left(u_{ik}^{(l)}\right)^{m}d_{ik}^{2}}{\sum_{k=1}^{n}\left(u_{ik}^{(l)}\right)^{m}},1\leq
k\leq n.$ (3)

Step IV: Calculate possibilistic membership degree ($t_{ik}$) which minimizes
the objective function $J_{m,\tau}$ using the following

$t_{ik}^{(l)}=\left(1+\left(\frac{\beta}{\delta_{i}}d_{ik}^{2}\right)^{\frac{1}{\tau-1}}\right)^{-1},1\leq
i\leq c;~{}1\leq k\leq n.$ (4)

Step V: Update cluster centre ($\textbf{v}_{i}$) which minimizes the objective
function $J_{m,\tau}$ using the following

$\textbf{v}_{i}^{(l)}=\frac{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta
t_{ik}^{(l)}\right)^{\tau}\right)\textbf{x}_{k}}{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta t_{ik}^{(l)}\right)^{\tau}\right)},1\leq
k\leq n.$ (5)

Step VI: Compare $\textbf{v}_{i}^{(l)}$ to $\textbf{v}_{i}^{(l-1)}$ using
$\left\|\textbf{v}_{i}^{(l)}-\textbf{v}_{i}^{(l-1)}\right\|<\epsilon$. If
true, then stop. Otherwise, set $l=l+1$ and return to Step II.

The clustering result of the complete data set will be a base for evaluating
the performance of the modified PFCM algorithm (see Section 4).

##  3 Possibilistic Fuzzy C-Means (PFCM) Algorithm of Incomplete Data Sets

As explained earlier, PFCM algorithm cannot be used to cluster incomplete data
sets or data sets that contain missing values. Therefore, in this section the
PFCM is modified so that it can be used to cluster incomplete data set. Given
incomplete data sets
$Y=\left\\{\textbf{y}_{1},\textbf{y}_{2},\cdots,\textbf{y}_{n}\right\\}\subset\mathbb{R}^{p}\>(p=n\times
s)$, with
$\textbf{y}_{2}=\left(2.35,?,1.32,?,3.44\right)^{T}\in\mathbb{R}^{5}$.
$y_{22}$ and $y_{24}$ are missing values. The question is how to cluster $Y$?
Therefore, a modification of the PFCM algorithm is proposed to clustering data
sets similar like $Y$. The notation that will be used throughout follows. Let
$\textbf{y}=k^{th}$ $s$-dimensional data vector, for $1\leq k\leq n$;
$y_{kj}=j^{th}$ feature value of the $k^{th}$ data point vector, for $1\leq
j\leq s,1\leq k\leq n$;
$Y=\left\\{\textbf{y}_{1},\textbf{y}_{2},\cdots,\textbf{y}_{n}\right\\}\subset\mathbb{R}^{p}$;
$Y_{C}=\left\\{\textbf{y}_{C}\in
Y|\textbf{y}_{C}\>is\>a\>complete\>data\>point\right\\}$;
$Y_{M}=\left\\{\textbf{y}_{M}\in
Y|\textbf{y}_{M}\>is\>a\>incomplete\>data\>point\right\\}$.

###  3.1 Optimal Completion Strategy Possibilistic Fuzzy C-Means (OCSPFCM)
Algorithm

The OCSPFCM algorithm is the first modification of the PFCM algorithm that we
proposed for clustering incomplete data sets, the explanation is as follows.

Step I: Fix $m>1$, $\tau>1$, $\epsilon>0$ and $1<c<n$. Initiate $Y_{M}^{(0)}$,
for each $y_{kj}\in Y_{M}$, with pick randomly available value in $Y_{C}$.
Then pick $\textbf{v}^{(0)}\in\mathbb{R}^{s}$, $\textbf{v}^{(0)}$ can be
chosen randomly from the
$Y=\left\\{\textbf{y}_{1},\textbf{y}_{2},\cdots,\textbf{y}_{n}\right\\}\in\mathbb{R}^{p}$.
Then at step $l$, $l=1,2,\cdots$

Step II: Calculate fuzzy membership degree ($u_{ik}$) which minimize the
objective function $J_{m,\tau}$ using the following

$u_{ik}^{(l)}=\left(\sum_{j=1}^{c}\left(\frac{d_{ik}^{2}}{d_{jk}^{2}}\right)^{\frac{1}{m-1}}\right)^{-1},1\leq
i\leq c;~{}1\leq k\leq n.$ (6)

Step III: Calculate possibilistic typical ($\delta_{i}$) which minimizes the
objective function $J_{m,\tau}$ using the following

$\delta_{i}^{(l)}=\frac{\sum_{k=1}^{n}\left(u_{ik}^{(l)}\right)^{m}d_{ik}^{2}}{\sum_{k=1}^{n}\left(u_{ik}^{(l)}\right)^{m}},1\leq
k\leq n.$ (7)

Step IV: Calculate possibilistic membership degree ($t_{ik}$) which minimizes
the objective function $J_{m,\tau}$ using the following

$t_{ik}^{(l)}=\left(1+\left(\frac{\beta}{\delta_{i}}d_{ik}^{2}\right)^{\frac{1}{\tau-1}}\right)^{-1},1\leq
i\leq c;~{}1\leq k\leq n.$ (8)

Step V: Update cluster centre ($\textbf{v}_{i}$) which minimizes the objective
function $J_{m,\tau}$ using the following

$\textbf{v}_{i}^{(l)}=\frac{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta
t_{ik}^{(l)}\right)^{\tau}\right)\textbf{y}_{k}}{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta t_{ik}^{(l)}\right)^{\tau}\right)},1\leq
i\leq c;~{}1\leq j\leq p.$ (9)

Step VI: Compare $\textbf{v}_{i}^{(l)}$ to $\textbf{v}_{i}^{(l-1)}$ using
$\left\|\textbf{v}_{i}^{(l)}-\textbf{v}_{i}^{(l-1)}\right\|<\epsilon$. If
true, then stop. Otherwise, go to Step VII.

Step VII: Update $Y_{M}$ which minimize the objective function $J_{m,\tau}$,
for each $y_{kj}\in Y_{M}$ using the following

$\textit{y}_{kj}^{(l)}=\frac{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta
t_{ik}^{(l)}\right)^{\tau}\right)\textit{v}_{ij}}{\sum_{k=1}^{n}\left(\left(\alpha
u_{ik}^{(l)}\right)^{m}+\left(\beta t_{ik}^{(l)}\right)^{\tau}\right)},1\leq
i\leq c;~{}1\leq j\leq p.$ (10)

Now set $l=l+1$ and return to Step II.

Based on seven steps of the OCSPFCM algorithm described above, basicly Step I
to Step VI are the PFCM algorithm. The difference is only on the process of
missing values imputation which is done by initiating their with a random
values that is available in the data sets (Step I). Then we update these
values on Step VII by the sum of the fuzzy membership degrees and the
possibilistic membership degrees multiplied by one of the values exist on the
cluster center vector as shown in Equation 10.

###  3.2 Nearest Prototype Strategy Possibilistic Fuzzy C-Means (NPSPFCM)
Algorithm

The NPSPFCM algorithm is the second modification of the PFCM algorithm that we
proposed for clustering incomplete data sets. In general, the clustering
process using the NPSPFCM algorithm similar to the OCSPFCM algorithm. The
difference is only in Step VII, i.e. we update the missing values imputation
by one value available on the nearest cluster center vector to itself. Step
VII of the NPSPFCM algorithm is defined as follows.

Step VII: Update $Y_{M}^{(l)}$ which minimize the objective function
$J_{m,\tau}$, for each $y_{kj}\in Y_{M}$ using the following

$y_{kj}^{(l)}=v_{ij}^{(l)},1\leq i\leq c;1\leq j\leq p,$ (11)

where
$d_{ik}^{2}=\textbf{min}\left\\{d_{1k}^{2},d_{2k}^{2},...,d_{ck}^{2}\right\\}$,
$d_{1k}^{2}=\left\|\textbf{y}_{k}-\textbf{v}_{1}\right\|$,
$d_{2k}^{2}=\left\|\textbf{y}_{k}-\textbf{v}_{2}\right\|$, and
$d_{ck}^{2}=\left\|\textbf{y}_{k}-\textbf{v}_{c}\right\|$. Now set $l=l+1$ and
return to Step II.

##  4 Experimental Setup

In this study, we evaluated and demonstrated the potential of a modified PFCM
algorithm for clustering incomplete data sets. The stages of the experiment
are as follows. First, we cluster complete data sets using the PFCM algorithm
to obtain the distribution of data points in the actual cluster. The result of
this stage is used as a base in evaluating the performance of OCSPFCM and
NPSPFCM algorithms. To obtain the optimal number of clusters in a complete
data set, we use a cluster validity index. The cluster validity index used is
the Xie-Beni index shown in Equation (12). A validity index is a measure used
to determine the optimal number of clusters. We used the Xie-Beni index by
reason of the partition coefficient (PC) and classification entropy (CE) index
ignore cluster center and data in the index calculation. Whereas the cluster
center and data are two basic things involved in the process of clustering
based on fuzzy clustering rule [7]. The optimal number of clusters are
indicated by the smallest Xie-Beni index value. Xie and Beni [8] propose the
cluster validity index as follows.

$\textbf{XB}(U,V;X)=\frac{\sum_{i=1}^{c}\sum_{k=1}^{n}(u_{ik})^{m}\left\|\textbf{x}_{k}-\textbf{v}_{i}\right\|}{n\cdot\underset{i\neq
j}{\textbf{min}}(\textbf{v}_{i}-\textbf{v}_{j})}$ (12)

The second stage taken is the complete data sets are made contain the missing
values. In this study, the performance of OCSPFCM and NPSPFCM algorithms is
evaluated on real world and artificial data sets. The real world data sets
used is iris [9] and wine [10] data sets downloaded from
http://archive.ics.uci.edu/ml [11]. Iris data sets consist of 150 data points
with 4 features per data point. In matrix form, iris data sets have a size of
[150$\times$4]. Wine data sets consist of 178 data points with 13 features per
data point. In matrix form, wine data sets have a size [178$\times$13]. While
the artificial data sets used is the artificial data sets generated using the
Gaussian mixture distribution rule. We generate artificial data sets with two
components. Artificial data sets I consists of 1000 data points with 2
features per data point. In matrix form, artificial data sets I have a size
[1000$\times$2]. A scatter plot of artificial data set I shown in Figure 1.
Artificial data sets II consists of 1000 data points with 14 features per data
point. In matrix form, artificial data set II have a size [1000$\times$14].
The rows and columns of the data sets matrix represent the number of data
points and features, respectively. Complete iris, wine, artificial data set I
and II are made contain missing values with predetermined percentages. The
percentage of the number of missing values for each data sets is 5%, 10%, 15%,
20%, 25%, and 30%, respectively. We make complete data sets contains missing
values by a random way. The value to be used as the missing values are chosen
randomly in the column vector direction (feature) of matrix data sets.

Figure 1: Artificial data sets I

The third stage is complete data sets that have been become incomplete data
sets is clustered using OCSPFCM and NPSPFCM algorithms. The performance of
OCSPFCM and NPSPFCM algorithms in clustering incomplete data sets are
evaluated in three ways: the percentage accuracy of each data point being on
the correct cluster member, number of iterations to termination, and centroid
errors. The formula used to calculate the percentage of accuracy is as follows
[12].

$\%\>accuracy=\frac{a}{n}100\%$ (13)

Where $a$ is the number of data points clustered correctly, and $n$ is the
total number of data points. In this study, the centroid errors are the
magnitude of the error of cluster center for incomplete data sets clustered
using OCSPFCM and NPSPFCM algorithms when compared to the cluster center of
complete data sets clustered using the PFCM algorithm. In some applications,
information about the cluster center is important to know the data point
partitioning in the cluster [1]. Therefore, we also evaluate the two
algorithms by calculating the centroid errors at each level of the missing
values percentage. Euclid distance formula is used to calculate the centroid
errors. Then this centroid errors ($ce$) are averaged using the following
formula:

$ce=\frac{\sum_{i=1}^{c}ce_{i}}{c}.$ (14)

Where $ce_{i}$ is the $i$-th centroid error.

##  5 Experimental Results and Discussions

In accordance with the experimental setup, the first thing to do is to cluster
the complete data sets using the PFCM algorithm with the Xie-Beni index as
cluster validity index. The result obtained indicate that the smallest Xie-
Beni index value for each data sets is in the two clusters. This means that
the optimal number of clusters to the complete iris data sets is two clusters.
This result in line with the results obtained by Pakhira et al. [13] with the
Davies-Bouldin (DB) index and the Dunn’s index [14] as the cluster validity
index. Similarly, for the complete wine data sets, the optimal number of
clusters obtained with the two clusters. This result is in line with the
results obtained by Zhang et al. [15] with the MPC index and the MPA index
[16] as cluster validity index. For artificial data sets I and II, the optimal
number of clusters obtained in the two clusters as well. This corresponds to
the data sets of two components generated using Gaussian mixture distribution.
Details of those cluster results shown in Table 1.

Table 1: The number of data points for each cluster on complete data sets | Cluster
---|---
| I | II
Iris | 50 data points | 100 data points
Wine | 78 data points | 100 data points
Artificial I | 494 data points | 506 data points
Artificial II | 510 data points | 490 data points

Table 1 shows for complete iris data sets, 50 data points to be members of the
first cluster, and 100 data points become members of the second cluster. For
complete wine data sets, 78 data points become members of the first cluster,
and 100 data points become members of the second cluster. For complete
artificial data sets I, 494 data points become members of the first cluster
and 506 data points become members of the second cluster. While, for complete
artificial data sets II, 510 data points become members of the first cluster
and 490 data points become members of the second cluster. These results will
be a base to evaluate the performance of the modified PFCM algorithm that we
are proposing. Due to differences in the percentage of accuracy, number of
iterations to termination, and centroid errors in every experiment, and to
gain a representative result, we conducted 30 experiments for each thing that
evaluated. So that each of the three things that are evaluated will have 30
values. The average of the 30 values is the value that will be used to
represent the percentage of accuracy, number of iterations to termination, and
centroid errors, respectively.

###  5.1 Experiment on Iris Data Sets

The results of the complete iris data sets cluster by the PFCM algorithm is
used as a base to evaluate the performance of the OCSPFCM and NPSPFCM
algorithms on iris data sets experiment. The first evaluation is the
percentage of accuracy.

Figure 2: The average accuracy percentage on iris data sets

Figure 2 shows the average accuracy percentage for iris data sets using
OCSPFCM and NPSPFCM algorithms. For missing values of below 15%, the OCSPFCM
algorithm is an accuracy percentage above 90%. However, at the number of
missing values between 20% to 30%, the OCSPFCM algorithm only obtained an
accuracy percentage of above 80% and a maximum is 86%. The NPSPFCM algorithm
is an accuracy percentage above 90% for all the missing values tested, expect
for the 30% missing values with an accuracy of 89.13%. The percentage of
accuracy shows a significant difference at above 20% of the total missing
value. Figure 2 also shows that the greater the number of missing values, the
lower the percentage accuracy. The decrease in the percentage of accuracy is
caused by update the missing value imputation falls far from the value that
should be. So that the data points that contain the missing values previously
being a member of the inappropriate cluster. 80% of accuracy percentage on the
OCSPFCM algorithm means that with a 30% missing value, there are 130 data
points out of a total of 150 data points being members of the right cluster.
Instead, there are 20 data points that be members of the inappropriate
cluster. While 89.13% of accuracy percentage on the NPSPFCM algorithm means
134 data points are members of the right cluster. In contrast, there are 16
data points that be members of the inappropriate cluster.

Figure 3: The average number of iterations to termination on iris data sets

Figure 3 shows the number of iterations to termination needed by OCSPFCM and
NPSPFCM algorithms on the iris data sets. Figures 2 and 3 show the behavior
that is inversely proportional to the percentage of accuracy and the number of
iterations. The percentage of accuracy decreases inversely with an increase in
the number of iterations needed to terminate. An increase in the number of
missing values caused an increase in the number of iterations as well. In
other words, the greater the number of missing values, the more iterations
needed to termination.

Figure 4: The average centroid errors on iris data sets

Figure 4 shows the average centroid errors for iris data sets using OCSPFCM
and NPSPFCM algorithms. We can see that the difference in centroid errors
between the OCSPFCM algorithm and NPSPFCM begins significantly at the 20%
missing values. The shift of the cluster center is closely related to the
process of updating the missing values imputation. The algorithm updates the
missing value imputation falls far from the actual value, which occurrence a
cluster center error. Figure 4 also shows that the process of updating the
missing values imputation by the NPSPFCM algorithm has smaller cluster center
(centroid) errors compared to the OCSPFCM algorithm.

###  5.2 Experiment on Wine Data Sets

In the wine data set, evaluations related to the percentage accuracy, the
number of iterations, and centroid errors of the OCSPFCM and NPSPFCM
algorithms are respectively shown in Figures 5, 6, and 7.

Figure 5: The average accuracy percentage on wine data sets

Figure 5 shows the average of accuracy percentage of the OCSPFCM and NPSPFCM
algorithms in the wine data sets. The OCSPFCM algorithm shows the percentage
of accuracy above 90% (for the number of missing values 5% and 10%), above 80%
(for the number of missing values 15%, 20%, and 25%), and 74.72% (for 30%
missing value). Whereas the NPSPFCM algorithm shows an accuracy percentage
above 90% for all levels of missing values, except for a 30% level of missing
value with an accuracy of 89.89%. Both those algorithms produced a percentage
of accuracy that decreases along with the greater percentage of missing value.
In the OCSPFCM algorithm, the percentage of accuracy is 74.72% means that with
a 30% missing values there are 133 data points out of a total of 178 data
points being members of the right cluster. Conversely, there are 45 data
points that being members of the inappropriate cluster. In the NPSPFCM
algorithm, the percentage of accuracy is 89.89% means that there are 160 data
points out of a total of 178 data points being members of the correct cluster
at the 30% missing value level. In contrast, there are 18 data points that are
members of the inappropriate cluster.

Figure 6: The average number of iterations to termination on wine data sets

Figure 6 shows the average number of iterations to termination on wine data
sets using the OCSPFCM and NPSPFCM algorithms. In general, the number of
iterations of the two algorithms increases with the upward in the number of
missing values. The NPSPFCM algorithm provided a number of more efficient
iterations than the OCSPFCM algorithm to termination.

Figure 7: The average centroid errors on wine data sets

Figure 7 shows the average centroid errors in wine data sets using the OCSPFCM
and NPSPFCM algorithms. Based on figure 7, we can see a greater centroid error
on the OCSPFCM algorithm than the NPSPFCM algorithm at all levels of the total
missing values, except at the level of 15% the missing values, NPSPFCM gives a
greater centroid errors.

###  5.3 Experiment on Artificial Data Sets I

In the artificial data set I, evaluations related to the percentage of
accuracy, number of iterations, and centroid error of the OCSPFCM and NPSPFCM
algorithms are respectively shown in Figures 8, 9, and 10.

Figure 8: The average accuracy percentage on artificial data sets I

Figure 8 shows the accuracy percentage of the OCSPFCM and NPSPFCM algorithms
on the artificial data sets I. The OCSPFCM algorithm below 20% of the missing
values gives an accuracy percentage above 90%. This result is higher than what
obtained in the iris data sets, where the OCSPFCM algorithm gives an accuracy
percentage above 90% at 15% missing value. As for the NPSPFCM algorithm, the
performance is similar in the iris data sets for all missing value levels, the
NPSPFCM algorithm gives an accuracy percentage above 90%, except for 30%
missing values, with accuracy percentage is 88.86%. This 88.86% accuracy
percentage value on the NPSPFCM algorithm means that with 30% missing values
there are 886 data points out of a total of 1000 data points that are members
of the right cluster. Instead, there are 114 data points that are members of
the cluster that is not right. While on the OCSPFCM algorithm, 84.90% means
that there are 849 data points out of a total of 1000 data points being
members of the right cluster. In contrast, there are 151 data points that are
members of the inappropriate cluster. In general, both algorithms have a
percentage of accuracy that decreases with an increasing number of missing
values.

Figure 9: The average number of iterations to termination on artificial data
sets I

Figure 9 shows the average number of iterations required by OCSPFCM and
NPSPFCM algorithms to termination. Although there is a change in the number of
iterations between the two algorithms. In general, the number of iterations
required by the two algorithms to terminate relatively similar at each level
of the missing value.

Figure 10: The average centroid errors on artificial data sets I

Figure 10 shows the average centroid errors of the NPSPFCM algorithm which is
smaller than the OCSPFCM algorithm. This is the implication of the process of
updating the imputation of missing values by the NPSPFCM algorithm which gives
a smaller cluster center (centroid) error than the OCSPFCM algorithm. In other
words, the cluster center generated by the NPSPFCM algorithm falls closer to
the base centroid used in the complete artificial data sets I.

###  5.4 Experiment on Artificial Data Sets II

In the artificial data sets II, evaluations related to the percentage of
accuracy, the number of iterations, and the centroid errors of the OCSPFCM and
NPSPFCM algorithms are respectively shown in Figures 11, 12, and 13.

Figure 11: The average accuracy percentage on artificial data sets II

Figure 11 shows the average of accuracy percentage in the OCSPFCM and NPSPFCM
algorithms in the artificial data sets II. Both algorithms provide accuracy
percentages above 95% for all missing values percentage levels, which is an
accurate value. For the 30% missing value, the OCSPFCM and NPSPFCM algorithms
show an accuracy percentage of 95.30% and 97.57%, respectively. That means for
the OCSPFCM algorithm there are available 953 data points out of a total of
1000 data points that members of the right cluster. Instead, there are 47 data
points that members of an inappropriate cluster. Whereas in the NPSPFCM
algorithm there are 975 data points that members of the right cluster.
Instead, there are 25 data points that members of an inappropriate cluster.

Figure 12: The average number of iterations to termination on artificial data
sets II

Figure 12 shows the number of iterations is more efficient provided by the
NPSPFCM algorithm. In addition to more efficient iterations, the NPSPFCM
algorithm also provides a higher percentage of accuracy as shown in Figure 11.
It was also inversely shown in Figures 11 and 12, which is the percentage of
accuracy that decreases and the number of iterations increases with an
increasing number of missing values.

Figure 13: The average centroid errors on artificial data sets II

In addition to the higher percentage of accuracy and the number of iterations
that more efficient, the NPSPFCM algorithm also produced smaller centroid
errors compared to the OCSPFCM algorithm as shown in Figure 13.

The OCSPFCM and NPSPFCM algorithms provide accuracy percentages significantly
different for the number of features almost the same, but significantly
different in the number of data points as shown in Figure 5 and 11. However,
we also find different results result in the iris data sets experiment shown
in Figure 2 and the experiment in the artificial data sets I as shown in
Figure 8, that the addition of the number of data points does not
significantly affect the acquisition of the percentage of accuracy. Therefore,
we can conclude that the OCSPFCM and NPSPFCM algorithms provide a more
accurate percentage of accuracy in data sets with a greater number of data
points and features. While data sets with a smaller number of features,
although the addition of data points becomes larger, the two algorithms do not
provide a significant increase in the percentage of accuracy.

The performance of the NPSPFCM algorithm on the number of iterations to
termination in all data sets is also always more efficient than the OCSPFCM
algorithm, except for the artificial data sets I whose number of iterations
was alternately larger. But in general, the number of iterations to
termination in the artificial data sets I give a relatively equal number of
iterations between the OCSPFCM and NPSPFCM algorithms.The excellence of the
NPSPFCM algorithm in the efficiency of the number of iterations is due to the
NPSPFCM algorithm updating the imputation of the missing values using one of
the values available at the cluster center vector nearest to itself. This
accelerates the convergence of cluster centers directly, or
$\left\|\textbf{v}_{i}^{(l)}-\textbf{v}_{i}^{(l-1)}\right\|<\epsilon$ faster
achieved on the NPSPFCM algorithm than OCSPFCM algorithm. Whereas in the
OCSPFCM algorithm, the imputation of the missing values updated using the sum
of the degrees of fuzzy membership with the possibilistic of membership
degrees then multiplied by one of the values available in the existing cluster
center vector. From this, we understood that the value used to update the
missing value may be one of the values of the cluster center which is not the
cluster center where the imputation of the missing value is. So this causes
the slow convergence of cluster centers.

Finally, we have evaluated the performance of OCSPFCM and NPSPFCM algorithms
on centroid errors in each data sets. The results obtained the centroid errors
of the NPSPFCM algorithm on all data sets are always smaller than the OCSPFCM
algorithm, except for the wine data sets. However, generally the NPSPFCM
algorithm always gives a smaller centroid errors in the wine data sets. The
smaller centroid errors in the NPSPFCM algorithm can be interpreted as the
ability of the NPSPFCM algorithm to produce cluster centers on incomplete data
set with a ’location’ not far from cluster centers of the complete data set.
This is the implication of the process of updating the imputation of the
missing values, where the NPSPFCM algorithm produces value not far from the
value that should be. This is also the reason why the NPSPFCM algorithm
obtains a more accurate percentage of accuracy and the number of iterations to
termination more efficiently.

##  6 Conclusions

In this paper, we have presented the potential and performance modification of
the PFCM algorithm for clustering incomplete data sets. The modification of
the PFCM algorithm, we call as OCSPFCM and NPSPFCM algorithms. This paper
divided into three stages. In the first stage, we conducted a clustering of
complete data sets using the PFCM algorithm. The cluster results obtained at
this stage become a base in evaluating the performance of the OSCPFCM and
NPSPFCM algorithms. We evaluated the performance of the two algorithms on
three ways: accuracy percentage, a number of iterations to termination, and
centroid errors. In the second stage, the complete data sets were made into an
incomplete data set, in this case, the data set contains the missing values
with the predetermined percentage. In the third stage, we clustered incomplete
data sets using the OCSPFCM and NPSPFCM algorithms. The results showed both
algorithms have the potential to clustering incomplete data sets. However, the
NPSPFCM algorithm has better performance than the OCSPFCM algorithm based on
three things that are evaluated. Furthermore, the modification of the PFCM
algorithm proposed in this paper can provide knowledge in the algorithm for
incomplete data sets clustering.

## References

  * [1] Ludmila Himmelspach.  Fuzzy clustering of incomplete data.  PhD thesis, 2016.
  * [2] James C Bezdek, Robert Ehrlich, and William Full.  Fcm: The fuzzy c-means clustering algorithm.  Computers & Geosciences, 10(2-3):191–203, 1984.
  * [3] Raghuram Krishnapuram and James M Keller.  A possibilistic approach to clustering.  IEEE transactions on fuzzy systems, 1(2):98–110, 1993.
  * [4] Richard J Hathaway and James C Bezdek.  Fuzzy c-means clustering of incomplete data.  IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 31(5):735–744, 2001.
  * [5] John K Dixon.  Pattern recognition with partly missing data.  IEEE Transactions on Systems, Man, and Cybernetics, 9(10):617–621, 1979.
  * [6] Nikhil R Pal, Kuhu Pal, James M Keller, and James C Bezdek.  A possibilistic fuzzy c-means clustering algorithm.  IEEE transactions on fuzzy systems, 13(4):517–530, 2005.
  * [7] Rustam, Agus Y Gunawan, and Made Tri Ari P Kresnowati.  The hard c-means algorithm for clustering indonesian plantation commodity based on metabolites composition.  In Journal of Physics: Conference Series, volume 1315, page 012085\. IOP Publishing, 2019.
  * [8] Xuanli Lisa Xie and Gerardo Beni.  A validity measure for fuzzy clustering.  IEEE Transactions on Pattern Analysis & Machine Intelligence, (8):841–847, 1991.
  * [9] Ronald A Fisher.  The use of multiple measurements in taxonomic problems.  Annals of eugenics, 7(2):179–188, 1936.
  * [10] M Forina, S Lanteri, C Armanino, et al.  Parvus-an extendible package for data exploration, classification and correlation, institute of pharmaceutical and food analysis and technologies, via brigata salerno, 16147 genoa, italy (1988).  Av. Loss Av. O set Av. Hit-Rate, 1991.
  * [11] Dheeru Dua and Casey Graff.  UCI machine learning repository.  2017\.  http://archive.ics.uci.edu/ml.
  * [12] Rustam, A Yodi Gunawan, and M T A Penia Kresnowati.  Artificial neural network approach for the identification of clove buds origin based on metabolites composition.
  * [13] Malay K Pakhira, Sanghamitra Bandyopadhyay, and Ujjwal Maulik.  Validity index for crisp and fuzzy clusters.  Pattern recognition, 37(3):487–501, 2004.
  * [14] David L Davies and Donald W Bouldin.  A cluster separation measure.  IEEE transactions on pattern analysis and machine intelligence, (2):224–227, 1979.
  * [15] Dawei Zhang, Min Ji, Jun Yang, Yong Zhang, and Fuding Xie.  A novel cluster validity index for fuzzy clustering based on bipartite modularity.  Fuzzy Sets and Systems, 253:122–137, 2014.
  * [16] Rajesh N Dave.  Validating fuzzy partitions obtained through c-shells clustering.  Pattern recognition letters, 17(6):613–623, 1996.


# Molecular dynamics simulations of nucleation of hexagonal($\delta$) and
cubic($\alpha$)-FAPbI3 perovskites from solution

Paramvir Ahlawat<EMAIL_ADDRESS>
###### Abstract

Solar to power conversion certified efficiencies of formamidinium lead
iodide1, 2, 3, 4, 5, 6, 7 based single-junction perovskite solar cell (PSC)8,
9, 10 is now 26%11, 12, 13, all perovskite-perovskite tandem 28%14, 15, 16,
and the perovskite-silicon tandem solar cell is $\sim$34%13, 17, 18, 19, 20,
21 going beyond gallium arsenide solar cells13. Therefore, it is now one of
the most promising materials for generating cheaper sunlight-based
electricity. This material has two commonly known polymorphs; one is a
thermodynamically stable yellow hexagonal phase. The other one is a metastable
black perovskite phase: a powerful photo-active material. Thousands of
experiments have been performed to produce the highly crystalline photoactive
phase of formamidinium lead iodide. Despite that, PSCs often suffer from poor
reproducibility and stability. One of the root cause is the lack of control
over their synthesis, i.e. crystallization process, where one of the main
quests is to synthesize and stabilize corner-sharing defects-free photoactive
perovskite form of pure or doped black perovskite form of formamidinium lead
iodide and prevent the formation of hexagonal phases. Thus, for the rapid
industrialization of perovskite based solar farms to combat global rising
temperatures: it is all-important to understand the polymorph selective
nucleation of formamidinium lead iodide from its precursors. Towards this
ultimate goal, here we perform molecular simulations of the nucleation of
formamidinium lead iodide from solution. This study aims to take the primary
steps for the all-atoms simulations of the polymorph selective crystallization
of halide perovskites.

###### keywords:

Halide perovskites, FAPbI3, Nucleation from solution, Molecular dynamics
simulations

## Main

Solution processing22, 23, 24, 25, 26 for growing thin films of formamidinium
lead iodide (FAPbI3) perovskite has been one of the main driving forces for
the relatively more straightforward synthesis of record efficiency perovskite
solar cells (PSCs). In this process, countless experimental recipes have been
tried to crystallize defects free black-FAPbI3 by utilizing: (a) different
process conditions27, 28, 29, 30, 31, 11, 32, (b) numerous solvents33, 34, 35,
36, 37, 38, 39, 40, 41, (c) additives42, 43, 44, 45, 46, 47, 48, and (d)
dopants49, 50, 51, 52, 53, 11, 54. In the race for achieving higher
efficiencies, endless experimental efforts are ongoing for synthesizing high
crystal quality of phase-pure or alloyed corner-sharing perovskite photo-
active structure of FAPbI3. However, a critical problem with the current
experimental recipes is their reproducibility and scalability. One can only
make >25% PSCs on a tiny area13 of 0.1 - 1.0 cm2 and is not scalable enough to
produce similar efficiency larger industrial scale PSC modules55. A complete
atomic-level comprehensive picture of perovskites’ crystallisation process can
help to establish reproducible experimental methodologies for developing
stable and record efficiency PSCs, especially large solar cell modules
required for solar farms. However, it is of great challenge to extract the
molecular details of a crystallization process. Now, state-of-the-art
experimental spectroscopic techniques are frequently limited by their spatio-
temporal resolutions to seeing the complex dynamic process of nucleation. Over
the years, transmission electron microscopy (TEM)56, 57, 58, 59, 60 have been
extensively employed to extract the atomic-level details of nucleation.
However, halide perovskites are soft materials and sensitive to electron beams
which can induce in-situ degradation and subsequent phase changes during
spectroscopic experiments; for example, metastable phases can convert to
stable ones. Furthermore, it is a huge challenge to design electron microscopy
experiments to study the formation of metastable phases of halide perovskite
that are usually crystallized at elevated temperatures and from mixtures of
complex solvents such as dimethylformamide (DMF), dimethyl sulfoxide (DMSO),
gamma-butyrolactone (GBL), tetrahydrofuran (THF), 2-methoxy ethanol (2-ME) and
a wide range of additives. Here, molecular simulations61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 74, 75 can help in understanding the polymorph
selective crystallization of FAPbI3 and be of great use for making stable and
reproducible solar cells. However, there are also challenges to performing MD
simulations of the nucleation of this complex system from solutions. First, a
typical simulation of nucleation from solution contains thousands of
atoms/molecules, making it very difficult to simulate at the first-principles
level; for example, with the density functional theory (DFT). Secondly,
nucleation processes are often rare event76 characterized by high free energy
barriers, and it is computationally demanding to simulate experimental time
scales with conventional computational architectures. In the third place, we
could also face finite-size effects while simulating nucleation from solution.
In this work, we take elementary steps to solve these ambitious problems and
indeed, for the first time successfully perform all-atoms nucleation of both
hexagonal and cubic phases of FAPbI3 from their precursor solutions. First a
scaled point charge inter-atomic potential is constructed for FAPbI3 of a
common functional form as AMBER77, CHARMM78, OPLS79, and GROMOS80, see
Equation 1. This potential is inspired by previous research work of Vega et
al. 81, 82, 83 where scaled charge inter-atomic potentials are shown to
reproduce various experimental quantities of ions in solutions.

$\displaystyle u(r_{ij})$
$\displaystyle=\sum_{electrostatics}\frac{1}{4\pi\epsilon_{0}}\frac{q_{i}q_{j}}{r_{ij}}+\sum_{Lennard-
Jones}4\epsilon_{ij}\left[\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{12}-\left(\frac{\sigma_{ij}}{r_{ij}}\right)^{6}\right]+$
(1)
$\displaystyle\sum_{bonds}\frac{1}{2}k_{b}(\textbf{r}-\textbf{r}_{0})+\sum_{angles}\frac{1}{2}k_{\theta}(\theta-{\theta}_{0})+\sum_{torsions}\sum_{n}\frac{V_{n}}{2}\left(1+cos(n\Phi-\delta\right)$

Figure 1: displays the nucleated hexagonal face-sharing yellow hexagonal phase
of FAPbI3 from its precursor solution Figure 2: displays the nucleated corner-
sharing perovskite phase of FAPbI3 from its precursor solution

Now, to overcome the time scale problem, we take inspiration from the earlier
studies of nucleation et al.84, 85 and employ biased enhanced sampling
techniques86, 87, 88, 89, where a bias potential explore the free energy
surface as a function of system coordinates. One of the key challenge to
perform the biased simulations is to make a suitable functional form of
collective coordinates, commonly known as collective variables (CVs). In this
work, we introduce a CV that can be exploited to perform nucleation of any
perovskite or in general to multi-species systems for example atmospheric
aerosol particle nucleation90, 91, 92 which is crucial to understand global
climate change. Our CV is based on combinations of the local
coordination/density93, 94, 95, 96, 97 with the local crystalline order98, 99,
100, 101 detailed in the following sections. First, we calculate the local
densities ($\rho^{\alpha}(r_{i}^{Pb})$) of individual species (${\alpha}$) FA,
Pb and I around the center position $r_{i}^{Pb}$ of Pb atoms:

$\rho^{\alpha}(r_{i}^{Pb})=\frac{1-\left(\frac{f_{i}^{\alpha}}{f^{\alpha}_{cut}}\right)^{-m}}{1-\left(\frac{f_{i}^{\alpha}}{f^{\alpha}_{cut}}\right)^{-n}}$
(2)

Where $f_{i}^{\alpha}$ are the coordination numbers of FA, Pb and I around
origin $r_{i}^{Pb}$ of Pb atoms defined as:

$f_{i}^{\alpha}=\sum_{j=1}^{N_{\alpha}}\frac{1-\left(\frac{r_{ij}}{r^{\alpha}_{cut}}\right)^{a}}{1-\left(\frac{r_{ij}}{r^{\alpha}_{cut}}\right)^{b}}$
(3)

Here $r_{ij}$ is the distance between positions of center Pb atoms
$r_{i}^{Pb}$ and neighbouring species $r_{i}^{\alpha}$(${\alpha}$ = FA, Pb and
I). The values for $r^{\alpha}_{cut}$ and $f^{\alpha}_{cut}$ are chosen
similar to the first coordination sphere of Pb atoms in their corresponding
crystalline polymoprh of FAPbI3. Now to incorporate the local order, we
calculate the local structure factors 102, 103, 104, 105
($s^{\alpha}(r_{i}^{Pb})$) of the species (${\alpha}$) FA, Pb and I around the
center position $r_{i}^{Pb}$ of the Pb atoms.

$s^{\alpha}(r_{i}^{Pb})=\frac{1-\left(\frac{s(q)_{i}^{\alpha}}{s(q)^{\alpha}_{cut}}\right)^{-c}}{1-\left(\frac{s(q)_{i}^{\alpha}}{s(q)^{\alpha}_{cut}}\right)^{-d}}$
(4)

Where $s(q)_{i}^{\alpha}$ is defined as:

$s(q)_{i}^{\alpha}=1+\frac{1}{N}\sum_{j=i}^{N_{\alpha}}\frac{sin(qr\textsubscript{{ij}})}{qr\textsubscript{{ij}}}$
(5)

$N_{\alpha}$ are the number of species within similar distance cutoff used for
calculating the coordination number $r^{\alpha}_{cut}$. The final local
symmetric order centering Pb positions $r_{i}^{Pb}$ is calculated by
multiplying94, 93, 106 these individual local contributions from different
species:

$\xi_{i}=\prod_{\alpha=FA,Pb,I}\rho^{\alpha}(r_{i}^{Pb})s^{\alpha}(r_{i}^{Pb})$
(6)

The final expression for the CV becomes the sum for all Pb species:

$S_{p}=\sum_{i=1}^{N_{Pb}}\xi_{i}$ (7)

Where $N_{Pb}$ is the number of Pb ions around which the local order is
calculated. We apply this functional form to selectively bias and nucleate the
face-sharing and corner-sharing polymorphs of FAPbI3 from their precursor
solution. This CV is implemented in PLUMED-2.8107, 108, 109. We also test this
implementation on other perovskite systems and, indeed observe nucleation from
their homogeneous solution mixtures. Moreover, the idea of enhancing local
atomic density along with the local crystalline order can be further extended
to design more computationally efficient CVs.

This research is funded by Swiss National Science Foundation (SNSF) through
Postdoc.Mobility fellowship $P500PN\\_206693$.

##  1 Note

All necessary data (input files, jupyter notebooks, other codes) to reproduce
the results of this study are either deposited on Zenodo or can be accessed
via github.

## References

  * Mitzi 2007 Mitzi, D. B. In _Progress in Inorganic Chemistry_ ; Karlin, K. D., Ed.; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2007; pp 1–121
  * Stoumpos et al. 2013 Stoumpos, C. C.; Malliakas, C. D.; Kanatzidis, M. G. Semiconducting Tin and Lead Iodide Perovskites with Organic Cations: Phase Transitions, High Mobilities, and Near-Infrared Photoluminescent Properties. _Inorganic Chemistry_ 2013, _52_ , 9019–9038
  * Eperon et al. 2014 Eperon, G. E.; Stranks, S. D.; Menelaou, C.; Johnston, M. B.; Herz, L. M.; Snaith, H. J. Formamidinium lead trihalide: a broadly tunable perovskite for efficient planar heterojunction solar cells. _Energy & Environmental Science_ 2014, _7_ , 982
  * Lee et al. 2014 Lee, J.-W.; Seol, D.-J.; Cho, A.-N.; Park, N.-G. High-Efficiency Perovskite Solar Cells Based on the Black Polymorph of HC(NH ${}_{\textrm{2}}$ ) ${}_{\textrm{2}}$ PbI ${}_{\textrm{3}}$. _Advanced Materials_ 2014, _26_ , 4991–4998
  * Koh et al. 2014 Koh, T. M.; Fu, K.; Fang, Y.; Chen, S.; Sum, T. C.; Mathews, N.; Mhaisalkar, S. G.; Boix, P. P.; Baikie, T. Formamidinium-Containing Metal-Halide: An Alternative Material for Near-IR Absorption Perovskite Solar Cells. _The Journal of Physical Chemistry C_ 2014, _118_ , 16458–16462
  * Pang et al. 2014 Pang, S.; Hu, H.; Zhang, J.; Lv, S.; Yu, Y.; Wei, F.; Qin, T.; Xu, H.; Liu, Z.; Cui, G. NH ${}_{\textrm{2}}$ CH-NH ${}_{\textrm{2}}$ PbI ${}_{\textrm{3}}$ : An Alternative Organolead Iodide Perovskite Sensitizer for Mesoscopic Solar Cells. _Chemistry of Materials_ 2014, _26_ , 1485–1491
  * Pellet et al. 2014 Pellet, N.; Gao, P.; Gregori, G.; Yang, T.-Y.; Nazeeruddin, M. K.; Maier, J.; Grätzel, M. Mixed-Organic-Cation Perovskite Photovoltaics for Enhanced Solar-Light Harvesting. _Angewandte Chemie International Edition_ 2014, _53_ , 3151–3157
  * Kojima et al. 2009 Kojima, A.; Teshima, K.; Shirai, Y.; Miyasaka, T. Organometal Halide Perovskites as Visible-Light Sensitizers for Photovoltaic Cells. _Journal of the American Chemical Society_ 2009, _131_ , 6050–6051
  * Im et al. 2011 Im, J.-H.; Lee, C.-R.; Lee, J.-W.; Park, S.-W.; Park, N.-G. 6.5% efficient perovskite quantum-dot-sensitized solar cell. _Nanoscale_ 2011, _3_ , 4088
  * Lee et al. 2012 Lee, M. M.; Teuscher, J.; Miyasaka, T.; Murakami, T. N.; Snaith, H. J. Efficient Hybrid Solar Cells Based on Meso-Superstructured Organometal Halide Perovskites. _Science_ 2012, _338_ , 643–647
  * Zhao et al. 2022 Zhao, Y.; Ma, F.; Qu, Z.; Yu, S.; Shen, T.; Deng, H.-X.; Chu, X.; Peng, X.; Yuan, Y.; Zhang, X.; You, J. Inactive (PbI ${}_{\textrm{2}}$ ) ${}_{\textrm{2}}$ RbCl stabilizes perovskite films for efficient solar cells. _Science_ 2022, _377_ , 531–534
  * Park et al. 2023 Park, J.; Kim, J.; Yun, H.-S.; Paik, M. J.; Noh, E.; Mun, H. J.; Kim, M. G.; Shin, T. J.; Seok, S. I. Controlled growth of perovskite layers with volatile alkylammonium chlorides. _Nature_ 2023, _616_ , 724–730
  * 13 Best Research-Cell Efficiency Chart. https://www.nrel.gov/pv/cell-efficiency.html
  * Chen et al. 2022 Chen, B.; Yu, Z.; Onno, A.; Yu, Z.; Chen, S.; Wang, J.; Holman, Z. C.; Huang, J. Bifacial all-perovskite tandem solar cells. _Science Advances_ 2022, _8_ , eadd0377
  * Lin et al. 2023 Lin, R. et al. All-perovskite tandem solar cells with 3D/3D bilayer perovskite heterojunction. _Nature_ 2023,
  * He et al. 2023 He, R. et al. Improving interface quality for 1-cm2 all-perovskite tandem solar cells. _Nature_ 2023, _618_ , 80–86
  * 17 Leaders in perovskite solar technology | Oxford PV. https://www.oxfordpv.com/
  * Sahli et al. 2018 Sahli, F. et al. Fully textured monolithic perovskite/silicon tandem solar cells with 25.2% power conversion efficiency. _Nature Materials_ 2018, _17_ , 820–826
  * Jošt et al. 2018 Jošt, M.; Köhnen, E.; Morales-Vilches, A. B.; Lipovšek, B.; Jäger, K.; Macco, B.; Al-Ashouri, A.; Krč, J.; Korte, L.; Rech, B.; Schlatmann, R.; Topič, M.; Stannowski, B.; Albrecht, S. Textured interfaces in monolithic perovskite/silicon tandem solar cells: advanced light management for improved efficiency and energy yield. _Energy & Environmental Science_ 2018, _11_ , 3511–3523
  * Chen et al. 2020 Chen, B.; Yu, Z. J.; Manzoor, S.; Wang, S.; Weigand, W.; Yu, Z.; Yang, G.; Ni, Z.; Dai, X.; Holman, Z. C.; Huang, J. Blade-Coated Perovskites on Textured Silicon for 26%-Efficient Monolithic Perovskite/Silicon Tandem Solar Cells. _Joule_ 2020, _4_ , 850–864
  * Liu et al. 2022 Liu, J. et al. Efficient and stable perovskite-silicon tandem solar cells through contact displacement by MgF  ${}_{\textrm{x}}$ . _Science_ 2022, _377_ , 302–306
  * Green et al. 2014 Green, M. A.; Ho-Baillie, A.; Snaith, H. J. The emergence of perovskite solar cells. _Nature Photonics_ 2014, _8_ , 506–514
  * Graetzel et al. 2012 Graetzel, M.; Janssen, R. A. J.; Mitzi, D. B.; Sargent, E. H. Materials interface engineering for solution-processed photovoltaics. _Nature_ 2012, _488_ , 304–312
  * Park 2015 Park, N.-G. Perovskite solar cells: an emerging photovoltaic technology. _Materials Today_ 2015, _18_ , 65–72
  * Berry et al. 2017 Berry, J. J.; Van De Lagemaat, J.; Al-Jassim, M. M.; Kurtz, S.; Yan, Y.; Zhu, K. Perovskite Photovoltaics: The Path to a Printable Terawatt-Scale Technology. _ACS Energy Letters_ 2017, _2_ , 2540–2544
  * Jena et al. 2019 Jena, A. K.; Kulkarni, A.; Miyasaka, T. Halide Perovskite Photovoltaics: Background, Status, and Future Prospects. _Chemical Reviews_ 2019, _119_ , 3036–3103
  * Burschka et al. 2013 Burschka, J.; Pellet, N.; Moon, S.-J.; Humphry-Baker, R.; Gao, P.; Nazeeruddin, M. K.; Grätzel, M. Sequential deposition as a route to high-performance perovskite-sensitized solar cells. _Nature_ 2013, _499_ , 316–319
  * Borchert et al. 2017 Borchert, J.; Milot, R. L.; Patel, J. B.; Davies, C. L.; Wright, A. D.; Martínez Maestro, L.; Snaith, H. J.; Herz, L. M.; Johnston, M. B. Large-Area, Highly Uniform Evaporated Formamidinium Lead Triiodide Thin Films for Solar Cells. _ACS Energy Letters_ 2017, _2_ , 2799–2804
  * Liu et al. 2017 Liu, T.; Zong, Y.; Zhou, Y.; Yang, M.; Li, Z.; Game, O. S.; Zhu, K.; Zhu, R.; Gong, Q.; Padture, N. P. High-Performance Formamidinium-Based Perovskite Solar Cells via Microstructure-Mediated $\delta$-to-$\alpha$ Phase Transformation. _Chemistry of Materials_ 2017, _29_ , 3246–3250
  * Myung et al. 2022 Myung, C. W.; Hajibabaei, A.; Cha, J.; Ha, M.; Kim, J.; Kim, K. S. Challenges, Opportunities, and Prospects in Metal Halide Perovskites from Theoretical and Machine Learning Perspectives. _Advanced Energy Materials_ 2022, _12_ , 2202279
  * Lu et al. 2020 Lu, H. et al. Vapor-assisted deposition of highly efficient, stable black-phase FAPbI ${}_{\textrm{3}}$ perovskite solar cells. _Science_ 2020, _370_ , eabb8985
  * Sánchez et al. 2022 Sánchez, S.; Cacovich, S.; Vidon, G.; Guillemoles, J.-F.; Eickemeyer, F.; Zakeeruddin, S. M.; Schawe, J. E. K.; Löffler, J. F.; Cayron, C.; Schouwink, P.; Graetzel, M. Thermally controlled growth of photoactive FAPbI ${}_{\textrm{3}}$ films for highly stable perovskite solar cells. _Energy & Environmental Science_ 2022, _15_ , 3862–3876
  * Jeon et al. 2014 Jeon, N. J.; Noh, J. H.; Kim, Y. C.; Yang, W. S.; Ryu, S.; Seok, S. I. Solvent engineering for high-performance inorganic–organic hybrid perovskite solar cells. _Nature Materials_ 2014, _13_ , 897–903
  * Xiao et al. 2014 Xiao, Z.; Dong, Q.; Bi, C.; Shao, Y.; Yuan, Y.; Huang, J. Solvent Annealing of Perovskite-Induced Crystal Growth for Photovoltaic-Device Efficiency Enhancement. _Advanced Materials_ 2014, _26_ , 6503–6509
  * Yang et al. 2015 Yang, W. S.; Noh, J. H.; Jeon, N. J.; Kim, Y. C.; Ryu, S.; Seo, J.; Seok, S. I. High-performance photovoltaic perovskite layers fabricated through intramolecular exchange. _Science_ 2015, _348_ , 1234–1237
  * Noel et al. 2017 Noel, N. K.; Habisreutinger, S. N.; Wenger, B.; Klug, M. T.; Hörantner, M. T.; Johnston, M. B.; Nicholas, R. J.; Moore, D. T.; Snaith, H. J. A low viscosity, low boiling point, clean solvent system for the rapid crystallisation of highly specular perovskite films. _Energy & Environmental Science_ 2017, _10_ , 145–152
  * Jeong et al. 2019 Jeong, D.-N.; Lee, D.-K.; Seo, S.; Lim, S. Y.; Zhang, Y.; Shin, H.; Cheong, H.; Park, N.-G. Perovskite Cluster-Containing Solution for Scalable D-Bar Coating toward High-Throughput Perovskite Solar Cells. _ACS Energy Letters_ 2019, _4_ , 1189–1195
  * Zhou et al. 2016 Zhou, Y.; Yang, M.; Game, O. S.; Wu, W.; Kwun, J.; Strauss, M. A.; Yan, Y.; Huang, J.; Zhu, K.; Padture, N. P. Manipulating Crystallization of Organolead Mixed-Halide Thin Films in Antisolvent Baths for Wide-Bandgap Perovskite Solar Cells. _ACS Applied Materials & Interfaces_ 2016, _8_ , 2232–2237
  * Zhang et al. 2022 Zhang, H. et al. A universal co-solvent dilution strategy enables facile and cost-effective fabrication of perovskite photovoltaics. _Nature Communications_ 2022, _13_ , 89
  * Park 2020 Park, N.-G. Green solvent for perovskite solar cell production. _Nature Sustainability_ 2020, _4_ , 192–193
  * Kim et al. 2021 Kim, S.-G.; Kim, J.-H.; Ramming, P.; Zhong, Y.; Schötz, K.; Kwon, S. J.; Huettner, S.; Panzer, F.; Park, N.-G. How antisolvent miscibility affects perovskite film wrinkling and photovoltaic properties. _Nature Communications_ 2021, _12_ , 1554
  * Abdi-Jalebi et al. 2018 Abdi-Jalebi, M. et al. Maximizing and stabilizing luminescence from halide perovskites with potassium passivation. _Nature_ 2018, _555_ , 497–501
  * Masi et al. 2020 Masi, S.; Echeverría-Arrondo, C.; Salim, K. M. M.; Ngo, T. T.; Mendez, P. F.; López-Fraguas, E.; Macias-Pinilla, D. F.; Planelles, J.; Climente, J. I.; Mora-Seró, I. Chemi-Structural Stabilization of Formamidinium Lead Iodide Perovskite by Using Embedded Quantum Dots. _ACS Energy Letters_ 2020, _5_ , 418–427
  * Wang et al. 2015 Wang, Z.; Zhou, Y.; Pang, S.; Xiao, Z.; Zhang, J.; Chai, W.; Xu, H.; Liu, Z.; Padture, N. P.; Cui, G. Additive-Modulated Evolution of HC(NH ${}_{\textrm{2}}$ ) ${}_{\textrm{2}}$ PbI ${}_{\textrm{3}}$ Black Polymorph for Mesoscopic Perovskite Solar Cells. _Chemistry of Materials_ 2015, _27_ , 7149–7155
  * Kim et al. 2019 Kim, M.; Kim, G.-H.; Lee, T. K.; Choi, I. W.; Choi, H. W.; Jo, Y.; Yoon, Y. J.; Kim, J. W.; Lee, J.; Huh, D.; Lee, H.; Kwak, S. K.; Kim, J. Y.; Kim, D. S. Methylammonium Chloride Induces Intermediate Phase Stabilization for Efficient Perovskite Solar Cells. _Joule_ 2019, _3_ , 2179–2192
  * Smith et al. 2014 Smith, I. C.; Hoke, E. T.; Solis-Ibarra, D.; McGehee, M. D.; Karunadasa, H. I. A Layered Hybrid Perovskite Solar-Cell Absorber with Enhanced Moisture Stability. _Angewandte Chemie International Edition_ 2014, _53_ , 11232–11235
  * Lee et al. 2018 Lee, J.-W.; Dai, Z.; Han, T.-H.; Choi, C.; Chang, S.-Y.; Lee, S.-J.; De Marco, N.; Zhao, H.; Sun, P.; Huang, Y.; Yang, Y. 2D perovskite stabilized phase-pure formamidinium perovskite solar cells. _Nature Communications_ 2018, _9_ , 3021
  * Jeong et al. 2021 Jeong, J. et al. Pseudo-halide anion engineering for $\alpha$-FAPbI3 perovskite solar cells. _Nature_ 2021, _592_ , 381–385
  * Lee et al. 2015 Lee, J.-W.; Kim, D.-H.; Kim, H.-S.; Seo, S.-W.; Cho, S. M.; Park, N.-G. Formamidinium and Cesium Hybridization for Photo- and Moisture-Stable Perovskite Solar Cell. _Advanced Energy Materials_ 2015, _5_ , 1501310
  * Saliba et al. 2016 Saliba, M.; Matsui, T.; Domanski, K.; Seo, J.-Y.; Ummadisingu, A.; Zakeeruddin, S. M.; Correa-Baena, J.-P.; Tress, W. R.; Abate, A.; Hagfeldt, A.; Grätzel, M. Incorporation of rubidium cations into perovskite solar cells improves photovoltaic performance. _Science_ 2016, _354_ , 206–209
  * Duijnstee et al. 2023 Duijnstee, E. A. et al. Understanding the Degradation of Methylenediammonium and Its Role in Phase-Stabilizing Formamidinium Lead Triiodide. _Journal of the American Chemical Society_ 2023, _145_ , 10275–10284
  * Kim et al. 2020 Kim, G.; Min, H.; Lee, K. S.; Lee, D. Y.; Yoon, S. M.; Seok, S. I. Impact of strain relaxation on performance of $\alpha$-formamidinium lead iodide perovskite solar cells. _Science_ 2020, _370_ , 108–112
  * Caprioglio et al. 2023 Caprioglio, P. et al. Open-circuit and short-circuit loss management in wide-gap perovskite p-i-n solar cells. _Nature Communications_ 2023, _14_ , 932
  * Lee et al. 2020 Lee, J.-W. et al. Solid-phase hetero epitaxial growth of $\alpha$-phase formamidinium perovskite. _Nature Communications_ 2020, _11_ , 5514
  * 55 Champion Photovoltaic Module Efficiency Chart. https://www.nrel.gov/pv/module-efficiency.html
  * Nakamuro et al. 2021 Nakamuro, T.; Sakakibara, M.; Nada, H.; Harano, K.; Nakamura, E. Capturing the Moment of Emergence of Crystal Nucleus from Disorder. _Journal of the American Chemical Society_ 2021, _143_ , 1763–1767
  * Cao et al. 2020 Cao, K.; Biskupek, J.; Stoppiello, C. T.; McSweeney, R. L.; Chamberlain, T. W.; Liu, Z.; Suenaga, K.; Skowron, S. T.; Besley, E.; Khlobystov, A. N.; Kaiser, U. Atomic mechanism of metal crystal nucleus formation in a single-walled carbon nanotube. _Nature Chemistry_ 2020, _12_ , 921–928
  * Nielsen et al. 2014 Nielsen, M. H.; Aloni, S.; De Yoreo, J. J. In situ TEM imaging of CaCO ${}_{\textrm{3}}$ nucleation reveals coexistence of direct and indirect pathways. _Science_ 2014, _345_ , 1158–1162
  * Loh et al. 2017 Loh, N. D.; Sen, S.; Bosman, M.; Tan, S. F.; Zhong, J.; Nijhuis, C. A.; Král, P.; Matsudaira, P.; Mirsaidov, U. Multistep nucleation of nanocrystals in aqueous solution. _Nature Chemistry_ 2017, _9_ , 77–82
  * Li et al. 2012 Li, D.; Nielsen, M. H.; Lee, J. R. I.; Frandsen, C.; Banfield, J. F.; De Yoreo, J. J. Direction-Specific Interactions Control Crystal Growth by Oriented Attachment. _Science_ 2012, _336_ , 1014–1018
  * Anwar and Zahn 2011 Anwar, J.; Zahn, D. Uncovering Molecular Processes in Crystal Nucleation and Growth by Using Molecular Simulation. _Angewandte Chemie International Edition_ 2011, _50_ , 1996–2013
  * Piana et al. 2005 Piana, S.; Reyhani, M.; Gale, J. D. Simulating micrometre-scale crystal growth from solution. _Nature_ 2005, _438_ , 70–73
  * Grünwald and Dellago 2009 Grünwald, M.; Dellago, C. Nucleation and Growth in Structural Transformations of Nanocrystals. _Nano Letters_ 2009, _9_ , 2099–2102
  * Chakraborty and Patey 2013 Chakraborty, D.; Patey, G. N. How Crystals Nucleate and Grow in Aqueous NaCl Solution. _The Journal of Physical Chemistry Letters_ 2013, _4_ , 573–578
  * Espinosa et al. 2016 Espinosa, J. R.; Vega, C.; Valeriani, C.; Sanz, E. Seeding approach to crystal nucleation. _The Journal of Chemical Physics_ 2016, _144_ , 034501
  * Goswami et al. 2021 Goswami, Y.; Vasisht, V. V.; Frenkel, D.; Debenedetti, P. G.; Sastry, S. Thermodynamics and kinetics of crystallization in deeply supercooled Stillinger–Weber silicon. _The Journal of Chemical Physics_ 2021, _155_ , 194502
  * Olenius et al. 2013 Olenius, T.; Kupiainen-Maatta, O.; Ortega, I. K.; Kurten, T.; Vehkamaki, H. Free energy barrier in the growth of sulfuric acid–ammonia and sulfuric acid–dimethylamine clusters. _The Journal of Chemical Physics_ 2013, _139_ , 084312
  * Vehkamaki 2006 Vehkamaki, H. _Classical nucleation theory in multicomponent systems_ ; Springer: Berlin ; New York, 2006
  * Kawasaki and Tanaka 2010 Kawasaki, T.; Tanaka, H. Formation of a crystal nucleus from liquid. _Proceedings of the National Academy of Sciences_ 2010, _107_ , 14036–14041
  * Radu and Kremer 2017 Radu, M.; Kremer, K. Enhanced Crystal Growth in Binary Lennard-Jones Mixtures. _Physical Review Letters_ 2017, _118_ , 055702
  * Auer and Frenkel 2001 Auer, S.; Frenkel, D. Prediction of absolute crystal-nucleation rate in hard-sphere colloids. _Nature_ 2001, _409_ , 1020–1023
  * Salvalaglio et al. 2015 Salvalaglio, M.; Perego, C.; Giberti, F.; Mazzotti, M.; Parrinello, M. Molecular-dynamics simulations of urea nucleation from aqueous solution. _Proceedings of the National Academy of Sciences_ 2015, _112_
  * Zimmermann et al. 2015 Zimmermann, N. E. R.; Vorselaars, B.; Quigley, D.; Peters, B. Nucleation of NaCl from Aqueous Solution: Critical Sizes, Ion-Attachment Kinetics, and Rates. _Journal of the American Chemical Society_ 2015, _137_ , 13352–13361
  * Binder and Virnau 2016 Binder, K.; Virnau, P. Overview: Understanding nucleation phenomena from simulations of lattice gas models. _The Journal of Chemical Physics_ 2016, _145_ , 211701
  * Binder 1987 Binder, K. Theory of first-order phase transitions. _Reports on Progress in Physics_ 1987, _50_ , 783–859
  * Peters 2017 Peters, B. _Reaction rate theory and rare events_ ; Elsevier: Amsterdam ; Cambrige, MA, 2017; OCLC: ocn969963116
  * Cornell et al. 1995 Cornell, W. D.; Cieplak, P.; Bayly, C. I.; Gould, I. R.; Merz, K. M.; Ferguson, D. M.; Spellmeyer, D. C.; Fox, T.; Caldwell, J. W.; Kollman, P. A. A Second Generation Force Field for the Simulation of Proteins, Nucleic Acids, and Organic Molecules. _Journal of the American Chemical Society_ 1995, _117_ , 5179–5197
  * MacKerell et al. 1995 MacKerell, A. D.; Wiorkiewicz-Kuczera, J.; Karplus, M. An all-atom empirical energy function for the simulation of nucleic acids. _Journal of the American Chemical Society_ 1995, _117_ , 11946–11975
  * Jorgensen and Tirado-Rives 1988 Jorgensen, W. L.; Tirado-Rives, J. The OPLS [optimized potentials for liquid simulations] potential functions for proteins, energy minimizations for crystals of cyclic peptides and crambin. _Journal of the American Chemical Society_ 1988, _110_ , 1657–1666
  * Oostenbrink et al. 2004 Oostenbrink, C.; Villa, A.; Mark, A. E.; Van Gunsteren, W. F. A biomolecular force field based on the free enthalpy of hydration and solvation: The GROMOS force-field parameter sets 53A5 and 53A6. _Journal of Computational Chemistry_ 2004, _25_ , 1656–1676
  * Blazquez et al. 2022 Blazquez, S.; Conde, M. M.; Abascal, J. L. F.; Vega, C. The Madrid-2019 force field for electrolytes in water using TIP4P/2005 and scaled charges: Extension to the ions F ${}^{\textrm{-}}$ , Br ${}^{\textrm{-}}$ , I ${}^{\textrm{-}}$ , Rb ${}^{\textrm{+}}$ , and Cs ${}^{\textrm{+}}$. _The Journal of Chemical Physics_ 2022, _156_ , 044505
  * Zeron et al. 2021 Zeron, I. M.; Gonzalez, M. A.; Errani, E.; Vega, C.; Abascal, J. L. F. "In Silico" Seawater. _Journal of Chemical Theory and Computation_ 2021, _17_ , 1715–1725
  * Sedano et al. 2022 Sedano, L. F.; Blazquez, S.; Noya, E. G.; Vega, C.; Troncoso, J. Maximum in density of electrolyte solutions: Learning about ion-water interactions and testing the Madrid-2019 force field. _The Journal of Chemical Physics_ 2022, _156_ , 154502
  * ten Wolde et al. 1995 ten Wolde, P. R.; Ruiz-Montero, M. J.; Frenkel, D. Numerical Evidence for bcc Ordering at the Surface of a Critical fcc Nucleus. _Physical Review Letters_ 1995, _75_ , 2714–2717
  * Van Duijneveldt and Frenkel 1992 Van Duijneveldt, J. S.; Frenkel, D. Computer simulation study of free energy barriers in crystal nucleation. _The Journal of Chemical Physics_ 1992, _96_ , 4655–4668
  * Torrie and Valleau 1974 Torrie, G. M.; Valleau, J. P. Monte Carlo free energy estimates using non-Boltzmann sampling: Application to the sub-critical Lennard-Jones fluid. _Chemical Physics Letters_ 1974, _28_ , 578–581
  * Laio and Parrinello 2002 Laio, A.; Parrinello, M. Escaping free-energy minima. _Proceedings of the National Academy of Sciences_ 2002, _99_ , 12562–12566
  * Maragakis et al. 2009 Maragakis, P.; Van Der Vaart, A.; Karplus, M. Gaussian-Mixture Umbrella Sampling. _The Journal of Physical Chemistry B_ 2009, _113_ , 4664–4673
  * Invernizzi 2021 Invernizzi, M. OPES: On-the-fly Probability Enhanced Sampling Method. _Il Nuovo Cimento C_ 2021, _44_ , 1–4, arXiv:2101.06991 [physics]
  * Vehkamaki and Riipinen 2012 Vehkamaki, H.; Riipinen, I. Thermodynamics and kinetics of atmospheric aerosol particle formation and growth. _Chemical Society Reviews_ 2012, _41_ , 5160
  * Kulmala et al. 2013 Kulmala, M. et al. Direct Observations of Atmospheric Aerosol Nucleation. _Science_ 2013, _339_ , 943–946
  * Kulmala et al. 2004 Kulmala, M.; Vehkamäki, H.; Petäjä, T.; Dal Maso, M.; Lauri, A.; Kerminen, V.-M.; Birmili, W.; McMurry, P. Formation and growth rates of ultrafine atmospheric particles: a review of observations. _Journal of Aerosol Science_ 2004, _35_ , 143–176
  * Ornstein 1914 Ornstein, L. S. Accidental deviations of density and opalescence at the critical point of a single substance. _Proc. Akad. Sci._ 1914, _17_ , 793
  * Percus and Yevick 1958 Percus, J. K.; Yevick, G. J. Analysis of Classical Statistical Mechanics by Means of Collective Coordinates. _Physical Review_ 1958, _110_ , 1–13
  * Wolde and Frenkel 1997 Wolde, P. R. T.; Frenkel, D. Enhancement of Protein Crystal Nucleation by Critical Density Fluctuations. _Science_ 1997, _277_ , 1975–1978
  * Bartók et al. 2013 Bartók, A. P.; Kondor, R.; Csányi, G. On representing chemical environments. _Physical Review B_ 2013, _87_ , 184115
  * Ahlawat et al. 2020 Ahlawat, P.; Dar, M. I.; Piaggi, P.; Grätzel, M.; Parrinello, M.; Rothlisberger, U. Atomistic Mechanism of the Nucleation of Methylammonium Lead Iodide Perovskite from Solution. _Chemistry of Materials_ 2020, _32_ , 529–536
  * Frenkel et al. 1986 Frenkel, D.; Vos, R. J.; De Kruif, C. G.; Vrij, A. Structure factors of polydisperse systems of hard spheres: A comparison of Monte Carlo simulations and Percus–Yevick theory. _The Journal of Chemical Physics_ 1986, _84_ , 4625–4630
  * Ashcroft and Langreth 1967 Ashcroft, N. W.; Langreth, D. C. Structure of Binary Liquid Mixtures. I. _Physical Review_ 1967, _156_ , 685–692
  * Lechner and Dellago 2008 Lechner, W.; Dellago, C. Accurate determination of crystal structures based on averaged local bond order parameters. _The Journal of Chemical Physics_ 2008, _129_ , 114707
  * Ahlawat et al. 2021 Ahlawat, P.; Hinderhofer, A.; Alharbi, E. A.; Lu, H.; Ummadisingu, A.; Niu, H.; Invernizzi, M.; Zakeeruddin, S. M.; Dar, M. I.; Schreiber, F.; Hagfeldt, A.; Grätzel, M.; Rothlisberger, U.; Parrinello, M. A combined molecular dynamics and experimental study of two-step process enabling low-temperature formation of phase-pure $\alpha$-FAPbI ${}_{\textrm{3}}$. _Science Advances_ 2021, _7_ , eabe3326
  * Debye 1913 Debye, P. Interferenz von Röntgenstrahlen und Wärmebewegung. _Annalen der Physik_ 1913, _348_ , 49–92
  * Debye 1915 Debye, P. Zerstreuung von Röntgenstrahlen. _Annalen der Physik_ 1915, _351_ , 809–823
  * Bonati and Parrinello 2018 Bonati, L.; Parrinello, M. Silicon Liquid Structure and Crystal Nucleation from Ab Initio Deep Metadynamics. _Physical Review Letters_ 2018, _121_ , 265701
  * Niu et al. 2019 Niu, H.; Yang, Y. I.; Parrinello, M. Temperature Dependence of Homogeneous Nucleation in Ice. _Physical Review Letters_ 2019, _122_ , 245501
  * Van Leeuwen et al. 1959 Van Leeuwen, J.; Groeneveld, J.; De Boer, J. New method for the calculation of the pair correlation function. I. _Physica_ 1959, _25_ , 792–808
  * Tribello et al. 2014 Tribello, G. A.; Bonomi, M.; Branduardi, D.; Camilloni, C.; Bussi, G. PLUMED 2: New feathers for an old bird. _Computer Physics Communications_ 2014, _185_ , 604–613
  * Bonomi et al. 2009 Bonomi, M.; Branduardi, D.; Bussi, G.; Camilloni, C.; Provasi, D.; Raiteri, P.; Donadio, D.; Marinelli, F.; Pietrucci, F.; Broglia, R. A.; Parrinello, M. PLUMED: A portable plugin for free-energy calculations with molecular dynamics. _Computer Physics Communications_ 2009, _180_ , 1961–1972
  * The PLUMED consortium 2019 The PLUMED consortium, Promoting transparency and reproducibility in enhanced molecular simulations. _Nature Methods_ 2019, _16_ , 670–673