[FLASH-BUGS] avisco bug for cylindrical coords
Andrew MacFadyen
andrew at tapir.caltech.edu
Wed Aug 27 03:51:45 CDT 2003
In cylindrical coordinates with a reflecting boundary for the radial
coordinate and xmin = 0.0, x(i-1) = -x(i) for i = 5 so x(5)**2 = x(4)**2
and there is a division by zero for i = 5 in the computation of avis(i).
avis(5) is set to zero anyway in hydro_1d for reflecting b.c. but the
following change avoids the divide by zero.
--- ../../source/hydro/explicit/split/ppm/avisco.F90 2003-06-10
12:31:23.000000000 -0700
+++ avisco.F90 2003-08-26 18:09:09.000000000 -0700
@@ -58,8 +58,12 @@
if (igeomx == 1) then
do i = 5, nzn4+1
- avis(i) = (x(i) * u(i) - x(i-1) * u(i-1)) * 2.0 / &
- (x(i)**2 - x(i-1)**2)
+ IF (x(i)**2 == x(i-1)**2) THEN
+ avis(i) = 0.0
+ ELSE
+ avis(i) = (x(i) * u(i) - x(i-1) * u(i-1)) * 2.0 / &
+ (x(i)**2 - x(i-1)**2)
+ ENDIF
avis(i) = - cvisc * avis(i) * (x(i) - x(i-1))
enddo
end if
--
Andrew MacFadyen
http://www.its.caltech.edu/~aim
Theoretical Astrophysics, Caltech
andrew at tapir.caltech.edu
MC 130-33, Pasadena, CA 91125 (626): 796-5675(fax); 395-8413(w);
396-8247(h)
More information about the flash-bugs
mailing list