- #1
suyver
- 248
- 0
I've got a horrible system of 8 coupled differential equations:
[tex] \frac{\partial}{\partial t} N_0=-R_{0,2}N_0Y_1+\sum_{j=1}^5W_{j,0}N_j-C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_1=-R_{1,3}N_1Y_1-W_{1,0}N_1+W_{2,1}N_2+W_{4,1}N_4+C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_2=-R_{2,4}N_2Y_1+R_{0,2}N_0Y_1-W_{2,1}N_2-W_{2,0}N_2+W_{3,2}N_3+C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_3=-R_{3,5}N_3Y_1+R_{1,3}N_1Y_1-W_{3,2}N_3-W_{3,0}N_3+W_{4,3}N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_4=+R_{2,4}N_2Y_1-W_{4,3}N_4-W_{4,0}N_4+W_{5,4}N_5-C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_5=+R_{3,5}N_3Y_1-W_{5,4}N_5-W_{5,0}N_5+[/tex]
[tex] \frac{\partial}{\partial t} Y_0=\sum_{j=0}^3R_{j,j+2}N_jY_1+W^{\rm Yb}_{1,0}Y_1[/tex]
[tex] \frac{\partial}{\partial t} Y_1=-\sum_{j=0}^3R_{j,j+2}N_jY_1-W^{\rm Yb}_{1,0}Y_1[/tex]
(easy to copy-paste from the LaTeX-manuscript that I am writing )
Given my boundry conditions (at t=0 all N_i are zero, as is Y_0; Y_1 is some number), I know that I can forget an analytical solution. So, I need a numerical solution for t>0. The only approach that I can think of, is a finite-timestep approach. Using that:
[tex]\frac{\partial f(x)}{\partial x} \equiv \lim_{\Delta x \rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}[/tex]
So: I make sure that my timestep [itex]\Delta x[/itex] is small compared to the (expected) fluctuations in the solutions. In that case, I can re-write the equations in an iterative form (note that I used [itex]\Delta x=1[/itex]):
[tex] f(n+1) = {\rm some\; function\; of}\; f(n)[/tex]
which I can do for all of my functions. Now, starting with the boundry values (for time [itex]n=0[/itex]) I can generate the solutions for [itex]n>0[/itex] with a computer. Computationally intensive, but that should not be a major problem...
However, are there better / faster ways to do this? Since I'd need to do it quite a number of times, a significant time-saver would be appreciated...
Physical background: I am modelling energy-transfer processes in rare-earth doped insulators. The N_i are populations of specific energy levels in the rare Earth ion and the Y_i are populations of a sensitizer ion. Very cool stuff (I have lots of experimental data that I try to put into a "simple" model; see above ).
[tex] \frac{\partial}{\partial t} N_0=-R_{0,2}N_0Y_1+\sum_{j=1}^5W_{j,0}N_j-C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_1=-R_{1,3}N_1Y_1-W_{1,0}N_1+W_{2,1}N_2+W_{4,1}N_4+C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_2=-R_{2,4}N_2Y_1+R_{0,2}N_0Y_1-W_{2,1}N_2-W_{2,0}N_2+W_{3,2}N_3+C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_3=-R_{3,5}N_3Y_1+R_{1,3}N_1Y_1-W_{3,2}N_3-W_{3,0}N_3+W_{4,3}N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_4=+R_{2,4}N_2Y_1-W_{4,3}N_4-W_{4,0}N_4+W_{5,4}N_5-C_{0,1}^{4,2}N_0N_4 [/tex]
[tex] \frac{\partial}{\partial t} N_5=+R_{3,5}N_3Y_1-W_{5,4}N_5-W_{5,0}N_5+[/tex]
[tex] \frac{\partial}{\partial t} Y_0=\sum_{j=0}^3R_{j,j+2}N_jY_1+W^{\rm Yb}_{1,0}Y_1[/tex]
[tex] \frac{\partial}{\partial t} Y_1=-\sum_{j=0}^3R_{j,j+2}N_jY_1-W^{\rm Yb}_{1,0}Y_1[/tex]
(easy to copy-paste from the LaTeX-manuscript that I am writing )
Given my boundry conditions (at t=0 all N_i are zero, as is Y_0; Y_1 is some number), I know that I can forget an analytical solution. So, I need a numerical solution for t>0. The only approach that I can think of, is a finite-timestep approach. Using that:
[tex]\frac{\partial f(x)}{\partial x} \equiv \lim_{\Delta x \rightarrow 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}[/tex]
So: I make sure that my timestep [itex]\Delta x[/itex] is small compared to the (expected) fluctuations in the solutions. In that case, I can re-write the equations in an iterative form (note that I used [itex]\Delta x=1[/itex]):
[tex] f(n+1) = {\rm some\; function\; of}\; f(n)[/tex]
which I can do for all of my functions. Now, starting with the boundry values (for time [itex]n=0[/itex]) I can generate the solutions for [itex]n>0[/itex] with a computer. Computationally intensive, but that should not be a major problem...
However, are there better / faster ways to do this? Since I'd need to do it quite a number of times, a significant time-saver would be appreciated...
Physical background: I am modelling energy-transfer processes in rare-earth doped insulators. The N_i are populations of specific energy levels in the rare Earth ion and the Y_i are populations of a sensitizer ion. Very cool stuff (I have lots of experimental data that I try to put into a "simple" model; see above ).