The_Immortal

Компиляция UDF

Pinned posts

ID: 1   Опубликовано: (изменено)

Всех приветствую!

 

Господа, помогите, пожалуйста, побороть компиляцию UDF-файла.

 

Делаю вроде как и нужно:

 

1. Скачал VS 2017.

2. Открыл %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" (Командная строка разрабочтчика) - через неё запустил *.cas.

3. Далее уже во Fluent'е загрузил UDF-файл и нажал Build:

Цитата

> Copied C:\Users\emm\Desktop\fluent/C:\Users\emm\Desktop\fluent\profcarWE_1.5.c to libudf\src

Creating user_nt.udf file for 2d ...

(system "copy "C:\PROGRA~1\ANSYSI~1\v172\fluent"\fluent17.2.0\src\udf\makefile_nt.udf "libudf\win64\2d\makefile" ")

ª®¯¨à®¢ ­® ä ©«®¢: 1.

(chdir "libudf")(chdir "win64\2d")# Generating ud_io1.h

profcarWE_1.5.c

# Generating udf_names.c because of makefile profcarWE_1.5.obj

udf_names.c

# Linking libudf.dll because of makefile user_nt.udf udf_names.obj profcarWE_1.5.obj

Microsoft (R) Incremental Linker Version 14.12.25835.0

Copyright (C) Microsoft Corporation. All rights reserved.

 

Ñîçäàåòñÿ áèáëèîòåêà libudf.lib è îáúåêò libudf.exp

 

Done.

 

Тут, правда, какие-то крякозябры (не знаю как от них избавиться), но вроде как ошибок никаких не возникло (папка с именем функции создалась, внутрии неё есть вские dll, lib, exp и прочее).

Далее пытаюсь загрузить функцию через Manage, введя её имя и получаю скромное:

 

Цитата

 

Error: Error code: 193\n

Error Object: #f

 

 

По этой проблеме нашел всего лишь один топик, который оказался бесполезным :(

 

Подскажите, пожалуйста, в какую сторону копать?

 

Спасибо!

 

P.S. Ansys 17.2, Windows 8.1, Visaul Studio 2017.

Изменено пользователем The_Immortal

Поделиться сообщением


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


UnPinned posts

@The_Immortal,

можете попробовать сюда свой .c выложить.

 

Общее у вас и ТС с cfd-online, что компилятор выдает сообщение на национальных языках. Не могу утверждать, что в этом причина проблемы, но лучше такого стараться избегать.

1 пользователю понравилось это

Поделиться сообщением


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

Ñîçäàåòñÿ áèáëèîòåêà libudf.lib è îáúåêò libudf.exp = Создается библиотека libudf.lib и объект libudf.exp

ª®¯¨à®¢ ­® ä ©«®¢: 1. = копировно файлов : 1 

 

 

Теоретически все скомпилировалось без ошибок. А кнопку Load нажимали после компиляции?

1 пользователю понравилось это

Поделиться сообщением


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

ID: 4   Опубликовано: (изменено)

14 минуты назад, piden сказал:

Общее у вас и ТС с cfd-online, что компилятор выдает сообщение на национальных языках

Вот этого не понял :) Fluent в логах не воспринимает национальный язык?

 

14 минуты назад, piden сказал:

можете попробовать сюда свой .c выложить.

#include "udf.h"

#define v_mean 1.5
#define y_max 2000
#define y_min 0
#define B 1./7.

DEFINE_PROFILE(x_velocity,thread,index)
{
	real x[ND_ND];
	real y,v_max,del,h,ufree;
	face_t f;

	h = 1750;
	ufree = v_mean*(B+1);

	begin_f_loop(f,thread)
	{
		F_CENTROID(x,f,thread);
		y=x[1];
		F_PROFILE(f,thread,index) = ufree*pow((y-250)/10,B);

	}

	end_f_loop(f,thread)
}

Но не думаю, что там проблема. Уж функцию подгрузить бы можно было? Мне кажется, что проблема в несоответствии между версиями Флюента, ОС, Студии... Только вот как узнать наверняка, что из них менять надо?

 

7 минут назад, Arkur сказал:

А кнопку Load нажимали после компиляции?

Так по сути это тот же Load, что и из Manager'а - та же ошибка...

Изменено пользователем The_Immortal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
41 minutes ago, The_Immortal said:

P.S. Ansys 17.2, Windows 8.1, Visaul Studio 2017.

Win 7, Fluent 17.0, VS2008

 

Скомпилировалось, подгрузилось. The_Immortal.rar

 

1 пользователю понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, piden сказал:

Скомпилировалось, подгрузилось.

Вот блин... А в чем же беда? :( А Вы также делали:

48 минут назад, The_Immortal сказал:

Открыл %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" (Командная строка разрабочтчика) - через неё запустил *.cas.

?

Поделиться сообщением


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

Win+R, cmd

 


%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" amd64

 

потом

 

"C:\Program Files\ANSYS Inc\v170\fluent\ntbin\win64\fluent.exe"

Во флуенте User-Defined > Functions > Compiled > Add immort.c > Build, Load

 

Функция простая, ее наверно и интерпретировать можно. Попробуйте через Interpreted..

1 пользователю понравилось это

Поделиться сообщением


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

Да то, что функция примитивная, это ясно. Просто это, так сказать, проба пера, ибо до этого только способ с интерпретацией и задействовался. Теперь возникла необходимость в компиляции.

 

Благодарю за помощь! Пойду пробовать более старые версии Студии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Just now, The_Immortal said:

Пойду пробовать более старые версии Студии...

Если не поможет - попробуйте английскую винду.

1 пользователю понравилось это

Поделиться сообщением


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

На всякий случай решил отписаться: связка Fluent 17.2 + Windows 8.1 + Visual Studio 2013 нормально отработала, т.е. в моём случае похоже был некий конфликт между Fluent'ом 17.2 и VS 2017. Вероятно, в новых версиях Флуента такого наблюдаться не будет, но пока и 17-ой хватает.

Ну а от испорченной кодировки я так и не смог избавиться. Видимо, только английская версия Windows (и соответственно VS) будет отображать ход работы компилятора на английском. Ну да Бог с этим.

Изменено пользователем The_Immortal
1 пользователю понравилось это

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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