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.
 
 
 
 
 
 

50 lines
2.2 KiB

  1. subroutine TD_WellGeoConfiguration
  2. Use TD_DrillStemComponents
  3. use SimulationVariables
  4. Use sROP_Variables
  5. use CDataDisplayConsole
  6. use SimulationVariables
  7. use CWarnings
  8. implicit none
  9. !====================================================
  10. ! Well Geometry Data Modification
  11. !====================================================
  12. !=====> ROP Calculation
  13. if ( data%State%TD_DrillStems(1)%ComponentType==0 .and. data%Warnings%MaximumWellDepthExceeded==.false. ) then
  14. Call ROP_MainCalculation
  15. else
  16. data%State%ROP_Bit%RateOfPenetration = 0.d0
  17. Call Set_ROP(data%State%ROP_Bit%RateOfPenetration)
  18. end if
  19. !=====> ROPHole Data correction
  20. data%State%TD_WellEl%ROP = (data%State%ROP_Bit%RateOfPenetration/3600.d0) ! [ft/s]
  21. 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))
  22. 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
  23. 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
  24. !=====> Well Total Length Calculation
  25. data%State%TD_WellGeneral%WellTotalLength = data%State%TD_WellGeo(data%State%TD_WellGeneral%WellIntervalsCount)%DownDepth
  26. 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))
  27. Call Set_TotalDepth(real(data%State%TD_WellGeneral%WellTotalLength,8))
  28. end subroutine