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

Связь Ansys APDL с системами вне


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

Здравствуйте. Может кто-нибудь видел, читал или занимался такими вещами, как связь решения и в принципе скриптового языка apdl с языками программирования или другими системами вне? В общих чертах идея такая. В процессе расчета мне необходимо (если возможно все-таки), чтобы ansys посылал некоторые данные в нужную мне систему, там эти данные обработались и получили ответ, который отправили обратно в ansys и он продолжил решать дальше. Наверное слово "система" громкое, мне нужно, чтобы в параллельно запущенный код (маленькая программка, которая должна будет обрабатывать данные, как мне нужно, пусть будет на С или С#, не важно) посылались данные и принимались из нее же. Или же, чтобы через APDL можно было запустить мой код на каком-либо языке, он выполнился внутри каким-то образом и решение пошло дальше. Все решение будет в цикле (моя задача решается несколько раз), соответственно нужно каждый раз посылать данные и каждый раз получать ответ. Интересует работа соответственно только в Mechanical, Workbench не предлагать, пожалуйста. Спасибо!

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


UnPinned posts

Возможно не до конца понял, что вы собираетесь сделать, но вы всегда можете сохранять через APDL любую информацию в текстовый файл (информацию по модели, результаты решения, промежуточные данные на каждом шаге решения и т.д.).

Также вы можете скармливать ансису скрипт на APDL (в batch mode если нужно).
Соответственно вывод из и ввод в Mechanical есть. 

Как отсылать файлы - это уже не ансисовская история ))

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

Пора мне уже деньги брать за свой же код на гитлабе. Здесь смотрите как вызывать из apdl сторонние программы https://gitlab.com/AlexKaz/ansys-adpl-nodes-loads-movement-from-mesh-to-mesh

Несложно сообразить, читая справку, что сам ANSYS можно вызывать тупо в консоли любым сторонним софтом. Естественно, при корректно работающей лицензии.

Поскольку я ленивая скотина и жалостливо говорить не умею, то вот. "Donate please if this code was usuful for you" https://yoomoney.ru/to/410019721796762

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

@AlexKaz

	/syp,run1.bat 
	*use,mymacro2_7,1 !,test6_xyz_data_1 	!чтение созданных файлов

Между двумя этими командами не надо вставить ожидание того, пока батник закончит работу ? А то ведь сися не ждет вроде.

 

 

@fakemade

Вам нужно научится решать 4 промежуточные задачи.

1. В АПДЛ подготовить данные, чтобы скормить из внешней программе.

2. Вызвать из АПДЛ внешнюю программу.

3. Подождать в АПДЛ, пока внешняя программу закончит работу.

4. В АПДЛ загрузить результаты работы программы.

 

С чем у вас возникли проблемы ?

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

В цикле? Наверное надо. Четыре+ года уже прошло, тогда вроде работало.

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

В цикле? Наверное надо. Четыре+ года уже прошло, тогда вроде работало.

У меня не всегда получалось. Плюс бывает проблема для файлик занят прогой, которая в него пишет, тогда АПДЛ плюется и не дает его открыть.

По мне так это основаная проблема.

Ссылка на сообщение
Поделиться на других сайтах
13 часов назад, fakemade сказал:

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

На питоне точно будет работать все что угодно в APDL. Связка Ansys + Python считайте почти официальная. Есть предметные вопросы - обращайтесь.

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

На питоне точно будет работать все что угодно в APDL.

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

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, ДОБРЯК сказал:

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

Может, но python во взаимодействии с Анаис очень хорошо описан. Проще будет разобраться 

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

Может, но python во взаимодействии с Анаис очень хорошо описан.

В данном случае взаимодействие ведется на уровне временных файлов, текстовых или бинарных. Ансис к этому не имеет оьношения. Если Ансис откроет формат базы данных, то эти временные файлы станут ненужными, будет еще проще. На любом языке пишите в базу данных Ансис и берите любые данные.

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

С чем у вас возникли проблемы ?

@Борман, проблем не возникло. Беглый поиск по интернету и поверхностно справке не дал результатов, поэтому я решил спросить, есть ли вообще возможность. Но как тут ответили, что есть, значит я буду делать.

2 часа назад, Борман сказал:

В АПДЛ подготовить данные, чтобы скормить из внешней программе.

Это не проблема, подобное уже делал. Остальным 3 пунктам научусь в процессе, я так понимаю, это не сложно.

 

7 часов назад, Dandy сказал:

Соответственно вывод из и ввод в Mechanical есть. 

@Dandy  конечно есть, но мне нужно, чтобы моя программа работала параллельно и кушала эти данные, после посылала выходные и Ансис снова их ел и так в цикле.

 

1 час назад, KorovnikovAV сказал:

На питоне точно будет работать все что угодно в APDL. Связка Ansys + Python считайте почти официальная. Есть предметные вопросы - обращайтесь.

@KorovnikovAV , не нравится мне питон, там не нужно ставить фигурные скобки и точки с запятой, а пальцы тянутся:) А по сути, я не хочу конкретно API использовать (в курсе, что в питоне есть библиотеки для работы с Ansys и сам Ansys поддерживает питон), мне нужна скорость вычислений, так как APDL при сумме, например в цикле 20000 раз:

q = 0
*DO,i,1,20000,1
  q = q +1
*ENDDO

уже затыкается и работа насчитывает секунды, когда тот же C или другой язык считает все это махом.

 

56 минут назад, ДОБРЯК сказал:

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

@ДОБРЯК  хочу написать на мне удобном, будет либо С, либо C#.

 

3 часа назад, AlexKaz сказал:

Пора мне уже деньги брать за свой же код на гитлабе. Здесь смотрите как вызывать из apdl сторонние программы https://gitlab.com/AlexKaz/ansys-adpl-nodes-loads-movement-from-mesh-to-mesh

Спасибо конечно, но так грубо общаться с незнакомыми людьми на форуме считаю не приемлемым. Это не 4chan, где можно грязью поливать, здесь вроде как умные и интеллигентные люди сидят, насколько мне известно.

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

не нравится мне питон, там не нужно ставить фигурные скобки и точки с запятой, а пальцы тянутся:)

Понимаю :smile:

Ну в любом случае уже выше сказали что можете хоть на хаскеле писать. 

В случае с питоном вам просто не пришлось бы особо разбираться у меня под рукой пример как решается ваша задача если я правильно её понял 

Про скорость кстати как раз попросил бы, питончик работает на запредельных скоростях а дальше вопросы к сисе

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

где можно грязью поливать

Алё =) Ты пришёл на форум, тебе всё показали и рассказали где искать. БЕСПЛАТНО. А ты начал быковать? Или ты в ансисе забесплатно работаешь? Миллионер-альтруист? =) Подскажи пожалуйста, какая польза форумчанам от твоих спасибо и пожалуйста? Или не возмущайся, или участвуй активнее в жизни на форуме. А обижаются только девочки.

Или RTFM. Если исчо и это расшифровывать придётся?... Финиш.

Кстати, форчан конкретная помойка, что даже я туда не лезу. Но ты почему-то там бываешь, а претензии предъявляешь сюда. Интересно :5a33a3668d68d_3DSmiles(9):

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

Спасибо конечно, но так грубо общаться с незнакомыми людьми на форуме считаю не приемлемым.

Он со всеми так общается на этом форуме. Не обращайте на него внимание и он успокоится.

А если сам не остановится, позовите администратора. Администратор быстро его успокоит.

 

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

@ДОБРЯК , Вы хоть на один вопрос на форуме способны ответить по делу? Какой у вас опыт и практика? Никакого. Сплошной флуд. Поэтому претензии ваши предъявляйте в спортлото или зеркалу.

 

Топикстартер ответ получил.

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

@KorovnikovAV  нет, к питона у меня нет вопросов, я про скорость решения самого ансиса. Ну, буду читать справку и разбираться, хотя модель, как все организовать в голове уже построена.

44 минуты назад, AlexKaz сказал:

Алё =) Ты пришёл на форум, тебе всё показали и рассказали где искать. БЕСПЛАТНО

Я думаю, что я пришёл на форум взрослых, образованных и воспитанных людей, а не на форум клоунов вроде тебя, потеряйся пожалуйста. И по поводу бесплатной, ты сам все дал, тебя никто не заставлял, а теперь жалуешься, а ещё и оскорбляешь. Я тоже могу и по быдлятски поговорить, но ты того не стоишь.

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

Если кратко описывать, я делаю это через TCL. Примерно так:

1)      Вызов программы TCL из ANSYS:  ~eui, ‘source myfile.tcl   или более общем кроссплатформенном виде:   ~eui, ‘source [file nativename [file join [pwd] myfile.tcl]]’

2)      Внутри файла myfile.tcl  надо сначала в tcl передать данные. Для этого, собственно, и сделано расширение TCL для ANSYS – это пара десятков команд TCL начинающихся с ans_xxxxxxxx. Например, ans_getvalue. На TCL будет команда set var1 [ans_getvalue PARM,ansys_param,value]   В этой команде значение параметра ansys_param, определенного в ANSYS, будет присвоено переменной var1  в TCL. Далее можно с этими переданными данными делать в рамках языка TCL все что угодно, в том числе и вызывать внешние программы.

3)      После того, как нужные действия в TCL будут выполнены, надо обратно передать полученные значения в ANSYS, т.е. где-то в конце  файла myfile.tcl   будет снова использовано расширение TCL для ANSYS: например так ans_sendcommand *set,new_param,$your_tcl_value    В итоге в ANSYS переменной new_param будет присвоено значение переменной  your_tcl_value из TCL

4)      А поскольку это все делалось внутри одной команды из п.1, после отработки продолжится выполнение вашего макроса.

 

Для примера во вложении input.mac и test.tcl.  В input строятся 2 точки. Параметру var1 присваивается значение 10. Далее вызывается test.tcl, где извлекаются координаты точек, вычисляется расстояние и прибавляется к переменной var1. Результат передается новой переменной var2, и далее умножается на 2 и присваивается переменной result.

 

Очень часто использую, например передачу массивов напрямую в excel, где что-то выполняется и затягиваю напрямую из EXCEL обратно в ANSYS.

input.mac test.tcl

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

А какие у него возможности ?

Brent Welch - Practical Programming in Tcl and Tk.pdfBrent Welch - Practical Programming in Tcl and Tk.pdf

1 час назад, Борман сказал:

А какие у него возможности ?

Так сложно описать. Как и любой другой интерпретатор. Единственное, в ANSYS добавлены команды ans_xxxxxx , но часть библиотек выкинуто по сравнению со стандартным TCL/Tk. А в принципе, весь интерфейс ANSYS APDL написан на Tk ( графическое расширение TCL)

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

Вот валяются давно описания какие то. Может надо кому..

TclTk_CAEA.pdf

tcl_petrovskyi.pdf

ANSYS-Tcl_Tk-Legacy-Training-2013_02_01.ppt

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...