Ansys Fluent UDF, средняя температура стенки зависит от скорости на входе - PullRequest
0 голосов
/ 13 апреля 2019

Я пытаюсь написать UDF fluent code, что средняя температура стенки зависит от скорости на входе.У меня есть лицо, ID которого равен 9, а его средняя температура зависит от скорости на входе.Когда средняя температура лица увеличивается, скорость на входе увеличивается с каждым временным шагом (переходный процесс).

Когда я запускаю расчет, после одного временного шага (например, 10 или 20 итераций) я получаю ошибку, которая означает, что я не могу идтичерез второй шаг по времени.

 Error: received a fatal signal (Segmentation fault). Error Object: #f
  • Я использовал свободный на серийном

  • Я использовал его на переходных процессах, на энергии, вязкой-EPS или ламинарный

  • Я увеличил Количество определяемой пользователем ячейки памяти

  • Я взаимодействовал с моим кодом как (kod.c) (который являетсяне имеет ошибок в команде)

  • Я сделал, чтобы добавить функции перехватывает на Выполнить в конце как (execute_at_end)

  • Я добавил скорость на входевеличина как (unsteady_velocity)

Код:

#include "udf.h"
real T_mean;

DEFINE_EXECUTE_AT_END(execute_at_end)
{
Domain *domain;
Thread *thread;
face_t face;
real area[ND_ND];
real total_area = 0.0;
real total_area_ave_temp = 0.0;
int ID = 9;
domain = Get_Domain(1);
thread = Lookup_Thread(domain, ID); 
    begin_f_loop(face, thread)
        F_AREA(area, face, thread);
        total_area += NV_MAG(area);
        total_area_ave_temp += NV_MAG(area)*F_T(face, thread);
    end_f_loop(face, thread)
T_mean = total_area_ave_temp/total_area;
printf("Area averaged T on boundary %d = %f K\n", ID, T_mean);
}


DEFINE_PROFILE(unsteady_velocity, thread, position)
{
face_t f;
real t = CURRENT_TIME;
begin_f_loop(f, thread)
{
F_PROFILE(f, thread, position) = (T_mean-273) ;
}
end_f_loop(f, thread)
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...