Mål Modellering och avancerad styrning av ett biologiskt reningsverk Efter att ha genomfört denna uppgift ska du ha lärt dig att bygga modeller av sedimenteringsprocessen och att simulera dessa med hjälp av Matlab och dess inbyggda differentialekvationslösare. Vidare skall du ha provat att styra returslampumpningen (Q r ), nitratrecirkulationen (Q intr ) samt slamöverskottsuttaget (Q w ). Inledning Denna uppgift är uppdelad i två steg: byggandet av en tämligen realistisk sedimenteringsmodell samt reglering av slamhalt i bioreaktorerna respektive slamnivå i sedimenteringen. I tidigare inlämningsuppgifter har du använt dig av IAWQ Activated Sludge Model No.1 samt en ideal sedimenteringsmodell. IAWQ No.1 modellerar enbart de biologiska mekanismerna i en aktivslamanläggning och beskriver inte sedimenteringen. För att vår modell över verket skall bli realistisk behöver vi ersätta den ideala sedimenteringen med en mera komplex modell. Verkets konfiguration Ett verkligt verk har ofta ett principiellt utseende enligt Figur 1, med ett flöde in till sedimenteringen (Q f ) och två flöden ut (Q e och Q u ). I det verk som vi har hämtat data ifrån är den biologiska reningen (inklusive sedimenteringen) inte den slutgiltiga, utan den följs av ett poleringsteg med kemisk fällning, flockning och flotation. Därför är sedimenteringsbassängens volym (och area) inte dimensionerad för att ta bort allt suspenderat material (SS) och kanske kommer du att uppleva att halterna i utgående vatten stundtals är höga. Detta är dock en vanlig konfiguration och kan ofta vara en effektiv lösning med minskat totalt volymsbehov som följd. Q intr Q in Q f Q e Anox Aerob Aerob Aerob Q u Q r Q w Figur 1: Principbild över det modellerade reningverket. 1
Sedimenteringsmodell En relativt enkel och väl fungerande modell av sedimenteringsprocessen är den s k flerlagermodellen. I denna endimensionella modell (enbart förändringar i en dimension modelleras) delas sedimenteringsbassängen upp i ett antal lager, vanligtvis 10-50 st. Transporten av slam mellan varje lager anses bero på såväl ett bulkflöde, vilket härrör från vattenflödet (uppåt eller nedåt) och ett gravitationsflöde, vilket beror på gravitationens inverkan på slamflockarna och alltså alltid verkar nedåt. Ovanför det lager som tar emot det till sedimenteringen inkommande flödet (Q f ) av slam är bulkflödet riktat uppåt och nedanför samma lager är bulkflödet riktat nedåt. Detta innebär att det uppåtriktade flödet (Q e ) motsvarar det utgående flödet, medan det nedåtriktade flödet (Q u ) motsvarar summan av det returnerade flödet (Q r ) och slamöverskottsuttaget (Q w ) (se Figur 2). Top layer Bulk movement Q e X e /A 1 Gravity settling Layers above the feed layer J up,2 = Q e X 2 / A J up,3 = Q e X 3 /A 2 J s,1 = min (v s,1 X 1, v 2 X 2 ) J s,2 = min (v s,2 X 2, v 3 X 3 ) J up,m = Q e X m /A J s,m-1 = min (v s,m-1 X m-1, v s,m X m ) Feed layer Layers below the feed layer Q f X f /A J dn,m = Q u X m /A J dn,m1 = Q u X m1 /A m m1 J s,m = min (v s,m X m, v s,m1 X m1 ) J s,m1 = min (v s,m1 X m1, v s,m2 X m2 ) J dn,n-1 = Q u X n-1 /A J s,n-1 = min (v s,n-1 X n-1, v s,n X n ) Bottom layer n Q u X u /A Figur 2: Princip för flerlagermodell för sedimenteringsprocessen. Koncentrationsförändringen i varje lager ovanför lager m kan sålunda skrivas såsom: dx i dt = J up,i1 J s,i 1 J up,i J s,i z i (1) där z i är höjden för lager i. På motsvarande sätt beskriver man 2
koncentrationsförändringen i alla lager (enkla massbalanser i enlighet med Figur 2). Relationerna mellan de olika flödena blir enligt Figur 1: Q f = Q in Q r (2) Q e = Q in Q w (3) Q u = Q r Q w (4) För att beskriva det suspenderade materialet (X) finns olika alternativ: antingen att beskriva X som en sammanslagen term från alla partikulära termer i den biologiska modellen eller att beskriva varje partikulär fraktion med en separat tillståndsvariabel, X i. Det första alternativet ger ett litet fel i proportionerna mellan de olika fraktionerna vid dynamiska förlopp men kräver ett mindre antal tillståndsvariabler (i en tio-lagers modell behövs det tio tillstånd om alternativ 1 väljs och 40 om alternativ 2 väljs). Vid stationära förhållanden kommer dock båda alternativen att ge identiska resultat. I vår sedimentringsmodell skall dessutom det suspenderade materialet anges i enheten mg SS/l och inte, som i den biologiska modellen, i mg COD/l och därför måste enheterna omvandlas. I uppgiften skall det första alternativet användas och fraktionerna skall slås samman och omvandlas enligt: X f = 0.75(X S X IP ) 0.9(X BA X BH ) (5) där X f är SS-koncentrationen in till sedimenteringen och de övriga variablerna beskriver koncentrationerna i den sista biologiska reaktorn. X ND behandlas skiljt från övriga variabler. Detta beror på att X ND egentligen ingår som en del i X BA och X BH, men behandlas separat i modellen för de biologiska reaktionerna av modelltekniska skäl. När slammet skall återföras till den anoxa reaktorn måste X u (SS-koncentrationen i slamrecirkulationen) delas upp igen enligt samma princip som ovan. Detta innebär t ex för X S i slamrecirkulationen (X S,r är koncentrationen av det X S som återförs till den anoxa reaktorn och X S,f är koncentrationen av X S som kommer in i sedimenteringen med Q f ): X S,r = X u X f X S,f (6) På samma sätt beräknas koncentrationen varje partikulär fraktion, även X ND trots att den inte ingår i X f. Det är rimligt att anse att denna fraktion också koncentreras i sedimenteringen i samma förhållande som de övriga. En viktig faktor för sedimenteringen är sjunkhastigheten, v s. Denna är inte konstant utan kommer att variera beroende på SS-halt. I litteraturen finns det många funktioner som anses beskriva sjunkhastighetens beroende av SS-koncentrationen, och en vanlig sådan är den s k dubbelexponentialfunktionen: ( ( v s = 0, min (v ))) 0, v 0 e r h(x X min ) e r p(x X min ) (7) Denna funktion tar hänsyn till det faktum att sjunkhastigheten inte ökar exponentiellt när koncentrationen blir mindre än en visst värde utan faktiskt sjunker istället (se Figur 3). 3
I denna inlämningsuppgift skall vi dock använda oss av en något förenklad version av dubbelexponentialfunktionen, nämligen: v s = max ( 0, v 0 ( e r h X e r px )) (8) Denna förenkling innebär att sjunkhastigheten är noll då koncentrationen är lika med noll för att direkt öka med ökad koncentration och utan den flata topp som ges av v 0 (jämför Figur 3). Lämpliga värden på parametrarna är v 0 =150 m/d, r h =0.00042 m 3 /g och r p =0.005 m 3 /g. settling velocity v 0 x min suspended solids concentration Figur 3: Principiellt utseende för dubbelexponentialfunktion. För att förenkla modellen antar vi att de lösta fraktionerna inte påverkas av sedimenteringen, d v s alla lösta koncentrationer i utgående vatten (Q e ) och i Q u är desamma som i det inkommande flödet till sedimenteringen (Q f ). Mer om sedimenteringmodeller finns att läsa i kursboken Wastewater Treatment Systems, sidorna 87-95. Regulatorerna och deras defaultvärden I de tidigare uppgifterna har två olika regulatorer för syrestyrningen utvecklats. För att du skall veta att du har rimliga värden på regulatorparametrarna är dessa, tillsammans med den fullständiga koden för regulatorerna, redovisade nedan. Om du använder dessa parametervärden borde du kunna erhålla exakt samma resultat som i vår mönsterlösning. 1) Traditionell PI-syrereglering här exemplifierat för reaktor 2 (samma regulatorparametrar för övriga reaktorer men utnyttja de olika offset-värdena givna i inlämningsuppgift 3). K2=1; Ti2=0.1; Soref2=2; e2=(soref2-so2); dipart2 = K2/Ti2*e2; u2 = K2*e2ipart20.27; u2 = max(min(1,u2),0); qair2=u2*7; 4
2) Kaskadreglering av syre. Regulatorn nedan beräknar ett börvärde för en traditionell syreregulator enligt (1). Styrningen baseras på mätning av ammoniumhalten i den aktuella tanken (i nedanstående fall tank 4). Kkaskad=0.25; Snhref = 1.0; Soref4=Kkaskad*(Snh4-Snhref); Soref4 = max(min(5,soref4),0.5); Uppgifter 1) Bygg ut din modell från inlämningsuppgift 3 (d v s fyra biologiska reaktorer i serie, dimensioner enligt tidigare) med en flerlagersmodell av sedimenteringsprocessen. Använd 10 lager med samma höjd och antag att arean för sedimenteringsbassängen är 600 m 2 och totala höjden 4 m. Det inkommande flödet till sedimenteringen, Q f, kommer in till lager 5 räknat uppifrån. (Tips: min finns som färdig funktion i Matlab för att beräkna min-värden) 2) För att kunna testa modellen måste du sätta ett värde på överskottsuttag av slam, Q w. Ett lämpligt värde är 280 m 3 /d, vilket kommer att motsvara en slamålder på ca 7 dygn om modellen fungerar som den skall. Förutsätt konstanta förhållanden i inkommande vatten enligt tabell 1, inlämningsuppgift 2. Testa modellen genom att simulera till steady state och räkna ut exakta slamåldern. Redovisa hur du har gjort dina beräkningar. OBS! X ND skall inte anses utgöra ett tillskott till SS-halten och slamåldersberäkningar görs på SS-halten och inte COD-halten. Du kan kontrollera att du har implementerat en korrekt modell genom att jämföra dina värden med de värden som anges i Tabell 1. Reaktor 1 Reaktor 3 Q u S I 20 20 20 S S 8.6 2.7 2.0 X IP 1553 1558 4501 X S 75.7 24.2 52.3 X BH 1442 1461 4201 X BA 51.1 52.1 150.7 S O 0.0 2.0 0.0 S NO 0.5 6.3 7.3 S NH 9.6 3.1 2.0 S ND 0.7 0.9 0.8 X ND 4.1 1.7 4.2 Tabell 1: Steady state-värden med Q w =280 m 3 /d, SO2 ref = SO3 ref = 2 mg/l (PI reglering), SNH4 ref = 1 mg N/l (kaskadreglering). 3) När slammängden i sedimenteringstanken växer leder detta till ett stigande slamtäcke, d v s gränsskiktet mellan hög och låg koncentration av slam, ofta definierat som det lager där koncentrationen överskrider 3000 mg SS/l. Om 5
detta täcke tillåts stiga för högt kommer naturligtvis slamhalten öka i utgående vatten, vilket inte är önskvärt. För att kompensera för denna tillväxt måste slamöverskottet tas ur systemet. Normalt görs detta i tidsintervall under ordinarie arbetstid, eftersom man ofta vill ha möjlighet att övervaka förtjockningsprocesserna. Implementera en on-off-styrning av överskottsslamuttaget som startar när SS-halten i lager 6 (femte nerifrån) överstiger 3000 mg/l och stoppar när SS-halten i lager 8 understiger 3000 mg/l. En möjlig algoritm är: global qw if X6>3000 qw=2000; elseif X8<3000 qw=0; end; Notera att qw måste definieras som en global variabel. I den m-fil som anropar ode15s måste qw också definieras som global och ges ett initialvärde (qw=0). Man gör en variabel global genom att skriva global variabelnamn innan den används. Hur påverkas slamhalten i bioreaktorerna av den intermittenta pumpningen? Förutsätt konstanta förhållanden i inkommande flöde enligt tabell 1, inlämningsuppgift 2 och styr i övrigt verket enligt (2). Starta simuleringen i det steady state som beräknades i (2) och testa den nya regleringen 10 dagar framåt. 4) För att motverka de stora svängningarna i SS-halten i reaktorerna orsakade av det stötvisa slamöverskottsuttaget kan det vara lämpligt att styra returslampumpningen på ett sätt som kompenserar för detta. Genom att mäta slamhalten (SS) i första reaktorn och sedan beräkna felet mellan verklig och önskad slamhalt kan en enkel proportionell styrning implementeras. Lägg till en regulator som styr slamhalten i reaktor 1 (anox) till 3000 mg SS/l genom att manipulera Q r (lämplig förstärkning är 100 och lämpligt offset värde är 10000 m 3 /d). Tillåt Q r att variera mellan 0 och 30 000 m 3 /d. Uppnås en mer stabil slamhalt? Förutsätt konstanta förhållanden i inkommande flöde enligt tabell 1, inlämningsuppgift 2 och styr i övrigt verket enligt (3). Starta simuleringen i det steady state som beräknades i (2) och testa den nya regleringen 10 dagar framåt. 5) Nitratrecirkulationen (Q intr ) har fram tills nu varit styrd av flödet (qintr=2*qin). Detta är inte alltid bäst. Nitratrecirkulationen har till uppgift att se till att nitrat återförs till den anoxa reaktorn. Om nitrathalten i sista aeroba reaktorn är för hög kan detta kompenseras för genom att öka nitratrecirkulationen om det forfarande finns kapacitet tillgänglig för denitrifikation. Lägg till en styrning av nitratrecirkulationen genom att mäta nitrathalten i sista aeroba reaktorn och beräkna felet mellan verklig och önskad nitrathalt. En enkel proportionell regulator är tillräcklig (lämplig förstärkning är 10000 och lämpligt offset värde är 40000 m 3 /d). Prova med referensvärden på 5 och 10 mg (NO 3 -N)/l. Går det att uppnå 5 respektive 10 mg (NO 3 -N)/l? Förutsätt konstanta förhållanden i inkommande flöde enligt tabell 1, inlämningsuppgift 2 och styr i övrigt verket enligt (4). Tillåt Q intr att variera 6
mellan 0 och 80 000 m 3 /d. Starta simuleringen i det steady state som beräknades i (2) och testa den nya regleringen 10 dagar framåt. 6) Prova att simulera verket med varierande inflöde enligt deluppgift 4, inlämningsuppgift 2 (kör variationen av inkommande S NH och Q in samtidigt) och utnyttja all styrning du har implementerat t o m (5) (använd ett (NO 3 -N)/l referensvärde på 8 mg/l). Starta simuleringen i det steady state som beräknades i (2) och testa den kompletta regleringen under 5 dagar framåt. Hur bra fungerar styrningen och hur påverkas de utgående halterna? Kommentera resultaten i bild och ord. Redovisning Redovisning av uppgiften kan ske antingen genom e-mail eller traditionell inlämning på papper. Om rapporten lämnas via e-mail (som en s k attached file ) så krävs att den är skriven i Word. Rapporten skall innehålla programutskrifter av era m-filer (kommenterad kod!), lämpliga Matlab-grafer samt beskrivande kommentarer och diskussion av resultaten. Eftersom inlämningsuppgifterna ligger till grund för godkännande på kursen är dessa individuella, vilket innebär att alla kursdeltagare skall lämna in en personlig rapport. Sista inlämningsdatum är fredagen den 14 februari 2003. Rapporter via e-mail skickas till: jon.bolmstedt@iea.lth.se Jon Bolmstedt kommer att finnas tillgänglig för frågor angående uppgiften på torsdagar mellan kl. 10.30 och 12.30 på sitt tjänsterum. Om du är i behov av assistans vid andra tidpunkter går det bra att söka upp Jon (men ingen garanti finns att han är tillgänglig just då). Ännu bättre är att skicka eventuella frågor via e-mail så blir dessa besvarade så fort som möjligt. 7