Simulation Core
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

SimulationVariables.f90 7.5 KiB

1 год назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  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. end type EquipmentControlType
  95. type SimulationStateType
  96. ! Type(HoistingType)::Hoisting !This ds placed twice in data (onece in configuration, once in state)
  97. type(OperationScenarioType)::OperationScenario
  98. type(NotificationType)::notifications
  99. type(PermissionsType):: permissions
  100. type(UnitySignalsType):: unitySignals
  101. type(StudentStationType)::StudentStation
  102. type(SoftwareInputsType):: softwareInputs
  103. !Bop
  104. type(BopStackInputType)::BopStackInput
  105. type(BopStackAccType)::BopStackAcc
  106. type(RamLineType)::RamLine
  107. type(AnnularComputationalType)::AnnularComputational
  108. type(AnnularType)::Annular
  109. type(PipeRams1Type)::PipeRam1
  110. type(ShearRamType)::ShearRam
  111. type(PipeRam2Type)::PipeRam2
  112. type(ChokeLineType)::ChokeLine
  113. type(KillLineType)::KillLine
  114. type(PumpsType)::Pumps
  115. TYPE(BOP_TypeVars), DIMENSION(1:6) :: RAM
  116. TYPE(BOP_TypeVars2D) :: RAMS
  117. !Choke
  118. type(ChokeType)::Choke
  119. type(AirDrivenPumpType)::AirDrivenPump
  120. type(AirPumpLineType)::AirPumpLine
  121. TYPE(CHOKE_TypeVars), DIMENSION(1:2) :: CHOOKE
  122. !
  123. !!Drawworks
  124. TYPE(Drawworks_Var) :: Drawworks
  125. !!
  126. !!!MudSystem
  127. type(MudSystemType)::MudSystem
  128. TYPE(MUD_TypeVars), DIMENSION(1:10) :: MUD
  129. !!Pumps
  130. Type(Pumps_Var) :: MPumps
  131. TYPE(Pump_Var), DIMENSION(1:3) :: PUMP
  132. !
  133. TYPE(RTable_Var) :: RTable
  134. TYPE(TDS_Var) :: TDS
  135. !
  136. !! FluidFlow
  137. TYPE(GasData) :: GasType(3) ! 1 = methane , 2 = Hydrogen sulfide , 3 = Carbon dioxid
  138. TYPE(PressureDisplayVARIABLESTYPE) :: PressureDisplay
  139. ! TYPE(ObservationAndGaugePointsInformations) , ALLOCATABLE :: ObservationPoint(:)
  140. TYPE(FricPressDropVarsTYPE) :: FricPressDrop
  141. !
  142. !Rop
  143. TYPE(ROPSpecificationInfo) :: ROP_Spec
  144. TYPE(ROPInfo) :: ROP_Bit
  145. !TD
  146. TYPE(Geo_Data) :: TDGeo
  147. TYPE(F_StringData) , Allocatable :: F_String(:)
  148. TYPE(F_IntervalsCountsData):: F_Counts
  149. TYPE(F_IntervalData) , Allocatable :: F_Interval(:)
  150. TYPE(OD_AnnulusData) :: OD_Annulus(4)
  151. TYPE(TD_DrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStem
  152. TYPE(TD_SeparatedDrillStemInfo), ALLOCATABLE, DIMENSION(:) :: TD_DrillStems
  153. TYPE(TD_StringInfo) :: TD_String
  154. TYPE(TD_AddRemoveInfo) :: TD_Count
  155. TYPE(CStringComponents), ALLOCATABLE, DIMENSION(:) :: G_StringElement
  156. TYPE(TD_RemovedVolumeInfo) :: TD_Vol
  157. TYPE(TD_GeneralInfo) :: TD_General
  158. TYPE(TD_BOPInfo) :: TD_BOP
  159. TYPE(CBopElement) :: TD_BOPElement(4)
  160. TYPE(TD_StringconnectionInfo) :: TD_StConn
  161. TYPE(TD_LoadInfo) :: TD_Load
  162. TYPE(TD_WellElementsInfo) :: TD_WellEl
  163. TYPE(TD_CasingInfo), ALLOCATABLE, DIMENSION(:) :: TD_Casing
  164. TYPE(TD_LinerInfo), ALLOCATABLE, DIMENSION(:) :: TD_Liner
  165. TYPE(TD_OpenHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_OpenHole
  166. TYPE(TD_ROPHoleInfo), ALLOCATABLE, DIMENSION(:) :: TD_ROPHole
  167. TYPE(TD_WellGeneralInfo) :: TD_WellGeneral
  168. TYPE(TD_WellGeometryData), Allocatable :: TD_WellGeo(:)
  169. end type SimulationStateType
  170. type ProblemsType
  171. type(BitProblemsType)::BitProblems
  172. type(BopProblemsType)::BopProblems
  173. type(ChokeProblemsType)::ChokeProblems
  174. type(DrillStemProblemsType)::DrillStemProblems
  175. type(GaugesProblemsType)::GaugesProblems
  176. type(HoistingProblemsType):: HoistingProblems
  177. type(KickProblemsType)::KickProblems
  178. type(LostProblemsType)::LostProblems
  179. type(MudTreatmentProblemsType)::MudTreatmentProblems
  180. type(OtherProblemsType)::OtherProblems
  181. type(PumpProblemsType)::PumpProblems
  182. type(RotaryProblemsType)::RotaryProblems
  183. end type ProblemsType
  184. type SimulationDataType
  185. type(WarmingsType)::Warnings
  186. type(SimulationStateType)::State
  187. type(EquipmentControlType)::EquipmentControl
  188. type(ConfigurationType)::Configuration
  189. type(ProblemsType)::problems
  190. end type SimulationDataType
  191. type(SimulationDataType)::data
  192. contains
  193. end module SimulationVariables