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.

CTanks.f90 2.3 KiB

2 years ago
2 years ago
2 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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