Internati o nal  Journal of Ele c trical   and Computer  Engineering  (IJE CE)  V o l.  5, N o . 5 ,  O c tob e 201 5, p p . 1 054 ~106 I S SN : 208 8-8 7 0 8           1 054     Jo urn a l  h o me pa ge : h ttp ://iaesjo u r na l.com/ o n lin e/ind e x.ph p / IJECE  Model Predictive Control System  Design for Boiler Turbine  Process      San d eep  Kum a r S u n o ri *,  Pr adeep  Ku mar   June ja * * ,  An ami k a B h ati a   Jai n * **   * Department of   Electronics and   Comm unication  Engineering, Gr aphic Er a Hill  Uni v e r si ty , Bhi mta l  Ca mpus,  Indi **School of  Electronics, Graph i c Er a Univ ersity ,  Dehradun , India    ***Department of  Electron i cs an Communicatio n, Dehr adun, Ind i     Article Info    A B STRAC T Article histo r y:  Received Feb 12, 2015  Rev i sed  Jun  23,  201 Accepte J u l 10, 2015      MPC is a computer based  technique th at r e q u ires the  proces s m odel to  anticipate th e fu ture outputs of  that  process. An optimal contr o l action is   taken  b y  MPC  based on  this p r edicti on. Th MPC is so popular sin c e its   control p e rformance has been r e ported   to b e  best among other   conventional  techn i ques to  co ntrol th e m u ltiv ariabl e d y nam i cal  plants with  vari ous inputs  and outputs con s traints. In th present work th e control of bo iler turbin process with three m a nipula t ed  variab les nam e l y  fue l  flow val v e position ,   steam  control v a lve posit ion an d feed water f l o w  valve positio n and three   controlled var i ables namely  dru m  pr essure, output power and  drum water   level deviation  has been attempted  using MPC techniqu e. B o iler turb ine  process is ver y   com p lex and nonline a r m u ltivar iabl e process. A linear ize d   model obtained  using Tay l or s e ries  expansion  around operating point has   been us ed . Keyword:  Bo iler turb i n M odel  pre d i c t i v c ont rol   Mu ltiv ariab l e p r o cess   No nl i n ea r pr oc ess  Pred ictio n  ho ri zo n   Copyright ©  201 5 Institut e  o f   Ad vanced  Engin eer ing and S c i e nce.  All rights re se rve d Co rresp ond i ng  Autho r Sand eep Ku m a r  Su nor i,    Depa rt em ent  of El ect r oni cs  a n d  C o m m uni cat i on E n gi nee r i n g ,   Graph i c Era Hi ll Un iv ersity,  Sattal Ro ad , PO: Bho w ali, Bh imta l, Nain ital (Uttarak h a nd ), Ind i Em a il: san d eepsu nori@g m ai l.co m       1.   INTRODUCTION   In   bo iler turb i n es fl u c tu ation in  th d r u m  l e v e l is th b i g p r ob lem  as t h e steam  flo w  is d i rectly  pr o p o r t i onal  t o  po wer  ge nera t i on. I n  case t h e d r um  l e vel  goes  d o w n  t h e l o wer t h res h ol d, t h e o v er h eat i n g   i n si de t h e b o i l e m a y  resul t  in cracki ng  of  wat e r t ube s. O n  t h e ot he r ha nd i f  t h e l e vel  goes u p  t h e d e si red  up pe r t h res hol d, t h e d r y  st eam  fl owi ng t o  t u r b i n e m a y carry  som e  wat e r part i c l e s whi c h m a y  dam a ge t h turbine blades  [1]. So  t h m a i n ten a n ce  o f  t h e water lev e l is th e cru c ial  task  fo r sa fe o p e r ation  o f  the t u rbi n e.   The  ot he para m e t e rs t o  be  c ont rol l e d  are t h dr um  press u re a n d t h e  ul t i m a t e  object i v e i s  t o  m eet  t h e l o ad   dem a nd o f  el ec t r i c  p o we r.   The M P C  cal cul a t e s an o b j ec t i v e fu nct i o n [ 2 ]  base d o n  t h e pre d i c t i on  of  t h e out put  sa m p l e s up t o  a  fixe d   pre d i c t i o n h o ri z o n an d t h en  det e rm i n es t h e di scret e  m ove s o f  t h e i n p u t  m a ni pul at ed  vari a b l e s i n  s u ch a  way th at th o b j ectiv fun c tion  is m i n i m i zed . Th e MPC st ra tegy is elaborat ed in fi gure1.  The MPC ta ke s control actions at regularly space in tervals wh ich  are  called   con t ro l in terv als.  As  sh own  in  fi g u re1 ,  th e con t ro l l er p r ed icts th e o u t p u t  v a l u es  at sa m p lin g  instan t t. After  hav i ng  co m p leted  th pre d i c t i on cal c u l a t i ons i t  sen d s m ove u(t )    to   t h e p l an t .  The p l an t th en  operates with  th i s  co nstan t  inp u t u n til   th e n e x t  sam p l i n g  in stan t. At  th is sa m p lin g   in stan t t+ 1, t h e cont r o l l e r a g ai n d o es  pred ictio n  ov er pred ictio ho ri zo n i n  t h e sam e  way  and agai n det e rm i n es t h e new o p t i m a l cont r o l   m ove s ove r t h e cont rol  h o ri z o n an d   this cycle re pe ats inde finitely. T hus  we  see t h at both pre d iction a n d control horizons a r receding.      Evaluation Warning : The document was created with Spire.PDF for Python.
                        I S SN 2 088 -87 08  I JECE Vo l. 5 ,  N o . 5 ,  O c tob e 20 15   :   105 –  10 61  1 055      Fi gu re  1.  M P C  st rat e gy   [3]       T. R a j kum ar et  al . [3]  used  wi de o p e n  co n t rol  st rat e gy  w i t h  3 el em ent  cont rol  sy st em  t o  pr ovi de  tig h t  con t ro l the d r u m  water l e v e l in   bo iler tu rb in e. Th ree  ele m en ts in d i cate 3   v a riab les n a m e ly stea m flow,  feed water  flow an d r u m  water lev e wh ich  co llectiv ely  h a s effect  on   feed   water v a l v e po sitio n.  Drum  Lev e Co n t ro l Al go ri th m  was i m p l e m en ted  in  th Adv a n ced Ad ap tiv e PID C ontro ller Blo c k  i n  th FCP270   Field   C ont r o l  P r oces sor .     Qu ick e r respon se and  little  o v e rsh o o t  was o b s erv e d   in  th e resp on se of sp eed  con t ro ller for steam  turbine usi n g MPC technique as com p ared to  co nv en tio nal PI D control l er and  fuzzy  cont roller [4].Om ar   sh ah in  et al. o b s erv e d   r obustn ess and  satisf acto r y p e r f or m a n ce o f  th e b o iler  tu rb ine syste m  e m p l o y ing  ad ap tiv wav e let n e u r al n e t w ork. Discrete Lyap un ov  stab ility  th eo rem was u s ed   h e re to  determin e th lear n i ng  r a tes [5 ].  Spee d co nt r o l  of  gas t u rbi n e sy st em  was pr o v ed  to  be outstandi ng with ada p tive fuzzy PID  co n t ro llers as co m p ared  t o  con v e n tion a l co ntro llers  [6 ].  Lin earization   o f  a  no n  lin ear m o d e l o f   boiler tu rb in p l an t abo u t  a suitab l e o p e rating  po in was  p r esen ted in  t h e wo rk   do n e  by  W e n Tan  an d Fang   Fang  et  al.[ 7 ] Pra d eep Kum a r J une ja et al.  discovere d  t h a t  if th ratio   o f  con t ro l ho rizon  to pred iction ho rizo n   of  an  MPC con t roller rem a in s same th an  its  p e rform a n ce alm o st rem a ins sa m e  for a  gi ven process  [8].  Pan g -c hi a C h e n  an d Jef f  S. S h am m a  repo rt ed gai n  sche d u l e d l op tim al  co n t ro l fo reg u l ating  th d r u m  water level in  bo iler t u rb in es and   ob tain ing  th e d e sired   o u t p u t   po wer lev e l [9 ].  A ne w co or di nat e d co nt r o l  st rat e gy (C C S has bee n  p r o p o se d fo r co nt r o l  of  boi l e r t u rbi n e sy st em   wh ich  is ex ecuted  in  two  lev e ls n a m e l y  th e b a sic lev e l in   wh ich  conv en t i o n a l PID con t ro llers are  u s ed  to   do  fu n d am ent a l  cont rol  act i on a nd t h hi g h  l e vel  i n  whi c h t h e dec o u p l i n g bet w ee n t w o c ont rol  l o ops i s  do ne.   They also used a s p ecial class of fuzzy infe re nce system  to accom p lish self  tuning  [10].  A m u lti input s i ngle  out put M P C has  bee n  developed  for a  bioreactor pla n t and its  perform a nce was   com p ared wit h  that of PID a nd  fuzzy PID  cont rolle r s   [ 11].Fate m e Pir o uz m a n d  pr opo sed  a ro bu st MPC f o th ree  d e gree freed o m  satelli te  syste m s and t h e com p ensat i on  of m o m e nt   of i n ert i a  u n ce rt ai nt y  and e x t e rnal   disturba nce  wa s accom p lished effec tively by  this technique  [12].      2.   MPC CONTROLLER DESIGN                      T h e li nearize d  state s p ace m odel of  the considere d   boiler  t u rbine  process with  m a nipulated  vari ables   as  fu el flow  valv e po sitio n (u 1 ),  st eam  fl ow val v posi t i on  ( u 2 ) a n d  fee d  wate r fl ow  v a lve( u 3 ) a n d  co nt r o l l e vari a b l e s as d r um  pressu re(y 1 ) i n   kg/ s q .cm ,  out put   p o we r( y 2 ) in  M W  and  dru m  water lev e l d e v i atio n(y 3 ) in  meters with  state varia b les a s  drum  steam   press u re(x 1 ) in kg/sq.cm  ,electric powe (x 2 )  i n   M W  a n d  s t e a m   water fluid   de n s ity (x 3 ) i n  k g / c ubi c m e t e r i s  r e prese n t e d  by   equat i o ns  ( 1 ) , ( 2 )  an (3 [1 3]   Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8     Mod e l Pred ictive Con t ro S y st em  Design  f o Bo iler Tu rb in e Pro c ess   (Sa ndeep  K u ma Sun o r i)   1 056       A  B    (1 )      C  D   (2 )     A=  0.002854 0 0 0.08315 2 0.1 0 0.007842 0 0   B=  0 . 9 0.374591 0.15 0 15. 191754 0 0 0.148126 1. 658824   C=  100 010 0 . 007566 0 0 . 004257   D=  00 0 00 0 0.2533 0.54305 6 0.014      (3 )     Now t h is p l an is to   b e  co n t ro l l ed  b y  an  M P C con t ro ller wit h  set  po in ts  for con t ro lled   v a ri ab les y 1 , y and y 3  equ a l to 12 0 kg /sq . cm , 12 0 M W  and   zer o m e ter s  respectively. T h 3 m a nipulated  varia b les  u 1 , u 2  and  u have a  val u e  ove r i n t e r v al  [ 0 , 1 ] .   The M P C  tunin g  pa ram e ters fo r the c o ntro ller d e si g n  are sp ecified  in   tab l 1  as fo llo ws.      Tabl 1. T u ni n g   param e t e rs o f  M P C   Tuning Para m e te Value  Contr o l inter v al( s econds)   (sa m pling interval)  1. Pr ediction hor izon  10   Contr o l hor izon    Rate weight for  in puts   0. W e ight for  dr u m  p r esur W e ight for  power   output   W e ight for  water  level  deviation   Dur a tion( seconds)  30   Robustnes s  0.     3.   CONTROLLER PERFORMANCE  W i t h  th e tun i ng   p a ram e ters sp ecified in  tab l e 1  and  th e fo llo wi n g  setpo i n t s,   Dr um  press u r e :  12 k g / s q . c m    Ou tpu t  Po w e r :  12 0 M W    W a t e r   l e vel  de vi at i on:   ze ro   The set p oi nt  t r acki n g res p on s e s of t h e M P C   cont rol l e r i s   de pi ct ed i n   fi g u re  2 sh o w i n g t h a t  t h e per f o r m a nce o f   M P C  i s  excel l e nt  wi t h  ve ry   go od  t r a n si ent  a n d st ea dy  st at e r e sp onses .         Evaluation Warning : The document was created with Spire.PDF for Python.
                        I S SN 2 088 -87 08  I JECE Vo l. 5 ,  N o . 5 ,  O c tob e 20 15   :   105 –  10 61  1 057                       Fig u r e  2 .   Set po in t r e spon se of   MPC       4.   EFFECT  OF  VA RI ATIO N IN CO NTR O HO RIZ O N   In  th is section ,  th e co n s equ e n ces of v a ryi n g  MPC co n t rol h o r izo n   v a lue will b e  in v e stig ated . Th fol l o wi n g  pl ot i n  Fi g u re 3 a n d    4 depi ct   t h set   p o i n t   t r ac ki n g  resp o n se of   M P C   wi t h   c ont rol  h o ri zo n  (C H)  equal   t o  1, 2 an d 5 respect i v el y   keepi n g   p r e d i c t i on  h o r i z o n  fi xe at  10   [ 1 2 ]         Fig u r e  3 .   Set po in t r e spon ses w ith   co n t r o l hor izon   ( C H )   v a l u e o f   and  2      Evaluation Warning : The document was created with Spire.PDF for Python.
IJECE   ISS N 2088-8708    Model Pre dictive Control  Syst em  Design f o Boiler T u r b ine  Proce ss   (Sa ndeep  K u ma Sun o r i)   1 058     Fig u re 4 .   Set po in t respon ses with   co n t ro l horizon   (C H)  v a l u e o f       Fig u re 3  and  4  clearly in d i cate th at settlin g  ti m e  o f  respo n s es is v e ry l a rg with  con t ro l horizon   eq u a l t o   1   h e n c e set po in t t r ack i ng  is  wo rst i n  th is case  bu th e p e ak ov ersh oo t in  water l e v e l respon se i s  least.   The  res p onses   are alm o st sim i lar with  co nt r o l  ho ri zo val u e  o f   2 a n d  5 .       5.    SIG N IFI C A NCE  OF  CO NTROL  HO R I Z O N TO P R EDICTI ON  H O RIZ O R A T IO  The fi g u r e 5 s h o w s t h e co nt r o l l e r res p o n se  wi t h  co nt r o l  h o ri z on  val u e o f  2 an d p r edi c t i on h o r i z o n   val u e o f  4  i . c ont rol   t o  pre d i c t i on ho ri zo n r a t i o   (M / P )   =0 . 5          Fig u re 5 .   Set po in t respon ses with   M/P=0 . 5       No w t h e c o m p ari s on  o f  fi g u re  4 a nd  fi g u r e 5  re veal s that th e sam e  v a lu e of M/P rat i o  resu lts in   id en tical set poin t  track i n g resp on se.        Evaluation Warning : The document was created with Spire.PDF for Python.
                        I S SN 2 088 -87 08  I JECE Vo l. 5 ,  N o . 5 ,  O c tob e 20 15   :   105 –  10 61  1 059  6.   EFFECT OF  VARIAT ION IN RATE WE IGHT  ON M ANIPUL A TED VARIABLE  MOVES   The fi gure 6  presents the c o m p arision of c a lculat ed m oves in the three   m a nipulated  variables wit h   in pu t r a te w e i g h t  of  0.1  and   0.8  .I t cl early ind i cates th at th e in crease i n  the v a lu o f  inp u t rate weigh t  resu lts  i n  de crease  i n  t h req u i r e d   val u e  o f   di scr e t e  m oves i n   m a ni pul at ed  v a ri abl e  i . e  dec r ease i n  t h e  a m ount   o f   cont rol  e f f o rt   r e qui red  f o r  set   poi nt  t r ac ki n g .         Fi gu re  6.  M a ni pul at ed  va ri abl e  m oves wi t h  i n p u t   rat e  wei g ht  o f   0. 1 a n 0. 8       7.   EFFECT OF   VA RI ATIO IN S A MPLI N G  INTE RV A L   The effect of variation of the sam p lin g  in terv al for MPC in  th e setp o i n t  track ing  resp on se is rev ealed  in fi gu re  7.  Th e res p o n ses  ar e o b taine d  f o three  dif f eren v a lu es of sam p lin g in terv al  wh ich  are  1 ,   2 and   seco nds . T h e s e t t e l i ng t i m e s of t h ese  res p o n s es f o r  t h o u t p ut  d r um  pres su re are  o b se rve d  t o   be  1. 38 2. 0 3  a n d   5 sec o nds  res p ect i v el y  and  f o r  t h o u t p ut   po we out put   are  0. 99 2. 03  an 5 sec o nd s res p ect i v el y ,  w h i c h   clearly sh ows th d e grad atio n in   p e rform a n ce with  i n crease in  th e v a l u o f  sam p lin g  in terv al.        Fig u re  7 .  Set  po in t track i ng   resp on se of MP C  fo r sam p l i n g  i n t e r v al  o f   1,  2  an 5 sec o nds     Evaluation Warning : The document was created with Spire.PDF for Python.
I J ECE   I S SN 208 8-8 7 0 8     Mod e l Pred ictive Con t ro S y st em  Design  f o Bo iler Tu rb in e Pro c ess   (Sa ndeep  K u ma Sun o r i)   1 060 8.   CO NCL USI O N   It h a b een   observ e d  th at th e respon se of  MPC co n t ro ller is v e ry  fast with  v e ry sm al l settlin g  ti me   and  ve ry  go o d   set  poi nt  t r acki ng  per f o rm ance as com p ared  t o  t h e co n v ent i onal  c ont rol l e r s . Fu rt he r i t  ha s been   f oun d th at t h sam e  co n t r o ho r i zo n to pr ed i c tio n   ho r i z on ratio  resu lts in sa m e  c o n t ro ller  p e rf or m a n ce an d th in crease in  th e v a lu e of in pu t  rate weig h t  resu lts in  d ecrea se i n  cont rol   m oves i n   m a nipul at ed  vari a b l e s.  A n   in crease i n  th e v a lu o f  sam p lin g  i n terv al for MPC h a s resu lted  in  an  i n crease i n  th settelin g  ti m e   o f  t h r e spon se      REFERE NC ES   [1]   M. Sarailoo ,  B .  Reza ie  and Z .   Rahm ani, “ M L D  Model  of Boi l er Turb ine S y s t em  bas e d on P W A Lineari zat i o approach ”,   International  Journal of Com puter Science and  Engineering , 2(4) pp. 8 8 -92, 2012 [2]   Junxia Mu and David Rees, “Approximate Model  Predictive Co ntrol for Gas Turbine Engin e s”,  Pr oceed ing of th e   2004 American   Control Confer ence  Boston, Massachusetts,  2004 [3]   T. R a jkum ar,V . M . Ram a a  P r i y a a  and  K .  Gobi,  “Boiler Drum Level Control  b y  using Wide Op en Contro l with   Three Elem ent Control  S y s t em ”,  International Monthly Re ferred Journal of Resear ch in  Management an d   Technology,  Vol. II , 2013 [4]   Rekha Rajan, M uhamme d Salih P and N. Anil Kum a r, “ S peed  Controller Design for Steam Turbine”,  In ternation a Journal of Ad va nced  Research  in Electrical Elec tronics and Instr u mentation  Engineering ”, Vol. 2 ,  Issue 9, 2013.  [5]   Omar Shahin, Mohammad El-Bardini a nd Nabila M. El-Rab aie, “Control Sc heme of a Boiler Turbin e using  Adaptive Wavelet Neural Network”,  Journal of  Engineering Sc i e nces , A s s i ut Univer s ity ,Vol. 39,  No. 6, pp. 1387- 1401 ,2011 [6]   Saeed Balo chia n and Soheil Vosoughi, “ D esig n and Sim u lation of Turbine Speed Control S y stem  based on   Adaptive  Fuzz PID Controller ,   Advan ces  in Mechanica l Eng i neer ing and  its Ap plications ( A MEA) ,  Vol.  1,  No.  3,  2012.  [7]   Wen Tan and F a ng Fang, “Lin ear Analy s is a nd  Control of a Bo iler Turb ine Unit”,  Proceed ings of the 17 th  Word  Congress the International Fed e ration of  Au tomatic Congress, Seo u l, Korea ,   2008 [8]   Pradeep Kum a Juneja, A . K. Ra y,  “ P redict ion B a sed Control o f   Lim e  Kiln Proc ess in a Paper   Mill” Journal o f   Forest Products  and Industries , 2 ( 3), pp . 58-62 , 2 013.  [9]   Pa ng-c h ia  Che n , Je ff S.  Sh a mma , “Gain Scheduled l 1 -Optimal Control for Boiler  Turb ine D y n a m i cs with Actuato r   Saturation ,  Jou r nal of  Process  Control  14(3), p p . 263-277 , 200 4.  [10]   Shao y u an  Li, H ongbo Liu, Wen - Jian Cai, Yeng- Chai Soh a nd Li-Hua Xie, “A New Coor dinated Control  Strateg y   for Boiler Turb ine S y stem of Coal Fired Power  Plant”,  I E EE Transactions on Control Systems Technology,  Vol.  13,   No. 6, 2005   [11]   FAN liping, ZHANG  Jun, HUA NG  Xing, HU A NG Dong,  “The Design of th e MISO  Model Pr edictive Contro ller   for Bi orea ct or”,   TELKOMNIKA Indonesian Journ a of Electrical  Engineering , Vol. 10 , No . 6 , pp. 1 163-1170, 2012 [12]   Fateme Pirouzm a nd, “Robust M odel Pred ic tive  Control b a sed o n  MRAS for Sa tellite Attitude  Control s y s t em”,  International Jo urnal of  Electr ical and Computer Engin eering , V o l. 4 ,  No . 1 ,  pp 81-92, 2014 [13]   Deepa Thang a relusamn,  Laksh mi Ponnusam y ,  “Elimination  of Ch attering us ing  Fuzzy  Sliding Mod e  Contro ller  fo r   Drum  Boiler  Tur b ine S y s t em ”,   C EAI , Vol. 15, pp. 78-85, 2013.      BIOGRAP HI ES OF  AUTH ORS       He is working  as  an Asst.  Professor in  ECE  depa rt m e nt of Graph i c   Era Hi ll  Univers i t y ; Bh im tal     Campus. He ear ned his M.Tech  degree  in Digi tal Communicatio n from U.P.T.U, Lucknow and   B.Te ch d e gree  i n  El ectron i cs  a nd Com m unicat i on from  Birl Institute  of App lied Sc ien ces,  Bhim tal. He has  an experi ence  of around 12  y e ars  of teach ing and adm i nistrat i on. He is a life   tim e m e m b er of ISTE.His areas  of interest are  m u ltivari a ble co ntrol s y stem , di gital design and   signal pro cessin g .           He has  a P h .D fr om  IIT Roorkee  in the  are a  of Co ntrol S y s t em s .  He e a rned h i s  M . T ech d e gree  i n   Instrumentation   Engineering fro m University  Ca mpus, DAVV, Indore and B . Tech in Electronics  & Instrum e ntati on from  Institut e  of  Engg. And  Tech., Univers i t y  Cam pus, M.J Prohilkhand   Universit y ,  Bar e ill y.  He  is pr esen tl y working  as  P r ofessor in  EEE  Depa rtment, GEU, Dehradun He has  15  y ear s  of teaching a nd res earch exp e rien ce . He has  been the re cip i ent of M H RD  scholarship for  two  y e ars at II Roorkee dur ing  Ph.D. and N e w I d ea Fund scho larship at C EERI  Pilani for on y e ar during M.Tech. He is a  lif e m e mber of ISTE and annual member of IPPTA.  His research  int e rests in clude   m u ltivari a ble  co ntrol s y s t em , pr edic tion b a sed c ontrol s y s t em s,   m odern control  s y s t em ,  s y s t em  th eor y fuzz con t r o l s y s t em  and  a   proces s  contro l.   Evaluation Warning : The document was created with Spire.PDF for Python.
                        I S SN 2 088 -87 08  I J ECE Vo l. 5 ,  N o . 5 ,  O c tob e 20 15   :   105 –  10 61  1 061        She is working  as Professor in   ECE departmen t  of GEU, Dehra dun. She has and PhD from IIT   Roorkee. S h e ha s  a vas t  experien ce in th e are a  of  teach ing, r e s ear ch and adm i nis t r a tion .  S h e has   worked as a faculty  member for around 15  y ear and has taught several  core  co urses like Basic  Electronics, Electronic Devices  and Circuits,  Communication Engi nee r ing e t c. as  wel l  as   advanc ed  course s like  Soft Com puting Fuz z y  Log i c Con t rol S y ste m , Artifi c ia l Int e lligen ce  e t c.       Evaluation Warning : The document was created with Spire.PDF for Python.