# Uvodni primjer - problem razrjeđivanja

Morski akvarij volumena 150 cm x 50 cm x 60 cm napunjen je do vrha vodom u kojoj je otopljeno 20 kg soli. U akvarij dotječe voda kojoj je koncentracija soli 35 g/L brzinom od 2 litre po minuti. Otopina se miješa i istječe iz akvarija istom brzinom od 2 L/min. Odredite kako se mijenja koncentracija soli u akvariju.

Volumen akvarija u litrama: 15 dm x 5 dm x 6 dm (dm^3 = L).

15*5*6;

Početna koncentracija soli u g/L:

float(20000/450);

Neka je y(t) masa otopljene soli u akvariju u trenutku t (u gramima). Funkcija y zadovoljava diferencijalnu jednadžbu y' = 2*35 - 2*y/450 = 70 - y/225  uz početni uvjet y(0)=20000.

rj1: ode2('diff(y,t)=70-y/225,y,t);

rj2: ic1(rj1,t=0,y=20000);

rj3: expand(rj2);

wxplot2d(rhs(rj3)/450,[t,0,720],[y,0,45]);

# Modeliranje bioreaktora

mu(S):=r*S/(S+b);

## Osnovni model

r: 1.35$
b: 0.004$
alpha: 4.35$
N0: 0.00025$
S0: 0.002$
rj: rk([mu(S)*N,-alpha*mu(S)*N],[N,S],[N0,S0],[t,0,10,0.1])$
rjN: makelist([f[1],f[2]],f,rj)$
rjS: makelist([f[1],f[3]],f,rj)$
wxplot2d([[discrete,rjN],[discrete,rjS]],[legend,"N","S"]);

## Model sa smrtnosti

r: 1.35$
b: 0.004$
alpha: 4.35$
m: 0.15$
N0: 0.00025$
S0: 0.002$
rj: rk([mu(S)*N-m*N,-alpha*mu(S)*N],[N,S],[N0,S0],[t,0,30,0.1])$
rjN: makelist([f[1],f[2]],f,rj)$
rjS: makelist([f[1],f[3]],f,rj)$
wxplot2d([[discrete,rjN],[discrete,rjS]],[legend,"N","S"]);

## Model bioreaktora

r: 1.35$
b: 0.004$
alpha: 4.35$
m: 0.15$
q: 0.1$
Sin: 0.002$
N0: 0.00025$
S0: 0.002$
rj: rk([mu(S)*N-m*N-q*N,-alpha*mu(S)*N+q*Sin-q*S],[N,S],[N0,S0],[t,0,40,0.1])$
rjN: makelist([f[1],f[2]],f,rj)$
rjS: makelist([f[1],f[3]],f,rj)$
wxplot2d([[discrete,rjN],[discrete,rjS]],[legend,"N","S"]);

## Ravnotežne koncentracije

r: 1.35$
b: 0.004$
alpha: 4.35$
m: 0.15$
q: 0.1$
Sin: 0.002$
float(solve([mu(S)*N-m*N-q*N=0,-alpha*mu(S)*N+q*Sin-q*S=0],[N,S]));