| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Написание собственного элемента

Написание собственного элемента

Ответ
Поиск в этой теме
Непрочитано 16.11.2014, 22:44 #1
Написание собственного элемента
AlexLPN
 
МехмаТ, кфмн
 
Ростов-на-Дону
Регистрация: 23.09.2011
Сообщений: 138

Добрый день. Кто-нибудь может подсказать литературу где есть информация о написании собственных элементов для ANSYS? Может какие-то примеры или что угодно. А то не могу найти информации. Спасибо.
Просмотров: 3589
 
Непрочитано 16.11.2014, 23:12
#2
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,170


для начала изучите хелп. в директории установки есть есть примеры подпрограмм для элементов (поиском .f). пособие одно где-то видел, но малополезное.
тип 300 сделан удобнее, чем более ранние варианты. попробуйте разобраться сами.
но сначала стоит убедиться, что желаемое нельзя выполнить подбором опций существующих элементов.
если не секрет, то что хотите сделать?
СергейД вне форума  
 
Автор темы   Непрочитано 16.11.2014, 23:29
#3
AlexLPN

МехмаТ, кфмн
 
Регистрация: 23.09.2011
Ростов-на-Дону
Сообщений: 138


Спасибо за направление поиска.
Хочется попробовать реализовать функционально-градиентный материал. Но не присвоением каждому элементу постоянного значения материала, а именно учесть изменение параметра по элементу. Хотя бы линейное.
По работе приходится работать именно с неоднородными средами (конечно с теоретической точки зрения). В результате решаем задачи с неоднородными параметрами материала, но с помощью обычных техник (сведение к ОДУ при помощи преобразования Фурье и последующее обращение операторов). Но очень хотелось бы при помощи МКЭ решать такие задачи. Вот хочу выяснить возможно ли реализовать это в ANSYS. Хотя бы в рамка стержней.
AlexLPN вне форума  
 
Непрочитано 19.11.2014, 17:19
#4
СергейД

расчеты МКЭ и CFD. ктн
 
Регистрация: 11.05.2005
Подмосковье
Сообщений: 2,170


но это делается же по сути несколькими командами apdl.
создаете множество материалов в заданном направлении и столько же рядов элементов. присваиваете номера материалов последовательно.
будет просто кусочно-линейное изменение свойств.
думаю, достаточно начать с этого.
материал уместно создавать для более сложных ситуаций.
СергейД вне форума  
 
Непрочитано 20.11.2014, 00:09
#5
ETCartman


 
Регистрация: 09.12.2008
Сообщений: 4,649


Было давно, еще в старом CAD-FEM, когда они еще интересовались ANSYS как (на то время интересной) программой - пособие за авторством Душина, по написанию собственных элементов в ANSYS
Естественно вам понадобится Fortran для этого (Intel компилятор, может GCC)
Для написания собственных материалов и элементов также используется Abaqus и его открытый клон CalculiX (для последнего не уверен насчет элементов- по пользовательским материалам много примеров, хотя впрочем в рамках открытого модульного кода вы можете писать вообще что угодно)
кстати коль вы кандидат физмат наук - иожете глянуть elmer-fem и его библиотеки
То есть ответ - такое возможно в ANSYS, да, но данная опция скорее всего хуже документирована чем в других программах.
замена чего то непрерывного на кусочное - плохо сказывается на сходимости в общем случае.
хотя apdl вещь хорошая безусловно, в вашей задаче это будет скорее всего громоздко и посредственно (пробовал ради интереса таким образом реализовывать нелинейную опцию - простую ванту для мачты, получилось но не так как хотелось)
до кучи ссылок

http://www.researchgate.net/post/How...ials_in_Abaqus
http://link.springer.com/article/10....or/onlineFirst
http://imechanica.org/node/614
Вложения
Тип файла: pdf 06buttlar_applicationgraded.pdf (712.8 Кб, 108 просмотров)

Последний раз редактировалось ETCartman, 20.11.2014 в 05:27.
ETCartman вне форума  
 
Автор темы   Непрочитано 20.11.2014, 11:58
#6
AlexLPN

МехмаТ, кфмн
 
Регистрация: 23.09.2011
Ростов-на-Дону
Сообщений: 138


СергейД, да можно кусочно задать, но это будет все таки не то. Ведь поведение функций на элементе - не постоянно, а линейно или квадратично (или еще как-то в зависимости от степени элемента). Получается, что мы урезаем материал. Ведь все таки кусочнопостоянный материал это немного другое. Хотя предельный переход в задаче такой есть и однозначен. Тут надо сделать сравнение по сходимости к точному решению. То есть построить очное аналитическое решение например для стержня с квадратичным законом модуля и потом провести два анализа с кусочнопостоянным материалом и ФГ материалом. В пределе наверное они сойдутся, но количество элементов надо будет выбирать из некоторых оценок по поведению функции модуля. Если сильно меняется, то больше... и т.д.

ETCartman, спасибо за информацию. Буду изучать
AlexLPN вне форума  
 
Непрочитано 24.05.2015, 20:14
#7
Stanum

Dr
 
Регистрация: 16.10.2011
Днепропетровск
Сообщений: 1,020
<phrase 1=


Всем доброго времени суток, возник подобный вопрос. Вожусь с топологической оптимизацией, пытаюсь сделать в ANSYS свой макрос для неё. Мне необходимо увязать рассчитываемое на итерациях значение условной плотности с параметрами материала.
По сути столько элементов столько и материалов, но тут возникает закавыка для больших моделей. Ansys их создаёт, но при расчёте вылетает с критической ошибкой, единственно решение которое я вижу на данный момент, задать материалу зависимость вида
E=Emin+(E0-Emin)*T, где T=ro^p, и задаётся на каждой итерации. Не знаете ли вы какого нибудь более прямого подхода к решению этой проблемы? Спасибо.
Stanum вне форума  
 
Непрочитано 25.05.2015, 12:54
#8
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


Вы в правильной теме написали. Я бы такую проблему решал через создание пользовательского материала USERMAT. Создание большого количества материалов, конечно вариант, но не для больших моделей.
По поводу USERMAT. Если необходимо реализовать только зависимости не связанные с нелинейностями самого материала, то там вообще все просто и примитивно. Самое сложное будет компилятор установить
MrWhite вне форума  
 
Непрочитано 25.05.2015, 16:54
#9
Stanum

Dr
 
Регистрация: 16.10.2011
Днепропетровск
Сообщений: 1,020
<phrase 1=


MrWhite, спасибо, буду смотреть в этом направлении.
Stanum вне форума  
 
Непрочитано 25.05.2015, 17:02
#10
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


Совсем забыл более простой вариант... Если Вы не используете температуру в модели - то можно ее подчинить для своих задач.
Т.е. устанавливаем зависимость нужного параметра от температуры (в интересующим нас диапазоне), далее нагреваем модель в определенной Вами зависимости и вуаля..
MrWhite вне форума  
 
Непрочитано 25.05.2015, 17:12
#11
Stanum

Dr
 
Регистрация: 16.10.2011
Днепропетровск
Сообщений: 1,020
<phrase 1=


MrWhite, в том то и дело, на 1 стадии точно использовать не буду, а вот если доберусь до второй, то там для температуры есть одно очень интересное применение. Пока буду с температурой и разбираться с математикой внутренней, вы не знаете. а есть ограничение на размер пользовательских матриц?
Stanum вне форума  
 
Непрочитано 25.05.2015, 17:14
#12
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


Ну в том то и дело, что обычно температуру всегда нужно для чего-то использовать . Поэтому универсально конечно USERMAT
По поводу пользовательских матриц - я не понял про что речь.
MrWhite вне форума  
 
Непрочитано 25.05.2015, 19:02
#13
Stanum

Dr
 
Регистрация: 16.10.2011
Днепропетровск
Сообщений: 1,020
<phrase 1=


MrWhite, если я при помощи команды *smat преобразую array(20000*20000) в матрицу sparse, не получу ли я какой нибудь критической обшибки переполнения мои чего-нибудь подобного?
Stanum вне форума  
 
Непрочитано 26.05.2015, 09:18
#14
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


Не проверял. Но думаю нет ограничений..
MrWhite вне форума  
 
Непрочитано 31.05.2015, 12:17
#15
X13

Компьютерное моделирование, расчеты МКЭ, программирование
 
Регистрация: 30.01.2013
Новосибирск
Сообщений: 23


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

1. Создать рабочую директорию «C:\Files\ans_user».
2. Загрузить и установить дополнительное программное обеспечение. Для ANSYS версии 16.0 потребуется:
• Среда разработки Visual Studio 2010 SP1 (с компилятором MS C++);
• Компилятор Intel FORTRAN 14.0.3
• Microsoft Windows SDK
• .NET Framework 3.5
Подробнее в файле справки ANSYS: «ANSYS Help -> Installation and Licensing Documentation // Windows Installation Guide // 2. Platform Details».
Microsoft Windows SDK можно загрузить с сайта microsoft.
3. Поместить в рабочую директорию файл с исходным кодом "userelem.f"; имя файла изменять нельзя.
4. Скопировать в рабочую директорию файл "ansusershared.bat" из «C:\Program Files\ANSYS Inc\v160\ansys\custom\user\winx64».
5. Запустить командное окно Microsoft Windows SDK v7.0 (ярлык «CMD Shell»).
6. Задать рабочую директорию с помощью команды «CD» (current directory), например: «CD C:\Files».
7. Запустить файл «ansusershared.bat» из командной строки.
8. Ввести название компилируемой подпрограммы, например «userelem».
9. После завершения процесса создания динамически подключаемой библиотеки (dll) закрыть окно. Для использования пользовательской подпрограммы в расчетах необходимо создать в windows новую переменную среды для пользователя. Имя переменной – «ANS_USER_PATH»; значение – «C:\Files\ans_user» (директория в которой расположен файл *.dll).

Версия компилятора может быть другой (не обязательно 14.0.3). Для компиляции можно использовать Visual Studio, но через командную строку быстрее и проще.
Удачи!
X13 вне форума  
 
Непрочитано 01.06.2015, 08:57
#16
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


X13 - конечно спасибо, что Вы так все расписали, только зачем мне это? Я и так уже все давным давно сделал.
MrWhite вне форума  
 
Непрочитано 01.06.2015, 10:37
#17
X13

Компьютерное моделирование, расчеты МКЭ, программирование
 
Регистрация: 30.01.2013
Новосибирск
Сообщений: 23


MrWhite, может кому-нибудь еще пригодится
X13 вне форума  
 
Непрочитано 01.06.2015, 11:16
#18
MrWhite


 
Регистрация: 18.09.2011
Нахабино
Сообщений: 1,040


X13, конечно пригодится. Просто оформили, как ответ и я честно сидел и пять минут вникал, зачем это было адресовано именно мне.
MrWhite вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Написание собственного элемента

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет пространственных стержневых систем и наличие шарниров в расчетных схемах Jenec Лира / Лира-САПР 17 27.09.2013 22:23
Можно ли назначить форму элемента и его армирование, а потом импортировать жёсткости этого элемента в ЛИР-ВИЗОР? МишаИнженер Лира / Лира-САПР 9 15.01.2013 12:06
просадка от собственного веса грунта меньше просадки грунта от собственного веса + дополнительного вертикального напряжения Pikvadze Обследование зданий и сооружений 4 31.05.2012 13:26
Опорные реакции и деформация элемента solid95 в Ansys diesel-generator ANSYS 3 08.12.2009 22:37