========== /SPH/INOUT ========== Ключевое слово формата блока Описывает условия на входе/выходе SPH. Формат ------ .. csv-table:: :header: "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)" :widths: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID", "/SPH/INOUT/condition_ID" "condition_name", "condition_name", "condition_name", "condition_name", "condition_name", "condition_name", "condition_name", "condition_name", "condition_name", "condition_name" "Итип", "part_ID", "surf_ID", "Расст.", "Расст.", "node_ID1", "node_ID2", "node_ID3", "Fcut", "Fcut" Ввод читается только если surf_ID = 0 , node_ID 1 = 0 , node_ID 2 = 0 и node_ID 3 = 0 22 23 24 .. csv-table:: :header: "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)" :widths: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 "XM", "XM", "YM", "YM", "ZM", "ZM", "", "", "", "" "XM1", "XM1", "YM1", "YM1", "ZM1", "ZM1", "", "", "", "" "XM2", "XM2", "YM2", "YM2", "ZM2", "ZM2", "", "", "", "" Итип = 1 - Общий вход 12 через 16 .. csv-table:: :header: "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)" :widths: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 "fct_IDr", "Фскалер", "Фскалер", "", "", "", "fct_IDE", "FscaleE", "FscaleE", "" "fct_IDVn", "", "", "", "", "", "", "", "", "" Итип = 2 - Общий выход 17 18 19 .. csv-table:: :header: "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)" :widths: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 "", "", "", "fct_IDP", "FscaleP", "FscaleP", "", "", "", "" "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат" Итип = 3 - Неотражающие границы (NRF) 19 20 21 .. csv-table:: :header: "(1)", "(2)", "(3)", "(4)", "(5)", "(6)", "(7)", "(8)", "(9)", "(10)" :widths: 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 "", "", "", "fct_IDP", "FscaleP", "FscaleP", ":math:`l_{c}`", ":math:`l_{c}`", "", "" "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат", "Пустой формат" Определение ----------- .. csv-table:: :header: "Поле", "Содержание", "Пример единицы СИ" :widths: 33, 33, 33 "condition_ID", "Состояние входа/выхода идентификатор.(Целое число, максимум 10 цифр)", "" "condition_name", "Состояние входа/выхода имя.(Символ, максимум 100 символов)", "" "Итип", "Тип условия. 22 24 =1 Общий вход. поверхность должна быть сетчатой, только Идентификатор поверхности может быть введен. =2 Общий выход =3 Неотражающие границы (NRF) =4 Раздел управления. Инструмент управления, используется только для измерения массового расхода измерение. (Целое число)", "" "part_ID", "Идентификатор детали используется в чтобы определить частицы SPH, рассматриваемые условие.(Целое число)", "" "surf_ID", "Поверхность идентификатор.(Целое число)", "" "Расст.", "Расстояние от поверхности для контроля частиц.(Реальный)", ":math:`[m]`" "node_ID1", "Необязательный идентификатор узла 1 (Itype ≠ 1).(Целое число)", "" "node_ID2", "Необязательный идентификатор узла 2 (Itype ≠ 1).(Целое число)", "" "node_ID3", "Дополнительный идентификатор узла 3 (Itype ≠ 1).(Целое число)", "" "Fcut", "Дополнительная частота среза (Itype ≠ 1). По умолчанию = 0 (Реальный)", "" "XM", "Дополнительная координата X M (Itype ≠ 1).(Реальный)", "" "YM", "Дополнительная координата Y M (Itype ≠ 1).(Реальный)", "" "ZM", "Дополнительная координата Z M (Itype ≠ 1).(Реальный)", "" "XM1", "Дополнительная координата X M1 (Itype ≠ 1).(Реальный)", "" "YM1", "Дополнительная координата Y M1 (Itype ≠ 1).(Реальный)", "" "ZM1", "Дополнительная координата Z M1 (Itype ≠ 1).(Реальный)", "" "XM2", "Дополнительная координата X M2 (Iтип ≠ 1).(Реальный)", "" "YM2", "Дополнительная координата Y M2 (Iтип ≠ 1).(Реальный)", "" "ZM2", "Дополнительная координата Z M2 (Iтип ≠ 1).(Реальный)", "" "fct_IDr", "Функция фр(т) идентификатор плотности. (Целое число)", "" "Фскалер", "Шкала плотности коэффициент.По умолчанию = 0,0 (Реальный)", ":math:`[\frac{kg}{m^{3}}]`" "fct_IDE", "Функция FE(т) идентификатор энергии.(Целое число)", "" "FscaleE", "Энергия на единицу объема масштабный коэффициент. По умолчанию = 0,0 (реальный)", ":math:`[\frac{J}{m^{3}}]`" "fct_IDVn", "Функция фВн(т) идентификатор скорости в нормальном направлении. (Целое число)", "" "fct_IDP", "Функция фП(т) идентификатор давления.(Целое число)", "" "FscaleP", "Шкала давления коэффициент.По умолчанию = 1,0 (Реальный)", ":math:`[Pa]`" ":math:`l_{c}`", "Характерная длина. 21(Реал)", ":math:`[m]`" Комментарии ----------- 1. Сегменты поверхности должны быть ориентированы так, что их нормальные векторы направлены внутрь домен. 2. Поверхность должна быть закреплена. 3. В случае входного состояния, условие входит в частицы, принадлежащие его родственной части, пока для этой части доступны неактивные частицы. Поведение частиц принадлежность к части, которая связана с условием, устанавливается относительно к характеристикам состояния для всех частиц, расположенных на положительной стороне поверхности, на расстоянии Dist от входного отверстия поверхность. 4. В случае состояния выхода, поведение частиц, принадлежащих к части, связанной с условие задается относительно характеристик состояния для всех частиц расположен на отрицательной стороне поверхности, на расстоянии Расстояние от выходной поверхности. Такая частица деактивируется, если он не взаимодействует ни с одной неисходящей частицей. 5. Частица, деактивированная выходом условие может быть повторно использовано входным условием, действующим на ту же деталь для входящий. 6. Если вы пользуетесь розетками, order = -1 рекомендуется в относительное свойство SPH. 7. В случае с розеткой начальная сетка должна быть создана на расстоянии до 2 часов от выходной поверхности (где h — длина сглаживания относительного свойства). В случае вход или выход, расстояние должно быть достаточно большим, чтобы контролировать входящие или исходящие частицы на расстоянии не менее 2 часов. .. image:: images/sph_inout_starter_r_image17.png :alt: Изображение 17 *(Рисунок 1. Обзор организации условий на входе)* .. image:: images/sph_inout_starter_r_sph_inout_outlet_condition.png *(Рисунок 2. Обзор организации условий на выходе)* 8. Домены определяются двумя поверхностями входа/выхода, и расстояния не должны перекрываться. 9. Рекомендуется изначально определять и контролировать частицы как на входе, так и на выходе более чем в два раза. длина сглаживания частиц. 10. Опция условий входа/выхода разрешено для параллельной версии SPMD. Однако параллельная арифметика (та же численные результаты получаются независимо от количества процессоров) не гарантировано для условий на входе. 11. Каждая входящая частица, принадлежащая часть, связанная с условием, получает ту же массу m p (определено в геометрическое свойство, присвоенное детали). Частица, принадлежащая этой части, вводится в центр сегмента поверхности в каждый момент времени t такой, что: :math:`m_{p}\ge\intt_{last}t\rho(t)⋅S_{i}⋅v(t)dt` Где, S i Площадь сегмента :math:`\rho(t)` и :math:`v(t)` Плотность и скорость поступающего материала (строки 2 и 3) t последний Время последнего поступления через этот сегмент Рекомендуется использовать обычную поверхностную сетку. 12. Если неактивные частицы, принадлежащие этой части недоступны для входящих, программа останавливается и вам необходимо предоставить больший набор неактивных частиц для этой части. 13. Если частица, принадлежащая части относящееся к состоянию, расположено на положительной стороне поверхности внутри Dist, его скорость устанавливается относительно данных указанный в строке 5. 14. If fct_ID r = 0 , плотность входящих частиц устанавливается равной: :math:`\rho_{a}=Fscale_{r}` в противном случае, :math:`\rho_{a}=Fscale_{_{r}}⋅f_{r}(t)` 15. If fct_ID E = 0 , энергия единицы объема прилетающих частиц равна установлен на :math:`E_{a}=Fscale_{E}` , в противном случае, :math:`E_{a}=Fscale_{E}⋅f_{E}(t)` 16. Если частица, принадлежащая части что связано с условием, расположенным на отрицательной стороне поверхности внутри Dist его внутреннее давление задается относительно данные, указанные в строке 6. 17. Если частица не взаимодействует с любой невыходящей частицей частица деактивируется. 18. If fct_ID P = 0 , внутреннее давление вылетающих частиц задается внутреннему давлению ближайшей частицы, расположенной над выпускным отверстием поверхность, в противном случае установлено значение :math:`Fscale_{P}⋅f_{P}(t)` 19. Если частица, принадлежащая части относящееся к состоянию находится на отрицательной стороне поверхности внутри тот Расст. , его внутреннее давление задается по уравнению: :math:`\frac{\partialP}{\partialt}=\rhoc\frac{\partialV_{n}}{\partialt}+c\frac{(P_{\infty}−P)}{2l_{c}}` 20. If fct_ID P = 0 , давление в дальней зоне :math:`P_{\infty}` установлено на Fшкала P , иначе для него установлено значение FscaleP fP(t). 21. :math:`l_{c}` – характерная длина, позволяющая вычислить граничную частоту :math:`f_{c}` as: :math:`f_{c}=\frac{c}{4⋅\pi⋅l_{c}}` 22. If Itype = 2 , 3 or 4 , поверхность может быть определен сетчатой поверхностью ( surf_ID > 0 ), на 3 узла ( node_ID 1 > 0 , node_ID 2 > 0 и node_ID 3 > 0 ) или по координаты 3-х узлов (М, М1 и М2). .. image:: images/sph_inout_starter_r_sect_paral.png :alt: sect_paral *(Рисунок 3.)* 23. Если Iтип = 2, 3 или 4, и если поверхность определяется тремя координатами, тогда поверхность будет зафиксирована. Если поверхность определяется идентификатором поверхности или тремя узлами, поверхность будет перемещаться по смещению элементов или узлов оболочки. 24. Если Iтип = 2, 3 или 4, вычисление пересечения поверхности всей массы происходит автоматически и может быть построено с использованием /TH/SPH_FLOW.