Commit 561a0319 authored by Francesco's avatar Francesco
Browse files

update3 GRMHDb

parent 12fb511b
Loading
Loading
Loading
Loading
Loading
+18 −6
Original line number Diff line number Diff line
! 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"
+11 −11
Original line number Diff line number Diff line
@@ -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
    !