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.

CDownHoleActions.f90 3.4 KiB

1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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