Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

String_Property_Calculator.f90 1.3 KiB

1 year ago
12345678910111213141516171819202122232425262728293031
  1. SUBROUTINE StringPropertyCalculator (md, den, pre, tem)
  2. !!! 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.
  3. USE PressureDisplayVARIABLES
  4. USE Fluid_Flow_Startup_Vars
  5. !USE MudSystemVARIABLES
  6. USE FricPressDropVars
  7. !USE CDataDisplayConsoleVariables , StandPipePressureDataDisplay=>StandPipePressure
  8. !USE CDataDisplayConsoleVariables , CasingPressureDataDisplay=>CasingPressure!, StandPipePressureDataDisplay=>StandPipePressure
  9. USE CDrillWatchVariables
  10. IMPLICIT NONE
  11. INTEGER, intent(in) :: md ! input
  12. REAL(8) :: TVD
  13. real(8), intent(inout) :: den ! output
  14. real(8), intent(inout) :: pre ! output
  15. real(8), intent(inout) :: tem ! output
  16. INTEGER :: ilocal
  17. CALL TVD_Calculator(md * 1.d0 , TVD)
  18. DO ilocal = StringFirstEl , StringLastEl
  19. IF (md < INT(FinalFlowEl(ilocal)%EndX)) EXIT
  20. END DO
  21. den = FinalFlowEl(ilocal)%Density
  22. pre = FinalFlowEl(ilocal)%StartPress - (md - FinalFlowEl(ilocal)%StartX) * FinalFlowEl(ilocal)%dPdLfric &
  23. + (TVD - FinalFlowEl(ilocal)%StartTVD) * FinalFlowEl(ilocal)%dPdLGrav
  24. tem = 500
  25. END SUBROUTINE