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

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

Здравствуйте, я пытаюсь задать каталистичиский процесс на стенке состоящий из трех реакций и написав соответвующую UDF, пытаюсь интрепретировать её во Fluent, на что получаю

error "structure reference not implemented" на следующее выражение

if(!strcmp(r->name,"reactoin-1"))

Затем я взял код UDF из мануала по Fluent

#include "udf.h"

DEFINE_DPM_OUTPUT(melting_output, header, fp, p, thread, plane)

{ real d;

d = P_DIAM(p);

d = p->state.diam;

}

Но таже самая ошибка "structure reference not implemented" появляется снова

d = p->state.diam;

...Подскажите пожалуйста как все таки рабоать со структурами в UDF...

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


Попробуйте использовать компилируемые UDF. Возможно, использование указателей не поддерживается в интерпретируемых UDF.

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

Дело в том что я хочу задать сам значения скоростей реакции а для этого использую DEFINE_SR_RATE как написано в 4.3.16 мануала

Macro: DEFINE_SR_RATE ( name, f, t, r, my, yi, rr)

Argument types: face_t f

Thread *t

Reaction *r

real *mw

real *yi

real *rr

Вот, а Reaction это у нас структура...и все попытки работать со структурами в UDF приводят к описаной выше ошибке. Что с этим делать незнаю...самое неприятное что даже примеры приведеные в пособии приводят к той же самой ошибке

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

Просто используйте компилируемые UDF (Для этого нужно, чтобы был установлен Microsoft Visual C++, v6.0 или выше).

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

Спасибо большое за помощь, но дело в том что у меня установлен MS Visual Studios , а проблема все таже. Скорее всего надо прописать гдето пути или еще чтото в этом роде. Не подскажете как это все сделать правильно?

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

Если проблема все та же, то есть fluent ругается, что не поддерживает структуры, то Вы по-видимому все еще используете интерпретируемые функции. Если VC++ установлен, то выбираете Define->User defined->Functions->Compiled.... Затем выбираете исходники своих функций в окне Compiled UDFs в области Source files, нажимаете Bild. Если компиляция и компоновка dll прошла нормально (при этом в консоль Fluent ,будет выдано чтото вроде этого:

...

Creating library libudf.lib and object libudf.exp

Done.

), то в Вашей рабочей директории появится папка libudf, в ней папка ntx86, в ней папка 2d

или 3d, а в папке 2d(3d) Ваша dll. Если она там есть, то можете нажимать кнопку Load в окне Compiled UDFs

После загрузки dll, функции становятся доступными из интерфейса.

Если компиляции не получилось, то либо в исходниках ошибки (тогда в консоль будет выдано краткое их описание), либо Fluent не знает пути к директориям компилятора VC. В последнем случае надо проверить, установлены ли переменные окружения include, lib и path на соответствующие пути к директориям include, lib и bin компилятора.

Изменено пользователем chupal
Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста, где проверить и как установить переменные окружения include, lib и path на соответствующие пути к директориям include, lib и bin компилятора?

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

Правой кнопкой мыши на My Computer -> Properties, на вкладке Advanced кнопка Environment Variables (внизу окна). Откроется окно Environment Variables. Ищем переменные INCLUDE, LIB и PATH в списках User Variables и System Variables. Если в каком-нибудь списке они есть, то проверяем их значения. Они должны быть примерно такими (зависит от места установки VC):

INCLUDE=C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

LIB=C:\Program Files\Microsoft Visual Studio\VC98\LIB

PATH=C:\Program Files\Microsoft Visual Studio\VC98\BIN

При этом указанные переменные могут содержать и другие пути, в зависимости от установленных у Вас программ. Разные пути добавляются в переменные окружения через разделители ; (точка с запятой).

Посмотреть переменные окружения также можно, если в режиме командной строки ввести команду SET без параметров.

При редактировании переменных окружения будьте осторожны, посколько оно может повлиять на работу других программ.

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

Лучше просто переустановить Visual Studio, только в начале инсталляции надо будет отметить галочку Set Environment (кажется так), потом после перезагрузки все будет работать

Изменено пользователем akaev
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Мрачный
      При пользовании народным макросом RecordDimM когда корректируешь резьбовое отверстие дважды вылазит в размере М, ММ14х1. Одно М ставит макрос, второе из обозначения отверстия с модели. Как сделать чтоб только одно М было? Забить первое ручками можно, только повторно макрос уже не воспринимает нормально такой правленый размер.
    • mamomot
      Я в свой адрес никогда не употреблял словосочетание "супер профи". Непонятно, чего Вы ко мне прилипли... Если у Вас есть какая-то конкретная критика по содержанию книги, оформлению, то от чего бы не высказать? Какой смысл в Вашем таком проведении?
    • maxx2000
      ну тогда делайте отдельно модель заготовки, либо отдельным файлом через публикацию геометрии, либо отдельным телом. Работайте, дураков работа любит 
    • maxx2000
      как нет? есть ГОСТ на резьбы в целом, канавки, и фаски и т.п. А ссылаться на него или нет это как фломастеры  по желанию
    • lem_on
      Мамомот, а ты и в самом деле не супер профи, просто понторез. 
    • lem_on
      09.02.2024 в 20:22, mamomot сказал: Я со сваркой конкретно имею дело с 1990 года   Чувствуешь что чем то, запахло, учитывая что запах не передаётся через интернет?  Я тебе ещё в той теме сказал, что свой опыт можешь намазать вазелином и засунуть куда подальше. И в этой теме сказал, что годы не значат опыт или мастерство. Так что можешь и дальше прикидываться дурачком. 
    • A_1
      Да, мы использовали её и на токарных и на фрезерных станках.
    • mamomot
      1. Ну, если попросить тебя привести мою цитату, где  я говорил о себе: "опытный супер профи", - ты же обгадишься. Что, в общем, для тебя обычное дело... 2. В 2020 году был карантин, и фирма, в которой я работал, обанкротилась, поэтому в конце апреля того года я выложил резюме, а в июне уже работал на новом месте. 3. Картинки обычные, вырезанные из 3Д редактора.
    • lem_on
      Не, ну ладно бы мужик был, а то сексуальное меньшинство, ему на Евровидение надо, там таких любят. А я то что, глупенький, мне и с бабами хорошо. 
    • Bot
      Оригинал — на сайте компании C3D Labs Результатом проекта стала модернизация первой в России системы комплексной автоматизации для мебельной отрасли «Базис», которая целиком основана на российском ПО и охватывает весь жизненный цикл мебельной продукции — от приема заказа до отгрузки. Компания «Базис-Центр» внедрила в основу конструкторских модулей системы «Базис» геометрическое ядро C3D, которое стало одним из ключевых элементов, определивших ее успех в сегменте мебельных САПР. Заказчик: «Базис-Центр» — ведущий российский разработчик автоматизированных систем проектирования, технологической подготовки и управления производством для предприятий мебельной отрасли и некоторых смежных отраслей, а также программного обеспечения для центров дистрибуции мебельных изделий. Основные направления деятельности: разработка программного обеспечения; подготовка специалистов в области автоматизации бизнес-процессов мебельных предприятий; консалтинговые услуги в области [...] View the full article
×
×
  • Создать...