Simulation Core
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

222 líneas
7.4 KiB

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