Introduction

Plasmonic nanofluids, which contain a suspension of plasmonic nanoparticles in a base fluid, have been proposed as effective working fluids to directly convert solar radiation to thermal energy1. Owing to the resonance characteristics of the localized surface plasmon (LSP), the absorption efficiency of the nanoparticles can be greatly enhanced with the excitation of the LSP, offering great potential in solar thermal applications. For instance, a direct-absorption solar collector (DASC) combined with a plasmonic nanofluid has drawn much attention for solar thermal energy harvesting in recent decades1,2,3,4,5. Recently, Qin et al.6 showed how the spectral absorption coefficient of a plasmonic nanoparticle should be tuned (i.e., either uniformly or following the solar spectrum) by engineering nanoparticle suspensions to exploit the solar radiation maximally with the given constraint of the total particle concentration. Therefore, the effective tuning of the spectral absorption coefficients of plasmonic nanofluids is crucial for improving the thermal performance capabilities of DASCs.

As suggested by Lee et al.1, broadband absorption spectra can be designed by blending multiple types of nanoparticles given that the resonance wavelength of the LSP depends on the material, size and shape of the nanoparticles. The simplest and the most common structure is a spherical nanoparticle7,8. Nano-spheres made with noble metals are widely utilized in various disciplines, such as in medical9 and biological8,10 applications. However, because the resonance peak of the LSP associated with nano-spheres mainly depends on the material properties11, nano-spheres themselves may not be suitable for thermal applications. Thus, additional types of nanoparticles, such as silica core-metallic shell12,13 and nano-rod8,14 nanoparticles, have also been considered given their potential for better controllability. For core-shell nanoparticles, the ratio between the core radius and the shell thickness serves as a factor when tuning the absorption response15, while the aspect ratio of the nano-rod performs this function16. Thus, the critical question is “What would the optimal combination of various types of nanoparticles be for the effective tuning of the spectral absorption coefficient?” Note that finding the optimal combination of plasmonic nanoparticles is not a straightforward task due to the diversity and complexity of nanoparticles with regards to their materials and shapes. For instance, Taylor et al.17 just employed the Monte-Carlo approach (i.e., random generation and selection) to find the optimal blending combination of core-shell particles for a nanofluid-based optical filter.

In general, an inverse problem is a problem that requires the determination of the design of a system from its output response. It is known that finding a proper solution to an inverse problem is often challenging because most inverse problems are ill-posed and nonlinear18. Nevertheless, if a particular solution-finding technique of an inverse problem is available, it can be readily applied to diverse engineering fields, such as magnetic resonance imaging19, combustion20, and radiative heat transfer21,22. Tailoring the absorption spectrum of a plasmonic nanofluid can also be treated as an inverse problem when designing a system (i.e., combination of plasmonic nanoparticles) at a given response (i.e., the desired spectral absorption coefficient). Because a blended combination of nanoparticles is represented with a broad range of variables, it is difficult to determine the optimal composition of a nanofluid to have the desired absorption spectrum. Therefore, a modern solution technique, such as a genetic algorithm21,22, can be employed to solve our blending problem.

Genetic algorithms (GAs) have been widely employed to solve many design problems by customizing a description of an individual chromosome (i.e., member of a population) and a fitness function (i.e., score of the chromosome) properly23,24. For example, the dimensions of a tandem-grating nanostructure for a solar thermal absorber25, the spectral distribution of absorption coefficients for DASC6, and the dimensions of a multi-layer microcylinder for a plasmonic nanojet26 have been optimized based on carefully defined chromosomes and fitness functions. Here, we also apply a GA to find the optimal combination of plasmonic nanoparticles to achieve the desired spectral absorption coefficient of a nanofluid. To maximize the diversity of the plasmonic response of the nanoparticles, we consider two materials (gold and silver) and three types of nanoparticle shapes (nano-sphere, core-shell, and nano-rod). The target spectral absorption coefficient of the plasmonic nanofluid is first set to be either uniform or to follow the solar spectrum6. In addition, a step-function-like absorption coefficient will be designed for a hybrid solar PV/T application17,27. Finally, how the inhomogeneous broadening effect caused by the fabrication uncertainty of the nanoparticles2,12 changes their optimal combination is also investigated.

Modelling

Absorption coefficient of a blended plasmonic nanofluid

It is well known that subwavelength-size metallic nanoparticles can support a localized surface plasmon (LSP), whose resonance condition depends strongly on the materials, sizes, and shapes of the nanoparticles28,29,30. In the present study, we consider two materials and three shapes of nanoparticles (see Fig. 1) to diversify a number of possible blending combinations. The ranges of each design variable are carefully constrained according to the literatures2,12,31. These are listed in Table 1.

Figure 1
figure 1

Schematic of the nano-sphere, core-shell, and nano-rod shapes. The design variables are the radius (r) for the nano-sphere, the core radius (rc) and the shell thickness (ts) for the core-shell, and the radius (rr) and the length (lr) for the nano-rod.

Table 1 Ranges of each design variable when training the surrogate model.

For a given nanoparticle, its spectral absorption efficiency, Qa (λ), can be calculated by solving Maxwell’s equations. For nano-sphere and core-shell particles, Mie-scattering theory28 and a modified version of it1 were used to determine Qa (λ). For the nano-rod, a boundary element method (BEM) was applied to obtain the polarization- and direction-averaged absorption efficiency. In this study, the open-source BEM software MNPBEM32 was used. In the calculations, the permittivities of gold, silver, silicon dioxide, and water (i.e., the base fluid) were used from tabulated data33. As discussed by Lee et al.1, if the radius (or thickness) of a metal is smaller than its mean-free-path of conduction electrons, we also must consider that the size-dependent permittivity of the metal should differ from that of the bulk metal due to electron-boundary scattering. Furthermore, a broadening effect will arise due to the modification of the permittivity. In this work, the effect of electron-boundary scattering is neglected for simplicity, though this effect will be discussed later. In addition, nanoparticles can also be agglomerated, and undesirable sedimentation may occur in reality. In fact, preventing sedimentation of nanoparticles is a challenging task. In general, nanoparicles can be stably dispersed in a base fluid in two ways. The first method is to select a suitable surfactant, as previously done in water2. In practice, various surfactants34,35 have been utilized to achieve long-term dispersion stability. Alternatively, stable dispersion can also be achieve by surface modification of nanoparticles, as recently demonstrated in Therminol-based nanofluid36. For simplicity, we assumed in this work that nanoparticles are perfectly dispersed.

With the calculated absorption efficiency of the i-th particle in water, \({Q}_{a,i}(\lambda )\), the corresponding absorption coefficient of the nanofluid, \({\alpha }_{a,\lambda }\), can be expressed as28:

$${\alpha }_{i,\lambda }=\frac{3{f}_{i}}{2{D}_{i}}{Q}_{a,i}(\lambda )$$
(1)

where, fi is the volume concentration of the nanoparticle and \({D}_{i}=\sqrt[3]{6\times (\text{volume of particle})/\pi }\) is the effective diameter of each particle2. If N types of nanoparticles are dispersed together, the resulting absorption coefficient of blended plasmonic nanofluid \(({\alpha }_{\lambda })\) is then given by:

$${\alpha }_{\lambda }=(1-\mathop{\sum }\limits_{i\mathrm{=1}}^{N}\,{f}_{i}){\alpha }_{w,\lambda }+\mathop{\sum }\limits_{i\mathrm{=1}}^{N}{\alpha }_{i,\lambda }$$
(2)

where, \({\alpha }_{w,\lambda }\) is the absorption coefficient of the water itself. Notice that Eq. (2) is valid only in the independent scattering regime. Since the considered particle volume fraction is on the order of 10−6, the light scattering inside the plasmonic nanofluid can be safely assumed to be independent37. Because solar irradiance begins at approximately λ = 300 nm and the absorption coefficient of water becomes dominant after λ = 1,100 nm, we calculate the absorption efficiency spectrum of each particle from 300 nm to 1,100 nm in 10 nm intervals (i.e., 81 spectral data points).

In principle, \({Q}_{a,i}(\lambda )\) must be known a priori in each computation of the fitness function of a GA. Because the calculation of \({Q}_{a,i}(\lambda )\) takes about 3 min and the average number of fitness calculations in our GA numbers into the thousands, it is not feasible to compute it every time. To reduce the computational cost, we decided to build a surrogate model to estimate the absorption efficiency of each nanoparticle, i.e., [Input: geometry of i-th particle and λ → Output: \({Q}_{a,i}(\lambda )\)]. To ensure the accuracy of the surrogate model, an artificial neural network model38 was employed as part of a modelling technique. To train the neural network models, samples were composed with 2 nm intervals of the design variables and a 10 nm interval of the wavelength. Consequently, we constructed and applied accurate surrogate models with correlation values exceeding \(R=0.999\) with a regulated amount of sample data. Note that neural networks were modelled with three fully connected hidden layers and 10 nodes in each layer, which was enough to construct a surrogate model for estimating the \({Q}_{a}\) spectrum. The accuracy of the model was estimated with the difference between the predicted and actual \({Q}_{a,i}(\lambda )\) values at the peak location, where the maximum \({Q}_{a,i}\) value was achieved. As a result, the accuracy of model used in this work was found to be between 0.3% (for the nano-spheres) and 1.6% (for the core-shells and the nano-rods) on average.

Customized genetic algorithm

The genetic algorithm (GA) is a powerful method for solution processes owing to its ranges for diverse applicability for a variety of problems23,24. In the world of a GA, the population consists of individuals. Each individual has its own chromosome (i.e., set of genes) and evolves along descent generations. Based on simple and bio-mimicking procedures, the population of the GA will evolve to obtain the best individual, which has the best chromosome, through a process of selection, crossover and mutation. The GA can be utilized with proper modification of its gene description, fitness function, and any embedded algorithms or hyper-parameters. In this study, (1) descriptions of the chromosomes (or genes), (2) fitness function, (3) crossover, and (4) mutation algorithms are customized especially for solving our inverse problem, designing of the system (a combination of plasmonic nanoparticles) at the given response (the desired spectral absorption coefficient).

The most significant aspect of customization is to define the chromosomes of the GA. Because the chromosomes of individuals must be related to a combination of plasmonic nanoparticles, we defined the chromosome to possess a set of nanoparticles as a genes. Each gene on the chromosome has particle properties, such as the material (gold or silver), shape (nano-sphere, core-shell, nano-rod), design variables (geometric parameters), and volume concentration. A chromosome is implemented as a list of genes. When a chromosome is created, the properties of each gene are determined randomly within their ranges. Note that the volume concentration is intentionally set to be less than 0.005% divided by the number of genes [i.e., the number of nanoparticle types in Eq. (2)] to match the scale of each particle’s volume fraction to 0.0001%2.

A fitness function is usually set to be a distance or a loss function, as the optimization process evolves to minimize a score. In this work, the fitness function is defined as the sum of square error (SSE):

$$\text{SSE}\,=\,\mathop{\sum }\limits_{j\mathrm{=0}}^{80}{({\alpha }_{{\lambda }_{j}}-{\alpha }_{\text{target},{\lambda }_{j}})}^{2}$$
(3)

where, \({\lambda }_{i}\) is the wavelength in interest with a 10 nm interval (i.e., \(300+10j\) nm) and \({\alpha }_{\text{target},\lambda }\) is the target absorption coefficient spectrum defined in Section 2.3. The absorption coefficient of the blended nanofluid was calculated from Eqs. (1) and (2). To obtain \({Q}_{a,i}(\lambda )\), the type and design variables of the nanoparticles described in the chromosome are required. The GA scored each individual with this SSE value and caused the population to evolve to minimize the score.

After the scores of individuals are evaluated by the fitness function, the GA will prepare the population of the next generation. Initially, the highest scoring individual will remain based on elitism. By default, the top 5% individuals in terms of their scores will move to the next generation. Next, the GA selects individuals as the parents of the rest (i.e., 95% of the next generation) according to rule of natural selection. That is, individuals with better fitness values are more probable to be a parent, and a stochastic uniform selection rule39 is applied. For the crossover process, an offspring individual will have a gene list, which basically consists of the first parent’s genes. In addition, an arbitrary gene fragment cut from the second parent is inserted into a randomly chosen location. Finally, for the mutation process, simple one-point mutation is used. A mutated child will have a gene list from a parent with one point of a gene replaced by newly created nanoparticle. In this work, a 20% mutation rate is used by default (set by MATLAB). In other words, 80% of the remaining children are generated by crossover while 20% are generated by mutation. Hence, 162% (\(\mathrm{95 \% }\times \mathrm{[80}\times 2+\mathrm{20] \% }\)) of the total population is selected by the selection rule, and the offspring for the next generation is born from them by following the crossover and mutation process.

To validate the customized GA, we tried to find the optima of three test functions: Rastrigin function40, cross-in-tray function41, and Ackley function41. Since our GA is designed for a specific problem (i.e., designing a blended plasmonic nanofluid), we could validate our GA focusing on its process only. To apply our GA to the test functions, we simplified the structure of genes only possessing variable, namely \({\phi }_{i}\) \(\mathrm{(0}\le {\phi }_{i}\le \mathrm{1)}\), where \(i\) is a variable identifier. Variable \({\phi }_{i}\) was accepted to each problem properly to its variable boundary, i.e., \({x}_{i}=({x}_{max}-{x}_{min}){\phi }_{i}+{x}_{min}\). As a result, we obtained the optimal fitness value as follows: 0.043 for Rastrigin; −2.0626 for cross-in-tray; and 0.182 for Ackley function in average of 5 times trial. These values are indeed close to the true optima: 0 for Rastrigin; −2.0626] for cross-in-tray; and 0 for Ackley function. Furthermore, the relative distance of optimal variables (xis) from the true optimum was found to be less than 0.1.

Target spectrum of the absorption coefficient

To demonstrate how the customized GA can effectively tune the absorption coefficient of a blended plasmonic nanofluid, we consider three target absorption coefficient spectra, as illustrated in Fig. 2. The first two target spectra are for solar thermal applications, especially for a direct-absorption solar collector, i.e., a uniform distribution (Fig. 2a) and a solar-spectrum-like distribution (Fig. 2b). As reported by Qin et al.6, a uniform absorption coefficient is more efficient for a highly concentrated nanofluid because the heat loss can be minimized, while a solar-spectrum-like absorption coefficient is more suitable when the system only requires an insufficient particle concentration. It should be noted from Fig. 2 that the absorption coefficient of water does not play much of a role in the absorption process. Thus, the nanoparticles should be carefully designed to achieve broadband absorption, associated with their LSP resonances. In addition, a step-function-like absorption coefficient (Fig. 2c) is designed for hybrid solar photovoltaic/thermal (PV/T) applications17,27. At the zero-absorption regime of the nanofluid, incident solar irradiance will directly reach the PV cell and be converted into electricity. In the opaque regime of the nanofluid, the solar irradiance will be converted to heat by the nanofluid. Here, we select the step point of the spectrum to be the bandgap of the PV cell used in a hybrid PV/T system with a high bandgap with 1.84 eV (approximately 680 nm)42. Note also that a high-bandgap PV cell is widely applied for common solar cell systems43 or for special purposes44.

Figure 2
figure 2

Target absorption coefficient of the blended plasmonic nanofluid (red line): (a) uniform distribution, (b) solar-spectrum-like distribution, and (c) step-function-like distribution. The spectral absorption coefficient of water is also illustrated by the blue line.

It is important to understand that the magnitude of the average absorption coefficient is scalable according to the particle concentration [see Eq. (2)]. Therefore, if the target absorption coefficient spectrum is satisfied, controlling its magnitude to a certain value can be easily done by simply changing the volume fraction of nanoparticles. In the forthcoming analysis, the average of the absorption coefficient was set to 1 cm−1 for simplicity. Here, \(\alpha =1\) cm−1 was taken as a representative value considering that the blended plasmonic nanofluid with the average absorption coefficient value of 1 cm−1 can be effectively used for a direct absorption solar collector45.

Results and Discussion

The main idea when tailoring the absorption coefficient of a blended plasmonic nanofluid is to distribute the absorption peaks associated with each type of nanoparticle along the target spectrum. It is thus expected that more types of nanoparticles makes the corresponding absorption coefficient a better fit to the target spectrum. Considering the productivity of a plasmonic nanofluid, the number of types of nanoparticles (N) should not be excessive. Given that plasmonic nanofluids with 3 to 5 types of nanoparticles have been experimentally demonstrated2,4, N is limited to 6 or less.

Although not shown here, a higher value of N can achieve a smaller root-mean-square error (RMSE), defined as \(\text{RMSE}\,=\,\sqrt{\text{SSE}\mathrm{/81}}\). Henceforth, we discuss the optimal blending combination case of \(N=6\), which can retain the smallest RMSE value (i.e., the closest absorption coefficient spectrum to the target). The detailed dimensions as well as the locations of the major absorption peaks of each type of nanoparticles are listed in Table 2.

Table 2 Optimal combination of plasmonic nanoparticles for the desired spectral absorption coefficient of the nanofluid.

Figure 3a shows the absorption coefficient of a blended plasmonic nanofluid for the target spectrum with a uniform distribution. The designed plasmonic nanofluid results in a RMSE value of 0.099 cm−1, which is less than 10% of the target absorption coefficient (i.e., 1 cm−1). The absorption peaks of each type of nanoparticle are well distributed along the visible and near-infrared spectral regions for broadband absorption. Although the #4 particle (i.e., the Au core-shell) mainly contributes to the visible absorption, the #2 and #3 particles successfully compensate for the absorption dips of the #4 particle. Moreover, all six types of nanoparticles shows minor absorption at the wavelengths greater than 900 nm, where water (i.e., the base fluid) starts to play a role. It is interesting to note that no nano-spheres are used in the six types of nanoparticles. This is mainly due to the tunability of the LSP resonance condition in the core-shell and nano-rod structures. In other words, the nano-sphere is less tunable as the polarizability of its Clausius-Mossotti relation is predetermined by the material properties28 and the resulting absorption peak is often confined to a narrow spectral range (i.e., Au: 500~540 nm and Ag: 380~450 nm).

Figure 3
figure 3

Absorption coefficient of a blended plasmonic nanofluid for the target spectrum: (a) uniform distribution, (b) solar-spectrum-like distribution, and (c) step-function-like distribution. The effect of water is illustrated by the blue dotted line.

The absorption coefficient of a blended plasmonic nanofluid for a solar-spectrum-like target spectrum is shown in Fig. 3b. To follow the solar spectrum, the absorption peaks should be confined to the major spectral regions of solar radiation (i.e., from 400 to 700 nm and from 800 to 900 nm). It can be observed that the #1, #3, and #4 particles mainly contribute to the absorption in the aforementioned spectral region. Although the RMSE value is 0.232 cm−1 (about twice that the uniform case) for the solar-spectrum-like distribution, the designed absorption coefficient reasonably follows the solar spectrum except for wavelengths between 300 and 400 nm.

Finally, we also demonstrate the blended plasmonic nanofluid for the step-function-like distribution in Fig. 3c. As in the case of the solar-spectrum-like distribution, the designed absorption coefficient captures the features of the target spectrum. However, there exists non-negligible absorption of approximately 0.2 cm−1 in the wavelengths between 300 and 680 nm, mainly due to intrinsic absorption by silver and gold. The resulting RMSE value is 0.209 cm−1, which is slightly less than that in Fig. 3b. Interestingly, Table 2 reveals that the volume fractions of the #4 and #6 particles were greatly suppressed by the GA, meaning that the #4 and #6 particles were considered to be “useless” by the GA. Therefore, we can simply use four types of particles for the step-function-like distribution without seriously compromising the fitness. In Fig. 3, the customized GA clearly demonstrates its excellent design capability for a blended plasmonic nanofluid with the desired spectral absorption coefficient.

Table 2 also indicates that only core-shell nanoparticles are used for the step-function-like distribution. Although the nano-rod can induce the multiple LSP peaks14, its resonance condition is polarization-dependent due to its geometrical anisotropy. Hence, the polarization-averaged absorption efficiency becomes less significant as compared to the geometrically isotropic core-shell structure. The present optimization results clearly indicate that the core-shell nanoparticle is superior to the nano-sphere and the nano-rod structures in terms of the tunability of the LSP resonance condition as well as the enhanced absorption efficiency associated with the LSP.

Thus far, we have demonstrated how to achieve broadband absorption by blending nanoparticles made of noble metals (such as Au and Ag), which usually exhibits sharp resonance peaks. In reality, however, there could be many factors that give rise to a broadening effect, such as the electron-boundary scattering effect when the characteristic size of the metal is smaller than the mean-free-path of electrons or inhomogeneous broadening due to a non-uniform size distribution of the nanoparticles. Because the electron-boundary scattering effect occurs only for the core-shell structure with an extremely thin metallic shell1, for instance, its effect may not be prominent as compared to the inhomogeneous broadening that occurs inevitably due to polydispersed nanoparticles2,12. Since any nanoparticle fabrication technique will always be associated with the fabrication uncertainty to some extent, polydispersed nanoparticles are inevitable in reality. Here, we examine how inhomogeneous broadening can affect the optimal combination of plasmonic nanoparticles by applying a randomized distribution of design variables. To do this, a Gaussian distribution with the mean value of the design variable and a standard deviation of 10% of the mean is assumed. For instance, the core radius of core-shell particle (rc) is treated as a random variable following a normal distribution, \(N({r}_{c}\mathrm{,(0.1}{r}_{c}{)}^{2})\). In the calculation, 100 random particles following a Gaussian distribution were calculated using the surrogate neural network model and their absorption spectra were averaged to determine the broadened absorption spectrum of randomized nanoparticles.

Figure 4 shows the absorption coefficient of a blended plasmonic nanofluid considering inhomogeneous broadening due to polydispersed nanoparticles in reality. By comparing Figs. 3 to 4, it is remarkable that we can achieve similar level of RMSE value with only five types of nanoparticles if inhomogeneous broadening is taken into account. To be specific, the resulting RMSE values are 0.097 cm−1 and 0.237 cm−1 for the uniform and solar-spectrum-like distributions, respectively. On the other hand, for the step-function-like distribution, the RMSE value with five types of particles become 0.236 cm−1, which is about 13% higher than the original value (i.e., with six types of nanoparticles) in Fig. 3c. Although the inhomogeneous broadening effect may not be advantageous for achieving wavelength-selective absorption coefficient spectrum, it surely allows one to reduce the required numbers of nanoparticle types for achieving broadband absorption, as clearly demonstrated in Fig. 4a,b.

Figure 4
figure 4

Absorption coefficient of a blended plasmonic nanofluid for the target spectrum: (a) uniform distribution, (b) solar-spectrum-like distribution, and (c) step-function-like distribution considering inhomogeneous broadening due to polydispersed nanoparticles in reality. The effect of water is illustrated by the blue dotted line.

The optimal combination of plasmonic nanoparticles considering inhomogeneous broadening is listed in Table 3. As noted in the table, the absorption peak of each type of nanoparticle is well distributed on the spectral regime of interest, and the inhomogeneous broadening causes the absorption coefficient of the blended plasmonic nanofluid to be more uniform. Similarly, it is also expected that the electron-boundary scattering effect eventually makes the designed spectrum more uniform, possibly leading to a reduction in the required number of nanoparticle types. It should be noted that the optimal combination in Table 3 is wholly different from that in Table 2, suggesting that our customized GA is very effective at finding the solution under any given constraint. If other size distributions (e.g., possibly obtained from experimental results2,8) are given, different optimization result will be found accordingly.

Table 3 Optimal combination of plasmonic nanoparticles considering inhomogeneous broadening due to polydispersed nanoparticles in reality.

Summary

We have employed a customized genetic algorithm to tailor the spectral absorption coefficient of a blended plasmonic nanofluid made of nano-sphere, core-shell, and/or nano-rod structures. The chromosome description, fitness function, crossover and mutation process in a conventional GA were customized to be suitable for the inverse problem of finding the optimal combination of plasmonic nanoparticles for the prescribed distribution of the absorption coefficient. In addition, neural network models estimating the absorption coefficient of a plasmonic nanoparticle were constructed and coupled with the customized GA to reduce the computational cost of the optimization process. In this work, three different target absorption coefficients, specifically a uniform distribution, solar-spectrum-like distribution and step-function-like distribution, were considered. The resulting absorption coefficient of a designed plasmonic nanofluid was in good agreement well with the prescribed spectral distribution within about 10% to 20% of error when six types of nanoparticles were used. Finally, we also considered the inhomogeneous broadening due to polydispersed nanoparticles during the optimization process. It was found that we can achieve similar RMSE values compared to the previous blending result with fewer types of nanoparticles for the uniform and solar-spectrum-like distributions. More importantly, the polydisperred nanoparticles resulted in totally different optimal combinations of plasmonic nanoparticles from the previously obtained results with monodispersed nanoparticles. This suggests that our customized GA can be flexibly applied for an arbitrary constraints problem. The design methodology proposed here will facilitate the future development of a direct-absorption solar collector using a blended plasmonic nanofluid.