Simulation Core
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

219 líneas
7.8 KiB

  1. module SimulationVariables
  2. use Constants
  3. use logging
  4. use json_module
  5. use ManifoldVariables
  6. use CUnityInputs
  7. use CUnityOutputs
  8. use COperationScenariosVariables
  9. use CStringConfigurationVariables
  10. use CFormationVariables
  11. use CReservoirVariables
  12. use CShoeVariables
  13. use CAccumulatorVariables
  14. use CBopStackVariables
  15. use CHoistingVariables
  16. use CPowerVariables
  17. use CPumpsVariables
  18. use CRigSizeVariables
  19. use CCasingLinerChokeVariables
  20. use CPathGenerationVariables
  21. use CWellSurveyDataVariables
  22. use CMudPropertiesVariables
  23. use CBopControlPanelVariables
  24. use CChokeControlPanelVariables
  25. use CChokeManifoldVariables
  26. use CDataDisplayConsoleVariables
  27. use CDrillingConsoleVariables
  28. use CHookVariables
  29. use CStandPipeManifoldVariables
  30. use CTopDrivePanelVariables
  31. use CDrillWatchVariables
  32. use CTanksVariables
  33. use COperationScenariosVariables
  34. use NotificationVariables
  35. use PermissionsVariables
  36. use UnitySignalVariables
  37. use SoftwareInputsVariables
  38. use CBitProblemsVariables
  39. use CBopProblemsVariables
  40. use CChokeProblemsVariables
  41. use CDrillStemProblemsVariables
  42. use CGaugesProblemsVariables
  43. use CHoistingProblemsVariables
  44. use CKickProblemsVariables
  45. use CLostProblemsVariables
  46. use CMudTreatmentProblemsVariables
  47. use COtherProblemsVariables
  48. use CPumpProblemsVariables
  49. use CRotaryProblemsVariables
  50. use CStudentStationVariables
  51. use CWarningsVariables
  52. use BopVariables
  53. use Pumps_VARIABLES
  54. use RTable_VARIABLES
  55. use TopDrive_VARIABLES
  56. use CHOKEVARIABLES
  57. use Drawworks_VARIABLES
  58. USE MudSystemVARIABLES
  59. use Fluid_Flow_Startup_Vars
  60. use PressureDisplayVARIABLESModule
  61. use FricPressDropVarsModule
  62. use sROP_Other_Variables
  63. use sROP_Variables
  64. use GeoElements_FluidModule
  65. use TD_DrillStemComponents
  66. use TD_GeneralData
  67. use TD_StringConnectionData
  68. use TD_WellElements
  69. use TD_WellGeometry
  70. type ConfigurationType
  71. Type(StringConfigurationType)::StringConfiguration
  72. Type(FormationType) :: Formation
  73. Type(ReservoirType)::Reservoir
  74. Type(ShoeType)::Shoe
  75. Type(AccumulatorType)::Accumulator
  76. Type(BopStackSpecificationType)::BopStack
  77. Type(HoistingType)::Hoisting
  78. Type(PowerType)::Power
  79. Type(PumpSpecificationType)::Pumps
  80. Type(RigSizeType)::RigSize
  81. Type(CasingLinerChokeType)::CasingLinerChoke
  82. Type(PathGenerationType)::Path
  83. ! Type(WellSurveyDataType)::WellSurveyData
  84. Type(MudPropertiesType)::Mud
  85. end type ConfigurationType
  86. type EquipmentControlType
  87. ! Control Panels
  88. type(BopControlPanelType) :: BopControlPanel
  89. Type(ChokeControlPanelType)::ChokeControlPanel
  90. Type(ChokeManifoldType)::ChokeManifold
  91. Type(DataDisplayConsoleType) :: DataDisplayConsole
  92. TYPE(DrillingConsoleType) :: DrillingConsole
  93. Type(HookType)::Hook
  94. type(StandPipeManifoldType)::StandPipeManifold
  95. Type(TopDrivePanelType)::TopDrivePanel
  96. Type(DrillingWatchType)::DrillingWatch
  97. Type(TankType)::Tank
  98. type(DownHoleType):: DownHole
  99. type(UnityInputsType)::UnityInputs
  100. type(UnityOutputsType):: UnityOutputs
  101. end type EquipmentControlType
  102. type SimulationStateType
  103. type(ManifoldType)::Manifold
  104. ! Type(HoistingType)::Hoisting !This ds placed twice in data (onece in configuration, once in state)
  105. type(OperationScenarioType)::OperationScenario
  106. type(NotificationType)::notifications
  107. type(PermissionsType):: permissions
  108. type(UnitySignalsType):: unitySignals
  109. type(StudentStationType)::StudentStation
  110. type(SoftwareInputsType):: softwareInputs
  111. !Bop
  112. type(BopStackInputType)::BopStackInput
  113. type(BopStackAccType)::BopStackAcc
  114. type(RamLineType)::RamLine
  115. type(AnnularComputationalType)::AnnularComputational
  116. type(AnnularType)::Annular
  117. type(PipeRams1Type)::PipeRam1
  118. type(ShearRamType)::ShearRam
  119. type(PipeRam2Type)::PipeRam2
  120. type(ChokeLineType)::ChokeLine
  121. type(KillLineType)::KillLine
  122. type(PumpsType)::Pumps
  123. TYPE(BOP_TypeVars), DIMENSION(1:6) :: RAM
  124. TYPE(BOP_TypeVars2D) :: RAMS
  125. !Choke
  126. type(ChokeType)::Choke
  127. type(AirDrivenPumpType)::AirDrivenPump
  128. type(AirPumpLineType)::AirPumpLine
  129. TYPE(CHOKE_TypeVars), DIMENSION(1:2) :: CHOOKE
  130. !
  131. !!Drawworks
  132. TYPE(Drawworks_Var) :: Drawworks
  133. !!
  134. !!!MudSystem
  135. type(MudSystemType)::MudSystem
  136. TYPE(MUD_TypeVars), DIMENSION(1:10) :: MUD
  137. !!Pumps
  138. Type(Pumps_Var) :: MPumps
  139. TYPE(Pump_Var), DIMENSION(1:3) :: PUMP
  140. !
  141. TYPE(RTable_Var) :: RTable
  142. TYPE(TDS_Var) :: TDS
  143. !
  144. !! FluidFlow
  145. TYPE(GasData) :: GasType(3) ! 1 = methane , 2 = Hydrogen sulfide , 3 = Carbon dioxid
  146. TYPE(PressureDisplayVARIABLESTYPE) :: PressureDisplay
  147. ! TYPE(ObservationAndGaugePointsInformations) , ALLOCATABLE :: ObservationPoint(:)
  148. TYPE(FricPressDropVarsTYPE) :: FricPressDrop
  149. !
  150. !Rop
  151. TYPE(ROPSpecificationInfo) :: ROP_Spec
  152. TYPE(ROPInfo) :: ROP_Bit
  153. !TD
  154. TYPE(Geo_Data) :: TDGeo
  155. TYPE(F_StringData) , Allocatable :: F_String(:)
  156. TYPE(F_IntervalsCountsData):: F_Counts
  157. TYPE(F_IntervalData) , Allocatable :: F_Interval(:)
  158. TYPE(OD_AnnulusData) :: OD_Annulus(4)
  159. TYPE(TD_DrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStem
  160. TYPE(TD_SeparatedDrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStems
  161. TYPE(TD_StringInfo) :: TD_String
  162. TYPE(TD_AddRemoveInfo) :: TD_Count
  163. TYPE(CStringComponents), ALLOCATABLE, DIMENSION(:) :: G_StringElement
  164. TYPE(TD_RemovedVolumeInfo) :: TD_Vol
  165. TYPE(TD_GeneralInfo) :: TD_General
  166. TYPE(TD_BOPInfo) :: TD_BOP
  167. TYPE(CBopElement) :: TD_BOPElement(4)
  168. TYPE(TD_StringconnectionInfo) :: TD_StConn
  169. TYPE(TD_LoadInfo) :: TD_Load
  170. TYPE(TD_WellElementsInfo) :: TD_WellEl
  171. TYPE(TD_CasingInfo), ALLOCATABLE, DIMENSION(:) :: TD_Casing
  172. TYPE(TD_LinerInfo), ALLOCATABLE, DIMENSION(:) :: TD_Liner
  173. TYPE(TD_OpenHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_OpenHole
  174. TYPE(TD_ROPHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_ROPHole
  175. TYPE(TD_WellGeneralInfo) :: TD_WellGeneral
  176. TYPE(TD_WellGeometryData), Allocatable :: TD_WellGeo(:)
  177. end type SimulationStateType
  178. type ProblemsType
  179. type(BitProblemsType)::BitProblems
  180. type(BopProblemsType)::BopProblems
  181. type(ChokeProblemsType)::ChokeProblems
  182. type(DrillStemProblemsType)::DrillStemProblems
  183. type(GaugesProblemsType)::GaugesProblems
  184. type(HoistingProblemsType):: HoistingProblems
  185. type(KickProblemsType)::KickProblems
  186. type(LostProblemsType)::LostProblems
  187. type(MudTreatmentProblemsType)::MudTreatmentProblems
  188. type(OtherProblemsType)::OtherProblems
  189. type(PumpProblemsType)::PumpProblems
  190. type(RotaryProblemsType)::RotaryProblems
  191. end type ProblemsType
  192. type SimulationDataType
  193. type(WarmingsType)::Warnings
  194. type(SimulationStateType)::State
  195. type(EquipmentControlType)::Equipments
  196. type(ConfigurationType)::Configuration
  197. type(ProblemsType)::problems
  198. end type SimulationDataType
  199. type(SimulationDataType)::data
  200. logical::print_log = .true.
  201. contains
  202. end module SimulationVariables