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.
 
 
 
 
 
 

219 lines
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. Type(Pumps_Var) :: MPumps
  102. end type EquipmentControlType
  103. type SimulationStateType
  104. type(ManifoldType)::Manifold
  105. ! Type(HoistingType)::Hoisting !This ds placed twice in data (onece in configuration, once in state)
  106. type(OperationScenarioType)::OperationScenario
  107. type(NotificationType)::notifications
  108. type(PermissionsType):: permissions
  109. type(UnitySignalsType):: unitySignals
  110. type(StudentStationType)::StudentStation
  111. type(SoftwareInputsType):: softwareInputs
  112. !Bop
  113. type(BopStackInputType)::BopStackInput
  114. type(BopStackAccType)::BopStackAcc
  115. type(RamLineType)::RamLine
  116. type(AnnularComputationalType)::AnnularComputational
  117. type(AnnularType)::Annular
  118. type(PipeRams1Type)::PipeRam1
  119. type(ShearRamType)::ShearRam
  120. type(PipeRam2Type)::PipeRam2
  121. type(ChokeLineType)::ChokeLine
  122. type(KillLineType)::KillLine
  123. type(PumpsType)::Pumps
  124. TYPE(BOP_TypeVars), DIMENSION(1:6) :: RAM
  125. TYPE(BOP_TypeVars2D) :: RAMS
  126. !Choke
  127. type(ChokeType)::Choke
  128. type(AirDrivenPumpType)::AirDrivenPump
  129. type(AirPumpLineType)::AirPumpLine
  130. TYPE(CHOKE_TypeVars), DIMENSION(1:2) :: CHOOKE
  131. !
  132. !!Drawworks
  133. TYPE(Drawworks_Var) :: Drawworks
  134. !!
  135. !!!MudSystem
  136. type(MudSystemType)::MudSystem
  137. TYPE(MUD_TypeVars), DIMENSION(1:10) :: MUD
  138. !!Pumps
  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