# Predictive control strategy of a gas turbine for improvement of combined cycle power plant dynamic performance and efficiency

- 1.6k Downloads
- 1 Citations

**Part of the following topical collections:**

## Abstract

This paper presents a novel strategy for implementing model predictive control (MPC) to a large gas turbine power plant as a part of our research progress in order to improve plant thermal efficiency and load–frequency control performance. A generalized state space model for a large gas turbine covering the whole steady operational range is designed according to subspace identification method with closed loop data as input to the identification algorithm. Then the model is used in developing a MPC and integrated into the plant existing control strategy. The strategy principle is based on feeding the reference signals of the pilot valve, natural gas valve, and the compressor pressure ratio controller with the optimized decisions given by the MPC instead of direct application of the control signals. If the set points for the compressor controller and turbine valves are sent in a timely manner, there will be more kinetic energy in the plant to release faster responses on the output and the overall system efficiency is improved. Simulation results have illustrated the feasibility of the proposed application that has achieved significant improvement in the frequency variations and load following capability which are also translated to be improvements in the overall combined cycle thermal efficiency of around 1.1 % compared to the existing one.

## Keywords

Gas turbines Model predictive control (MPC) Natural gas industry Subspace identification## List of symbols

*A*system matrix \(\in R^{n \times n}\)

*B*system matrix \(\in R^{n \times m}\)

*C*system matrix \(\in R^{l \times n}\)

*D*system matrix \(\in R^{l \times m}\)

*E*_{f}future noise

*H*_{i}^{d}deterministic Toeplitz matrix

*H*_{i}^{s}stochastic Toeplitz matrix

*H*_{P}prediction horizon

*H*_{C}control horizon

*Hw*control interval

*N*_{f}future noise

*n*system order

*O*_{i}extended observability matrix

*Q*system matrix \(\in R^{n \times n}\) or weighting coefficient in MPC

*R*system matrix \(\in R^{n \times l}\) or weighting coefficient in MPC

*S*system matrix \(\in R^{l \times l}\)

*u*_{k}input at instant k

**U**orthogonal matrix

*U*_{f}future input

*U*_{p}past input

*v*_{k}zero mean white noise innovations at instant k

**V**orthogonal matrix

- \(\mathcal{V}\)
subspace

*W*_{1}weighting matrix

*W*_{2}weighting matrix

- \(\mathcal{W}\)
subspace

*x*_{k+1}system state at instant k + 1

*x*_{k}system state at instant k

*X*_{i}sequence of states vector

*X*_{f}future states

*y*_{k+1}system output at instant k + 1

*y*_{k}system state at instant k

*Y*_{f}future output

*Y*_{p}past output

*ξ*(*k*)objective function to be minimized by the MPC

## Background

In recent years, gas turbines (GT) have easily reached a primary position in thermal power generation field because of their fast deliveries of power and availability of natural gas (NG) (Rayaprolu 2009). GT as simple cycle or integrated with heat recovery steam generator (HRSG) to form a combined cycle (CC) power plant has become very popular generation technology in many countries. However, the manufacturers of such devices are doing great effort to achieve improved efficiencies and lower pollutant emissions that compete coal and clean coal technologies. Nowadays, apart from reliability and fuel cost optimization, novel power generation techniques demand much improved load demand tracking that lead to lessen frequency variations of power system with better corresponding plant efficiency. It has been noticed that improving the operation performance of gas turbine can significantly lead to higher cycle efficiency and better dynamic performance. Achieving better compressing ratios and maintaining the exhausted gas temperature within certain limits despite load stochastic variations is likely to do just that improvement. In the developed countries, it is, however, reported that the efficiency of CC power plants from 1960 to 2000 has been improved from 35 % up to nearly 60 % respectively (Rayaprolu 2009). In general, the literature of thermal power plants has often suggested optimal and predictive control theories that meet wide acceptance in industry and power plants (Lee and Ramirez 2001). In particular, some articles has been written and published on CC power plants’ control that sought to optimize combined cycle power plants with regard to efficiency and load following capability (Saez et al. 2007; Matsumoto et al. 1996; Lalor et al. 2005). A fuzzy predictive control based on genetic algorithms for power plant gas turbines is developed which provides the optimal dynamic set point for the regulatory level with contribution to capturing the nonlinearity of the plant (Saez et al. 2007). Start-up process optimization by an expert system has been proposed under NO_{x} emission regulation and management of machine life (Matsumoto et al. 1996). The influence of gas turbine short-term dynamics on the performance of frequency control can also be investigated through suitable modelling for knowledge of frequency excursions in the grid in advance (Lalor et al. 2005). However, there are other important factors that have a direct influence on the system output performance and the grid frequency, which are studied in this paper and not considered in many papers. For instance, in the previous literature the emphasis of fuel flow changes was given only to the valve position of natural gas (NG); however, the position of pilot gas valve can also be manipulated to stabilize the flames in the premix and ensure steady combustion at all time. In addition, the compressor pressure ratio signal (the ratio of the discharged pressure of the compressor to the inlet atmospheric pressure) passes through the compressor pressure limit controller to influence the inlet guide vane (IGV) pitch controller which in turn affects the combustion process and flow of air to the GT. If the system automation is upgraded with potential to correct such signals by the MPC, these signals will optimize in advance which means reduced process variations while keeping faster load following capability due to higher stored/kinetic energy in the plant. This also can make the CCGT works close to its optimum efficiency by expanding the pressure ratio and the firing temperature by MPC. These potent motivations have to be investigated on gas turbines through advanced technique of system identification and control system design. However, without digital simulation, the gap between theory and practice cannot be easily bridged in this task. A model has been developed and verified via identification technique which is assessed and published in our research (Mohamed et al. 2015). The scientific contribution added to this paper is to integrate MPC to the developed identified model representing the real GT with emphasis on the strategic influences discussed above for the target of performance enhancement. The present paper is organized as follows. “Combined (deterministic/stochastic) subspace identification” section clarifies the technique of subspace identification. “The application of subspace identification to gas turbine process” section discusses the developed model of real gas turbine by subspace identification method for different operating regions. Simulation results of identification and verification procedure have shown model accuracy and capability of reflecting the key variables of the turbine. “Predictive controller design and implementation” section presents the designed model predictive control to be applied to the system. “Simulation results” section then mentions simulation scenarios that have offered the advantage of the proposed upgraded strategy. Finally, the present paper has concluded the work with suggested further opportunities for future research.

## Combined (deterministic/stochastic) subspace identification

### Theoretical foundation for subspace identification

Some applied linear algebra may be necessary to simplify the description of subspace identification method. Subspace identification is based on the tools of singular value decomposition and oblique projection. The reader is highly recommended to refer to the text (Meyer 2000) for more details.

#### Singular value decomposition

*m*×

*n*matrix

**M**could be dissected into three matrices, two of them are orthogonal matrices and one is a diagonal matrix contains the singular values of the main matrix as nonzero diagonal elements. Though it is applied on either real or complex matrix, it is assumed in our application that the matrices are real. Then we have for every

**M**\(\in\)

*R*

^{ m×n }of rank r, there are orthogonal matrices

**U**

_{ m×m },

**V**

_{ n×n }and a diagonal matrix

**S**

_{ r×r }= dig (σ

_{1}, σ

_{2}, o

_{ r }) such that

**M**. The columns in

**U**and

**V**are called the left hand and right hand singular vectors of

**M**, respectively. For matrix computations and analysis refer to Meyer (2000) and Mohamed et al. (2014).

#### Orthogonal projection and oblique projection

### The subspace identification technique

This section presents the algorithm of subspace identification method. The method has emerged in late 1980s and resolved many problems regarding identification of complex industrial processes (Ruscio 2009; Overschee and Moore 1996). It has been proved that it is capable of identifying the key features of gas turbine power plants (Mohamed et al. 2014). The method of subspace identification is based on the advanced matrix linear algebra techniques which are singular value decomposition and oblique projection. The problem is described as follows (Ruscio 2009; Overschee and Moore 1996).

*w*and

*v*are zero mean white noise innovations with covariance matrix

*u*

_{ k }and

*y*

_{ k }, the problem is to determine/identify:

1. The system order n.

*Y*

_{ f },

*U*

_{ f },

*X*

_{ f },

*E*

_{ f },

*N*

_{ f }denotes the future output, future input, future states, and future noises. The matrices are defined as follows:

*H*

_{ i }

^{ d }is known as deterministic Toeplitz matrix while

*H*

_{ i }

^{ s }is the stochastic Toeplitz matrix. The data is sampled and organized as Hankel matrix, the input data matrix for past and future samples

*p*and

*f*denote the past and future respectively. The same can be done for matrix

*E*

_{ i }. The state vector

*X*

_{ i }is defined as

### Proof of extended state space model

*y, u*, and

*v*

*i*instants (block rows) and

*j*number of experiments (block columns), we get Eq. (12) with the, inputs, outputs and states defined;

**N4SID**which stands for

**N**umerical algorithm for

*ubspace*

**S***tate*

**S***pace*

**S***ystem*

**S***entification (Ruscio 2009). We shall now define the block Hankel matrix that contains the past inputs and outputs*

**Id***W*

_{ p }

- 1.
Calculate the oblique projection:

*O*

_{ i }

*X*

_{ f }in (7)]. Projection of row space of future output

*Y*

_{ f }onto

*W*

_{ p }along the future input

*U*

_{ f }

*W*

_{1}and

*W*

_{2}to be multiplied by the oblique projection to remove the stochastic part (i.e. \(W_{1} \cdot (H_{i}^{s} M_{i} + N_{i} ) \cdot W_{2} = 0\)). The choice of these matrices is relatively arbitrary and different from one algorithm to another (Ruscio 2009; Overschee and Moore 1996). However, they are chosen to satisfy the equation mentioned.

- 2.
Calculate the singular value decomposition SVD of weighted oblique projection:

$$W_{1} \xi_{i} W_{2} = USV^{T} = \left( {\begin{array}{*{20}l} {U_{1} } &\quad {U_{2} } \\ \end{array} } \right)\left( {\begin{array}{*{20}l} {S_{1} } &\quad 0 \\ 0 &\quad 0 \\ \end{array} } \right)\left( {\begin{array}{*{20}l} {V_{1}^{T} } \\ {V_{2}^{T} } \\ \end{array} } \right)$$(15) - 3.
Estimate the system order by counting the nonzero singular values of S and set apart the SVD to obtain

*U*_{1}and*S*_{1}. - 4.
Calculate the extended observability matrix

*O*_{ i }and*O*_{ i−1}from:$$O_{i} = W_{1}^{ - 1} U_{1} S_{1}^{1/2}$$(16) - 5.
Determine the sequences of states

*X*_{ i }and*X*_{ i+1}$$\begin{aligned} \tilde{X}_{i} & = O_{i}^{{{\dag }}} \zeta_{i} \\ \tilde{X}_{i + 1} & = O_{i - 1}^{{{\dag }}} \zeta_{i + 1} \\ \end{aligned}$$

- 6.
Up to this step, the system states are known with the system inputs/outputs processed data. Then, solve the following linear equation for the system matrices

*A*,*B*,*C*and*D.*$$\left( {\begin{array}{*{20}l} {\tilde{X}_{i + 1} } \\ {Y_{i\left| i \right.} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}l} A &\quad B \\ C &\quad D \\ \end{array} } \right)\left( {\begin{array}{*{20}l} {\tilde{X}_{i} } \\ {U_{i\left| i \right.} } \\ \end{array} } \right) + \left( {\begin{array}{*{20}l} {\rho_{w} } \\ {\rho_{v} } \\ \end{array} } \right)$$(17) - 7.For stochastic part, estimate Q, R, and S from the residuals:For more details about subspace identification method, refer to Overschee and Moore (1996).$$\left( {\begin{array}{*{20}l} Q \hfill &\quad S \hfill \\ {S^{T} } \hfill &\quad D \hfill \\ \end{array} } \right) = {\mathbf{E}}_{{\mathbf{j}}} \left[ {\left( {\begin{array}{*{20}l} {\rho_{w} } \\ {\rho_{v} } \\ \end{array} } \right) \cdot \left( {\begin{array}{*{20}l} {\rho_{w}^{T} } & {\rho_{v}^{T} } \\ \end{array} } \right)} \right]$$(18)

## The application of subspace identification to gas turbine process

^{Ɵ}), and the frequency of the grid (Hz). System Identification toolbox has been utilized (Ljung 2010). Identification and sample of verification results are presented through Figs. 2, 3, 4, 5, 6 and 7. The model responses nicely agree with the main trends of the real plant responses. The model parameters appear in the “Appendix”.

## Predictive controller design and implementation

### Description of a portion in the current automation system

The valve lift is read directly into the gas turbine controller. The pilot gas valve position is changed by the valve lift controller of the pilot gas. Both valves have electro-hydraulic actuators which are operated via two hardware outputs to the two coils of the electro-hydraulic actuators. Undesirable compressor operation is prevented via the compressor pressure ratio limit controller (also known as π controller). The function of the cool air limit controller is to rule out mode of operations, which leads to inadequate flow of cooling air to the turbine blades. The system exhausted temperature is being controlled by the IGVs by varying the air mass flow into the combustion chamber. Exhausted temperature is measured immediately downstream of the gas turbine via 24 triple-element thermocouples (MBA26CT101A/B/C to MBA26CT124A/B/C) placed around the surroundings of the exhaust diffuser. All B and C signals from the 24 triple-element thermocouples are used to calculate the mean turbine outlet temperature. These IGVs signal is influenced, in such a way, by two signals: one from the exhausted temperature control and the other from the compressor pressure ratio limit controller (Daewoo E&C, Siemens 2009 Approval). The portion of interest of the automation unit is described and the next section presents the proposed upgrade of the control system for the purpose performance enhancement.

### Generalized predictive controller (GPC) design and implementation

*v*is the measured disturbance and

*w*is the unmeasured disturbance vector,

*z*is the measurement noise. The adopted predictive control algorithm is quite analogous to Linear Quadratic Gaussian procedure (LQG), but with implication of the operational constraints. The prediction is made over a specific prediction horizon. Then, the optimization program is executed on-line to calculate the optimal values of the manipulated variables to minimize the objective function below:

*Hw*), prediction horizon (

*Hp*) and control horizon (

*H*

_{ C }) of the performance objective function will affect the performance of the controller and computation time demands. The terms

*r*represents the demand outputs used as a reference for MPC model and Δ

*u*is the change in control values for

*HC*number of steps. Zero-order hold method is then used to convert the control signal from discrete to continuous fed to the plant.

## Simulation results

*Hp*, control horizon

*HC*, and weighting matrices

**Q**and

**R.**The control interval, prediction, and control horizons are found to be 1, 40, 5 s respectively.

**Q**= [1 1 1] and

**R**= [0.2 0.2 0.2]. Simulating different scenarios have caused this selection. In this scenario, a load demand signal extracted from the data during classical closed loop control is used as one of the set-point signals injected to the MPC, with higher exhausted temperature set-point of 565C

^{Ɵ}and the frequency should be maintained at 50 Hz. From simulations, it can be readily seen that when the plant control strategy is integrated with model predictive control (MPC ON state); the frequency response is smoother than that case of MPC OFF (Fig. 10). Less frequency variations are found in case of MPC, however, that should be also expected from the power response as faster load following means less excursions (Fig. 11). Since gas turbines in general are very sensitive to frequency deviations and cascaded trip may occur in case of large frequency disturbances, it is now assured that the possibility of relay malfunctioning for trip singling is reduced for the gas turbine in case of MPC ON state. The plant has faster load following capability with less settling time as shown in Fig. 11. It is believed that that has been as a result from predicting the control signals of the NG valve, the pressure ratio, and pilot gas valve in advance, which help in achieving stable and rapid combustion. The response of the temperature is depicted in Fig. 12; higher temperature is maintained during system operation, which means higher thermal energy is supplied to the HRSG. However, this set point can also be amended by the operator in case of changes of ambient conditions to set the suitable reference temperature for the exhausted gas. The proposed signals of manipulated variables have relatively different trends in comparison with classical control system. These corrected signals are amended by the optimization routine in the MPC and can be seen that they are feasible and within the operating restrictions reported by the plant manufacturer. Figures 13 and 14 show the fuel preparation signals for the demanded dynamic set points, it is seen that the MPC has given constrained signals within shorter time of periods. From the signal of the outlet compressor pressure in Fig. 15, the pressure ratio is high in case of high load demands with (MPC ON) state; Therefore, higher GT efficiency during large load operating regions which the plant is very likely to operate. As an estimate of how much improvement has been achieved, the reader is recommended to inspect the thermodynamic curves of pressure ratio depicted in Simões-Moreira (2012) and Ibrahim and Rahman (2012). It can be deduced that upgrading control system with the MPC has promising performance with regard to better system operation and improved responses. This can be accurately expressed in the following points: firstly, the general curve relating the pressure ratio and overall thermal efficiency is redrawn using MATLAB. Second, the pressure ratio is found from the signals arrays of compressor pressure outlet to the atmospheric pressure while the total efficiency (the ratio of the total work done by the CCGT unit to the heat input) is given by thermodynamic relations with the pressure ratio, the equation is used to plot the curve of thermal efficiency for three distinct periods in which the efficiency including MPC may be higher or lower than that without the MPC. The approach used to calculate the average efficiency for the working hours is very simple. The compressor outlet pressure response is used to find the pressure ratio which is used to plot the efficiency. Then, the average efficiency is found for three different periods of operating the plant. Curve 1 is shown in Fig. 16. It can be readily seen that the red part of the curve represents the deviation in efficiency in the from minute 700 to minute 950 with around (250 working minutes), the compressor outlet pressure (and hence the pressure ratio for 1 bar atmospheric pressure) raised from 14 to 19.3 with (MPC ON) state in comparison with the normal strategy (MPC OFF) with corresponding efficiencies of (52.9–56.88 %), respectively (or 3.98 % increase in efficiency). Another investigated period of operation is shown in (Fig. 17). There is a small decrease in the compressor outlet from 11.7 to 11.5 that corresponds to efficiencies of (49.7–50 % = −0.3 %). Similarly, in Fig. 18, there is a decline in the compressor outlet pressure from 13 to 11.5 bars from the existing to the new strategy; However, this will result in decreasing the efficiency from 51.8 to 49.9 % (i.e. 49.9–51 = −1.1 %). The average thermal efficiency for three equal intervals of operation (η

_{av}= (3.98 – 0.3 – 1.1)/3 = 1.1 %). However, this argument can also be supported from time based simulations. NG control valve position is also an obvious indicator for reduced fuel consuming (Fig. 14). The plant situation with integration of MPC is more improved than existing control strategy without MPC and more suitable for satisfying the grid obligations.

## Conclusions

- 1.
The composition of natural gas produced in Libyan varies from time to another and here are some examples supplied by our industrial partners in Sirte Oil Company for Production and Manufacturing of Oil & Gas, Technical Dept/Process Engineering & Labs Division. The compositions are in two different dates in different years. On 16/02/2011: Methane (81.47 %), ethane (11.15 %), propane (2.7 %), iso-Butane (0.5 %), n-Butane (0.61 %), iso-Pentane (0.19 %), n-Pentane (0.13 %), nitrogen (0.52 %), Carbon Dioxide (2.7 %), Hexane (0.03 %).

On 19/01/2012: Methane (82.98 %), ethane (6.82 %), propane (1.97 %), iso-Butane (0.38 %), n-Butane (0.48 %), iso-Pentane (0.24 %), n-Pentane (0.16 %), nitrogen (0.41 %), Carbon Dioxide (6.5 %), Hexane (0.06 %). These variations affect fuel calorific value and consequently the efficiency of the plant. However, including all factors that affect the thermal efficiency and/or dynamic responses is quite complex and difficult to achieve in the present industry.

- 2.
The MPC performance is not very ambitious in some small intervals like that mentioned in the previous section, although these small intervals are not likely to remain and the average overall efficiency over 800 min is higher. These limitations in the controller performance can be handled by adapting the control parameters and/or using nonlinear model predictive control. The value of using nonlinear model predictive control is that it handles the uncertainty associated with the nonlinearity of the plant. Thereby, improved control performance but increasing the computation burdens on the centralized computer used for control. This practical issue along with the 1st one are the authors’ interest for the long-term research work.

## Notes

### Authors’ contributions

OM has applied the research methodologies, produced the results and findings, and written the paper. JW revised the paper and provided valuable advices for research quality improvement. AK revised the paper for correcting technical and scientific errors. ML provided the power plant documents & data and facilitates the permissions to visit the power plant central control room. All authors read and approved the final manuscript.

### Acknowledgements

The authors would like to express their thanks to the Control and Production Department of General Electricity Company of Libya for providing the necessary documents and data for the power plant under study.

### Competing interests

The authors declare that they have no competing interests.

## References

- Badgwell TA, Qina SJ (2003) A survey of industrial model predictive control technology. Control Eng Pract 11(7):733–764CrossRefGoogle Scholar
- Bittani S, Poncia G (2003) Multivariable model predictive control of thermal power plant with built-in classical regulations. Int J Control 74(11):1118–1130Google Scholar
- Ibrahim TK, Rahman MM (2012) Effect of compression ratio on performance of combined cycle gas turbine. Int J Energy Eng 2(1):9–14CrossRefGoogle Scholar
- Lalor G, Ritchie J, Flynn D, O’Malley MJ (2005) The impact of combined-cycle gas turbine short-term dynamics on frequency control. IEEE Trans Power Syst 20(3):1456–1464CrossRefGoogle Scholar
- Lee KY, Ramirez GR (2001) Overall control of fossil-fuel power plants. In: Proceedings of IEEE power & energy society, Winter Meeting. IEEE, Piscataway, pp 1209–1214Google Scholar
- Ljung L (2010) System identification toolbox: User’s Guide. Mathwork Inc.Google Scholar
- Matsumoto H, Ohaswa Y, Takahasi S, Akiyama T, Ishiguro O (1996) An expert system for startup optimization of combined cycle power plants under NO
_{x}emission regulation and machine life management. IEEE Trans Energy Convers 11(2):414–422CrossRefGoogle Scholar - Meyer C (2000) Matrix analysis and applied linear algebra. Society of Industrial & Applied Mathematics (SIAM), PhiladelphiaCrossRefGoogle Scholar
- Modau F, Pourbeik P (2008) Model development and field testing of a heavy duty gas-turbine generator. IEEE Trans Power Syst 23(2):664–672CrossRefGoogle Scholar
- Mohamed O, Wang J, Al-Duri B, Lv J, Gao Q (2012) Predictive control of coal mills for improving supercritical power plant dynamic responses. In: Proceedings of 51st IEEE conference on decision and control. IEEE, Hawaii, pp 1709–1714Google Scholar
- Mohamed O, Younis D, Abdulwahab H, Anizei A, Elobidei B (2014) Comparative study between subspace method and prediction error method for identification of gas turbine power plant. In: Proceedings of the 6th international congress on ultra modern telecommunications and control systems and workshops, ICUMT 2014. IEEE, St. Petersburg, pp 521–528Google Scholar
- Mohamed O, Wang J, Khalil A, Limhabrash M (2015) The application of system identification via canonical variate algorithm to north benghazi gas turbine power generation system. In: Proceedings of IEEE Jordan conference on applied electrical engineering and computing technology AEECT 2015. Dead Sea, pp 1–6Google Scholar
- Oluwande GA (2001) Exploitation of advanced control techniques in power generation. Comput Control Eng J 12(2):63–67CrossRefGoogle Scholar
- Overschee PV, Moore BD (1996) Subspace identification for linear systems: theory implementation application. Kluwer, DordrechtCrossRefGoogle Scholar
- Power System Dynamic Performance Committee (2013) Dynamic models of turbine-governors in power system studies. IEEE Power & Energy Society, Technical Report PES-TR1. http://sites.ieee.org/fw-pes/files/2013/01/PES_TR1.pdf
- Rayaprolu K (2009) Boilers for power and process. CRC Press, Boca RatonCrossRefGoogle Scholar
- Ruscio D (2009) Subspace identification: theory and application. Lecture Notes, 6th edn. Telemark Institute of TehcnologyGoogle Scholar
- Saez D, Milla F, Vargas LS (2007) Fuzzy predictive supervisory control based on genetic algorithms for gas turbines of combined cycle power plants. IEEE Trans Energy Convers 22(3):689–696CrossRefGoogle Scholar
- Siemens, Daewoo E&C (2009) Combined cycle gas turbine project: operation manual: Econopac. In: Document No: MB-V-GT-92-900Google Scholar
- Simões-Moreira JR (2012) Fundamentals of thermodynamics applied to thermal power plants. In: Thermal power plant performance analysis. Springer, BerlinGoogle Scholar
- Sonntag RE, Borgnakke C (1998) Fundamentals of thermodynamics. Wiley, New YorkGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.