How to work around this equation giving infinities in the numerical calculation?

In summary, the heat conduction equation for a semi-infinite slab with a boundary condition of the first kind poses a problem as delta, a very small number, causes the exponential term to tend towards infinity. Programming it in Fortran can handle values up to a magnitude of 310, but beyond that, the code returns infinities. Applying a log transformation on the integrand can solve the issue of delta squared, but leads to negative infinity due to the complimentary error functions at the boundary of z = 0. Suggestions to resolve this issue include expanding the Taylor series of delta and using a transformation such as u=\tan^{-1}x or redefining the variables to absorb delta. Another option is to scale the variables to make
  • #1
FQVBSina
39
8
TL;DR Summary
Heat conduction solution using Green's function has exponential and erfc terms. At boundaries, exponential gives infinity and other boundaries, erfc gives 0, making log transform difficult.
The heat conduction equation for a semi-infinite slab with a boundary condition of the first kind is as follows:

1652468206637.png


The problem is delta is a very small number, so the first exponential will tend to infinity. I am programming this in Fortran and it can accommodate values up to magnitude of 310, but beyond that, the code simply returns infinities. If the program does not simply return infinity, the exponential and erfc terms balance each other and generates a reasonable value.

If I apply the log transformation on the integrand, that will solve the problem of the delta squared. But the complimentary error functions at the boundary of z = 0 will give erfc(2/delta*sqrt(...)) = 0, which under log will return negative infinity.

Does anyone have a suggestion as to how I can resolve this issue? Thanks!
 
  • Like
Likes Delta2
Physics news on Phys.org
  • #2
I don't know about this specific application, but the natural thing to do would be to expand things as Taylor series of delta, watch the infinities cancel out, and then keep whatever constant term is left over.

Assuming that's what's actually happening here.
 
  • #3
Try a transformation [itex]u=\tan^{-1}x[/itex]. That should map everything onto a finite region.
 
  • #4
Can you try redefining the variables ##t, t', z## to absorb the ##\delta##? It looks like once you do that the upper limit on your integral will get large, but it should take all dependence on ##\delta## out of the integrand.
 
  • #5
Can you scale your variables so that [itex]\delta \approx 1[/itex]? That would be the usual way of handling this.
 

Similar threads

  • Differential Equations
Replies
5
Views
2K
  • Differential Equations
Replies
2
Views
1K
  • Differential Equations
Replies
1
Views
1K
Replies
2
Views
1K
Replies
5
Views
1K
  • Calculus and Beyond Homework Help
Replies
1
Views
649
  • Programming and Computer Science
Replies
4
Views
467
  • Differential Equations
Replies
6
Views
1K
  • Advanced Physics Homework Help
Replies
7
Views
4K
  • Introductory Physics Homework Help
Replies
20
Views
1K
Back
Top