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.

TD_WellGeoConfiguration.f90 2.2 KiB

1 year ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. subroutine TD_WellGeoConfiguration
  2. Use TD_DrillStemComponents
  3. use SimulationVariables !@
  4. use SimulationVariables !@
  5. use SimulationVariables !@
  6. Use sROP_Variables
  7. use CDataDisplayConsole
  8. use SimulationVariables
  9. use CWarnings
  10. implicit none
  11. !====================================================
  12. ! Well Geometry Data Modification
  13. !====================================================
  14. !=====> ROP Calculation
  15. if ( data%State%TD_DrillStems(1)%ComponentType==0 .and. data%Warnings%MaximumWellDepthExceeded==.false. ) then
  16. Call ROP_MainCalculation
  17. else
  18. data%State%ROP_Bit%RateOfPenetration = 0.d0
  19. Call Set_ROP(data%State%ROP_Bit%RateOfPenetration)
  20. end if
  21. !=====> ROPHole Data correction
  22. data%State%TD_WellEl%ROP = (data%State%ROP_Bit%RateOfPenetration/3600.d0) ! [ft/s]
  23. data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%VerticalDepth = data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%VerticalDepth++((data%State%TD_WellEl%ROP*data%State%TD_General%TimeStep)*cos(data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%StartAngle))
  24. data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%IntervalLength = data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%IntervalLength+(data%State%TD_WellEl%ROP*data%State%TD_General%TimeStep) !????????check
  25. data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%DownDepth = data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%TopDepth+data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%IntervalLength
  26. !=====> Well Total Length Calculation
  27. data%State%TD_WellGeneral%WellTotalLength = data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%DownDepth
  28. data%State%TD_WellGeneral%WellTotalVerticalLength = data%State%TD_WellGeneral%WellTotalVerticalLength+((data%State%TD_WellEl%ROP*data%State%TD_General%TimeStep)*cos(data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%StartAngle))
  29. Call Set_TotalDepth(real(data%State%TD_WellGeneral%WellTotalLength,8))
  30. end subroutine