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.
 
 
 
 
 
 

307 lines
13 KiB

  1. module CGaugesProblems
  2. use CGaugesProblemsVariables
  3. implicit none
  4. public
  5. contains
  6. ! Input routines
  7. subroutine SetWeightIndicator(v)
  8. !DEC$ ATTRIBUTES DLLEXPORT :: SetWeightIndicator
  9. !DEC$ ATTRIBUTES ALIAS: 'SetWeightIndicator' :: SetWeightIndicator
  10. implicit none
  11. type(CProblem), intent(in) :: v
  12. GaugesProblems%WeightIndicator = SetDue(v, ChangeWeightIndicator)
  13. #ifdef deb
  14. print*, 'WeightIndicator%ProblemType=', GaugesProblems%WeightIndicator%ProblemType
  15. print*, 'WeightIndicator%StatusType=', GaugesProblems%WeightIndicator%StatusType
  16. print*, 'WeightIndicator%Value=', GaugesProblems%WeightIndicator%Value
  17. #endif
  18. end subroutine
  19. subroutine SetRotaryRpm(v)
  20. !DEC$ ATTRIBUTES DLLEXPORT :: SetRotaryRpm
  21. !DEC$ ATTRIBUTES ALIAS: 'SetRotaryRpm' :: SetRotaryRpm
  22. implicit none
  23. type(CProblem), intent(in) :: v
  24. GaugesProblems%RotaryRpm = SetDue(v, ChangeRotaryRpm)
  25. #ifdef deb
  26. print*, 'RotaryRpm%ProblemType=', GaugesProblems%RotaryRpm%ProblemType
  27. print*, 'RotaryRpm%StatusType=', GaugesProblems%RotaryRpm%StatusType
  28. print*, 'RotaryRpm%Value=', GaugesProblems%RotaryRpm%Value
  29. #endif
  30. end subroutine
  31. subroutine SetRotaryTorque(v)
  32. !DEC$ ATTRIBUTES DLLEXPORT :: SetRotaryTorque
  33. !DEC$ ATTRIBUTES ALIAS: 'SetRotaryTorque' :: SetRotaryTorque
  34. implicit none
  35. type(CProblem), intent(in) :: v
  36. GaugesProblems%RotaryTorque = SetDue(v, ChangeRotaryTorque)
  37. #ifdef deb
  38. print*, 'RotaryTorque%ProblemType=', GaugesProblems%RotaryTorque%ProblemType
  39. print*, 'RotaryTorque%StatusType=', GaugesProblems%RotaryTorque%StatusType
  40. print*, 'RotaryTorque%Value=', GaugesProblems%RotaryTorque%Value
  41. #endif
  42. end subroutine
  43. subroutine SetStandPipePressure(v)
  44. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipePressure
  45. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipePressure' :: SetStandPipePressure
  46. implicit none
  47. type(CProblem), intent(in) :: v
  48. GaugesProblems%StandPipePressure = SetDue(v, ChangeStandPipePressure)
  49. #ifdef deb
  50. print*, 'StandPipePressure%ProblemType=', GaugesProblems%StandPipePressure%ProblemType
  51. print*, 'StandPipePressure%StatusType=', GaugesProblems%StandPipePressure%StatusType
  52. print*, 'StandPipePressure%Value=', GaugesProblems%StandPipePressure%Value
  53. #endif
  54. end subroutine
  55. subroutine SetCasingPressure(v)
  56. !DEC$ ATTRIBUTES DLLEXPORT :: SetCasingPressure
  57. !DEC$ ATTRIBUTES ALIAS: 'SetCasingPressure' :: SetCasingPressure
  58. implicit none
  59. type(CProblem), intent(in) :: v
  60. GaugesProblems%CasingPressure = SetDue(v, ChangeCasingPressure)
  61. #ifdef deb
  62. print*, 'CasingPressure%ProblemType=', GaugesProblems%CasingPressure%ProblemType
  63. print*, 'CasingPressure%StatusType=', GaugesProblems%CasingPressure%StatusType
  64. print*, 'CasingPressure%Value=', GaugesProblems%CasingPressure%Value
  65. #endif
  66. end subroutine
  67. subroutine SetPump1Strokes(v)
  68. !DEC$ ATTRIBUTES DLLEXPORT :: SetPump1Strokes
  69. !DEC$ ATTRIBUTES ALIAS: 'SetPump1Strokes' :: SetPump1Strokes
  70. implicit none
  71. type(CProblem), intent(in) :: v
  72. GaugesProblems%Pump1Strokes = SetDue(v, ChangePump1Strokes)
  73. #ifdef deb
  74. print*, 'Pump1Strokes%ProblemType=', GaugesProblems%Pump1Strokes%ProblemType
  75. print*, 'Pump1Strokes%StatusType=', GaugesProblems%Pump1Strokes%StatusType
  76. print*, 'Pump1Strokes%Value=', GaugesProblems%Pump1Strokes%Value
  77. #endif
  78. end subroutine
  79. subroutine SetPump2Strokes(v)
  80. !DEC$ ATTRIBUTES DLLEXPORT :: SetPump2Strokes
  81. !DEC$ ATTRIBUTES ALIAS: 'SetPump2Strokes' :: SetPump2Strokes
  82. implicit none
  83. type(CProblem), intent(in) :: v
  84. GaugesProblems%Pump2Strokes = SetDue(v, ChangePump2Strokes)
  85. #ifdef deb
  86. print*, 'Pump2Strokes%ProblemType=', GaugesProblems%Pump2Strokes%ProblemType
  87. print*, 'Pump2Strokes%StatusType=', GaugesProblems%Pump2Strokes%StatusType
  88. print*, 'Pump2Strokes%Value=', GaugesProblems%Pump2Strokes%Value
  89. #endif
  90. end subroutine
  91. subroutine SetReturnLineTemperature(v)
  92. !DEC$ ATTRIBUTES DLLEXPORT :: SetReturnLineTemperature
  93. !DEC$ ATTRIBUTES ALIAS: 'SetReturnLineTemperature' :: SetReturnLineTemperature
  94. implicit none
  95. type(CProblem), intent(in) :: v
  96. GaugesProblems%ReturnLineTemperature = SetDue(v, ChangeReturnLineTemperature)
  97. #ifdef deb
  98. print*, 'ReturnLineTemperature%ProblemType=', GaugesProblems%ReturnLineTemperature%ProblemType
  99. print*, 'ReturnLineTemperature%StatusType=', GaugesProblems%ReturnLineTemperature%StatusType
  100. print*, 'ReturnLineTemperature%Value=', GaugesProblems%ReturnLineTemperature%Value
  101. #endif
  102. end subroutine
  103. subroutine SetTripTank(v)
  104. !DEC$ ATTRIBUTES DLLEXPORT :: SetTripTank
  105. !DEC$ ATTRIBUTES ALIAS: 'SetTripTank' :: SetTripTank
  106. implicit none
  107. type(CProblem), intent(in) :: v
  108. GaugesProblems%TripTank = SetDue(v, ChangeTripTank)
  109. #ifdef deb
  110. print*, 'TripTank%ProblemType=', GaugesProblems%TripTank%ProblemType
  111. print*, 'TripTank%StatusType=', GaugesProblems%TripTank%StatusType
  112. print*, 'TripTank%Value=', GaugesProblems%TripTank%Value
  113. #endif
  114. end subroutine
  115. subroutine SetPitGainLoss(v)
  116. !DEC$ ATTRIBUTES DLLEXPORT :: SetPitGainLoss
  117. !DEC$ ATTRIBUTES ALIAS: 'SetPitGainLoss' :: SetPitGainLoss
  118. implicit none
  119. type(CProblem), intent(in) :: v
  120. GaugesProblems%PitGainLoss = SetDue(v, ChangePitGainLoss)
  121. #ifdef deb
  122. print*, 'PitGainLoss%ProblemType=', GaugesProblems%PitGainLoss%ProblemType
  123. print*, 'PitGainLoss%StatusType=', GaugesProblems%PitGainLoss%StatusType
  124. print*, 'PitGainLoss%Value=', GaugesProblems%PitGainLoss%Value
  125. #endif
  126. end subroutine
  127. subroutine SetMudTankVolume(v)
  128. !DEC$ ATTRIBUTES DLLEXPORT :: SetMudTankVolume
  129. !DEC$ ATTRIBUTES ALIAS: 'SetMudTankVolume' :: SetMudTankVolume
  130. implicit none
  131. type(CProblem), intent(in) :: v
  132. GaugesProblems%MudTankVolume = SetDue(v, ChangeMudTankVolume)
  133. #ifdef deb
  134. print*, 'MudTankVolume%ProblemType=', GaugesProblems%MudTankVolume%ProblemType
  135. print*, 'MudTankVolume%StatusType=', GaugesProblems%MudTankVolume%StatusType
  136. print*, 'MudTankVolume%Value=', GaugesProblems%MudTankVolume%Value
  137. #endif
  138. end subroutine
  139. subroutine SetReturnMudFlow(v)
  140. !DEC$ ATTRIBUTES DLLEXPORT :: SetReturnMudFlow
  141. !DEC$ ATTRIBUTES ALIAS: 'SetReturnMudFlow' :: SetReturnMudFlow
  142. implicit none
  143. type(CProblem), intent(in) :: v
  144. GaugesProblems%ReturnMudFlow = SetDue(v, ChangeReturnMudFlow)
  145. #ifdef deb
  146. print*, 'ReturnMudFlow%ProblemType=', GaugesProblems%ReturnMudFlow%ProblemType
  147. print*, 'ReturnMudFlow%StatusType=', GaugesProblems%ReturnMudFlow%StatusType
  148. print*, 'ReturnMudFlow%Value=', GaugesProblems%ReturnMudFlow%Value
  149. #endif
  150. end subroutine
  151. subroutine SetTorqueLimit(v)
  152. !DEC$ ATTRIBUTES DLLEXPORT :: SetTorqueLimit
  153. !DEC$ ATTRIBUTES ALIAS: 'SetTorqueLimit' :: SetTorqueLimit
  154. implicit none
  155. type(CProblem), intent(in) :: v
  156. GaugesProblems%TorqueLimit = SetDue(v, ChangeTorqueLimit)
  157. #ifdef deb
  158. print*, 'TorqueLimit%ProblemType=', GaugesProblems%TorqueLimit%ProblemType
  159. print*, 'TorqueLimit%StatusType=', GaugesProblems%TorqueLimit%StatusType
  160. print*, 'TorqueLimit%Value=', GaugesProblems%TorqueLimit%Value
  161. #endif
  162. end subroutine
  163. subroutine SetPowerLimit(v)
  164. !DEC$ ATTRIBUTES DLLEXPORT :: SetPowerLimit
  165. !DEC$ ATTRIBUTES ALIAS: 'SetPowerLimit' :: SetPowerLimit
  166. implicit none
  167. type(CProblem), intent(in) :: v
  168. GaugesProblems%PowerLimit = SetDue(v, ChangePowerLimit)
  169. #ifdef deb
  170. print*, 'PowerLimit%ProblemType=', GaugesProblems%PowerLimit%ProblemType
  171. print*, 'PowerLimit%StatusType=', GaugesProblems%PowerLimit%StatusType
  172. print*, 'PowerLimit%Value=', GaugesProblems%PowerLimit%Value
  173. #endif
  174. end subroutine
  175. subroutine SetAccumulatorPressure(v)
  176. !DEC$ ATTRIBUTES DLLEXPORT :: SetAccumulatorPressure
  177. !DEC$ ATTRIBUTES ALIAS: 'SetAccumulatorPressure' :: SetAccumulatorPressure
  178. implicit none
  179. type(CProblem), intent(in) :: v
  180. GaugesProblems%AccumulatorPressure = SetDue(v, ChangeAccumulatorPressure)
  181. #ifdef deb
  182. print*, 'AccumulatorPressure%ProblemType=', GaugesProblems%AccumulatorPressure%ProblemType
  183. print*, 'AccumulatorPressure%StatusType=', GaugesProblems%AccumulatorPressure%StatusType
  184. print*, 'AccumulatorPressure%Value=', GaugesProblems%AccumulatorPressure%Value
  185. #endif
  186. end subroutine
  187. subroutine SetManifoldPressure(v)
  188. !DEC$ ATTRIBUTES DLLEXPORT :: SetManifoldPressure
  189. !DEC$ ATTRIBUTES ALIAS: 'SetManifoldPressure' :: SetManifoldPressure
  190. implicit none
  191. type(CProblem), intent(in) :: v
  192. GaugesProblems%ManifoldPressure = SetDue(v, ChangeManifoldPressure)
  193. #ifdef deb
  194. print*, 'ManifoldPressure%ProblemType=', GaugesProblems%ManifoldPressure%ProblemType
  195. print*, 'ManifoldPressure%StatusType=', GaugesProblems%ManifoldPressure%StatusType
  196. print*, 'ManifoldPressure%Value=', GaugesProblems%ManifoldPressure%Value
  197. #endif
  198. end subroutine
  199. subroutine SetAnnularPressure(v)
  200. !DEC$ ATTRIBUTES DLLEXPORT :: SetAnnularPressure
  201. !DEC$ ATTRIBUTES ALIAS: 'SetAnnularPressure' :: SetAnnularPressure
  202. implicit none
  203. type(CProblem), intent(in) :: v
  204. GaugesProblems%AnnularPressure = SetDue(v, ChangeAnnularPressure)
  205. #ifdef deb
  206. print*, 'AnnularPressure%ProblemType=', GaugesProblems%AnnularPressure%ProblemType
  207. print*, 'AnnularPressure%StatusType=', GaugesProblems%AnnularPressure%StatusType
  208. print*, 'AnnularPressure%Value=', GaugesProblems%AnnularPressure%Value
  209. #endif
  210. end subroutine
  211. subroutine SetRigAirPressure(v)
  212. !DEC$ ATTRIBUTES DLLEXPORT :: SetRigAirPressure
  213. !DEC$ ATTRIBUTES ALIAS: 'SetRigAirPressure' :: SetRigAirPressure
  214. implicit none
  215. type(CProblem), intent(in) :: v
  216. GaugesProblems%RigAirPressure = SetDue(v, ChangeRigAirPressure)
  217. #ifdef deb
  218. print*, 'RigAirPressure%ProblemType=', GaugesProblems%RigAirPressure%ProblemType
  219. print*, 'RigAirPressure%StatusType=', GaugesProblems%RigAirPressure%StatusType
  220. print*, 'RigAirPressure%Value=', GaugesProblems%RigAirPressure%Value
  221. #endif
  222. end subroutine
  223. subroutine SetStandPipe1(v)
  224. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipe1
  225. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipe1' :: SetStandPipe1
  226. implicit none
  227. type(CProblem), intent(in) :: v
  228. GaugesProblems%StandPipe1 = SetDue(v, ChangeStandPipe1)
  229. #ifdef deb
  230. print*, 'StandPipe1%ProblemType=', GaugesProblems%StandPipe1%ProblemType
  231. print*, 'StandPipe1%StatusType=', GaugesProblems%StandPipe1%StatusType
  232. print*, 'StandPipe1%Value=', GaugesProblems%StandPipe1%Value
  233. #endif
  234. end subroutine
  235. subroutine SetStandPipe2(v)
  236. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipe2
  237. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipe2' :: SetStandPipe2
  238. implicit none
  239. type(CProblem), intent(in) :: v
  240. GaugesProblems%StandPipe2 = SetDue(v, ChangeStandPipe2)
  241. #ifdef deb
  242. print*, 'StandPipe2%ProblemType=', GaugesProblems%StandPipe2%ProblemType
  243. print*, 'StandPipe2%StatusType=', GaugesProblems%StandPipe2%StatusType
  244. print*, 'StandPipe2%Value=', GaugesProblems%StandPipe2%Value
  245. #endif
  246. end subroutine
  247. subroutine SetDrillPipePressure(v)
  248. !DEC$ ATTRIBUTES DLLEXPORT :: SetDrillPipePressure
  249. !DEC$ ATTRIBUTES ALIAS: 'SetDrillPipePressure' :: SetDrillPipePressure
  250. implicit none
  251. type(CProblem), intent(in) :: v
  252. GaugesProblems%DrillPipePressure = SetDue(v, ChangeDrillPipePressure)
  253. #ifdef deb
  254. print*, 'DrillPipePressure%ProblemType=', GaugesProblems%DrillPipePressure%ProblemType
  255. print*, 'DrillPipePressure%StatusType=', GaugesProblems%DrillPipePressure%StatusType
  256. print*, 'DrillPipePressure%Value=', GaugesProblems%DrillPipePressure%Value
  257. #endif
  258. end subroutine
  259. subroutine SetChokePosition(v)
  260. !DEC$ ATTRIBUTES DLLEXPORT :: SetChokePosition
  261. !DEC$ ATTRIBUTES ALIAS: 'SetChokePosition' :: SetChokePosition
  262. implicit none
  263. type(CProblem), intent(in) :: v
  264. GaugesProblems%ChokePosition = SetDue(v, ChangeChokePosition)
  265. #ifdef deb
  266. print*, 'ChokePosition%ProblemType=', GaugesProblems%ChokePosition%ProblemType
  267. print*, 'ChokePosition%StatusType=', GaugesProblems%ChokePosition%StatusType
  268. print*, 'ChokePosition%Value=', GaugesProblems%ChokePosition%Value
  269. #endif
  270. end subroutine
  271. subroutine SetCasingPressure2(v)
  272. !DEC$ ATTRIBUTES DLLEXPORT :: SetCasingPressure2
  273. !DEC$ ATTRIBUTES ALIAS: 'SetCasingPressure2' :: SetCasingPressure2
  274. implicit none
  275. type(CProblem), intent(in) :: v
  276. GaugesProblems%CasingPressure2 = SetDue(v, ChangeCasingPressure2)
  277. #ifdef deb
  278. print*, 'CasingPressure2%ProblemType=', GaugesProblems%CasingPressure2%ProblemType
  279. print*, 'CasingPressure2%StatusType=', GaugesProblems%CasingPressure2%StatusType
  280. print*, 'CasingPressure2%Value=', GaugesProblems%CasingPressure2%Value
  281. #endif
  282. end subroutine
  283. end module CGaugesProblems