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.
 
 
 
 
 
 

59 lines
2.3 KiB

  1. module CTanks
  2. use SimulationVariables
  3. use CManifolds
  4. implicit none
  5. public
  6. contains
  7. subroutine CTankToJson(parent)
  8. type(json_value),pointer :: parent
  9. type(json_core) :: json
  10. type(json_value),pointer :: p,pform
  11. integer :: i
  12. call json%create_array(p,'CTank')
  13. do i=1,data%Equipments%Tanks%CTank%Count
  14. call json%create_object(pform,'')
  15. call json%add(pform,"WaterRate",data%Equipments%Tanks%CTanks%WaterRate)
  16. call json%add(pform,"CementTankVolume",data%Equipments%Tanks%CTanks%CementTankVolume)
  17. call json%add(pform,"CementTankDensity",data%Equipments%Tanks%CTanks%CementTankDensity)
  18. call json%add(pform,"TripTankVolume",data%Equipments%Tanks%CTanks%TripTankVolume)
  19. call json%add(pform,"TripTankDensity",data%Equipments%Tanks%CTanks%TripTankDensity)
  20. call json%add(pform,"ManualPumpPower",data%Equipments%Tanks%CTanks%ManualPumpPower)
  21. call json%add(pform,"Valve1",data%Equipments%Tanks%CTanks%Valve1)
  22. call json%add(pform,"Valve2",data%Equipments%Tanks%CTanks%Valve2)
  23. call json%add(pform,"Valve3",data%Equipments%Tanks%CTanks%Valve3)
  24. call json%add(pform,"Valve4",data%Equipments%Tanks%CTanks%Valve4)
  25. call json%add(pform,"Valve5",data%Equipments%Tanks%CTanks%Valve5)
  26. call json%add(pform,"Valve6",data%Equipments%Tanks%CTanks%Valve6)
  27. call json%add(pform,"Valve7",data%Equipments%Tanks%CTanks%Valve7)
  28. call json%add(pform,"Valve8",data%Equipments%Tanks%CTanks%Valve8)
  29. call json%add(pform,"Valve9",data%Equipments%Tanks%CTanks%Valve9)
  30. call json%add(pform,"Valve10",data%Equipments%Tanks%CTanks%Valve10)
  31. call json%add(pform,"Valve11",data%Equipments%Tanks%CTanks%Valve11)
  32. call json%add(p,pform)
  33. end do
  34. call json%add(parent,p)
  35. end subroutine
  36. subroutine Set_ManualPumpPower(v)
  37. use CManifolds, only:ChangeValve
  38. implicit none
  39. logical, intent(in) :: v
  40. data%EquipmentControl%Tank%ManualPumpPower = v
  41. call ChangeValve(43, v)
  42. #ifdef deb
  43. print*, 'ManualPumpPower=', data%EquipmentControl%Tank%ManualPumpPower
  44. #endif
  45. end subroutine
  46. end module CTanks