Прежде чем представить свой вопрос, я хотел бы подчеркнуть тот факт, что я кодер, поэтому я могу ошибаться, используя какую-то терминологию.
Какая модель является хорошей для расчета потока, формы и всех геометрических свойств воды? (и вообще другие подобные жидкости, вроде смесей на основе воды или каких-то более маслянистых и вязких веществ)
Я предполагаю, что такого рода симуляции будут основаны на частицах, то есть на объектах, которые являются частью области, определяющей «капли» воды, но мне нужны математика, уравнения и математическая модель/модели; Я понятия не имею, что такое математика, стоящая за жидкостью, которая сталкивается с поверхностью, и есть ли какой-либо алгоритм или модель, которые можно перевести в машинный код для вычисления этого.
Для простоты я не рассматриваю воздух и то, какие свойства воздух может изменить, или любую другую дополнительную переменную, не относящуюся к области этой капли жидкости, например, добавление наклонной плоскости, где капли, скажем так, пока Я рассматриваю вектор и количество жидкости X, это количество распыляется или просто капает на поверхность, и я должен быть в состоянии воспроизвести реалистичную дисперсию воды на поверхности, еще лучше я должен быть в состоянии вычислить различные жидкости с разными свойствами одновременно, например, вода и масло.
Как я уже говорил, я думаю, что любой код трехмерной гидродинамики будет работать. Основы гидродинамики можно свести к следующим пяти уравнениям:
Поскольку компьютеры являются дискретными объектами, мы определяем объем (обычно так что объем , но это не обязательно верно) с положением по центру ячейки где . Затем каждая переменная определяется усредненным по объему значением:
Затем мы можем численно смоделировать три уравнения сохранения как (я собираюсь использовать для примера сохранение массы)
В трех измерениях вы можете решать уравнения направленно (т.е. решаются независимо, но в чередующемся порядке на каждом временном шаге), или вы можете объединить их в то, что называется «угловым транспортом», где поток, скажем, учитывается при нахождении . Последний вариант сложнее кодировать, но он обеспечивает более точное решение, в то время как первый довольно легко реализовать.
Для граничных условий вам понадобится отражающая граница на поверхности ( где является нормальным направлением к поверхности) и, вероятно, экстраполируется везде ( где это максимальное количество ячеек в направление). Эти две границы и приведенные выше 5 уравнений должны позволить вам полностью смоделировать столкновение капли воды с поверхностью.
Вы также можете добавить эффекты вязкости к уравнениям (2,3,4), добавив к RHS дивергенцию тензора вязкости, :
Из всего этого я делаю вывод, что у вас есть два варианта:
Учитывая сложность кодирования кода многомерной гидродинамики (здесь личный опыт), вам может быть значительно проще выбрать вариант 2, но мое единственное предупреждение по этому поводу заключается в следующем: код, который вы найдете и используете, не является черным ящиком , а не должны рассматриваться как таковые ; вы должны понять , что делает код и почему , прежде чем вы сможете даже подумать о запуске кода.
Сначала совет: не игнорируйте воздух! Исследования, проведенные за последние пару лет, показали, что воздух (в частности, атмосферное давление) имеет решающее значение для определения того, производит ли капля всплеск, и если да, то какова динамика. Одной из знаковых статей в этой области является публикация Weitz Group в PRL в 2012 году .
Затем к вашему вопросу о моделировании капли, падающей на брызги. Я думаю, что лагранжев подход для жидкости (т.е. жидких «частиц») действительно даст наиболее реалистичное моделирование, но он также будет чрезвычайно затратным в вычислительном отношении. Поэтому вы можете рассмотреть методы конечного объема, такие как Volume-of-Fluid , Level-Set и Front-Tracking. Трудно дать вам какой-либо совет, какой из них лучше, потому что это во многом зависит от опыта и деталей реализации, но вы можете найти хорошее обсуждение на этом веб-сайте Института Жана Ле Ронда д'Аламбера .
f(x)
я f(x) = 4 + 3x
все равно должен вычислить .
Кайл Канос