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.

CStandPipeManifold.f90 10 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. module CStandPipeManifold
  2. use CStandPipeManifoldVariables
  3. use SimulationVariables
  4. use CManifolds
  5. implicit none
  6. public
  7. contains
  8. subroutine CStandPipeToJson(parent)
  9. type(json_value),pointer :: parent
  10. type(json_core) :: json
  11. type(json_value),pointer :: p
  12. ! 1. create new node
  13. call json%create_object(p,'CStandPipe')
  14. call json%add(p,"StandPipeManifoldValve1",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve1)
  15. call json%add(p,"StandPipeManifoldValve2",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve2)
  16. call json%add(p,"StandPipeManifoldValve3",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve3)
  17. call json%add(p,"StandPipeManifoldValve4",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve4)
  18. call json%add(p,"StandPipeManifoldValve5",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve5)
  19. call json%add(p,"StandPipeManifoldValve6",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve6)
  20. call json%add(p,"StandPipeManifoldValve7",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve7)
  21. call json%add(p,"StandPipeManifoldValve8",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve8)
  22. call json%add(p,"StandPipeManifoldValve9",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve9)
  23. call json%add(p,"StandPipeManifoldValve10",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve10)
  24. call json%add(p,"StandPipeManifoldValve11",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve11)
  25. call json%add(p,"StandPipeManifoldValve12",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve12)
  26. call json%add(p,"StandPipeManifoldValve13",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve13)
  27. call json%add(p,"StandPipeManifoldValve14",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve14)
  28. call json%add(p,"StandPipeManifoldValve15",data%Equipments%ControlPanel%CStandPipe%StandPipeManifoldValve15)
  29. call json%add(p,"StandPipeGauge1",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge1)
  30. call json%add(p,"StandPipeGauge2",data%Equipments%ControlPanel%CStandPipe%StandPipeGauge2)
  31. call json%add(parent,p)
  32. end subroutine
  33. ! Input routines
  34. subroutine SetStandPipeManifoldValve1(v)
  35. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve1
  36. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve1' :: SetStandPipeManifoldValve1
  37. implicit none
  38. logical, intent(in) :: v
  39. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1 = v
  40. call ChangeValve(13, v)
  41. #ifdef deb
  42. print*, 'StandPipeManifoldValve1=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve1
  43. #endif
  44. end subroutine
  45. subroutine SetStandPipeManifoldValve2(v)
  46. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve2
  47. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve2' :: SetStandPipeManifoldValve2
  48. implicit none
  49. logical, intent(in) :: v
  50. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2 = v
  51. call ChangeValve(14, v)
  52. #ifdef deb
  53. print*, 'StandPipeManifoldValve2=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve2
  54. #endif
  55. end subroutine
  56. subroutine SetStandPipeManifoldValve3(v)
  57. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve3
  58. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve3' :: SetStandPipeManifoldValve3
  59. implicit none
  60. logical, intent(in) :: v
  61. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3 = v
  62. call ChangeValve(15, v)
  63. #ifdef deb
  64. print*, 'StandPipeManifoldValve3=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve3
  65. #endif
  66. end subroutine
  67. subroutine SetStandPipeManifoldValve4(v)
  68. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve4
  69. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve4' :: SetStandPipeManifoldValve4
  70. implicit none
  71. logical, intent(in) :: v
  72. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4 = v
  73. call ChangeValve(11, v)
  74. #ifdef deb
  75. print*, 'StandPipeManifoldValve4=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve4
  76. #endif
  77. end subroutine
  78. subroutine SetStandPipeManifoldValve5(v)
  79. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve5
  80. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve5' :: SetStandPipeManifoldValve5
  81. implicit none
  82. logical, intent(in) :: v
  83. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5 = v
  84. call ChangeValve(12, v)
  85. #ifdef deb
  86. print*, 'StandPipeManifoldValve5=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve5
  87. #endif
  88. end subroutine
  89. subroutine SetStandPipeManifoldValve6(v)
  90. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve6
  91. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve6' :: SetStandPipeManifoldValve6
  92. implicit none
  93. logical, intent(in) :: v
  94. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6 = v
  95. call ChangeValve(9, v)
  96. #ifdef deb
  97. print*, 'StandPipeManifoldValve6=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve6
  98. #endif
  99. end subroutine
  100. subroutine SetStandPipeManifoldValve7(v)
  101. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve7
  102. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve7' :: SetStandPipeManifoldValve7
  103. implicit none
  104. logical, intent(in) :: v
  105. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7 = v
  106. call ChangeValve(10, v)
  107. #ifdef deb
  108. print*, 'StandPipeManifoldValve7=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve7
  109. #endif
  110. end subroutine
  111. subroutine SetStandPipeManifoldValve8(v)
  112. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve8
  113. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve8' :: SetStandPipeManifoldValve8
  114. implicit none
  115. logical, intent(in) :: v
  116. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8 = v
  117. call ChangeValve(6, v)
  118. #ifdef deb
  119. print*, 'StandPipeManifoldValve8=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve8
  120. #endif
  121. end subroutine
  122. subroutine SetStandPipeManifoldValve9(v)
  123. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve9
  124. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve9' :: SetStandPipeManifoldValve9
  125. implicit none
  126. logical, intent(in) :: v
  127. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9 = v
  128. call ChangeValve(7, v)
  129. #ifdef deb
  130. print*, 'StandPipeManifoldValve9=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve9
  131. #endif
  132. end subroutine
  133. subroutine SetStandPipeManifoldValve10(v)
  134. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve10
  135. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve10' :: SetStandPipeManifoldValve10
  136. implicit none
  137. logical, intent(in) :: v
  138. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10 = v
  139. call ChangeValve(8, v)
  140. #ifdef deb
  141. print*, 'StandPipeManifoldValve10=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve10
  142. #endif
  143. end subroutine
  144. subroutine SetStandPipeManifoldValve11(v)
  145. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve11
  146. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve11' :: SetStandPipeManifoldValve11
  147. implicit none
  148. logical, intent(in) :: v
  149. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11 = v
  150. call ChangeValve(1, v)
  151. #ifdef deb
  152. print*, 'StandPipeManifoldValve11=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve11
  153. #endif
  154. end subroutine
  155. subroutine SetStandPipeManifoldValve12(v)
  156. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve12
  157. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve12' :: SetStandPipeManifoldValve12
  158. implicit none
  159. logical, intent(in) :: v
  160. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12 = v
  161. call ChangeValve(2, v)
  162. #ifdef deb
  163. print*, 'StandPipeManifoldValve12=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve12
  164. #endif
  165. end subroutine
  166. subroutine SetStandPipeManifoldValve13(v)
  167. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve13
  168. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve13' :: SetStandPipeManifoldValve13
  169. implicit none
  170. logical, intent(in) :: v
  171. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13 = v
  172. call ChangeValve(3, v)
  173. #ifdef deb
  174. print*, 'StandPipeManifoldValve13=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve13
  175. #endif
  176. end subroutine
  177. subroutine SetStandPipeManifoldValve14(v)
  178. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve14
  179. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve14' :: SetStandPipeManifoldValve14
  180. implicit none
  181. logical, intent(in) :: v
  182. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14 = v
  183. call ChangeValve(4, v)
  184. #ifdef deb
  185. print*, 'StandPipeManifoldValve14=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve14
  186. #endif
  187. end subroutine
  188. subroutine SetStandPipeManifoldValve15(v)
  189. !DEC$ ATTRIBUTES DLLEXPORT :: SetStandPipeManifoldValve15
  190. !DEC$ ATTRIBUTES ALIAS: 'SetStandPipeManifoldValve15' :: SetStandPipeManifoldValve15
  191. implicit none
  192. logical, intent(in) :: v
  193. data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15 = v
  194. call ChangeValve(5, v)
  195. #ifdef deb
  196. print*, 'StandPipeManifoldValve15=', data%EquipmentControl%StandPipeManifold%StandPipeManifoldValve15
  197. #endif
  198. end subroutine
  199. ! Output routines
  200. real(8) function GetStandPipeGauge1()
  201. !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge1
  202. !DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge1' :: GetStandPipeGauge1
  203. implicit none
  204. GetStandPipeGauge1 = data%EquipmentControl%StandPipeManifold%StandPipeGauge1
  205. !GetStandPipeGauge1 = 567.4
  206. end function
  207. real(8) function GetStandPipeGauge2()
  208. !DEC$ ATTRIBUTES DLLEXPORT :: GetStandPipeGauge2
  209. !DEC$ ATTRIBUTES ALIAS: 'GetStandPipeGauge2' :: GetStandPipeGauge2
  210. implicit none
  211. GetStandPipeGauge2 = data%EquipmentControl%StandPipeManifold%StandPipeGauge2
  212. !GetStandPipeGauge2 = 1564.0
  213. end function
  214. end module CStandPipeManifold