Все ответы об инженерном анализе

Перед началом работы настоятельно рекомендуем ознакомиться с правилами форума.

Моделирование прохождения объекта с высокой температурой через лёд

kirill1g
Аватар пользователя kirill1g

Здравствуйте! Задача состоит в следующем: смоделировать движение плавящего бура при прохождении через лёд под действием силы тяжести. Задаётся температура стенок бура выше температуры плавления окружающего льда, бур должен плавить лёд под собой и под действием силы тяжести опускаться вниз (со скоростью движения границы раздела фаз). Решаю с помощью Solidification and melting, используется решатель Six DOF. Лёд плавится, с этим все хорошо, но проблема в том, что, как я понимаю, Fluent считает что лёд это текучая среда, и под действием силы тяжести бур проходит сквозь него словно сквозь воду. Для чистоты эксперимента убрал ГУ с температурой на стенках бура, чтобы воды небыло вообще, и всё равно зонд движется. Помогите пожалуйста справиться с задачей средствами Fluent, если это возможно, или может есть альтернативные пакеты, способные справиться с такой задачей?

dvolkind
Аватар пользователя dvolkind

Здравствуйте!

Думаю, что при помощи UDF можно попробовать замутить. Для случая чисто поступательного движения я бы предложил следующее. Попытайтесь написать функцию, которая будет проверять долю твердой фазы в каждой сеточной грани поверхности бура. Если в ячейке есть твердая фаза (объемная доля >0 или =1 - на ваше усмотрение), и эта ячейка имеет ненулевую проекцию нормали на направление движения (т.е. не параллельна движению), то вы либо обнуляете скорость тела, либо добавляете силу, равную по величине силе тяжести и противоположную ей по направлению.

Следующий этап - это учет силы трения, но у меня нет идей по определению коэффициента трения тела о тающий лёд, тут какая-то эмпирика точно нужна. Далее можно попробовать реализовать больше степеней свободы, в частности - вращательных (хотя для бура, наверно, одной степени свободы будет достаточно). Это не должно быть сложно при условии, что у вас будут правильно вычисляться силы трения и нормального давления в отдельных ячейках.

kirill1g
Аватар пользователя kirill1g

Хорошая мысль, только вот очень трудно осуществимая для меня. Подскажите пожалуйста, как я могу обратиться к ячейкам около определённой границы и к их значению параметра liquid fraction? Если есть какая-нибудь статья с подробными примерами составления сложных udf функций, посоветуйте пожалуйста. Спасибо!

dvolkind
Аватар пользователя dvolkind

Цитата:
как я могу обратиться к ячейкам около определённой границы

Лучше не к ячейкам около границы, а к граням ячеек на границе. Чтобы получить указатель на тред граней:

int bc_id = 5; /* ID поверхности бура, который отображается в правом нижнем углу меню boundary conditions */

Thread *ft = Lookup_Thread(domain, bc_id); 

Цитата:
и к их значению параметра liquid fraction?

Попробуйте макрос F_LIQF - если он существует, то вернет значение сразу на грани. Если нет - то C_LIQF точно сработает, но для этого нужно найти соседнюю ячейку. Посмотрите эту тему.

Цитата:
Если есть какая-нибудь статья с подробными примерами составления сложных udf функций

Боюсь, что хелп - лучший помощник.

kirill1g
Аватар пользователя kirill1g

Не могли бы вы взглянуть на код? Это мой первый в жизни код на C и хотелось бы убедиться что я хоть приблизительно разобрался в этом.
 

#include "udf.h"

 DEFINE_SOURCE(my_source, c, f_thread, dS, eqn)
 {
int i = 0;
    face_t f;
cell_t c;
real liq_frac=0, liq_frac_middle;
int bc_id = 5;
int domain_id=2;
Thread *f_thread = Lookup_Thread(domain_id, bc_id); 
 begin_c_loop(c, f_thread)
  {
liq_frac += C_LIQF(c,f_thread);
i++;
  }
 end_c_loop(c, f_thread) 
liq_frac_middle=liq_frac/i;
if (liq_frac_middle>0.5){
source = ...
}
else{
source=0;
}
return source;
 }

Подскажите пожалуйста, что такое dS[eqn] в этом макросе и как его определить? Как можно определить силу, когда под стенкой вода ( может быть посчитать по mg, но тогда вдедь g нужно вытащить из флюента? как это сделать?) Я думаю что очень большая точность в определении силы тут не нужна, поскольку плавление каждого слоя ячеек будет очень долгим.

Добавить комментарий

Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Приложить файл

Максимальный размер файла: 999 МБ.
Допустимые типы файлов: txt doc docx xls xlsx pdf rar zip 7zip tar.