Simulation Core
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

96 строки
3.4 KiB

  1. subroutine TD_MudPropertiesReadData (i)
  2. Use TD_DrillStemComponents
  3. Use TD_WellElements
  4. Use TD_WellGeometry
  5. Use TD_GeneralData
  6. Use FricPressDropVars
  7. Use MudSystemVARIABLES
  8. implicit none
  9. Integer :: i , j , TDmd
  10. real(8) :: TDden, TDpre, TDtem
  11. !====================================================
  12. ! Set Mud Properties Data
  13. !====================================================
  14. IF ( ALLOCATED(FlowEl) ) THEN
  15. if ( i==2 ) then
  16. TDmd = int(TD_DrillStems(i)%DownDepthIni-1.d0)
  17. else
  18. TDmd = int(TD_DrillStems(i)%DownDepthIni)
  19. end if
  20. Call StringPropertyCalculator (TDmd , TDden, TDpre, TDtem)
  21. TD_DrillStems(i)%MudDensityIn = TDden*7.48051948d0 ! [ppg]*7.48051948=[lb/ft3]
  22. Call AnnulusPropertyCalculator (TDmd , TDden, TDpre, TDtem)
  23. TD_DrillStems(i)%MudDensityOut = TDden*7.48051948d0 ! [ppg]*7.48051948=[lb/ft3]
  24. TD_DrillStems(i)%MudWeight = TDden ! [ppg] ???????????????
  25. ELSE
  26. TD_DrillStems(i)%MudDensityIn = TD_DrillStems(i)%MudDensityIn
  27. TD_DrillStems(i)%MudDensityOut = TD_DrillStems(i)%MudDensityOut
  28. TD_DrillStems(i)%MudWeight = TD_DrillStems(i)%MudWeight
  29. END IF
  30. !TD_DrillStems(i)%Drag =
  31. !IF (ALLOCATED(TD_FluidMudDensity) .and. ALLOCATED(TD_FluidMudStartX) .and. TD_NoStringMudElements/=0) THEN
  32. ! Do j = TD_NoHorizontalMudElements+1,TD_NoHorizontalMudElements+TD_NoStringMudElements
  33. ! if ( TD_DrillStems(i)%DownDepthIni<=TD_FluidMudStartX(j) ) then
  34. ! exit
  35. ! end if
  36. ! TD_DrillStems(i)%MudDensityIn = TD_FluidMudDensity(j)*7.48051948d0 !10.*7.48051948 ! [ppg]*7.48051948=[lb/ft3]
  37. ! !print*, 'TD_DrillStems(i)%MudDensityIn=' ,TD_DrillStems(i)%MudDensityIn , i
  38. ! !print*, 'FlowEl(j)%density=' ,FlowEl(j)%density , i
  39. ! End Do
  40. !ELSE
  41. ! TD_DrillStems(i)%MudDensityIn = TD_DrillStems(i)%MudDensityIn ! [ppg]*7.48051948=[lb/ft3]
  42. !! !print*, '=================' , i
  43. !END IF
  44. !
  45. !
  46. !
  47. !
  48. !
  49. !
  50. !
  51. !IF (ALLOCATED(TD_FluidMudDensity) .and. ALLOCATED(TD_FluidMudEndX) .and. TD_NoCasingMudElements/=0) THEN
  52. ! Do j = (TD_NoHorizontalMudElements+TD_NoStringMudElements+TD_NoCasingMudElements),(TD_NoHorizontalMudElements+TD_NoStringMudElements+1),-1
  53. ! if ( TD_DrillStems(i)%DownDepthIni<=TD_FluidMudEndX(j) ) then
  54. ! exit
  55. ! end if
  56. ! TD_DrillStems(i)%MudDensityOut = TD_FluidMudDensity(j)*7.48051948d0 !10.*7.48051948 ! [ppg]*7.48051948=[lb/ft3]
  57. ! TD_DrillStems(i)%MudWeight = TD_FluidMudDensity(j) !10.0 ! [ppg] ???????????????
  58. ! End Do
  59. !ELSE
  60. ! TD_DrillStems(i)%MudDensityOut = TD_DrillStems(i)%MudDensityOut ! [ppg]*7.48051948=[lb/ft3]
  61. ! TD_DrillStems(i)%MudWeight = TD_DrillStems(i)%MudWeight ! [ppg] ???????????????
  62. !END IF
  63. TD_DrillStems(i)%MudPlasticVis = 5.d0+(5.d0*(TD_DrillStems(i)%MudWeight-8.3d0)) ! [cP]
  64. !TD_DrillStems(i)%MudPlasticVis= TD_DrillStems(i)%MudPlasticVis * 6.71968d-4 ! [cP]*6.71968d-4=[lb/(ft.s)]
  65. TD_DrillStems(i)%MudViscosity = 0.2d0 !TD_DrillStems(i)%MudPlasticVis
  66. TD_DrillStems(i)%MudYieldPoint = 10.d0+(TD_DrillStems(i)%MudWeight-8.3d0)
  67. end subroutine