|
- SUBROUTINE AnnulusPropertyCalculator (md, den, pre, tem)
-
- !!! This subroutine gets location of a guage or an observation point and determines information of that point such as pressure, density, velocity and temperature later.
- use PressureDisplayVARIABLESModule
- USE Fluid_Flow_Startup_Vars
- USE MudSystemVARIABLES
- use SimulationVariables !@@@
- USE FricPressDropVarsModule
- ! use ConfigurationVariables !@
- use SimulationVariables
-
- IMPLICIT NONE
- INTEGER, intent(in) :: md ! input
- REAL(8) :: TVD
- real(8), intent(inout) :: den ! output
- real(8), intent(inout) :: pre ! output
- real(8), intent(inout) :: tem ! output
-
-
- INTEGER :: ilocal
-
- CALL TVD_Calculator(md * 1.d0 , TVD)
-
- IF (md <= INT(FinalFlowEl(data%State%FricPressDrop%AnnulusFirstEl)%StartX)) THEN !! mouse pointer is in the annulus space
- DO ilocal = data%State%FricPressDrop%AnnulusFirstEl , data%State%FricPressDrop%AnnulusLastEl
- IF (INT(FinalFlowEl(ilocal)%EndX) <= md) EXIT
- END DO
-
- ELSE IF (md > INT(FinalFlowEl(data%State%FricPressDrop%NumbEl)%EndX)) THEN ! mouse pointer is in the open hole space
- DO ilocal = data%State%FricPressDrop%OpenholeFirstEl , data%State%FricPressDrop%NumbEl
- IF (INT(FinalFlowEl(ilocal)%EndX) <= md) EXIT
- END DO
-
- ELSE
- WRITE (*,*) ' Error in calculating annulus observation point '
- END IF
- pre = FinalFlowEl(ilocal)%StartPress - (FinalFlowEl(ilocal)%StartX - md) * FinalFlowEl(ilocal)%dPdLfric &
- - (FinalFlowEl(ilocal)%StartTVD - TVD) * FinalFlowEl(ilocal)%dPdLGrav
- !write(*,*) ' md, ilocal', md, ilocal
- !WRITE (*,*) ' FlowEl dPdLfric , dPdLGrav', FlowEl(ilocal)%dPdLfric , FlowEl(ilocal)%dPdLGrav
-
- den = FinalFlowEl(ilocal)%Density
-
- !tem = 500
-
-
- END SUBROUTINE
|