Перейти к публикации

udf для источника тепла


Рекомендованные сообщения

Камрады, кто в теме, оцените udf для источника тепла S=161920*sin(pi*x):

 

#include "udf.h"
DEFINE_SOURCE(heat_source,cell,thread,dS,eqn)
 {
    real xc[ND_ND];
    real source;
    real PI=4.*atan(1.);
    
      source = 161920*sin(PI*xc[0]);
      dS[eqn] = 0.;
    
    return source;
 }

 

Если S=const (например, без синуса), то все считается как надо. Как только делаю S зависимым от координаты x(=xc[0]) источник вносит почему-то нулевой вклад.

Подозреваю, что не так обращаюсь к координате (?)

Ссылка на сообщение
Поделиться на других сайтах


Нашел похожий пример, теперь вроде заработало:

 

#include "udf.h"
DEFINE_SOURCE(heat_source2,cell,thread,dS,eqn)
 {
    real x[ND_ND];
    real source;
    real PI=4.*atan(1.);
    
     C_CENTROID (x, cell, thread);
     source = 161920.*sin(5.*PI*x[0]);
     dS[eqn] = 0.;
    return source;
 }

 

т.е. добавил "C_CENTROID (x, cell, thread);"

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...