Я пытаюсь написать 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)
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%