Commit 561a0319 authored by Francesco's avatar Francesco

update3 GRMHDb

parent 12fb511b
Pipeline #171194 passed with stage
! HERE every input variables refere to the "nDim" total space dimensions:
! at the moment, the externally defined TECPLOT routines are referred to 3D space dimensions.
RECURSIVE SUBROUTINE ElementCallTECPLOTPLOTTER(wh,lx0,ldx,limiter)
USE, INTRINSIC :: ISO_C_BINDING
USE TECPLOTPLOTTERmod !, only : ElementTECPLOTPLOTTER,nDOFm
......@@ -6,8 +10,11 @@ RECURSIVE SUBROUTINE ElementCallTECPLOTPLOTTER(wh,lx0,ldx,limiter)
REAL, INTENT(IN) :: wh(nVar,nDOFm),lx0(nDim),ldx(nDim)
real :: lx0_3(3),ldx_3(3)
integer :: limiter
lx0_3(1:nDim)=lx0
ldx_3(1:nDim)=ldx
lx0_3 = 0.
ldx_3 = 0.
lx0_3(1:nDim)=lx0(1:nDim)
ldx_3(1:nDim)=ldx(1:nDim)
CALL ElementTECPLOTPLOTTER(wh,lx0_3,ldx_3,limiter)
END SUBROUTINE ElementCallTECPLOTPLOTTER
......@@ -19,8 +26,11 @@ RECURSIVE SUBROUTINE ElementCallTECPLOTADERDGPLOTTER(wh,lx0,ldx,limiter)
REAL, INTENT(IN) :: wh(nVar,nDOFm),lx0(nDim),ldx(nDim)
real :: lx0_3(3),ldx_3(3)
integer :: limiter
lx0_3(1:nDim)=lx0
ldx_3(1:nDim)=ldx
lx0_3 = 0.
ldx_3 = 0.
lx0_3(1:nDim)=lx0(1:nDim)
ldx_3(1:nDim)=ldx(1:nDim)
CALL ElementTECPLOTPLOTTER_ADERDG(wh,lx0_3,ldx_3,limiter)
END SUBROUTINE ElementCallTECPLOTADERDGPLOTTER
......@@ -32,8 +42,10 @@ RECURSIVE SUBROUTINE ElementCallTECPLOTFVPLOTTER(wh,lx0,ldx,limiter)
REAL, INTENT(IN) :: wh(nVar,(nSubLim+2*nSubLim_GL)**nDIM),lx0(nDim),ldx(nDim)
real :: lx0_3(3),ldx_3(3)
integer :: limiter,i,j,k,Stencil
lx0_3(1:nDim)=lx0
ldx_3(1:nDim)=ldx
lx0_3 = 0.
ldx_3 = 0.
lx0_3(1:nDim)=lx0(1:nDim)
ldx_3(1:nDim)=ldx(1:nDim)
!!PRINT *, lx0_3
!!PRINT *, ldx_3
!PRINT *, "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
......
......@@ -69,6 +69,9 @@ RECURSIVE SUBROUTINE METRIC ( xc, lapse, gp, gm, shift, Kex, g_cov, g_contr, phi
REAL :: lx, ly, lz, HH, SS, detg, rho, r_hz, sig, theta, a, M
REAL :: st, st2, delta, rho2, sigma, zz, V0Z4(54),V070(70)
REAL :: transl(3), xGP(3),Mbh_loc,rbar
#if defined(RNSTOV)
REAL :: qloc(NSTOV_nODE)
#endif
REAL, DIMENSION(3) :: xGP_loc,xGP_sph
!
Kex = 0.0
......@@ -375,14 +378,14 @@ RECURSIVE SUBROUTINE METRIC ( xc, lapse, gp, gm, shift, Kex, g_cov, g_contr, phi
r=XGP_sph(1)
!
#ifdef SPHERICAL ! then we are in the original coordinate system
CALL NSTOV_x(r,NSTOVVar%qloc)
CALL NSTOV_x(r,qloc)
#elif CYLINDRICAL
PRINT *, 'CYLINDRICAL COORDINATES NOT TESTED FOR RNSTOV'
#else
CALL NSTOV_rbar(r,NSTOVVar%qloc)
CALL NSTOV_rbar(r,qloc)
#endif
!
lapse = EXP(NSTOVVar%qloc(2))
lapse = EXP(qloc(2))
shift(1:3) = 0.
!gammaij(1:6) = 0.
!gammaij(1) = 1.0
......@@ -390,16 +393,16 @@ RECURSIVE SUBROUTINE METRIC ( xc, lapse, gp, gm, shift, Kex, g_cov, g_contr, phi
!gammaij(6) = 1.0
g_cov = 0.
#ifdef SPHERICAL
g_cov(1,1) = 1.0/(1.0-2.0*NSTOVVar%qloc(1)/r)
g_cov(1,1) = 1.0/(1.0-2.0*qloc(1)/r)
g_cov(2,2) = r**2
g_cov(3,3) = SIN(xGP_sph(2))**2*r**2
!
#else
!rbar = r !*NSTOVVar%C*exp(NSTOVVar%q(4,n))
!rbar = 0.5*r/NSTOVVar%radius*(SQRT(NSTOVVar%radius**2-2*NSTOVVar%q(1,NSTOVVar%iradius)*NSTOVVar%radius)+NSTOVVar%radius-NSTOVVar%q(1,NSTOVVar%iradius))*EXP(NSTOVVar%qloc(4)-NSTOVVar%q(4,NSTOVVar%iradius))
g_cov(1,1) = 1.0/(NSTOVVar%C**2*exp(2.0*NSTOVVar%qloc(4))) ! rbar**2/(r+1e-14)**2
g_cov(2,2) = 1.0/(NSTOVVar%C**2*exp(2.0*NSTOVVar%qloc(4))) ! rbar**2/(r+1e-14)**2
g_cov(3,3) = 1.0/(NSTOVVar%C**2*exp(2.0*NSTOVVar%qloc(4))) ! rbar**2/(r+1e-14)**2
!rbar = 0.5*r/NSTOVVar%radius*(SQRT(NSTOVVar%radius**2-2*NSTOVVar%q(1,NSTOVVar%iradius)*NSTOVVar%radius)+NSTOVVar%radius-NSTOVVar%q(1,NSTOVVar%iradius))*EXP(qloc(4)-NSTOVVar%q(4,NSTOVVar%iradius))
g_cov(1,1) = 1.0/(NSTOVVar%C**2*exp(2.0*qloc(4))) ! rbar**2/(r+1e-14)**2
g_cov(2,2) = 1.0/(NSTOVVar%C**2*exp(2.0*qloc(4))) ! rbar**2/(r+1e-14)**2
g_cov(3,3) = 1.0/(NSTOVVar%C**2*exp(2.0*qloc(4))) ! rbar**2/(r+1e-14)**2
!
#endif
g_contr=0.
......@@ -501,9 +504,6 @@ RECURSIVE SUBROUTINE MatrixInverse3x3(M,iM,det)
iM(3,3) =M(1,1)*M(2,2)-M(1,2)*M(2,1)
IF(det*det.LT.1e-20) THEN
print *, 'FATAL ERROR: det = 0'
DO i=1,3
print *, 'M(:,i)',M(:,i)
ENDDO
STOP
ENDIF
!
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment