Remove unneeded coordinate variables in binaries problem.
This commit is contained in:
parent
0943c31af0
commit
09b6955cd4
@ -731,8 +731,8 @@ module problem
|
|||||||
integer :: i, j, k
|
integer :: i, j, k
|
||||||
real :: dx, dy, dz, dr
|
real :: dx, dy, dz, dr
|
||||||
real :: dnamb, pramb
|
real :: dnamb, pramb
|
||||||
real :: dnstar, prstar, x1l, y1l, z1l, r1
|
real :: dnstar, prstar, rc
|
||||||
real :: dnsat , prsat , x2l, y2l, z2l, r2
|
real :: dnsat , prsat , rs, xs, ys, zs
|
||||||
|
|
||||||
! local arrays
|
! local arrays
|
||||||
!
|
!
|
||||||
@ -769,34 +769,31 @@ module problem
|
|||||||
dz = (pblock%meta%zmax - pblock%meta%zmin) / kn
|
dz = (pblock%meta%zmax - pblock%meta%zmin) / kn
|
||||||
dr = sqrt(dx * dx + dy * dy + dz * dz)
|
dr = sqrt(dx * dx + dy * dy + dz * dz)
|
||||||
#else /* NDIMS == 3 */
|
#else /* NDIMS == 3 */
|
||||||
dz = 1.0
|
dz = 1.0d0
|
||||||
dr = sqrt(dx * dx + dy * dy)
|
dr = sqrt(dx * dx + dy * dy)
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
! generate coordinates
|
! generate coordinates
|
||||||
!
|
!
|
||||||
x(:) = ((/(i, i = 1, im)/) - ng - 0.5) * dx + pblock%meta%xmin
|
x(:) = ((/(i, i = 1, im)/) - ng - 0.5d0) * dx + pblock%meta%xmin
|
||||||
y(:) = ((/(j, j = 1, jm)/) - ng - 0.5) * dy + pblock%meta%ymin
|
y(:) = ((/(j, j = 1, jm)/) - ng - 0.5d0) * dy + pblock%meta%ymin
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
z(:) = ((/(k, k = 1, km)/) - ng - 0.5) * dz + pblock%meta%zmin
|
z(:) = ((/(k, k = 1, km)/) - ng - 0.5d0) * dz + pblock%meta%zmin
|
||||||
#else /* NDIMS == 3 */
|
#else /* NDIMS == 3 */
|
||||||
z(1) = 0.0
|
z(1) = 0.0d0
|
||||||
|
|
||||||
z1l = 0.0
|
zs = 0.0d0
|
||||||
z2l = 0.0
|
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
! set initial pressure
|
! set initial pressure
|
||||||
!
|
!
|
||||||
do k = 1, km
|
do k = 1, km
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
z1l = z(k)
|
zs = z(k)
|
||||||
z2l = z(k)
|
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
do j = 1, jm
|
do j = 1, jm
|
||||||
y1l = y(j)
|
ys = y(j)
|
||||||
y2l = y(j)
|
|
||||||
|
|
||||||
! reset primitive variables
|
! reset primitive variables
|
||||||
!
|
!
|
||||||
@ -818,23 +815,22 @@ module problem
|
|||||||
|
|
||||||
do i = 1, im
|
do i = 1, im
|
||||||
|
|
||||||
x1l = x(i)
|
xs = x(i) - dsat
|
||||||
x2l = x(i) + dsat
|
|
||||||
|
|
||||||
! calculate radia for both stars
|
! calculate radia for both stars
|
||||||
!
|
!
|
||||||
r1 = sqrt(x1l**2 + y1l**2 + z1l**2)
|
rc = sqrt(x(i)**2 + y(j)**2 + z(k)**2)
|
||||||
r2 = sqrt(x2l**2 + y2l**2 + z2l**2)
|
rs = sqrt(xs * xs + ys * ys + zs * zs)
|
||||||
|
|
||||||
! variables within the first start
|
! variables within the first start
|
||||||
!
|
!
|
||||||
if (r1 .le. max(rstar, dr)) then
|
if (rc .le. max(rstar, dr)) then
|
||||||
|
|
||||||
q(idn,i) = dnstar
|
q(idn,i) = dnstar
|
||||||
q(ivx,i) = vstar * x1l
|
q(ivx,i) = vstar * x(i)
|
||||||
q(ivy,i) = vstar * y1l
|
q(ivy,i) = vstar * y(j)
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
q(ivz,i) = vstar * z1l
|
q(ivz,i) = vstar * z(k)
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
#ifdef ADI
|
#ifdef ADI
|
||||||
q(ipr,i) = prstar
|
q(ipr,i) = prstar
|
||||||
@ -843,13 +839,13 @@ module problem
|
|||||||
|
|
||||||
! variables within the second start
|
! variables within the second start
|
||||||
!
|
!
|
||||||
if (r2 .le. max(rsat, dr)) then
|
if (rs .le. max(rsat, dr)) then
|
||||||
|
|
||||||
q(idn,i) = dnsat
|
q(idn,i) = dnsat
|
||||||
q(ivx,i) = vsat * x2l
|
q(ivx,i) = vsat * xs
|
||||||
q(ivy,i) = vsat * y2l
|
q(ivy,i) = vsat * ys
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
q(ivz,i) = vsat * z2l
|
q(ivz,i) = vsat * zs
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
#ifdef ADI
|
#ifdef ADI
|
||||||
q(ipr,i) = prsat
|
q(ipr,i) = prsat
|
||||||
@ -1415,8 +1411,8 @@ module problem
|
|||||||
real :: dx, dy, dz, dr, ang = 0.0d0, sn = 0.0d0, cs = 1.0d0, xsh, ysh
|
real :: dx, dy, dz, dr, ang = 0.0d0, sn = 0.0d0, cs = 1.0d0, xsh, ysh
|
||||||
real :: dist, rad, amp, asat, bsat, xsat
|
real :: dist, rad, amp, asat, bsat, xsat
|
||||||
real :: dnamb, pramb
|
real :: dnamb, pramb
|
||||||
real :: dnstar, prstar, dnvstar, x1l, y1l, z1l, r1
|
real :: dnstar, prstar, dnvstar, rc
|
||||||
real :: dnsat , prsat , dnvsat , x2l, y2l, z2l, r2
|
real :: dnsat , prsat , dnvsat , rs, xs, ys, zs
|
||||||
#ifdef ADI
|
#ifdef ADI
|
||||||
real :: ekin, ekstar, eksat
|
real :: ekin, ekstar, eksat
|
||||||
#ifdef MHD
|
#ifdef MHD
|
||||||
@ -1440,21 +1436,20 @@ module problem
|
|||||||
dz = (pdata%meta%zmax - pdata%meta%zmin) / kn
|
dz = (pdata%meta%zmax - pdata%meta%zmin) / kn
|
||||||
dr = sqrt(dx * dx + dy * dy + dz * dz)
|
dr = sqrt(dx * dx + dy * dy + dz * dz)
|
||||||
#else /* NDIMS == 3 */
|
#else /* NDIMS == 3 */
|
||||||
dz = 1.0
|
dz = 1.0d0
|
||||||
dr = sqrt(dx * dx + dy * dy)
|
dr = sqrt(dx * dx + dy * dy)
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
! generate coordinates
|
! generate coordinates
|
||||||
!
|
!
|
||||||
x(:) = ((/(i, i = 1, im)/) - ng - 0.5) * dx + pdata%meta%xmin
|
x(:) = ((/(i, i = 1, im)/) - ng - 0.5d0) * dx + pdata%meta%xmin
|
||||||
y(:) = ((/(j, j = 1, jm)/) - ng - 0.5) * dy + pdata%meta%ymin
|
y(:) = ((/(j, j = 1, jm)/) - ng - 0.5d0) * dy + pdata%meta%ymin
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
z(:) = ((/(k, k = 1, km)/) - ng - 0.5) * dz + pdata%meta%zmin
|
z(:) = ((/(k, k = 1, km)/) - ng - 0.5d0) * dz + pdata%meta%zmin
|
||||||
#else /* NDIMS == 3 */
|
#else /* NDIMS == 3 */
|
||||||
z(1) = 0.0
|
z(1) = 0.0d0
|
||||||
|
|
||||||
z1l = 0.0
|
zs = 0.0d0
|
||||||
z2l = 0.0
|
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
! calculate parameters
|
! calculate parameters
|
||||||
@ -1495,33 +1490,30 @@ module problem
|
|||||||
!
|
!
|
||||||
do k = 1, km
|
do k = 1, km
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
z1l = z(k)
|
zs = z(k)
|
||||||
z2l = z(k)
|
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
do j = 1, jm
|
do j = 1, jm
|
||||||
y1l = y(j)
|
ys = y(j) - ysh
|
||||||
y2l = y(j) + ysh
|
|
||||||
|
|
||||||
do i = 1, im
|
do i = 1, im
|
||||||
x1l = x(i)
|
xs = x(i) - xsh
|
||||||
x2l = x(i) + xsh
|
|
||||||
|
|
||||||
r1 = sqrt(x1l**2 + y1l**2 + z1l**2)
|
rc = sqrt(x(i)**2 + y(j)**2 + z(k)**2)
|
||||||
r2 = sqrt(x2l**2 + y2l**2 + z2l**2)
|
rs = sqrt(xs * xs + ys * ys + zs * zs)
|
||||||
|
|
||||||
! variables within the first start
|
! variables within the first start
|
||||||
!
|
!
|
||||||
if (r1 .le. max(rstar, dr)) then
|
if (rc .le. max(rstar, dr)) then
|
||||||
|
|
||||||
pdata%u(idn,i,j,k) = dnstar
|
pdata%u(idn,i,j,k) = dnstar
|
||||||
pdata%u(imx,i,j,k) = dnvstar * x1l
|
pdata%u(imx,i,j,k) = dnvstar * x(i)
|
||||||
pdata%u(imy,i,j,k) = dnvstar * y1l
|
pdata%u(imy,i,j,k) = dnvstar * y(j)
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
pdata%u(imz,i,j,k) = 0.0d0
|
pdata%u(imz,i,j,k) = 0.0d0
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
pdata%u(imz,i,j,k) = dnvstar * z1l
|
pdata%u(imz,i,j,k) = dnvstar * z(k)
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
#ifdef MHD
|
#ifdef MHD
|
||||||
pdata%u(ibx,i,j,k) = 0.0d0
|
pdata%u(ibx,i,j,k) = 0.0d0
|
||||||
@ -1539,16 +1531,16 @@ module problem
|
|||||||
|
|
||||||
! variables within the second start
|
! variables within the second start
|
||||||
!
|
!
|
||||||
if (r2 .le. max(rsat, dr)) then
|
if (rs .le. max(rsat, dr)) then
|
||||||
|
|
||||||
pdata%u(idn,i,j,k) = dnsat
|
pdata%u(idn,i,j,k) = dnsat
|
||||||
pdata%u(imx,i,j,k) = dnvsat * x2l
|
pdata%u(imx,i,j,k) = dnvsat * xs
|
||||||
pdata%u(imy,i,j,k) = dnvsat * y2l
|
pdata%u(imy,i,j,k) = dnvsat * ys
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
pdata%u(imz,i,j,k) = 0.0d0
|
pdata%u(imz,i,j,k) = 0.0d0
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
pdata%u(imz,i,j,k) = dnvsat * z2l
|
pdata%u(imz,i,j,k) = dnvsat * zs
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
#ifdef MHD
|
#ifdef MHD
|
||||||
pdata%u(ibx,i,j,k) = 0.0d0
|
pdata%u(ibx,i,j,k) = 0.0d0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user