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.
 
 
 
 
 
 

105 lines
3.4 KiB

  1. module CDownHoleActions
  2. use CIActionReference
  3. implicit none
  4. public
  5. abstract interface
  6. subroutine ActionFluid(array)
  7. use CDownHoleTypes
  8. type(CFluid), allocatable, intent(in), target :: array(:)
  9. end subroutine
  10. subroutine ActionComponent(array)
  11. use CDownHoleTypes
  12. type(CStringComponent), allocatable, intent(in), target :: array(:)
  13. end subroutine
  14. subroutine ActionBopElement(array)
  15. use CDownHoleTypes
  16. type(CBopElement), allocatable, intent(in), target :: array(:)
  17. end subroutine
  18. end interface
  19. procedure (ActionInteger), pointer :: AnnalusMudCountPtr
  20. procedure (ActionFluid), pointer :: AnnalusMudArrayPtr
  21. procedure (ActionInteger), pointer :: StringMudCountPtr
  22. procedure (ActionFluid), pointer :: StringMudArrayPtr
  23. procedure (ActionInteger), pointer :: StringComponentCountPtr
  24. procedure (ActionComponent), pointer :: StringComponentArrayPtr
  25. procedure (ActionBopElement), pointer :: BopElementsPtr
  26. contains
  27. subroutine SubscribeAnnalusMudCount(a)
  28. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnalusMudCount
  29. !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnalusMudCount' :: SubscribeAnnalusMudCount
  30. implicit none
  31. procedure (ActionInteger) :: a
  32. AnnalusMudCountPtr => a
  33. end subroutine
  34. subroutine SubscribeAnnalusMudArray(a)
  35. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeAnnalusMudArray
  36. !DEC$ ATTRIBUTES ALIAS: 'SubscribeAnnalusMudArray' :: SubscribeAnnalusMudArray
  37. implicit none
  38. procedure (ActionFluid) :: a
  39. AnnalusMudArrayPtr => a
  40. end subroutine
  41. subroutine SubscribeStringMudCount(a)
  42. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringMudCount
  43. !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringMudCount' :: SubscribeStringMudCount
  44. implicit none
  45. procedure (ActionInteger) :: a
  46. StringMudCountPtr => a
  47. end subroutine
  48. subroutine SubscribeStringMudArray(a)
  49. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringMudArray
  50. !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringMudArray' :: SubscribeStringMudArray
  51. implicit none
  52. procedure (ActionFluid) :: a
  53. StringMudArrayPtr => a
  54. end subroutine
  55. subroutine SubscribeStringComponentCount(a)
  56. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringComponentCount
  57. !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringComponentCount' :: SubscribeStringComponentCount
  58. implicit none
  59. procedure (ActionInteger) :: a
  60. StringComponentCountPtr => a
  61. end subroutine
  62. subroutine SubscribeStringComponentArray(a)
  63. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeStringComponentArray
  64. !DEC$ ATTRIBUTES ALIAS: 'SubscribeStringComponentArray' :: SubscribeStringComponentArray
  65. implicit none
  66. procedure (ActionComponent) :: a
  67. StringComponentArrayPtr => a
  68. end subroutine
  69. subroutine SubscribeBopElements(a)
  70. !DEC$ ATTRIBUTES DLLEXPORT :: SubscribeBopElements
  71. !DEC$ ATTRIBUTES ALIAS: 'SubscribeBopElements' :: SubscribeBopElements
  72. implicit none
  73. procedure (ActionBopElement) :: a
  74. BopElementsPtr => a
  75. end subroutine
  76. end module CDownHoleActions