Simulation Core
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CGaugesProblems.f90 11 KiB

1 년 전
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  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. WeightIndicator = SetDue(v, ChangeWeightIndicator)
  13. #ifdef deb
  14. print*, 'WeightIndicator%ProblemType=', WeightIndicator%ProblemType
  15. print*, 'WeightIndicator%StatusType=', WeightIndicator%StatusType
  16. print*, 'WeightIndicator%Value=', 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. RotaryRpm = SetDue(v, ChangeRotaryRpm)
  25. #ifdef deb
  26. print*, 'RotaryRpm%ProblemType=', RotaryRpm%ProblemType
  27. print*, 'RotaryRpm%StatusType=', RotaryRpm%StatusType
  28. print*, 'RotaryRpm%Value=', 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. RotaryTorque = SetDue(v, ChangeRotaryTorque)
  37. #ifdef deb
  38. print*, 'RotaryTorque%ProblemType=', RotaryTorque%ProblemType
  39. print*, 'RotaryTorque%StatusType=', RotaryTorque%StatusType
  40. print*, 'RotaryTorque%Value=', 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. StandPipePressure = SetDue(v, ChangeStandPipePressure)
  49. #ifdef deb
  50. print*, 'StandPipePressure%ProblemType=', StandPipePressure%ProblemType
  51. print*, 'StandPipePressure%StatusType=', StandPipePressure%StatusType
  52. print*, 'StandPipePressure%Value=', 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. CasingPressure = SetDue(v, ChangeCasingPressure)
  61. #ifdef deb
  62. print*, 'CasingPressure%ProblemType=', CasingPressure%ProblemType
  63. print*, 'CasingPressure%StatusType=', CasingPressure%StatusType
  64. print*, 'CasingPressure%Value=', 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. Pump1Strokes = SetDue(v, ChangePump1Strokes)
  73. #ifdef deb
  74. print*, 'Pump1Strokes%ProblemType=', Pump1Strokes%ProblemType
  75. print*, 'Pump1Strokes%StatusType=', Pump1Strokes%StatusType
  76. print*, 'Pump1Strokes%Value=', 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. Pump2Strokes = SetDue(v, ChangePump2Strokes)
  85. #ifdef deb
  86. print*, 'Pump2Strokes%ProblemType=', Pump2Strokes%ProblemType
  87. print*, 'Pump2Strokes%StatusType=', Pump2Strokes%StatusType
  88. print*, 'Pump2Strokes%Value=', 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. ReturnLineTemperature = SetDue(v, ChangeReturnLineTemperature)
  97. #ifdef deb
  98. print*, 'ReturnLineTemperature%ProblemType=', ReturnLineTemperature%ProblemType
  99. print*, 'ReturnLineTemperature%StatusType=', ReturnLineTemperature%StatusType
  100. print*, 'ReturnLineTemperature%Value=', 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. TripTank = SetDue(v, ChangeTripTank)
  109. #ifdef deb
  110. print*, 'TripTank%ProblemType=', TripTank%ProblemType
  111. print*, 'TripTank%StatusType=', TripTank%StatusType
  112. print*, 'TripTank%Value=', 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. PitGainLoss = SetDue(v, ChangePitGainLoss)
  121. #ifdef deb
  122. print*, 'PitGainLoss%ProblemType=', PitGainLoss%ProblemType
  123. print*, 'PitGainLoss%StatusType=', PitGainLoss%StatusType
  124. print*, 'PitGainLoss%Value=', 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. MudTankVolume = SetDue(v, ChangeMudTankVolume)
  133. #ifdef deb
  134. print*, 'MudTankVolume%ProblemType=', MudTankVolume%ProblemType
  135. print*, 'MudTankVolume%StatusType=', MudTankVolume%StatusType
  136. print*, 'MudTankVolume%Value=', 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. ReturnMudFlow = SetDue(v, ChangeReturnMudFlow)
  145. #ifdef deb
  146. print*, 'ReturnMudFlow%ProblemType=', ReturnMudFlow%ProblemType
  147. print*, 'ReturnMudFlow%StatusType=', ReturnMudFlow%StatusType
  148. print*, 'ReturnMudFlow%Value=', 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. TorqueLimit = SetDue(v, ChangeTorqueLimit)
  157. #ifdef deb
  158. print*, 'TorqueLimit%ProblemType=', TorqueLimit%ProblemType
  159. print*, 'TorqueLimit%StatusType=', TorqueLimit%StatusType
  160. print*, 'TorqueLimit%Value=', 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. PowerLimit = SetDue(v, ChangePowerLimit)
  169. #ifdef deb
  170. print*, 'PowerLimit%ProblemType=', PowerLimit%ProblemType
  171. print*, 'PowerLimit%StatusType=', PowerLimit%StatusType
  172. print*, 'PowerLimit%Value=', 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. AccumulatorPressure = SetDue(v, ChangeAccumulatorPressure)
  181. #ifdef deb
  182. print*, 'AccumulatorPressure%ProblemType=', AccumulatorPressure%ProblemType
  183. print*, 'AccumulatorPressure%StatusType=', AccumulatorPressure%StatusType
  184. print*, 'AccumulatorPressure%Value=', 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. ManifoldPressure = SetDue(v, ChangeManifoldPressure)
  193. #ifdef deb
  194. print*, 'ManifoldPressure%ProblemType=', ManifoldPressure%ProblemType
  195. print*, 'ManifoldPressure%StatusType=', ManifoldPressure%StatusType
  196. print*, 'ManifoldPressure%Value=', 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. AnnularPressure = SetDue(v, ChangeAnnularPressure)
  205. #ifdef deb
  206. print*, 'AnnularPressure%ProblemType=', AnnularPressure%ProblemType
  207. print*, 'AnnularPressure%StatusType=', AnnularPressure%StatusType
  208. print*, 'AnnularPressure%Value=', 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. RigAirPressure = SetDue(v, ChangeRigAirPressure)
  217. #ifdef deb
  218. print*, 'RigAirPressure%ProblemType=', RigAirPressure%ProblemType
  219. print*, 'RigAirPressure%StatusType=', RigAirPressure%StatusType
  220. print*, 'RigAirPressure%Value=', 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. StandPipe1 = SetDue(v, ChangeStandPipe1)
  229. #ifdef deb
  230. print*, 'StandPipe1%ProblemType=', StandPipe1%ProblemType
  231. print*, 'StandPipe1%StatusType=', StandPipe1%StatusType
  232. print*, 'StandPipe1%Value=', 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. StandPipe2 = SetDue(v, ChangeStandPipe2)
  241. #ifdef deb
  242. print*, 'StandPipe2%ProblemType=', StandPipe2%ProblemType
  243. print*, 'StandPipe2%StatusType=', StandPipe2%StatusType
  244. print*, 'StandPipe2%Value=', 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. DrillPipePressure = SetDue(v, ChangeDrillPipePressure)
  253. #ifdef deb
  254. print*, 'DrillPipePressure%ProblemType=', DrillPipePressure%ProblemType
  255. print*, 'DrillPipePressure%StatusType=', DrillPipePressure%StatusType
  256. print*, 'DrillPipePressure%Value=', 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. ChokePosition = SetDue(v, ChangeChokePosition)
  265. #ifdef deb
  266. print*, 'ChokePosition%ProblemType=', ChokePosition%ProblemType
  267. print*, 'ChokePosition%StatusType=', ChokePosition%StatusType
  268. print*, 'ChokePosition%Value=', 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. CasingPressure2 = SetDue(v, ChangeCasingPressure2)
  277. #ifdef deb
  278. print*, 'CasingPressure2%ProblemType=', CasingPressure2%ProblemType
  279. print*, 'CasingPressure2%StatusType=', CasingPressure2%StatusType
  280. print*, 'CasingPressure2%Value=', CasingPressure2%Value
  281. #endif
  282. end subroutine
  283. end module CGaugesProblems