ГРАФИЧЕСКИЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ И ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО ДЛЯ ПРОГРАММИРОВАНИЯ УПРАВЛЕНИЯ СКВАЖИНАМИ

1. Способ моделирования коллектора, содержащий этапы:
построение иерархической логической схемы, имеющей один или более компонентов, при этом каждый компонент представляет блок программного кода; и
преобразование иерархической логической схемы в программный код, выполненный с возможностью управлять моделированием коллектора.
2. Способ по п.1, дополнительно содержащий отображение иерархической логической схемы на графическом интерфейсе пользователя.
3. Способ по п.1, в котором программным кодом является один из языков C++ и ФОРТРАН.
4. Способ по п.1, в котором иерархическая логическая схема обеспечивает высокоуровневое структурированное представление программного кода для управления моделированием коллектора.
5. Способ по п.1, в котором каждый компонент является расширяемым в один или более подкомпонентов.
6. Способ по п.1, дополнительно содержащий генерирование кода отладки в течение преобразования иерархической логической схемы в программный код.
7. Способ по п.1, дополнительно содержащий генерацию документации для каждого компонента.
8. Способ по п.1, дополнительно содержащий выполнение программного кода, чтобы сгенерировать моделируемый коллектор.
9. Способ по п.8, дополнительно содержащий использование моделируемого коллектора для предсказания отдачи коллектора.
10. Способ по п.8, дополнительно содержащий использование моделируемого коллектора для добычи углеводородов из коллектора.
11. Способ по п.1, в котором компоненты содержат компонент оборудования, выполненный с возможностью описывать или определять оборудование.
12. Способ по п.11, в котором оборудование содержит одно из: скважины, платформы и месторождения.
13. Способ по п.11, в котором компонент оборудования содержит один или более из компонентов последовательности, причем каждый компонент последовательности выполнен с возможностью помечать начало секции основной логики в программном коде.
14. Способ по п.13, в котором каждый компонент последовательности содержит один или более из общих компонентов, причем каждый общий компонент выполнен с возможностью выполнения одной или более логических операций, чтобы управлять моделированием коллектора.
15. Способ по п.14, в котором каждый общий компонент содержит компонент if_test, выполненный с возможностью задавать логическое условие.
16. Способ по п.15, в котором преобразование иерархической логической схемы содержит трансляцию логического условия для компонента if_test в программный код.
17. Способ по п.16, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для логического условия.
18. Способ по п.17, в котором разрешение ссылки на оборудование в программном коде для логического условия содержит установку ссылки на оборудование на оборудование, определенное компонентом set_loop, если общий компонент, к которому принадлежит компонент if_test, является частью компонента set_loop.
19. Способ по п.17, в котором разрешение ссылки на оборудование в программном коде для логического условия дополнительно содержит установку ссылки на оборудование на оборудование, определенное с помощью описания компонента оборудования, если общий компонент, которому принадлежит компонент if_test, является частью по меньшей мере одного из компонентов последовательности.
20. Способ по п.17, в котором разрешение ссылки на оборудование в программном коде для логического условия дополнительно содержит установку ссылки на оборудование на оборудование, которое вызывает компонент последовательности, частью которого является логическое условие, если общий компонент, которому принадлежит компонент if_test, не вложен под любым компонентом set_loop, и если общий компонент является частью компонента последовательности, конфигурированного как подпрограмма.
21. Способ по п.14, в котором каждый общий компонент содержит компонент цикла, сконфигурированный для выполнения конструкции цикла.
22. Способ по п.21, в котором конструкцией цикла является одна из цикла while, цикла for и set_loop.
23. Способ по п.21, в котором каждый общий компонент содержит условие quit_loop_condition, конфигурированное для определения завершения конструкции цикла.
24. Способ по п.23, в котором преобразование иерархической логической схемы содержит трансляцию quit_loop_condition в программный код.
25. Способ по п.24, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для quit_loop_condition.
26. Способ по п.25, в котором разрешение ссылки на оборудование в программном коде для quit_loop_condition содержит установку ссылки на оборудование на логическое состояние, определенное компонентом if_test.
27. Способ по п.21, в котором компонент цикла содержит компонент if_test, выполненный с возможностью задавать логическое условие.
28. Способ по п.14, в котором преобразование иерархической логической схемы содержит трансляцию условия фильтра для компонента цикла в программный код.
29. Способ по п.14, в котором каждый общий компонент содержит компонент execute_action, сконфигурированный для выполнения команды.
30. Способ по п.29, в котором преобразование иерархической логической схемы содержит трансляцию команды для компонента execute_action в программный код.
31. Способ по п.30, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды.
32. Способ по п.31, в котором разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды содержит ссылку на условия для компонента if_test, который определяет каждый общий компонент, к которому принадлежит компонент execute_action.
33. Способ по п.31, в котором разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды содержит установку ссылки на оборудование на оборудование, определенное компонентом set_loop, если компонент execute_action является частью компонента set_loop.
34. Способ по п.29, в котором компонент execute_action ссылается на функцию.
35. Способ по п.29, в котором компонент execute_action содержит компонент nested_generic, сконфигурированный для выполнения одной или более логических операций для управления моделированием коллектора.
36. Способ по п.29, в котором преобразование иерархической логической схемы содержит трансляцию компонента execute_action в программный код.
37. Способ по п.14, в котором преобразование иерархической логической схемы содержит трансляцию общих компонентов в программный код.
38. Способ по п.14, в котором каждый общий компонент содержит компонент nested_generic, сконфигурированный для выполнения одной или более логических операций для управления моделированием коллектора.
39. Способ по п.13, в котором преобразование иерархической логической схемы содержит трансляцию компонентов последовательности в программный код.
40. Способ по п.1, в котором компоненты содержат компонент оборудования, выполненный с возможностью описывать или определять оборудование, и в котором преобразование иерархической логической схемы в программный код содержит сохранение имени для оборудования.
41. Способ по п.28, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для условия фильтра.
42. Способ по п.41, в котором разрешение ссылки на оборудование в программном коде для условия фильтра содержит установку ссылки на оборудование на оборудование, определенное компонентом цикла, если компонентом цикла является конструкция set_loop.
43. Способ по п.1, в котором компоненты сгруппированы в один или более контейнерных компонентов.
44. Компьютерная система, содержащая:
процессор; и
память, содержащую программные команды, выполняемые процессором для:
формирования иерархической логической схемы, имеющей один или более компонентов, причем каждый компонент представляет блок программного кода; и
преобразования иерархической логической схемы в программный код, сконфигурированный для управления моделированием коллектора.
45. Компьютерная система по п.44, в которой память дополнительно содержит команды программы для отображения иерархической логической схемы на графическом интерфейсе пользователя.
46. Компьютерная система по п.44, в которой программным кодом является один из C++ и ФОРТРАНА.
47. Компьютерная система по п.44, в которой иерархическая логическая схема обеспечивает высокоуровневое структурное представление программного кода для управления моделированием коллектора.
48. Способ предсказания отдачи коллектора, содержащий этапы:
построение иерархической логической схемы, использующей графический интерфейс пользователя, при этом иерархическая логическая схема содержит один или более компонентов, причем каждый компонент представляет блок программного кода;
отображение иерархической логической схемы посредством графического интерфейса пользователя;
преобразование иерархической логической схемы в программный код, сконфигурированный для управления моделированием коллектора; и
выполнение программного кода, чтобы сформировать моделируемую модель коллектора.
49. Способ по п.48, дополнительно содержащий использование моделируемого коллектора, чтобы предсказать отдачу коллектора.
50. Способ по п.48, дополнительно содержащий использование моделируемого коллектора для добычи углеводородов из коллектора.
51. Способ по п.48, в котором иерархическая логическая схема является настраиваемой.
52. Способ по п.48, в котором программным кодом является один из C++ и ФОРТРАНА.
53. Способ по п.48, в котором иерархическая логическая схема обеспечивает высокоуровневое структурное представление программного кода для управления моделированием коллектора.
54. Способ по п.48, дополнительно содержащий генерирование кода отладки во время преобразования иерархической логической схемы в программный код.
55. Способ по п.48, в котором компоненты содержат компонент оборудования, выполненный с возможностью описывать или определять оборудование.
56. Способ по п.55, в котором оборудование содержит одно из: скважины, платформы и месторождения.
57. Способ по п.55, в котором компонент оборудования содержит один или более компонентов последовательности, причем каждый компонент последовательности выполнен с возможностью помечать начало основной секции логики в программном коде.
58. Способ по п.13, в котором каждый компонент последовательности содержит одни или более общих компонентов, причем каждый общий компонент конфигурирован для выполнения одной или более логических операций для управления моделированием коллектора.
59. Способ по п.58, в котором каждый общий компонент содержит компонент if_test, выполненный с возможностью задавать логическое условие.
60. Способ по п.59, в котором преобразование иерархической логической схемы содержит трансляцию логического условия для компонента if_test в программный код.
61. Способ по п.60, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для логического условия.
62. Способ по п.61, в котором разрешение ссылки на оборудование в программном коде для логического условия содержит установку ссылки на оборудование на оборудование, определенное компонентом set_loop, если общий компонент, к которому принадлежит компонент if_test, является частью компонента set_loop.
63. Способ по п.61, в котором разрешение ссылки на оборудование в программном коде для логического условия дополнительно содержит установку ссылки на оборудование на оборудование, определенное в соответствии с описанием компонента оборудования, если общий компонент, которому принадлежит компонент if_test, является частью по меньшей мере одного из компонентов последовательности.
64. Способ по п.61, в котором разрешение ссылки на оборудование в программном коде для логического условия дополнительно содержит установку ссылки на оборудование на оборудование, которое вызывает компонент последовательности, частью которого является логическое условие, если общий компонент, к которому компонент if_test принадлежит, не вложен под любым компонентом set_loop, и если общий компонент является частью компонента последовательности, сконфигурированного как подпрограмма.
65. Способ по п.59, в котором каждый общий компонент содержит компонент цикла, сконфигурированный для выполнения конструкции цикла.
66. Способ по п.65, в котором конструкцией цикла является одна из цикла while, цикла for и set_loop.
67. Способ по п.65, в котором каждый общий компонент содержит условие quit_loop_condition, конфигурированное для определения завершения конструкции цикла.
68. Способ по п.67, в котором преобразование иерархической логической схемы содержит трансляцию quit_loop_condition в программный код.
69. Способ по п.68, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для quit_loop_condition.
70. Способ по п.69, в котором разрешение ссылки на оборудование в программном коде для quit_loop_condition содержит установку ссылки на оборудование равным логическому состоянию, определенному компонентом if_test.
71. Способ по п.65, в котором компонент цикла содержит компонент if_test, выполненный с возможностью задавать логическое условие.
72. Способ по п.58, в котором преобразование иерархической логической схемы содержит трансляцию условия фильтра для компонента цикла в программный код.
73. Способ по п.58, в котором каждый общий компонент содержит компонент execute_action, сконфигурированный для выполнения команды.
74. Способ по п.73, в котором преобразование иерархической логической схемы содержит трансляцию команды для компонента execute_action в программный код.
75. Способ по п.74, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды.
76. Способ по п.75, в котором разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды содержит обращение к компоненту if_test, который определяет каждый общий компонент, к которому принадлежит компонент execute_action.
77. Способ по п.75, в котором разрешение ссылки на оборудование и/или жидкую фазу в программном коде для команды содержит установку ссылки на оборудование, определенное компонентом set_loop, если компонент execute_action является частью компонента set_loop.
78. Способ по п.73, в котором компонент execute_action ссылается на функцию.
79. Способ по п.73, в котором компонент execute_action содержит компонент nested_generic, сконфигурированный для выполнения одной или более логических операций для управления моделированием коллектора.
80. Способ по п.73, в котором преобразование иерархической логической схемы содержит трансляцию компонента execute_action в программный код.
81. Способ по п.58, в котором преобразование иерархической логической схемы содержит трансляцию общих компонентов в программный код.
82. Способ по п.58, в котором каждый общий компонент содержит компонент nested_generic, сконфигурированный для выполнения одной или более логических операций для управления моделированием коллектора.
83. Способ по п.57, в котором преобразование иерархической логической схемы содержит трансляцию компонентов последовательности в программный код.
84. Способ по п.48, в котором компоненты содержат компонент оборудования, выполненный с возможностью описывать или определять оборудование, и в котором преобразование иерархической логической схемы в программный код содержит сохранение имени для оборудования.
85. Способ по п.84, в котором преобразование иерархической логической схемы содержит разрешение ссылки на оборудование в программном коде для условия фильтра.
86. Способ по п.85, в котором разрешение ссылки на оборудование в программном коде для условия фильтра содержит установку ссылки на оборудование на оборудование, определенное компонентом цикла, если компонентом цикла является конструкция set_loop.
87. Реализуемый компьютером способ для моделирования коллектора, содержащий этапы:
построение иерархической логической схемы, представляющей программу управления скважиной, при этом иерархическая логическая схема содержит один или более компонентов, причем каждый представляет блок программного кода;
декодирование иерархической логической схемы в программный код низкого уровня;
компилирование программного кода низкого уровня;
связывание программного кода низкого уровня с программой моделирования коллектора;
генерирование имитационной модели коллектора из программы моделирования коллектора; и
сохранение результатов имитационной модели коллектора.
88. Способ по п.87, дополнительно содержащий оценивание коллектора на основании имитационной модели коллектора.
89. Способ по п.87, дополнительно содержащий генерирование отчета относительно оценки.
90. Способ по п.87, в котором иерархическая логическая схема сконфигурирована для установки дебитов скважины и граничных условий для имитационной модели коллектора.
91. Способ по п.87, в котором модель имитатора коллектора содержит коллектор и оборудование, при этом оборудование представляет физическое оборудование на пути движения текучей среды между коллектором и местоположением поставки.
92. Способ по п.91, в котором оборудованием является одно или более из платформ, сборников, насосов, компрессоров, устройств разделения, трубопроводов и буровых установок.
93. Способ по п.87, в котором моделирование используется для моделирования химических, физических процессов и процессов жидкого потока, имеющих место в коллекторе, чтобы предсказать будущее поведение коллектора и увеличить отбор углеводородов из коллектора.