umangbedi

5 Reputation

One Badge

7 years, 82 days

MaplePrimes Activity


These are replies submitted by umangbedi

@Preben Alsholm thanks for your valuable reply

@Preben Alsholm yes pdsolve cannot solve it because I have extra two boundary condition which are Dirichlet 

@Preben Alsholm I think the problem in writing the Dirichlet boundary condition 

bc3 := Tg(0, t) = 900; bc4 := C(0, t) = 1

(k = 0, dCdrf(h)) = rhs(bc4), dTgdrf(h) = rhs(bc3) 

bcEqs := [subs(k = 0, dCdrf(h)) = rhs(bc4), dTgdrf(h) = rhs(bc3), dTsdrf(h) = rhs(bc2), subs(k = N-1, dTsdrb(h)) = rhs(bc1), dTgdrb(h) = rhs(bc5), dCdrb(h) = rhs(bc6)]

@Preben Alsholm ok sir thanks 

@Carl Love PDE1 := A2*(diff(C(x, t), t)) = -(diff(C(x, t), x))-A1*exp(-E/(R*Ts(x, t)))*(-0.2432e-1+1.07449*C(x, t)-0.21778e-1*C(x, t)^2-0.4266e-1*C(x, t)^3+0.1796e-1*C(x, t)^4)

A1 := 1.43727*10^9; A2 := 0.555556e-1; E := 80400; R := 8.314;
PDE2 := B2*(diff(Tg(x, t), t)) = -(diff(Tg(x, t), x))-B1*(Tg(x, t)-Ts(x, t));
B1 := 2.61029; B2 := 0.555556e-1;
                        B2 := 0.0555556
PDE3 := C1*(diff(Ts(x, t), t)) = diff(Ts(x, t), x, x)+C3*exp(-E/(R*Ts(x, t)))*(-0.2432e-1+1.07449*C(x, t)-0.21778e-1*C(x, t)^2-0.4266e-1*C(x, t)^3+0.1796e-1*C(x, t)^4)+C2*(Tg(x, t)-Ts(x, t));
C1 := 159881; C2 := 2322.61; C3 := 1.0439*10^15

xmin := 0;
xmax := 1;
tmax := 30

N := 6;
IC1 := C(x, 0) = 1;
IC2 := Tg(x, 0) = 900

IC3 := Ts(0, t) = 298

bc2 := (D[1](Ts))(0, t) = 0; bc1 := (D[1](Ts))(1, t) = 0

bc5 := (D[1](Tg))(1, t) = 0; bc6 := (D[1](C))(1, t) = 0

bc3 := Tg(0, t) = 900; bc4 := C(0, t) = 1

dCdr := proc (h) (1/2)*(C[k+1](t)-C[k-1](t))/h end proc

d2Tsdr2 := proc (h) (Ts[k+1](t)-2*Ts[k](t)+Ts[k-1](t))/h^2 end proc; d2Tsdr2(h)

dCdrb := proc (h) (C[k](t)-C[k-1](t))/h end proc; dCdrb(h)

dTgdrb := proc (h) (Tg[k](t)-Tg[k-1](t))/h end proc; dTgdrb(h)

dTsdrb := proc (h) (Ts[k](t)-Ts[k-1](t))/h end proc; dTsdrb(h)

dTgdr := proc (h) (1/2)*(Tg[k+1](t)-Tg[k-1](t))/h end proc

dTsdr := proc (h) (1/2)*(Ts[k+1](t)-Ts[k-1](t))/h end proc

dCdrf := proc (h) (C[k+1](t)-C[k](t))/h end proc; dCdrf(h)

dTgdrf := proc (h) (Tg[k+1](t)-Tg[k](t))/h end proc; dTgdrf(h)

dTsdrf := proc (h) (Ts[k+1](t)-Ts[k](t))/h end proc; dTgdrf(h)

h := xmax/(N-1)

stencil := subs(diff(Ts(x, t), x, x) = d2Tsdr2(h), diff(Tg(x, t), x) = dTgdr(h), diff(C(x, t), x) = dCdr(h), C(x, t) = C[k](t), Tg(x, t) = Tg[k](t), Ts(x, t) = Ts[k](t), x = k*h, {PDE1, PDE2, PDE3})

bcEqs := [subs(k = 0, dCdrf(h)) = rhs(bc4), dTgdrf(h) = rhs(bc3), dTsdrf(h) = rhs(bc2), subs(k = N-1, dTsdrb(h)) = rhs(bc1), dTgdrb(h) = rhs(bc5), dCdrb(h) = rhs(bc6)];
 bcEqs := [5 C[2](t) - 5 C[0](t) = 1, 

   5 Tg[2](t) - 5 Tg[1](t) = 900, 5 Ts[2](t) - 5 Ts[1](t) = 0, 

   5 Ts[5](t) - 5 Ts[0](t) = 0, 5 Tg[1](t) - 5 Tg[0](t) = 0, 

   5 C[1](t) - 5 C[0](t) = 0]
eqs := Vector(N-2); cnt := 0; for k to N-2 do cnt := cnt+1; eqs(cnt) := stencil end do; eqs;
eqs := [op(convert(eqs, list)), op(bcEqs)]; vars := [seq({C[k](t), Tg[k](t), Ts[k](t)}, k = 0 .. N-1)]; map(print, eqs)

ICs := []; for k from 0 to N-1 do ICs := [op(ICs), C[k](0) = rhs(IC1), Tg[k](0) = rhs(IC2), Ts[0](t) = rhs(IC3)] end do; ICs

sol := dsolve([op(eqs), op(ICs)], numeric, range = 0 .. tmax, abserr = 10^(-3), relerr = 10^(-3), stiff = true, maxfun = 0);
Error, (in dsolve/numeric/process_input) system must be entered as a set/list of expressions/equations
 

@Carl Love sry sir I will update the equations 

@Carl Love  ok sir

 

 

Page 1 of 1