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

UDF во Fluent


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

Люди, а есть у когонибудь описание как писать udf'ы во Fluent?

Конкретно - нужно вставить в уравнения навье-стокса дополнительную силу, зависящую от градиента температуры. Если кто может прямо так подсказать - буду очень благодарен!)

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


Люди, а есть у когонибудь описание как писать udf'ы во Fluent?

Конкретно - нужно вставить в уравнения навье-стокса дополнительную силу, зависящую от градиента температуры. Если кто может прямо так подсказать - буду очень благодарен!)

Смотрите UDF Manual. Например <noindex>здесь</noindex> можно посмотреть пример задания источника, а <noindex>здесь</noindex> посмотреть информацию по функции, возвращающей градиент температуры.

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

Прчитал, написал - не работает...

при попытке итерировать выдает

Error:

FLUENT received fatal signal (ACCESS_VIOLATION)

1. Note exact events leading to error.

2. Save case/data under new name.

3. Exit program and restart to continue.

4. Report error to your distributor.

Error Object: ()

Вот мой udf:

#include "udf.h"

#define E 1e6

#define CONSTN 0.146e-3



DEFINE_SOURCE(electric_force_x, c, t, dS, eqn)

{

real x[ND_ND];

real eforce_x;

real deps_x;

real drho_x = C_R_G(c,t)[0];



deps_x = -2*CONSTN*(drho_x/(CONSTN*C_R(c,t)-1))-((-2*CONSTN*C_R(c,t)-1)/((CONSTN*C_R(c,t)-1)*(CONSTN*C_R(c,t)-1)))*CONSTN*drho_x;



eforce_x = 0.5*E*E*deps_x;



return eforce_x;

}

Не понимаю, в чем причина.. в мануале написано про то что нужно использовать coupled солвер при C_R_G - не помогло (...

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

Прчитал, написал - не работает...

при попытке итерировать выдает

Error:

FLUENT received fatal signal (ACCESS_VIOLATION)

1. Note exact events leading to error.

2. Save case/data under new name.

3. Exit program and restart to continue.

4. Report error to your distributor.

Error Object: ()

Вот мой udf:

#include "udf.h"

#define E 1e6

#define CONSTN 0.146e-3



DEFINE_SOURCE(electric_force_x, c, t, dS, eqn)

{

real x[ND_ND];

real eforce_x;

real deps_x;

real drho_x = C_R_G(c,t)[0];



deps_x = -2*CONSTN*(drho_x/(CONSTN*C_R(c,t)-1))-((-2*CONSTN*C_R(c,t)-1)/((CONSTN*C_R(c,t)-1)*(CONSTN*C_R(c,t)-1)))*CONSTN*drho_x;



eforce_x = 0.5*E*E*deps_x;



return eforce_x;

}

Не понимаю, в чем причина.. в мануале написано про то что нужно использовать coupled солвер при C_R_G - не помогло (...

Во первых, по-видимому, не стоит использовать C_R_G для pressure based solver. А можно попробовать выразить градиент плотности через градиенты давления и температуры (если, например у Вас идеальный газ).

Во вторых, сначала загрузите решение, затем дайте команду solve/set/expert и ответьте yes на вопрос Keep temporary solver memory from being freed? (на остальные вопросы жмите enter, оставляя по-умолчанию). После этого сделайте хотя бы одну итерацию не подключая udf. После того, как итерация будет сделана, подключите udf и запустите расчет снова. Думаю, что это поможет.

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

chupal, спасибо, за совет, помогло выражение плотности через т-ру. :smile: Ошибки не выдает, но теперь пишет что т-ра превысила 5000 К.. задача - свободная конвекция жидкого азота =( Где я напортачил... :wallbash: И это при том, что никаких источников тепловыделения нет, есть только объемные силы...

chupal, спасибо, за совет, помогло выражение плотности через т-ру. :smile: Ошибки не выдает, но теперь пишет что т-ра превысила 5000 К.. задача - свободная конвекция жидкого азота =( Где я напортачил... :wallbash: И это при том, что никаких источников тепловыделения нет, есть только объемные силы...

:doh: Сори, все нормально!!! Спасибо! :smile:
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
    • Grundick
×
×
  • Создать...