Simulation Core
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

TD_WellGeoConfiguration.f90 2.2 KiB

vor 1 Jahr
vor 1 Jahr
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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