Nondimensional diffusion equation to a dimensional one

AI Thread Summary
The discussion revolves around the challenges of solving the 3D diffusion equation for light in turbid media using nondimensional units. The user has set the speed of light, c, to 1 for simplification but is concerned about potential numerical issues due to the vast difference in magnitudes between c and the diffusion coefficient, D. They question whether to maintain c=1 or convert to dimensional units, noting that using c=1 fixes a ratio of space to time that complicates variable relationships. The implementation of the finite difference scheme using a forward Euler method raises concerns about stability and accuracy given the significant disparity in term magnitudes. Ultimately, the user seeks guidance on how to appropriately relate spatial and time dimensions in their numerical model.
Telemachus
Messages
820
Reaction score
30
Well, I was solving the 3D diffusion equation:

##\displaystyle \frac{1}{c}\frac{\partial \phi(\mathbf{r},t)}{\partial t}-D\nabla^2 \phi(\mathbf{r},t)=q(\mathbf{r},t)##.

I wrote a program to do this. The problem concerns the diffusion of light. However, all this time I've been working with nondimensional units. I have set c=1, and solved everything that way, for different values of D.

In real problems, c is the speed of light, which is a huge number (##299 792 458 m / s##), and D is given in centimeters, typical values are around 0.3 cm to 0.01cm. The thing is that D is usually a small number, and c is huge. Should I expect to have some numerical problems when I solve this numerically? whatever I do with the dimensional units, there is no way I can avoid this huge difference of magnitudes, I think I should write everything in centimeters, which is the usual laboratory dimension concerning this type of experiments, or would it be better just to set c=1?

If I choose c=1, that fixes a ratio of space/time, so I'm not sure what should I do with the other variables, basically I'm saying that ##299 792 458 m / s=1##.

I am solving this using a forward Euler scheme in time.
 
Technology news on Phys.org
Why is the speed of light in the equation??
 
  • Like
Likes Telemachus
Because it models the diffusion of light in turbid media.
 
Yes, I have neglected the absorption term, and it can be actually written in that way (which differs a bit on how it is written at wikipedia). But in the paper I am looking at, it looks the way I have written it (there might be some definitions involved in the middle). The unknown function in the equation I have written is the photon density, and wikipeadia talks about fluence rate.

So, recapitulating. The thing is that I have the speed of light, which is let's say: ##c=2.998\times 10^{10}cm/s##, so I will have some terms in the finite difference scheme which will be tenths orders of magnitude greater than some other terms (because c won't be multiplying every term), and what I want to know is if in my Fortran implementation of the finite difference scheme, using forward Euler in time, should I expect to have some numerical issues due to this.

My finite difference implementation looks like this:

##\phi(\mathbf{r},t^{n+1})=\phi(\mathbf{r},t^{n})+c\Delta t D\nabla^2 \phi(\mathbf{r},t^n)+c\Delta t q(\mathbf{r},t^n)##.

And suppose D=1.
 
Last edited:
See about diffusion equation numerical stability conditions.
 
If I set ##c=1##, then I am saying that ##3\times 10^{10}cm/s=1##, how can I relate this to the spatial and time dimensions? for example, if my physical dimension is 0.01cm, how much would it be in my units with ##c=1##? should I specify something else like my unit of time in order to determine this? for example, if I say, well ##1s=1##, then I clearly get a relation for my spatial unit: ##3\times 10^{10}cm=1##.
 
Back
Top