Self-assembly of nanoparticles is driven by either maximization of packing density or minimization of the contact area between particles according to hard or soft nanoparticles. Examples of hard nanoparticles are: silica, fullerenes; soft nanoparticles are often organic nanoparticles, block copolymer micelles, DNA nanoparticles. The ordered self-assembly structure of nanoparticles is called superlattice.