ClearAll["`*"];Remove["`*"];
In[]:=
c0=1/2;a=-2;d=1;sat=1;k1=2;
Numerically can be solved
if I add additional conditon for example: cb[t, 2] == 0
if I add additional conditon for example: cb[t, 2] == 0
In[]:=
sol1=NDSolve[{D[cb[t,x],{x,2}]==D[cb[t,x],t]/d,cb[t,a]==c0,cb[0,x]==c0,cb[t,2]==0},cb,{t,0,10},{x,-2,2},Method{"PDEDiscretization"{"MethodOfLines","SpatialDiscretization""FiniteElement"}}];
In[]:=
Plot3D[cb[t,x]/.sol1,{t,0,10},{x,0,1}]
Out[]=
In[]:=
sol2=NDSolve[{D[s[t],t]==k1*(cb[t,0]/.sol1[[1]])*(s[t]-sat),s[0]==0},s[t],{t,0,10}];
In[]:=
Plot[s[t]/.sol2,{t,0,10}]
Out[]=
(*---------------------------------------------------------------------------------------*)
In[]:=
ClearAll["`*"];Remove["`*"];
Analytically:
In[]:=
sol=DSolve[{D[cb[t,x],{x,2}]==D[cb[t,x],t]/d,cb[t,a]==c0,cb[0,x]==c0},cb[t,x],{t,x}]
Out[]=
cb[t,x]
|
In[]:=
sol3=(cb[t,x]/.sol)[[1,1]][[1,1]]//Expand
Out[]=
Integrate-c0-,{K[1],0,∞},AssumptionsTrue
--
2
(-a+x-K[1])
4dt
2
(-a+x+K[1])
4dt
2
(-a+x-K[1])
4dt
2
(-a+x+K[1])
4dt
2
d
π
t
a,{K[2],0,t},AssumptionsTrue
dt
Integratec0
-
2
(-a+x)
4dt-4dK[2]
3/2
(t-K[2])
2d
π
t
dt
xIntegratec0
-
2
(-a+x)
4dt-4dK[2]
3/2
(t-K[2])
2d
π
t
%//Activate(*Can'tComputesecondandthirdintegral!!!*)
Out[]=
Workaround:
In[]:=
Integrate,{K[2],0,t}==InverseMellinTransformIntegrateMellinTransform,A,s//PowerExpand,{K[2],0,t},Assumptions->t>0//PowerExpand//ExpandAll,s,A/.A->-a+x
c0
-
2
A
4dt-4dK[2]
3/2
(t-K[2])
c0
-
2
A
4dt-4dK[2]
3/2
(t-K[2])
Out[]=
t
∫
0
c0
-
2
(-a+x)
4dt-4dK[2]
3/2
(t-K[2])
2c0
d
π
-1+Erf-a+x
2
d
t
-a+x
In[]:=
-c0Erf-+//FullSimplify
a-x
2
d
t
a
dt
*-2c0
d
π
-1+Erf-a+x
2
d
t
-a+x
2d
π
t
dt
x*-2c0
d
π
-1+Erf-a+x
2
d
t
-a+x
2d
π
t
Out[]=
c0-1+Erfc+
a-x
2
d
t
d
t
Erfc-a+x
2
d
t
dt
HoldFormcb[t,x]==c0-1+Erfc+//TraditionalForm(*SolutionforPDE*)
a-x
2
d
t
d
t
Erfc-a+x
2
d
t
dt
Out[]//TraditionalForm=
cb(t,x)c0-1+erfc+
a-x
2
d
t
d
t
erfc-a+x
2
d
t
dt
We can check solution ,BC and IC:
In[]:=
FullSimplify{D[cb[t,x],{x,2}]==D[cb[t,x],t]/d,cb[t,a]==c0,cb[0,x]==c0}/.cbFunction{t,x},c0-1+Erfc+,Assumptions->{d>0,t>0,-a+x>0}
a-x
2
d
t
d
t
Erfc-a+x
2
d
t
dt
1
0
1
0
1
0
d
ComplexInfinityErfc[ComplexInfinity] encountered.Out[]=
{True,True,Indeterminatec0}
Third condition: cb[0, x] == c0 we can check using limit :
In[]:=
Limitc0-1+Erfc+,t->0,Assumptions->{d>0,t>0,-a+x>0,c0∈Reals}(*OK*)
a-x
2
d
t
d
t
Erfc-a+x
2
d
t
dt
Out[]=
c0
Then solve for: s[t] :
In[]:=
sol4=DSolveD[s[t],t]==k1*c0-1+Erfc+/.x->0*(s[t]-sat),s[0]==0,s[t],t
a-x
2
d
t
d
t
Erfc-a+x
2
d
t
dt
Out[]=
s[t]-c0
c0k1-t-++Erfc-+tErfc
a-2
2
a
dt
t
4
2
a
-
2
a
4dt
dt
3/2
2
a
dt
π
1-Erf1
2
2
a
dt
4
d
π
at-2
2
a
dt
4
2
a
-
2
a
4dt
dt
3/2
2
a
dt
π
1-Erf1
2
2
a
dt
4
π
dt
d
3/2
t
a
2
d
t
dt
a
2
d
t
t
∫
0
1
dK[1]
-c0k1--K[1]+ErfcK[1]++
a-2+
π
1-Erf1
2
2
a
dK[1]
4
2
a
-
2
a
4dK[1]
dK[1]
3/2
2
a
dK[1]
2
a
dK[1]
K[1]
4
d
π
a
2
d
K[1]
a-2+K[1]
π
1-Erf1
2
2
a
dK[1]
4
2
a
-
2
a
4dK[1]
dK[1]
3/2
2
a
dK[1]
2
a
dK[1]
4
π
dK[1]
d
Erfc-a
2
d
K[1]
3/2
K[1]
dK[1]
d
k1satErfc-a
2
d
K[1]
K[1]
+c0k1satdK[1]
-c0k1satErfca
2
d
K[1]
dK[1]
K[1]sol4//FullSimplify//Expand(*Idoubtthere'saclosedformfortheintegral!!!*)
Out[]=
s[t]K[1]
c0k1t-2+-+2dt-
d
t
2dπ
t+a-
2
a
4dt
2
a
4dt
π
2
a
dt
d
t
+dt
-π
2
a
d
t
+dt
Erfa
2
d
t
2
π
3/2
(dt)
t
∫
0
c0k1sat-
c0k12a-
-
2
a
4dK[1]
d
K[1]
-a2
a
4dK[1]
π
Erfc1
2
2
a
dK[1]
2
a
dK[1]
d
K[1]
-dK[1]
-2adK[1]
+d
2
a
4dK[1]
π
K[1]
dK[1]
+Erfa
2
d
K[1]
d
K[1]
+dK[1]
2d
π
d
Erfc-a
2
d
K[1]
K[1]
+Erfa
2
d
K[1]
dK[1]
dK[1]
