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.
 
 
 
 
 
 

221 lines
7.5 KiB

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