Simulation Core
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

220 linhas
7.7 KiB

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