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

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

Udf Небольшоая проблемка

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

Используем Multiphase Eulerian модель. Состоит простая задача в том, чтобы  при определенных условиях в ячейках удалять одну из фаз и замещать ее другой в пропорции 50\50.

Упрощенно UDF фаил у меня выглядит вот так

DEFINE_ADJUST(name2, domain)
{
    #if !RP_HOST
Thread **pt;
Thread *thread;

mp_thread_loop_c(thread, domain, pt)
{
cell_t cell;
pt=THREAD_SUB_THREADS(thread);

begin_c_loop_int(cell, thread)
{
if(C_VOF(cell, pt[0])>0)
    {
        C_VOF(cell, pt[0])=0;
        C_VOF(cell, pt[1]) = 0.5;
        C_VOF(cell, pt[2]) = 0.5;
        
    }
}
end_c_loop_int(cell, thread)
}
#endif
}

Сыпется он с этим UDF На первой же итерации. Если же убарть  if(C_VOF(cell, pt[0])>0) и C_VOF(cell, pt[0])=0;, то во всех ячейках он спококйно все заполняет 1 и 2 фазой. Вот и вопрос в чем же проблема с проверкой условия есть ли 1 фаза и занулить ее.

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

Здравствуйте, задача ещё актуальна? Можете более подробно описать условия задачи и геометрию расчётной области? Какой физический процесс пытаетесь смоделировать? 

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

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

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