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.
 
 
 
 
 
 

52 lines
2.2 KiB

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