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

Нужна помощь с udf


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

Здравствуйте! Мне необходимо смоделировать движение горячего объекта во льду. Объект плавит лёд и под действием силы тяжести опускается вниз. Беда в том, что используемая модель Solidification and melting не меняет тип вещества (с fluid на solid и наоборот), а меняет только его свойства. Это мешает нормальной работе решателя six dof: под действием силы тяжести бур проходит через твёрдый лёд как через текучую среду. В связи с этим нужно написать udf, создающий и убирающий силу тяжести в зависимости от того, в какой фазе находится вещество в ячейках около горячей границы. У меня нет опыта в написании udf (и даже язык c я не знаю), но, пользуясь хелпом, кое-что набросал, ну и не удивляюсь что оно не работает. Помогите пожалуйста подкорректировать код. Спасибо!

 

#include "udf.h"

 DEFINE_SOURCE(my_source, c, f_thread, dS, eqn)
 {
int i = 0;
face_t f;
cell_t c;
real liq_frac=0, liq_frac_middle;
real source;
int bc_id = 5;
int domain_id=2;
Thread *f_thread = Lookup_Thread(domain_id, bc_id); 
  Domain *domain;
 thread_loop_c(f_thread, domain_id) /*loops over all cell threads in domain*/
  {
     begin_c_loop(c, f_thread)
  {
liq_frac += C_LIQF(c,f_thread);   %складываем все значения параметра чтобы найти среднее в слое ячеек
i++;                                          %считаем все ячейки чтобы найти среднее
  }  
  } 
 end_c_loop(c, f_thread) 
liq_frac_middle=liq_frac/i;             % считаем среднее
if (liq_frac_middle>0.8){
source = 200;
}
else{
source=0;
}
return source;

 

 

Безымянный.png

Ссылка на сообщение
Поделиться на других сайтах
  • 11 месяцев спустя...


On 3/31/2019 at 11:14 AM, kirill1g said:

Объект плавит лёд и под действием силы тяжести опускается вниз.

Зонд для исследования Европы?)

 

Как успехи с моделированием?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • 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
      с него родимого
×
×
  • Создать...