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.
 
 
 
 
 
 

238 lines
10 KiB

  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