A Identifying and solving a pair of ODE's

  • A
  • Thread starter Thread starter Milsomonk
  • Start date Start date
  • Tags Tags
    Pair
Milsomonk
Messages
100
Reaction score
17
TL;DR Summary
Classifying ODE's and identifying solving techniques.
Good afternoon folks,
I have a pair of ODE's which I would like to solve. Firstly i'd want to correctly identify the problem and then find the best method for finding a solution.

\begin{align}
\frac{dP_{(z,t)}}{dz} &= An_{(z,t)}P_{(z,t)}-BP_{(z,t)} \\
\frac{dn_{(z,t)}}{dt} &= Cn_{(z,t)}P_{(z,t)}-DP_{(z,t)}-En_{(z,t)}
\end{align}

Where $$A,B,C,D,E$$ are constants.

I think I have correctly identified these as Non-Homogeneous, Non-linear ODE's. I'm not sure if they are coupled as their derivatives are wrt to different variables? as such I am not sure the best method to find a solution, is there a suitable solver in Python or Matlab?

Any ideas or guidance would be appreciated, I'm certainly not looking for a solution, just a hint or a nudge in the right direction. Many thanks in advance.
 
Physics news on Phys.org
Since n and P are functions of z and t, these are PDEs, not ODEs. So I think you should write:
\begin{align}
\frac{\partial P_{(z,t)}}{\partial z} &= An_{(z,t)}P_{(z,t)}-BP_{(z,t)} \\
\frac{\partial n_{(z,t)}}{\partial t} &= Cn_{(z,t)}P_{(z,t)}-DP_{(z,t)}-En_{(z,t)}
\end{align}
A couple of questions:
(1) Are you looking for an analytic solution or a numeric solution?
(2) What do you know about the boundary or initial conditions?
 
  • Like
Likes berkeman
Thanks for your reply!

It was my quite possibly erroneous understanding that for an equation to be a PDE it had to contain a partial derivative wrt to each variable (z,t), is this not the case?

I am looking for an analytic solution ideally.

In terms of boundary conditions, z will run from 0 to some finite length L. t on the other hand I am not certain about. I don't know if this will help but these are essentially rate equation for a laser system, with P being pump power (from a CW laser) and n being upper state population.

In fact, we do know at z=0 Dp/dt =0.

Thanks again for your help.
 
Last edited:
Milsomonk said:
It was my quite possibly erroneous understanding that for an equation to be a PDE it had to contain a partial derivative wrt to each variable (z,t), is this not the case?
Since P and n are functions of z and t, and you are only differentiating with respect to one variable, these are partial derivatives, are they not?

I am looking for an analytic solution ideally.
In terms of boundary conditions, z will run from 0 to some finite length L. t on the other hand I am not certain about. I don't know if this will help but these are essentially rate equation for a laser system, with P being pump power (from a CW laser) and n being upper state population.

In fact, we do know at z=0 Dp/dt =0.

Thanks again for your help.

You will need more boundary conditions than this. If it's a pumped syatem, do you start pumping at t = 0? So is n(z,0) = 0? What about the pumping power P? Isn't it an input to the equations? Is the pumping power constant, or does it ramp up with time? Can you say P(0,t) = P0 or something like this?
 
  • Like
Likes berkeman
Ok, I see my mistake, so I believe I have a pair of coupled non-linear PDE's.

Pumping will be constant and so P(0,t)=P_0, the only thing that will vary P will be absorption via the varying of n. n(z,0)=0 at the onset of pumping. Whilst there may be a ramp up time in pumping, I think I will neglect this and assume the laser is given time to reach a steady state.
 
I don't know how to solve these analytically, but I think it's fairly straightforward to solve them numerically. At t=0, you know n everywhere, and you know P at z=0. You use the top equation to solve for P(z), so then you know n and P everywhere. Then you use the bottom equation to solve for \partial n(z,0)/ \partial t. Then you take a small time step forward to find n(z, δt). Then you again use the top equation to find P(z, δt), and use the bottom equation to find \partial n(z,\delta t)/ \partial t. You just keep iterating in this way until you are done.
 
Many thanks for your help! it all makes a lot more sense now.
 

Similar threads

Back
Top