Projektuppgift A till NUM131 May 12, 2003 Introduktion Målet med denna projektuppgift är att skapa en FORTRAN rutin som analyserar en kemisk process. Den kemiska processen kan beskrivas mha följande schema − − → A+B → k1 AB k2 C + B, där k1 och k2 är hastigheten med vilken de båda reaktionerna sker. Detta är en typisk katalytisk reaktion (reaktanten A och katalysatorn B bildar ett komplex AB som sönderfaller i produkten C och återbildar B). Koncentrationsförändringen i processen kan nu skrivas som d [A] = −k1 [A][B] dt d [B] = −k1 [A][B] + k2 [AB] dt d [C] = k2 [AB] dt d [AB] = k1 [A][B] − k2 [AB] dt (1) där t är tiden och [X] anger koncentrationen av ämnet X. Introducera vektorn u = ([A], [B], [C], [AB]) och funktionen F : R4 → R4 som definieras av högerleden i ekvation (1). Vi kan nu skriva ekvation (1) som d u(t) = F (u(t)). dt 1 Uppgift 1 Skriv en subrutin i FORTRAN som 1. Löser ekvationen d u(t) = F (u(t)); u(0) = u0 , dt där u0 är en given vektor med de initiala koncentrationerna i systemet. Ekvationen ska kunna lösas med följande metoder: • Explicit Euler: u(nh) = u((n − 1)h) + hF {u((n − 1)h)} • Implicit Euler: uP (nh) = u((n − 1)h) + hF {u((n − 1)h)} u(nh) = u((n − 1)h) + hF {u(nh)P } 2. Skriver lösningsvektorerna u(t), med t = 0 till T , i en fil. Uppgift 2 Testa ert program med k1 = 1, k2 = 2 och u0 = (1, 2, 0, 0). Undersök empiriskt hur litet h som behövs för att resultaten ska se realistiska ut. Presentera era resultat mha MATLAB. Uppgift 3 Undersök om den kemiska processen har ett jämviktsläge dvs finns det en vektor u? sådant att F (u? ) = 0. Lycka till! 2