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

Подскажите по Ansys'у...


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

9 минут назад, benevolent сказал:

сейчас задача поставлена выводить данные по узлам.

Вам нужно сделать цикл по выделенным узлам или что ?

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


Вопрос в том, есть ли возможность ИЗБАВИТСЯ от циклов и получать данные для выбранных узлов не используя их перебор. Вручную делается моментально NLIST - выдаёт координаты, PRNSOL - требуемые физические величины, но для сохранения требуются действия оператора, в автомате получается только через циклы, что долго для большой БД. 

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

Вам нужно сделать цикл по выделенным узлам или что ?

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

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

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

Сразу ко всем нельзя. Можно по очереди, но для этого нужен цикл. Может быть вам нужен перебор по выделенному множеству? Но выглядеть это будет как цикл :)

Ссылка на сообщение
Поделиться на других сайтах
28.05.2021 в 12:23, benevolent сказал:

Вопрос в том, есть ли возможность ИЗБАВИТСЯ от циклов и получать данные для выбранных узлов не используя их перебор. Вручную делается моментально NLIST - выдаёт координаты, PRNSOL - требуемые физические величины, но для сохранения требуются действия оператора, в автомате получается только через циклы, что долго для большой БД. 

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

Для этого надо использовать матричные операции и маску.

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

!*************************************************************************!
!                                                                         !
!  Назначение:                                                            !
!                                                                         !
!     Извлечение для селектированых узлов:                                !
!     номер узла                                                          !
!     X,Y,Z координата в CSYS,0                                           !
!     компонеты напряжения X,Y,Z,XY,YZ,XZ,1,2,3,INT,EQV                   !
!     и запись в файл ss.xlsx                                             !
!                                                                         !
!  Входные параметры:                                                     !
!   Нет, но надо селектировать необходимые узлы                           !
!   Читается последний set                                                !
!                                                                         !
!  Выходные параметры:                                                    !
!   Нет. Все записывается в файл                                          !
!                                                                         !
!*************************************************************************!
                                      
csys,0 
! array initialization                                                                         
mask=
ss=
stress_0=
*get,ar21,node,,count
*GET,ar22,NODE,,NUM,MAXD  
*DIM,mask,array,ar22
*DIM,ss,array,ar21,15
*DIM,stress_0,array,ar22,15
!nplot 
/post1
rsys,0
set, last                         !--------------------------->  последний  set
*VGET,mask(1),NODE,1,NSEL         ! mask of selected nodes
*vfill,stress_0(1,1),ramp,1,1     ! # node
*vmask,mask(1)        
*VGET,stress_0(1,2),NODE,1,loc,x  ! x
*vmask,mask(1)        
*VGET,stress_0(1,3),NODE,1,loc,y  ! y
*vmask,mask(1)        
*VGET,stress_0(1,4),NODE,1,loc,z  ! z
*vmask,mask(1)        
*VGET,stress_0(1,5),NODE,1,S,X    ! Sx
*vmask,mask(1)        
*VGET,stress_0(1,6),NODE,1,S,Y    ! Sy
*vmask,mask(1)        
*VGET,stress_0(1,7),NODE,1,S,Z    ! Sz
*vmask,mask(1)        
*VGET,stress_0(1,8),NODE,1,S,XY   ! Sxy
*vmask,mask(1)        
*VGET,stress_0(1,9),NODE,1,S,YZ   ! Syz
*vmask,mask(1)        
*VGET,stress_0(1,10),NODE,1,S,XZ  ! Sxz
*vmask,mask(1)        
*VGET,stress_0(1,11),NODE,1,S,1   ! S1
*vmask,mask(1)        
*VGET,stress_0(1,12),NODE,1,S,2   ! S2
*vmask,mask(1)        
*VGET,stress_0(1,13),NODE,1,S,3   ! S3
*vmask,mask(1)        
*VGET,stress_0(1,14),NODE,1,S,INT ! S Int
*vmask,mask(1)        
*VGET,stress_0(1,15),NODE,1,S,EQV ! S Mises

!----------------------------------!

!       compress array             !

*do,ar50,1,15
        *vmask,mask(1)
        *vfun,ss(1,ar50),comp,stress_0(1,ar50)
*enddo

mask= 
stress_0=

!---------------------------------! write in file
*cfopen,'Stress_components','txt'                                       
        *vwrite,ss(1,1),ss(1,2),ss(1,3),ss(1,4), ss(1,5),ss(1,6),ss(1,7),ss(1,8),ss(1,9), ss(1,10),ss(1,11),ss(1,12),ss(1,13),ss(1,14), ss(1,15)
        (f9.0,TL1,' ',14(g20.12,' '))        
        ! #node,x,y,z,Sx,Sy,Sz,Sxy,Syz,Sxz,S1,S2,S3,SInt,SMises  !        
*cfclos 
/eof 

Ссылка на сообщение
Поделиться на других сайтах
31.05.2021 в 08:47, Flint_ru сказал:

Для этого надо использовать матричные операции и маску.

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

Спасибо. Буду разбираться.

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

Допустим, есть оболочка в 3д произвольной формы (не факт что цилиндр, или конус, или окружность, или сфера, и прямоугольник и т.п. привычные формы). Для каждого элемента оболочки требуется задать корректную ЛСК. Процесс примерно такой: есть прямоугольное анизотропное одеяло с одинаково направленными в элементах ЛСК материала по одеялу. Одеяло как заплата на велокамеру нашлёпывается на кривую оболочку, получаем некоторое распределение ЛСК элементов одеяла по оболочке. И вот для такого бутерброда хотелось бы чтобы ЛСК элементов одеяла совпали с ЛСК ближайших элементов оболочки. Собсна, такое кто-нибудь пытался провернуть? И вопрос второй, если каждую ЛСК элемента вращать вручную - это сильно трудозатратно? Мне не нравится сама идея для каждого элемента создавать ещё одну ЛСК и потом их приравнивать.

Тогда как в LS-Prepost я легко могу вращать ЛСК элемента как угодно без лишних команд, но только вручную.

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

Собсна, такое кто-нибудь пытался провернуть?

судя по описанию, кажется, это это драпировка в Ansys Composite Prepost

8 часов назад, AlexKaz сказал:

И вопрос второй, если каждую ЛСК элемента вращать вручную - это сильно трудозатратно?

вручную - это код написать или мышкой тыкать?

8 часов назад, AlexKaz сказал:

Мне не нравится сама идея для каждого элемента создавать ещё одну ЛСК и потом их приравнивать.

после драпировки почти у каждого элемента будет своя ЛСК для задания ориентации свойств (исключая случи простых форм). эта ориентация - результат расчета процесса драпировки.

 

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

Делаю модальный анализ DAMP решателем, и пытаюсь выдернуть частоту и еще там второе число есть. Для этого по очереди проваливаюсь в действительную и в мнимую часть решения и делаю *GET. Когда пытаюсь провалиться в мнимую часть, то сиса ругается, но, тем не менее, исполняет GET как надо (надо согласиться со всеми ошибками). Что сисе мешает работать без ошибки ?

Скрытый текст



finish
/clear,start
        
/prep7
block,0,1,0,1,0,1
et,1,30
keyopt,1,2,1
mp,sonc,1,10
mp,dens,1,100
vmesh,1
asel,s,,,1
nsla,s,1
sf,all,inf
allsel,all

/solu
antype,2
modotp,damp,10
solve   

finish
/post1

*cfopen,res.txt

*do,i,1,10,1
	set,1,i,,0
	*get,stab,active,0,set,freq
	set,1,i,,1						!<< тут ругается.
	*get,freq,active,0,set,freq		!<< срабатывает как надо.

	*vwrite,i,freq,stab
(F4.0,'	',F8.4,'	',F8.4)	
*enddo
*cfclose

*uilist,res,txt


 

 

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

Вопрос к опытным пользователям.

Есть лив Ансис модуль расчет сварки, сварных конструкций?

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

@mamomot Раскройте более подробно - что вы хотите считать? Моделировать процесс сварки, определять НДС деталей после сварки (коробление) или вы хотите проверять сварные соединения на прочность (чтобы нажать одну кнопку и Ансис вам сказал - проходит соединение или нет)?

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

Есть лив Ансис модуль расчет сварки, сварных конструкций?

Ни того ни другого нет, что бы за этим ни скрывалось.

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

Ни того ни другого нет, что бы за этим ни скрывалось.

Некоторые пользовательские приложения выполняют проверки сварных швов.

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

Некоторые пользовательские приложения выполняют проверки сварных швов.

Малая практическая ценность от этой программы. В моей практике большинство сварных швов между сложными поверхностями идут и никакой сварщик не будет вести подготовку кромок с целью сопряжения геометрии деталей.

Лично я себе программу на Python'e написал и вывожу отчет в Excel. Cварные швы мне строить не надо. Просто контакты задал, реакции получил и вперед считать по сопромату. Profit!

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

Ни того ни другого нет, что бы за этим ни скрывалось.

А что же есть?

18 часов назад, karachun сказал:

@mamomot Раскройте более подробно - что вы хотите считать? Моделировать процесс сварки, определять НДС деталей после сварки (коробление) или вы хотите проверять сварные соединения на прочность (чтобы нажать одну кнопку и Ансис вам сказал - проходит соединение или нет)?

Уточняю:

1. Желательно импортировать геометрию из другой системы (Парасолид, Тифлекс).

2. Задать сварные швы.

3. Первая задача: определение деформаций из-за действия сварки.

4. Вторая задача (не всегда) определение прочности сварной конструкции.

Вот, типичная сварная конструкция, с которыми приходится иметь дела каждый день:

 

210817_1.png

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

. Первая задача: определение деформаций из-за действия сварки.

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

Такое делают, например вот так.

https://www.researchgate.net/publication/283490285_ANSYS_Simulation_of_Residual_Strains_in_Butt-welded_Joints

 

По расчету сварных швов уже рассказали.

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

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

Такое делают, например вот так.

https://www.researchgate.net/publication/283490285_ANSYS_Simulation_of_Residual_Strains_in_Butt-welded_Joints

 

По расчету сварных швов уже рассказали.

Я уже много дней изучаю рынок САПР по этому вопросу. Есть, например, такие модули, где, на мой взгляд все уже реализовано:

https://sapr.ru/article/21522

https://sapr.ru/article/21948

https://interprocom.ru/products/msc-software/msc-add/msc-simufact-welding/

https://www.cadmaster.ru/magazin/articles/cm_84_15.html

Особенно тут:

http://docs.mscsoftware.ru/conf/forum2015/2day/12_TYAZHMASH_simufact_welding_Salienko.pdf

*****

Есть практически все, что нужно:

1. Сварные швы.

2. Температурные деформации от сварки.

3. Имитация прижимов.

4. Коробление без прижимов и с прижимами.

5. Коробление после снятия прижимов.

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

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

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

Подозреваю, параметры, которые вбиваются в программу, в любом случае определяются эмпирически на конкретном производстве. Раз так и раз у вас есть целая технологическая служба, вообще не понимаю зачем вам что-то вычислять. По идее технологи уже и так должны говорить как варить и сварится ли это. Это все мое дилетантское мнение в области сварки.

Интересно было бы, если бы вы потом похвалились результатами.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • vad0000
      Эти поправки для коррекции развертки, и все. Никакого отношения они не имеют   к полученному углу. Если угол не соответствует, то для этого. и существует режим коррекций..
    • Sivolap36
      Сбросится, я пробовал уже. Хотя, может я уже запутался, кучу всего менял....Пока станок больше не трогаю, он в работе. Как приедет привод, отпишусь 
    • Viktor2004
      Может автору 1902#0 поставить 1 и снова произвести конфигурирование 24004 поставить 1004 И посмотреть сбросится ли после перезагрузки
    • Viktor2004
      Странно как-то. Эти параметры сами не слетают Похоже у вас где-то вредная приблуда установлена не позволяющая поставить в FSSB 4-ю ось Эта приблуда сбрасывает параметр 24004 На 0i-MD был параметр 1902#0 Если туда поставить 1, то шина FSSB конфигурировалась сама. Может у автора такой бит включен. Не знаю есть ли он в 0i-MF Тогда эти параметры система по своему усмотрению пропишет Ну, или надо искать блокировку в PMC, MACRO, C-Exe, FPictures  
    • Sivolap36
      Должно, но после перезагрузки стойки настройки слетают на 1000. Отключал основной привод и подключал второй вместо первого, после перезагрузки слетело вообще на все оси. Жду другой привод, приедет, отпишусь
    • Viktor2004
      а разве в параметре 24004 не 1004 должно быть?  
    • Sivolap36
      Нашёл параметры от одного из известных поставщиков поворотного стола. Может кому-то пригодится   Detron 210z.pdf
    • ID_Hacker
      Для обмена пользовательскими данными между NC и PLC зонами есть системная функция FC21. Позволяет читать и записывать данные в программе PLC из/в зону $A_DBB[x], $A_DBD[x] и т.д. Можно найти в документации по системным переменным NC PLC.   Программа PLC загруженная определённой версией TIA может быть выгружена только этой или более старшей версией TIA.  Step7 и TIA не совместимы даже на S300, S400 контролерах, в виду разных версий прошивок контроллеров.   Toolbox нужен для того, что в Sinumerik не просто PLC а связка PLC, CU, NC и CP, и стандартный Step или TIA просто не понимает аппаратную конфигурацию контроллера без ToolBox.   Здесь проблема программирования станка производителем. Он не ожидает завершения выполнения М команды от PLC. Либо проблемы в электроавтоматике и команда завершается до зажима патрона - например реле давления зажима всегда даёт сигнал.   Проекты реализованные на TIA хранят в контроллере не только программу, но и все комментарии и данные. Если не стоит защита паролем выгружается всё в том же виде в котором было загружено.
    • noindex
      Да, выбор второй плоскости помог, спасибо!     К счастью без понятия что сейчас проходят в школе, а что проходили в 80-90-х, когда я ходил в школу, уже не помню.   Да не, всё понятно, спасибо что заморочились с видео)!
    • ID_Hacker
      PROC CYCLE977(INT S_MVAR, INT S_KNUM, INT S_KNUM1, INT S_PRNUM, REAL S_SETV, REAL S_SETV0, REAL S_SETV1, REAL S_FA, REAL S_TSA, REAL S_STA1, REAL S_ID, REAL S_SZA, REAL S_SZO, INT S_MA, INT S_NMSP, STRING[32] S_TNAME, INT S_DLNUM, REAL S_TZL, REAL S_TDIF, REAL S_TUL, REAL S_TLL, REAL S_TMV, INT S_K, INT S_EVNUM, INT S_MCBIT, INT _DMODE, INT _AMODE, REAL S_XM, REAL_S_YM, INT _DP) Вызов функции со всеми возможными аргументами     Измерительные циклы Руководство по программированию, 01/2023, A5E52046203P AB - страница 355 - это для 828D SL     Здесь для 840D - SINUMERIK 840D/840Di/810D/FM-NC Measuring Cycles - страница 341 (6FC5298-3AA01-0BP0) артикул документации.
×
×
  • Создать...