Initialization

yr = 3600*24*365.25;
pc = 3.086 10^18;
k:=1.38 10^-16;
mH:=1.67 10^-24;
Tste:={51200,48700,47400,46100,44800,43600,42300,41000,39700,38400,37200,35900,34600, 33300, 32000}
logQ:={49.87,49.70,49.61,49.53,49.43,49.34,49.23,49.12,49.00,48.87,48.72,48.56,48.38, 48.18, 47.90}
Qint:=Interpolation[Transpose[N@{Tste,(10^logQ)}]]
αBcoeff[T_]:=2.59 10^-13 * (T/ 10^4)^(-.7)
csform[T_]:=Sqrt[k*T/(mH)]
rs[Q0_,nH_,αB_]:=(3 Q0/(4π (nH)^2 (αB)))^(1/3)
trec[nH_,αB_]:=1/(αB  *nH)
rpos[t_, Q0_,nH_,αB_]:=rs[Q0,nH,αB]*(1-Exp[-αB * nH* t])^(1/3)
ts[csb_,Q0b_,nHb_,αBb_]:=rs[Q0b,nHb,αBb]/csb
rd[csa_,Q0a_,nHa_,αBa_,ta_]:=rs[Q0a,nHa,αBa]*Power[(7/Sqrt[12]*ta/ts[csa,Q0a,nHa,αBa]),(4/7)]

R-type Expansion

Manipulate[Graphics[{
{Thick,Dashed,Circle[{0,0},1/pc*rs[Qint[Teff],nH,αBcoeff[Te]]]},
{Red,Disk[{0,0},1/pc*rpos[t*yr,Qint[Teff],nH,αBcoeff[Te]]]}},Frame->True,FrameLabel->{"x [pc]","y [pc]"},LabelStyle->Bold],{{Teff,32000,"Stellar eff. temperature [K]"},32000,51000},{{Te,10000,"Electron temperature [K]"},5000,50000},{{nH,1,"Neutral density  [(cm^(-3))]"},1,100},{{t,.01*trec[nH,αBcoeff[Te]]/yr, "Time [yr]"},.01*trec[nH,αBcoeff[Te]]/yr,10*trec[nH,αBcoeff[Te]]/yr,AppearanceElements->All},
Dynamic[
LogLinearPlot[rpos[tt*yr,Qint[Teff],nH,αBcoeff[Te]]/pc,{tt,.01*trec[nH,αBcoeff[Te]]/yr,10*trec[nH,αBcoeff[Te]]/yr},AxesLabel->{"t [yr]","R [pc]"},LabelStyle->Bold,ImageSize->300,AspectRatio->.5,Epilog->{
Point[{Log@t,rpos[t*yr,Qint[Teff],nH,αBcoeff[Te]]/pc}],
{Dashed, Line[{
{Log@(trec[nH,αBcoeff[Te]]/yr),rs[Qint[Teff],nH,αBcoeff[Te]]/pc},{Log@(trec[nH,αBcoeff[Te]]/yr),rs[Qint[Teff],nH,αBcoeff[Te]]/pc*.1}
}]},
{Text[" (Subscript[t, rec])",{Log[1.3*trec[nH,αBcoeff[Te]]/yr],rs[Qint[Teff],nH,αBcoeff[Te]]/pc *.75}]
}}]]
,
ControlPlacement->Left]

D-type Expansion

Manipulate[Graphics[{
{Red,Disk[{0,0},1/pc*rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],t*yr]]},{Thick,Dashed,Circle[{0,0},1/pc*rs[Qint[Teff],nH,αBcoeff[Te]]],Text[
StringForm["Initial (Subscript[R, s]) = `` pc",rs[Qint[Teff],nH,αBcoeff[Te]]/pc],{0,0}]}},Frame->True,FrameLabel->{"x [pc]","y [pc]"},
LabelStyle->Bold],
{{Teff,32000,"Stellar eff. temperature [K]"},32000,51000},
{{Te,10000,"Electron temperature [K]"},5000,50000},
{{nH,1,"Neutral density  [(cm^(-3))]"},1,100},{{t,Sqrt[12]/7*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr,"Time [yr]"},(trec[nH,αBcoeff[Te]]/yr*.9),(5/yr*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]),AppearanceElements->All},
Dynamic[
LogLinearPlot[1/pc*rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],tt*yr],{tt,trec[nH,αBcoeff[Te]]/yr*.9,5/yr*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]},
AxesLabel->{"t [yr]","R [pc]"},LabelStyle->Bold,ImageSize->350,AspectRatio->.5,
Epilog->{Point[{Log@t,rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],t*yr]/pc}],
{Dashed, Line[{
{Log@(ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr),rs[Qint[Teff],nH,αBcoeff[Te]]/pc*.01},{Log@(ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr),rs[Qint[Teff],nH,αBcoeff[Te]]/pc*2}}
]},
{Text[" (Subscript[t, s])",{Log[ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr*.9],rs[Qint[Teff],nH,αBcoeff[Te]]/pc *1.75}]}
,
{Dashed, Line[{
{Log@(trec[nH,αBcoeff[Te]]/yr),rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],trec[nH,αBcoeff[Te]]]/pc*1.3},{Log@(trec[nH,αBcoeff[Te]]/yr),rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],trec[nH,αBcoeff[Te]]]/pc*.1}
}]},
{Dashed, Line[{
{Log@(Sqrt[12]/7*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr),rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],Sqrt[12]/7*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]]/pc},{Log@(Sqrt[12]/7*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]/yr),rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],Sqrt[12]/7*ts[csform[Te], Qint[Teff], nH, αBcoeff[Te]]]/pc*.1}}
]},
{Text[" (Subscript[t, rec])",{Log[1.2*trec[nH,αBcoeff[Te]]/yr],1.8*rd[csform[Te], Qint[Teff],nH,αBcoeff[Te],trec[nH,αBcoeff[Te]]]/pc}]
}
}]]
,ControlPlacement->Left ]