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

Подскажите по 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 пользователей

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




×
×
  • Создать...