Simulation Core
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

214 rader
7.6 KiB

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