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

Вернуться   Форум DWG.RU > Программное обеспечение > Расчетные программы > ANSYS > Макрос для бетонной балки, некорректные результаты

Макрос для бетонной балки, некорректные результаты

Ответ
Поиск в этой теме
Непрочитано 11.04.2019, 05:17 #1
Макрос для бетонной балки, некорректные результаты
OlegVR
 
на любимой работе
 
Казань
Регистрация: 10.10.2006
Сообщений: 117

Доброго времени суток, уважаемые коллеги!

Составил макрос для моделирования бетонной балки для начала без арматуры и в упругой постановке.
Не устраивают результаты расчёта по двум проверкам:
1 - напряжения в пролёте у нижней грани и у верхней в 1,5 раза отличаются друг от друга, тогда как по формулам сопромата они должны быть примерно одинаковыми;
2 - по приближенной формуле сопромата sigma=M/W значения напряжений в те же 1,5 раза получаются больше.

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

3 - У внутренней грани опор возникает большая концентрация напряжений, которая, как предполагаю, должна негативно сказаться на данные нелинейного расчёта в дальнейшем - вместо разрушения по нормальному сечению в средине пролёта, балка разрушиться на опоре.

Пробовал нелинейный расчёт - даёт совсем несуразные данные. Но это, видимо, позже. Вначале с упругостью бы разобраться.

Заранее благодарен!

Код:
[Выделить все]
! Настройка среды
FINI					! Выход из всех процессоров
/CLEAR					! Очистка данных, оставшихся от предыдущей работы
/CONFUG,NPROC,2				! Задание числа процессоров
/FILNAME,BKP_20				! Задание Jobname
/TITLE,BKP_20				! Заголовок графического окна
/COM,  Structural 			! Переключение в прочностной расчет
!/COM,  Thermal  			! Включение температурного расчёта
/PREP7 					! Начало работы процессора компановки
/SHOW,WIN32C				! Обводка изолиний (контуров) на изополях напряжений
/cont,1,128				! Шаг (чувствительность) при вычерчивании изолиний на изополях напряжений (от 9 до 128)
/nerr,1,100000000			! Максимальное количество предупреждений для 1-й команды - 1, максимальное количество предупреждений покуда не произойдёт отмена команды - 100000000 
MEMM,KEEP,ON				! Поддержание распределённой памяти во время расчёта
/UNITS,SI				! Система измерений - СИ (примечание: размеры - в [мм], усилия - в [Н], а характеристики материалов в Н/мм2=[МПа], тогда напряжения будут в [МПа])

! Параметры модели
! 1 - Геометрические
l=2980					! Пролёт балки, мм
h=220					! Высота сечения, мм
b=250					! Ширина сечения, мм

! 2 - Силовые
gconst=9.80665				! Ускорение свободного падения, Н/м2
P=18100					! Нагрузка, Н (Р1=Р2)
a=965					! Пролёт среза, мм
a1=40					! Расстояние от торца до опорной реакции
lsup=80					! Длина площадки опирания, мм
lloc=80					! Длина площадки передпчи нагрузки, мм

! 3 - Армирование
pi=3.141593				! Число Пи
ds1=12					! Диаметр стержней сжатой арматуры
ds2=10					! Диаметр стержней сжатой арматуры
dsw=10					! Диаметр стержней поперечной арматуры
ns1=5					! Количество стержней сжатой арматуры
ns2=2					! Количество стержней сжатой арматуры
nsw=2					! Количество стержней поперечной арматуры
As1=pi*ds1*ds1/4			! Площадь сечения 1-го стержня растянутой арматуры, мм2
As2=pi*ds2*ds2/4			! Площадь сечения 1-го стержня сжатой арматуры, мм2
Asw=pi*dsw*dsw/4			! Площадь сечения 1-го стержня поперечной арматуры, мм2
as1=26					! З.с.+0,5ds1 снизу, мм
as2=30					! З.с.+0,5ds2 сверху, мм
as3=40					! З.с.+0,5ds1 сбоку, мм
sw=100					! Шаг поперечных стержней, мм
nsw=(l-2*as3)/sw+1			! Количество поперечных стержней
ts=20					! Толщина стальных пластин под опорой и под нагрузкой, мм

! 4 - Задание конечных элементов и реальных констант
ET,1,Solid185				! КЭ для бетона
ET,2,LINK180				! КЭ для стеклокомпозитной арматуры (АСК)
ET,3,MESH200,6				! Пустой четырехугольник (6) для пошаговой экструзии (выдавливания)
R,1,As1					! Реальная константа для стержней продольной растянутой арматуры (площадь сечения)
R,2,As2					! Реальная константа для стержней продольной сжатой арматуры (площадь сечения)
R,3,Asw					! Реальная константа для стержней поперечной арматуры (площадь сечения)
R,4					! Реальная константа для бетона (нулевые данные)

! 5 - Свойства материалов (физические параметры)
! Бетон
Eb=32500				! Начальный модуль деформаций бетона, МПа
nub=0.2					! Коэффициент Пуассона бетона
rob=25e-6				! Плотность бетона, Н/мм3
UIMP,1,EX,NUXY,DENS,Eb,nub,rob		! Модель материала - бетон, упругие изотропные свойства

! Арматура
Ef=55000				! Начальный модуль деформаций арматуры, МПа
nuf=0.35				! Коэффициент Пуассона арматуры
rof=2.1e-6				! Плотность арматуры, Н/мм3
UIMP,2,EX,NUXY,DENS,Ef,nuf,rof		! Модель материала - композит, упругие изотропные свойства

! Геометрическая модель
WPROTA,,,90				! Поворот локальной системы координат на 90 градусов против часовой стрелки относительно вертикальной оси Y

! Создаём боковую грань из нескольких пряморугольников, которую будем выдавливать
RECT,0,-h,0,b
RECT,0,-h,0,b/2
RECT,0,-h,0,b/4
RECT,0,-h,0,3*b/4
RECT,0,-as1,0,b
RECT,0,-(h-as2),0,b
RECT,0,-h/2,0,b
ASEL,ALL				! Выделить все грани
AOVL,ALL				! Образовать грани при пересечении наложенных друг на друга
SHPP,WARN				! Опция для проверка формы КЭ при разбивке (читай Хелп)
TYPE,3					! Устанавливаем атрибут типа КЭ для сеточной разбивки (пустой четырёхугольник (3))
MAT,1					! Материал разбивки (1) - бетон
mshkey,1				! Задаём тип разбивки (1) - строго карточный (т.е. разбиваем на прямоугольники)
ASEL,ALL				! Выбираем все грани
AMESH,ALL				! Разбиваем сеткой на КЭ

! Размеры конечных элементов для разбивки
RE=5					! Количество элементов по длине экструзии (5 шт.)
REsw=6					! Количество элементов по высоте сечения (6 шт.)
HE=sw/RE				! Размер конечного элемента по горизонтали (между соседними хомутами)
NSET=(h-as1-as2)/REsw 			! Размер конечного элемента по вертикали (между верхней и нижней арматурой)

! Выдавливаем бетонный объём
! От левого торца до первого поперечного стержня (хомута)
TYPE,1					! Делаем тип КЭ 1 текущим
MAT,1					! Делаем материал 1 (бетон) текущим
ESIZE,,3				! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,0				! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3				! Выдавить эту грань на величину защитного слоя as3 
! От первого поперечного стержня (хомута) до последнего
*DO,I,1,nsw-1				! Запуск цикла от I=1 до nw-1
ASEL,S,LOC,X,as3+(I-1)*sw		! Новый выбор вертикальной грани на расстоянии as3+I*sw от начала 
TYPE,1					! Делаем тип КЭ 1 (бетон) текущим
MAT,1					! Делаем материал 1 (бетон) текущим
ESIZE,,RE				! Количество разбиений для линий - RE=5 шт.
VEXT,ALL,,,sw				! Выдавить эту грань на величину шага хомутов sw 
*ENDDO					! Окончание цикла
! От последнего хомута до правого торца балки
TYPE,1					! Делаем тип КЭ 1 текущим
MAT,1					! Делаем материал 1 (бетон) текущим
ESIZE,,3				! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,l-as3			! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3				! Выдавить эту грань на величину защитного слоя as3 

! Нагрузка
! Собственный вес (силы инерции)
ACEL,,,gconst*0				! Задать линейное ускорение в глобальной декартовой системе отсчета по оси Z
! Сосредоточенные силы задаём как давление
! Слева
*DO,I,1,RE+1				! Запуск цикла от I=1 до
NSEL,S,LOC,X,a+(I-1)*HE			! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h				! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b)			! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13)			! Задать силу в каждый выбранный узел (всего 5*13=65 узлов) 
*ENDDO					! Окончание цикла
! Справа
*DO,I,1,RE+1				! Запуск цикла от I=1 до
NSEL,S,LOC,X,l-a-(I-1)*HE		! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h				! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b)			! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13)			! Задать силу в каждый выбранный узел (всего 5*13=65 узлов)
*ENDDO					! Окончание цикла
*DEL,,LOC				! Очистить массив

! Накладываем связи
! Под левой опорой
*DO,I,1,RE+1				! Запуск цикла от I=1 до
NSEL,S,LOC,X,as3+(I-1)*HE		! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,0				! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,UX,UY,UZ			! Наложить связи на узел - по всем трём направлениям
*ENDDO					! Окончание цикла
! Под левой опорой
*DO,I,1,RE+1				! Запуск цикла от I=1 до
NSEL,S,LOC,X,l-as3-(I-1)*HE		! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,0				! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,UX,UY,UZ			! Наложить связи на узел - по всем трём направлениям
*ENDDO					! Окончание цикла

FINISH					! Заканчиваем работу в Предпроцессоре

! Процессор Решений
/SOLU					! Запускаем процессор Решений
ANTYPE,STATIC				! Задаём тип расчёта (анализа) - статический
ALLSEL					! Выбрать все объекты с помощью одной команды
SOLVE					! Начать расчёт
FINISH					!
/POST1
FINISH					! Заканчиваем работу в Предпроцессоре
SAVE					! Сохраняем данные

https://cae-club.ru/sites/default/files/ris.jpg

Последний раз редактировалось Кулик Алексей aka kpblc, 11.04.2019 в 07:58. Причина: Рисунок большой, закрывает весь экран
Просмотров: 5039
 
Непрочитано 11.04.2019, 16:06
#2
MrWhite


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


Такс..
1) Опирание задано абсолютно неверно. Приведите схему которую хотите посчитать (теоретическую, ту по которой вы пытались момент аналитически получить) и я Вам покажу в чем проблема.
2) Почему силы несимметричны? Так задумано или ошибка?

По результатам у меня вопросов нет - Ansys сделал ровно то, что Вы его и попросили.

P.S. Зачем Вы эту несчастную балочку то ломаете?
MrWhite вне форума  
 
Автор темы   Непрочитано 11.04.2019, 20:14
#3
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Здравствуйте!
Вот схема опирания - прикрепил. А в чём ошибка?
Силы должны быть симметричны, значит ошибка. Когда проверял количество узлов с нагрузкой получилось по 65 на каждую площадку приложения нагрузки. Как бы одинаково, симметрично.
Балочка в первом приближении, дальше добавлю арматуру и задам нелинейность.


Цитата:
Сообщение от MrWhite Посмотреть сообщение
Такс..
1) Опирание задано абсолютно неверно. Приведите схему которую хотите посчитать (теоретическую, ту по которой вы пытались момент аналитически получить) и я Вам покажу в чем проблема.
2) Почему силы несимметричны? Так задумано или ошибка?

По результатам у меня вопросов нет - Ansys сделал ровно то, что Вы его и попросили.

P.S. Зачем Вы эту несчастную балочку то ломаете?
Миниатюры
Нажмите на изображение для увеличения
Название: Схема.png
Просмотров: 83
Размер:	14.5 Кб
ID:	212982  
OlegVR вне форума  
 
Непрочитано 11.04.2019, 21:01
#4
MrWhite


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


Цитата:
Сообщение от OlegVR Посмотреть сообщение
Здравствуйте!
Вот схема опирания - прикрепил. А в чём ошибка?
Силы должны быть симметричны, значит ошибка. Когда проверял количество узлов с нагрузкой получилось по 65 на каждую площадку приложения нагрузки. Как бы одинаково, симметрично.
Балочка в первом приближении, дальше добавлю арматуру и задам нелинейность.
Ну да, шарнирное опирание. У вас на схеме вообще не оно - вы жестко закрепили места опираний по нижней грани. Отсюда и момент на опоре и продольная сила в пролете, из-за которой у Вас напряжения не симметричны и момент в сечении не совпадает с теоретическим.

Я макрос запустил - у меня не симметрично приложены нагрузки и несимметричны напряжения из-за этого.

Я понимаю, что вы хотите нелинейно посчитать - Вы это сразу озвучили. Зачем это делаете? Это любопытство, обучение или практическая задача? От этого просто зависит то, какие я буду давать ответы.
MrWhite вне форума  
 
Автор темы   Непрочитано 11.04.2019, 21:10
#5
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Я сам понимаю, что есть лишние связи, но убрав UY везде и UX с одной из опор, программа не считает.
D,ALL,,,,,,UX,UZ слева
D,ALL,,,,,,UZ справа

Задача научная.

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

Я макрос запустил - у меня не симметрично приложены нагрузки и несимметричны напряжения из-за этого.

Я понимаю, что вы хотите нелинейно посчитать - Вы это сразу озвучили. Зачем это делаете? Это любопытство, обучение или практическая задача? От этого просто зависит то, какие я буду давать ответы.
OlegVR вне форума  
 
Непрочитано 11.04.2019, 21:41
#6
MrWhite


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


Цитата:
Сообщение от OlegVR Посмотреть сообщение
Я сам понимаю, что есть лишние связи, но убрав UY везде и UX с одной из опор, программа не считает.
D,ALL,,,,,,UX,UZ слева
D,ALL,,,,,,UZ справа

Задача научная.
Ну Вы моделируете балку и при этом пытаетесь не моделировать опирание. У вас ерунда получится - подход не верный по своей сути.
И нагрузку и опирание нужно передавать через объекты на контактах. При этом нагрузку желательно давать не силой, а перемещением. Ну т.е. никаких граничных условий, узловых сил и прочего, на исследуемом объекте быть не должно.

Ну и перед сломом балки (в нелинейно постановке) нужно отдельно ломать бетонный кубик/призму и арматурную сталь. Иначе грош цена будет такой работе.

Последний раз редактировалось MrWhite, 11.04.2019 в 21:48.
MrWhite вне форума  
 
Автор темы   Непрочитано 11.04.2019, 22:18
#7
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Это будет следующий этап - задание опорных пластин и контакта.
А всё-таки почему не считает, если убрать "лишние" связи? Или это только у меня?

Цитата:
Сообщение от MrWhite Посмотреть сообщение
Ну Вы моделируете балку и при этом пытаетесь не моделировать опирание. У вас ерунда получится - подход не верный по своей сути.
И нагрузку и опирание нужно передавать через объекты на контактах. При этом нагрузку желательно давать не силой, а перемещением. Ну т.е. никаких граничных условий, узловых сил и прочего, на исследуемом объекте быть не должно.

Ну и перед сломом балки (в нелинейно постановке) нужно отдельно ломать бетонный кубик/призму и арматурную сталь. Иначе грош цена будет такой работе.
OlegVR вне форума  
 
Непрочитано 11.04.2019, 22:43
#8
MrWhite


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


Цитата:
Сообщение от OlegVR Посмотреть сообщение
Это будет следующий этап - задание опорных пластин и контакта.
А всё-таки почему не считает, если убрать "лишние" связи? Или это только у меня?
Скиньте макрос с таким опиранием - посмотрю.
MrWhite вне форума  
 
Автор темы   Непрочитано 12.04.2019, 04:47
#9
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Вот:

! Настройка среды
FINI ! Выход из всех процессоров
/CLEAR ! Очистка данных, оставшихся от предыдущей работы
/CONFUG,NPROC,2 ! Задание числа процессоров
/FILNAME,BKP_20 ! Задание Jobname
/TITLE,BKP_20 ! Заголовок графического окна
/COM, Structural ! Переключение в прочностной расчет
!/COM, Thermal ! Включение температурного расчёта
/PREP7 ! Начало работы процессора компановки
/SHOW,WIN32C ! Обводка изолиний (контуров) на изополях напряжений
/cont,1,128 ! Шаг (чувствительность) при вычерчивании изолиний на изополях напряжений (от 9 до 128)
/nerr,1,100000000 ! Максимальное количество предупреждений для 1-й команды - 1, максимальное количество предупреждений покуда не произойдёт отмена команды - 100000000
MEMM,KEEP,ON ! Поддержание распределённой памяти во время расчёта
/UNITS,SI ! Система измерений - СИ (примечание: размеры - в [мм], усилия - в [Н], а характеристики материалов в Н/мм2=[МПа], тогда напряжения будут в [МПа])

! Параметры модели
! 1 - Геометрические
l=2980 ! Пролёт балки, мм
h=220 ! Высота сечения, мм
b=250 ! Ширина сечения, мм

! 2 - Силовые
gconst=9.80665 ! Ускорение свободного падения, Н/м2
P=18100 ! Нагрузка, Н (Р1=Р2)
a=965 ! Пролёт среза, мм
a1=40 ! Расстояние от торца до опорной реакции
lsup=80 ! Длина площадки опирания, мм
lloc=80 ! Длина площадки передпчи нагрузки, мм

! 3 - Армирование
pi=3.141593 ! Число Пи
ds1=12 ! Диаметр стержней сжатой арматуры
ds2=10 ! Диаметр стержней сжатой арматуры
dsw=10 ! Диаметр стержней поперечной арматуры
ns1=5 ! Количество стержней сжатой арматуры
ns2=2 ! Количество стержней сжатой арматуры
nsw=2 ! Количество стержней поперечной арматуры
As1=pi*ds1*ds1/4 ! Площадь сечения 1-го стержня растянутой арматуры, мм2
As2=pi*ds2*ds2/4 ! Площадь сечения 1-го стержня сжатой арматуры, мм2
Asw=pi*dsw*dsw/4 ! Площадь сечения 1-го стержня поперечной арматуры, мм2
as1=26 ! З.с.+0,5ds1 снизу, мм
as2=30 ! З.с.+0,5ds2 сверху, мм
as3=40 ! З.с.+0,5ds1 сбоку, мм
sw=100 ! Шаг поперечных стержней, мм
nsw=(l-2*as3)/sw+1 ! Количество поперечных стержней
ts=20 ! Толщина стальных пластин под опорой и под нагрузкой, мм

! 4 - Задание конечных элементов и реальных констант
ET,1,Solid185 ! КЭ для бетона
ET,2,LINK180 ! КЭ для стеклокомпозитной арматуры (АСК)
ET,3,MESH200,6 ! Пустой четырехугольник (6) для пошаговой экструзии (выдавливания)
R,1,As1 ! Реальная константа для стержней продольной растянутой арматуры (площадь сечения)
R,2,As2 ! Реальная константа для стержней продольной сжатой арматуры (площадь сечения)
R,3,Asw ! Реальная константа для стержней поперечной арматуры (площадь сечения)
R,4 ! Реальная константа для бетона (нулевые данные)

! 5 - Свойства материалов (физические параметры)
! Бетон
Eb=32500 ! Начальный модуль деформаций бетона, МПа
nub=0.2 ! Коэффициент Пуассона бетона
rob=25e-6 ! Плотность бетона, Н/мм3
UIMP,1,EX,NUXY,DENS,Eb,nub,rob ! Модель материала - бетон, упругие изотропные свойства

! Арматура
Ef=55000 ! Начальный модуль деформаций арматуры, МПа
nuf=0.35 ! Коэффициент Пуассона арматуры
rof=2.1e-6 ! Плотность арматуры, Н/мм3
UIMP,2,EX,NUXY,DENS,Ef,nuf,rof ! Модель материала - композит, упругие изотропные свойства

! Геометрическая модель
WPROTA,,,90 ! Поворот локальной системы координат на 90 градусов против часовой стрелки относительно вертикальной оси Y

! Создаём боковую грань из нескольких пряморугольников, которую будем выдавливать
RECT,0,-h,0,b
RECT,0,-h,0,b/2
RECT,0,-h,0,b/4
RECT,0,-h,0,3*b/4
RECT,0,-as1,0,b
RECT,0,-(h-as2),0,b
RECT,0,-h/2,0,b
ASEL,ALL ! Выделить все грани
AOVL,ALL ! Образовать грани при пересечении наложенных друг на друга
SHPP,WARN ! Опция для проверка формы КЭ при разбивке (читай Хелп)
TYPE,3 ! Устанавливаем атрибут типа КЭ для сеточной разбивки (пустой четырёхугольник (3))
MAT,1 ! Материал разбивки (1) - бетон
mshkey,1 ! Задаём тип разбивки (1) - строго карточный (т.е. разбиваем на прямоугольники)
ASEL,ALL ! Выбираем все грани
AMESH,ALL ! Разбиваем сеткой на КЭ

! Размеры конечных элементов для разбивки
RE=5 ! Количество элементов по длине экструзии (5 шт.)
REsw=6 ! Количество элементов по высоте сечения (6 шт.)
HE=sw/RE ! Размер конечного элемента по горизонтали (между соседними хомутами)
NSET=(h-as1-as2)/REsw ! Размер конечного элемента по вертикали (между верхней и нижней арматурой)

! Выдавливаем бетонный объём
! От левого торца до первого поперечного стержня (хомута)
TYPE,1 ! Делаем тип КЭ 1 текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,3 ! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,0 ! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3 ! Выдавить эту грань на величину защитного слоя as3
! От первого поперечного стержня (хомута) до последнего
*DO,I,1,nsw-1 ! Запуск цикла от I=1 до nw-1
ASEL,S,LOC,X,as3+(I-1)*sw ! Новый выбор вертикальной грани на расстоянии as3+I*sw от начала
TYPE,1 ! Делаем тип КЭ 1 (бетон) текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,RE ! Количество разбиений для линий - RE=5 шт.
VEXT,ALL,,,sw ! Выдавить эту грань на величину шага хомутов sw
*ENDDO ! Окончание цикла
! От последнего хомута до правого торца балки
TYPE,1 ! Делаем тип КЭ 1 текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,3 ! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,l-as3 ! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3 ! Выдавить эту грань на величину защитного слоя as3

! Нагрузка
! Собственный вес (силы инерции)
ACEL,,,gconst*0 ! Задать линейное ускорение в глобальной декартовой системе отсчета по оси Z
! Сосредоточенные силы задаём как давление
! Слева
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,a+(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b) ! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13) ! Задать силу в каждый выбранный узел (всего 5*13=65 узлов)
*ENDDO ! Окончание цикла
! Справа
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,l-a-(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b) ! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13) ! Задать силу в каждый выбранный узел (всего 5*13=65 узлов)
*ENDDO ! Окончание цикла
*DEL,,LOC ! Очистить массив

! Накладываем связи
! Под левой опорой
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,as3+(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,0 ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,UX,UZ ! Наложить связи на узел - по всем трём направлениям
*ENDDO ! Окончание цикла
! Под левой опорой
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,l-as3-(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,0 ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,,UZ ! Наложить связи на узел - по всем трём направлениям
*ENDDO ! Окончание цикла

FINISH ! Заканчиваем работу в Предпроцессоре

! Процессор Решений
/SOLU ! Запускаем процессор Решений
ANTYPE,STATIC ! Задаём тип расчёта (анализа) - статический
ALLSEL ! Выбрать все объекты с помощью одной команды
SOLVE ! Начать расчёт
FINISH !
/POST1
FINISH ! Заканчиваем работу в Предпроцессоре
SAVE ! Сохраняем данные

Цитата:
Сообщение от MrWhite Посмотреть сообщение
Скиньте макрос с таким опиранием - посмотрю.
OlegVR вне форума  
 
Непрочитано 12.04.2019, 12:43
#10
MrWhite


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


Как только вы запрещаете перемещения по вертикали на всей площадке опирания - вы уже не работаете с шарнирами. Сделайте нормальную схему с шарнирным опиранием и ее разберем.

Последний раз редактировалось MrWhite, 12.04.2019 в 12:49.
MrWhite вне форума  
 
Автор темы   Непрочитано 12.04.2019, 13:49
#11
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


А как это можно сделать?

Цитата:
Сообщение от MrWhite Посмотреть сообщение
Как только вы запрещаете перемещения по вертикали на всей площадке опирания - вы уже не работаете с шарнирами. Сделайте нормальную схему с шарнирным опиранием и ее разберем.
OlegVR вне форума  
 
Непрочитано 12.04.2019, 14:03
#12
MrWhite


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


Цитата:
Сообщение от OlegVR Посмотреть сообщение
А как это можно сделать?
Либо закрепить перемещения только для одного ряда узлов, либо городить систему с CE и CP (уравнениями связывания). Ну просто если закреплять перемещения у площадки неравномерные силы реакции помноженные на плечи будут создавать момент. И весьма существенный момент. Нужно избежать появления такого рода внутренних усилий.
MrWhite вне форума  
 
Автор темы   Непрочитано 13.04.2019, 09:15
#13
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Закрепил перемещения только для одного ряда узлов: всё тоже самое - если зажать все три направления - напряжения не симметричны, а если зажать только вертикальные - программа не считает

! Настройка среды
FINI ! Выход из всех процессоров
/CLEAR ! Очистка данных, оставшихся от предыдущей работы
/CONFUG,NPROC,2 ! Задание числа процессоров
/FILNAME,BKP_20 ! Задание Jobname
/TITLE,BKP_20 ! Заголовок графического окна
/COM, Structural ! Переключение в прочностной расчет
!/COM, Thermal ! Включение температурного расчёта
/PREP7 ! Начало работы процессора компановки
/SHOW,WIN32C ! Обводка изолиний (контуров) на изополях напряжений
/cont,1,128 ! Шаг (чувствительность) при вычерчивании изолиний на изополях напряжений (от 9 до 128)
/nerr,1,100000000 ! Максимальное количество предупреждений для 1-й команды - 1, максимальное количество предупреждений покуда не произойдёт отмена команды - 100000000
MEMM,KEEP,ON ! Поддержание распределённой памяти во время расчёта
/UNITS,SI ! Система измерений - СИ (примечание: размеры - в [мм], усилия - в [Н], а характеристики материалов в Н/мм2=[МПа], тогда напряжения будут в [МПа])

! Параметры модели
! 1 - Геометрические
l=2980 ! Пролёт балки, мм
h=220 ! Высота сечения, мм
b=250 ! Ширина сечения, мм

! 2 - Силовые
gconst=9.80665 ! Ускорение свободного падения, Н/м2
P=18100 ! Нагрузка, Н (Р1=Р2)
a=965 ! Пролёт среза, мм
a1=40 ! Расстояние от торца до опорной реакции

! 3 - Для армирования
as1=26 ! З.с.+0,5ds1 снизу, мм
as2=30 ! З.с.+0,5ds2 сверху, мм
as3=40 ! З.с.+0,5ds1 сбоку, мм
sw=100 ! Шаг поперечных стержней, мм
nsw=(l-2*as3)/sw+1 ! Количество поперечных стержней

! 4 - Задание конечных элементов и реальных констант
ET,1,Solid185 ! КЭ для бетона
ET,2,MESH200,6 ! Пустой четырехугольник (6) для пошаговой экструзии (выдавливания)

! 5 - Свойства материалов (физические параметры)
! Бетон
Eb=32500 ! Начальный модуль деформаций бетона, МПа
nub=0.2 ! Коэффициент Пуассона бетона
rob=25e-6 ! Плотность бетона, Н/мм3
UIMP,1,EX,NUXY,DENS,Eb,nub,rob ! Модель материала - бетон, упругие изотропные свойства

! Геометрическая модель
WPROTA,,,90 ! Поворот локальной системы координат на 90 градусов против часовой стрелки относительно вертикальной оси Y

! Создаём боковую грань из нескольких пряморугольников, которую будем выдавливать
RECT,0,-h,0,b
RECT,0,-h,0,b/2
RECT,0,-h,0,b/4
RECT,0,-h,0,3*b/4
RECT,0,-as1,0,b
RECT,0,-(h-as2),0,b
RECT,0,-h/2,0,b
ASEL,ALL ! Выделить все грани
AOVL,ALL ! Образовать грани при пересечении наложенных друг на друга
SHPP,WARN ! Опция для проверка формы КЭ при разбивке (читай Хелп)
TYPE,2 ! Устанавливаем атрибут типа КЭ для сеточной разбивки (пустой четырёхугольник (3))
MAT,1 ! Материал разбивки (1) - бетон
mshkey,1 ! Задаём тип разбивки (1) - строго карточный (т.е. разбиваем на прямоугольники)
ASEL,ALL ! Выбираем все грани
AMESH,ALL ! Разбиваем сеткой на КЭ

! Размеры конечных элементов для разбивки
RE=5 ! Количество элементов по длине экструзии (5 шт.)
REsw=6 ! Количество элементов по высоте сечения (6 шт.)
HE=sw/RE ! Размер конечного элемента по горизонтали (между соседними хомутами)
NSET=(h-as1-as2)/REsw ! Размер конечного элемента по вертикали (между верхней и нижней арматурой)

! Выдавливаем бетонный объём
! От левого торца до первого поперечного стержня (хомута)
TYPE,1 ! Делаем тип КЭ 1 текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,3 ! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,0 ! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3 ! Выдавить эту грань на величину защитного слоя as3
! От первого поперечного стержня (хомута) до последнего
*DO,I,1,nsw-1 ! Запуск цикла от I=1 до nw-1
ASEL,S,LOC,X,as3+(I-1)*sw ! Новый выбор вертикальной грани на расстоянии as3+I*sw от начала
TYPE,1 ! Делаем тип КЭ 1 (бетон) текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,RE ! Количество разбиений для линий - RE=5 шт.
VEXT,ALL,,,sw ! Выдавить эту грань на величину шага хомутов sw
*ENDDO ! Окончание цикла
! От последнего хомута до правого торца балки
TYPE,1 ! Делаем тип КЭ 1 текущим
MAT,1 ! Делаем материал 1 (бетон) текущим
ESIZE,,3 ! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,l-as3 ! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3 ! Выдавить эту грань на величину защитного слоя as3

! Нагрузка
! Собственный вес (силы инерции)
ACEL,,,gconst*0 ! Задать линейное ускорение в глобальной декартовой системе отсчета по оси Z
! Сосредоточенные силы задаём как давление
! Слева
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,a+(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b) ! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13) ! Задать силу в каждый выбранный узел (всего 5*13=65 узлов)
*ENDDO ! Окончание цикла
! Справа
*DO,I,1,RE+1 ! Запуск цикла от I=1 до
NSEL,S,LOC,X,l-a-(I-1)*HE ! Выбрать подмножество узлов, лежащих в плоскости
nsel,r,loc,z,h ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
!SF,ALL,PRES,-P/(sw*b) ! Задать давление на выбранные узлы
F,ALL,FZ,-P/(5*13) ! Задать силу в каждый выбранный узел (всего 5*13=65 узлов)
*ENDDO ! Окончание цикла
*DEL,,LOC ! Очистить массив

! Накладываем связи
! Под левой опорой
NSEL,S,LOC,X,as3
nsel,r,loc,z,0 ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,UX,UZ ! Наложить связи на узел - по всем трём направлениям
! Под левой опорой
NSEL,S,LOC,X,l-as3
nsel,r,loc,z,0 ! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,,,,,,,UZ ! Наложить связи на узел - по всем трём направлениям
!*ENDDO ! Окончание цикла
FINISH ! Заканчиваем работу в Предпроцессоре

! Процессор Решений
/SOLU ! Запускаем процессор Решений
ANTYPE,STATIC ! Задаём тип расчёта (анализа) - статический
ALLSEL ! Выбрать все объекты с помощью одной команды
SOLVE ! Начать расчёт
FINISH !
/POST1
FINISH ! Заканчиваем работу в Предпроцессоре
SAVE ! Сохраняем данные

Цитата:
Сообщение от MrWhite Посмотреть сообщение
Либо закрепить перемещения только для одного ряда узлов, либо городить систему с CE и CP (уравнениями связывания). Ну просто если закреплять перемещения у площадки неравномерные силы реакции помноженные на плечи будут создавать момент. И весьма существенный момент. Нужно избежать появления такого рода внутренних усилий.
OlegVR вне форума  
 
Непрочитано 13.04.2019, 12:30
1 | #14
MrWhite


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


Коллега, Вы вообще смотрите как макрос приходит в сам Ansys или только результат? У Вас неправильно прикладывается сила, я об этом написал - вы не исправили. У вас неправильно граничные условия приходят. Я исправил макрос - все работает нормально.
Код:
[Выделить все]
! Настройка среды
FINI	! Выход из всех процессоров
/CLEAR	! Очистка данных, оставшихся от предыдущей работы
/CONFUG,NPROC,2	! Задание числа процессоров
/FILNAME,BKP_20	! Задание Jobname
/TITLE,BKP_20	! Заголовок графического окна
/COM, Structural ! Переключение в прочностной расчет
!/COM, Thermal ! Включение температурного расчёта
/PREP7 ! Начало работы процессора компановки
/SHOW,WIN32C	! Обводка изолиний (контуров) на изополях напряжений
/cont,1,128	! Шаг (чувствительность) при вычерчивании изолиний на изополях напряжений (от 9 до 128)
/nerr,1,100000000	! Максимальное количество предупреждений для 1-й команды - 1, максимальное количество предупреждений покуда не произойдёт отмена команды - 100000000 
MEMM,KEEP,ON	! Поддержание распределённой памяти во время расчёта
/UNITS,SI	! Система измерений - СИ (примечание: размеры - в [мм], усилия - в [Н], а характеристики материалов в Н/мм2=[МПа], тогда напряжения будут в [МПа])

! Параметры модели
! 1 - Геометрические
l=2980	! Пролёт балки, мм
h=220	! Высота сечения, мм
b=250	! Ширина сечения, мм

! 2 - Силовые
gconst=9.80665	! Ускорение свободного падения, Н/м2
P=18100	! Нагрузка, Н (Р1=Р2)
a=965	! Пролёт среза, мм
a1=40	! Расстояние от торца до опорной реакции

! 3 - Для армирования
as1=26	! З.с.+0,5ds1 снизу, мм
as2=30	! З.с.+0,5ds2 сверху, мм
as3=40	! З.с.+0,5ds1 сбоку, мм
sw=100	! Шаг поперечных стержней, мм
nsw=(l-2*as3)/sw+1	! Количество поперечных стержней

! 4 - Задание конечных элементов и реальных констант
ET,1,Solid185	! КЭ для бетона
ET,2,MESH200,6	! Пустой четырехугольник (6) для пошаговой экструзии (выдавливания)

! 5 - Свойства материалов (физические параметры)
! Бетон
Eb=32500	! Начальный модуль деформаций бетона, МПа
nub=0.2	! Коэффициент Пуассона бетона
rob=25e-6	! Плотность бетона, Н/мм3
UIMP,1,EX,NUXY,DENS,Eb,nub,rob	! Модель материала - бетон, упругие изотропные свойства

! Геометрическая модель
WPROTA,,,90	! Поворот локальной системы координат на 90 градусов против часовой стрелки относительно вертикальной оси Y

! Создаём боковую грань из нескольких пряморугольников, которую будем выдавливать
RECT,0,-h,0,b
RECT,0,-h,0,b/2
RECT,0,-h,0,b/4
RECT,0,-h,0,3*b/4
RECT,0,-as1,0,b
RECT,0,-(h-as2),0,b
RECT,0,-h/2,0,b
ASEL,ALL	! Выделить все грани
AOVL,ALL	! Образовать грани при пересечении наложенных друг на друга
SHPP,WARN	! Опция для проверка формы КЭ при разбивке (читай Хелп)
TYPE,2	! Устанавливаем атрибут типа КЭ для сеточной разбивки (пустой четырёхугольник (3))
MAT,1	! Материал разбивки (1) - бетон
mshkey,1	! Задаём тип разбивки (1) - строго карточный (т.е. разбиваем на прямоугольники)
ASEL,ALL	! Выбираем все грани
AMESH,ALL	! Разбиваем сеткой на КЭ

! Размеры конечных элементов для разбивки
RE=5	! Количество элементов по длине экструзии (5 шт.)
REsw=6	! Количество элементов по высоте сечения (6 шт.)
HE=sw/RE	! Размер конечного элемента по горизонтали (между соседними хомутами)
NSET=(h-as1-as2)/REsw ! Размер конечного элемента по вертикали (между верхней и нижней арматурой)

! Выдавливаем бетонный объём
! От левого торца до первого поперечного стержня (хомута)
TYPE,1	! Делаем тип КЭ 1 текущим
MAT,1	! Делаем материал 1 (бетон) текущим
ESIZE,,3	! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,0	! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3	! Выдавить эту грань на величину защитного слоя as3 
! От первого поперечного стержня (хомута) до последнего
*DO,I,1,nsw-1	! Запуск цикла от I=1 до nw-1
ASEL,S,LOC,X,as3+(I-1)*sw	! Новый выбор вертикальной грани на расстоянии as3+I*sw от начала 
TYPE,1	! Делаем тип КЭ 1 (бетон) текущим
MAT,1	! Делаем материал 1 (бетон) текущим
ESIZE,,RE	! Количество разбиений для линий - RE=5 шт.
VEXT,ALL,,,sw	! Выдавить эту грань на величину шага хомутов sw 
*ENDDO	! Окончание цикла
! От последнего хомута до правого торца балки
TYPE,1	! Делаем тип КЭ 1 текущим
MAT,1	! Делаем материал 1 (бетон) текущим
ESIZE,,3	! Количество разбиений для линий - 3 шт.
ASEL,S,LOC,X,l-as3	! Новый выбор боковой грани в начале координат
VEXT,ALL,,,as3	! Выдавить эту грань на величину защитного слоя as3 

! Нагрузка
! Собственный вес (силы инерции)
ACEL,,,gconst*0	! Задать линейное ускорение в глобальной декартовой системе отсчета по оси Z
! Сосредоточенные силы задаём как давление

NSEL,S,LOC,X,a,a+100
nsel,r,loc,z,h
F,ALL,FZ,-P/(5*13)

NSEL,S,LOC,X,l-a,l-a-100
nsel,r,loc,z,h
F,ALL,FZ,-P/(5*13)

ALLSEL

! Накладываем связи
! Под левой опорой
NSEL,S,LOC,X,as3-1,as3+1
nsel,r,loc,z,0	! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,UZ$D,ALL,UY$D,ALL,UX
! Под левой опорой
NSEL,S,LOC,X,l-as3-1,l-as3+1
nsel,r,loc,z,0	! Выбрать из этого подмножества узлы, лежащие на нижней грани балки
D,ALL,UZ$D,ALL,UY
!*ENDDO	! Окончание цикла
FINISH	! Заканчиваем работу в Предпроцессоре

! Процессор Решений
/SOLU	! Запускаем процессор Решений
ANTYPE,STATIC	! Задаём тип расчёта (анализа) - статический
ALLSEL	! Выбрать все объекты с помощью одной команды
SOLVE	! Начать расчёт
MrWhite вне форума  
 
Автор темы   Непрочитано 15.04.2019, 07:19
#15
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Большое спасибо! Но ведь дело не в нагрузке было, а в синтаксисе задания связей. Поставил ваш блок связей в прежний алгоритм - работает и с теми нагрузками, почти такие же результаты. Тем не менее за корректировку узловых нагрузок - отдельное спасибо!
На будущее где можно узнать, что значит этот синтаксис? D,ALL,UZ$D,ALL,UY В Хелпе такого, вроде, нет.

Цитата:
Сообщение от MrWhite Посмотреть сообщение
Коллега, Вы вообще смотрите как макрос приходит в сам Ansys или только результат? У Вас неправильно прикладывается сила, я об этом написал - вы не исправили. У вас неправильно граничные условия приходят. Я исправил макрос - все работает нормально.
OlegVR вне форума  
 
Непрочитано 15.04.2019, 16:53
1 | #16
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 599
Отправить сообщение для derik с помощью Skype™


Цитата:
Сообщение от OlegVR Посмотреть сообщение
Большое спасибо! Но ведь дело не в нагрузке было, а в синтаксисе задания связей. Поставил ваш блок связей в прежний алгоритм - работает и с теми нагрузками, почти такие же результаты. Тем не менее за корректировку узловых нагрузок - отдельное спасибо!
На будущее где можно узнать, что значит этот синтаксис? D,ALL,UZ$D,ALL,UY В Хелпе такого, вроде, нет.
в хелпе. по команде D - узловые связи. в данном случае азпрещение узловых связей поворотом по Z и Y
там же все это есть
__________________
...
derik на форуме  
 
Автор темы   Непрочитано 17.04.2019, 06:14
#17
OlegVR

на любимой работе
 
Регистрация: 10.10.2006
Казань
Сообщений: 117


Не знаю, сходу такого значка "UZ$D" или подобного ему не обнаружил Да и дважды вписывать параметр ALL в одной строке - такого тоже не найду. Интуитивно запись понятна, но как её обосновать на основе Хелпа из статьи "D, Defines degree-of-freedom constraints at nodes" (Ансис 17.0) не соображу. Извините за тупость) Видимо, нужно изучить смежные статьи по общим принципам синтаксиса APDL.

Цитата:
Сообщение от derik Посмотреть сообщение
в хелпе. по команде D - узловые связи. в данном случае азпрещение узловых связей поворотом по Z и Y
там же все это есть
OlegVR вне форума  
 
Непрочитано 17.04.2019, 07:23
1 | #18
derik

Конструякер
 
Регистрация: 27.07.2009
Подмосковье
Сообщений: 599
Отправить сообщение для derik с помощью Skype™


Знак $ означает что следующая команда идёт вслед за другой. Своеобразный переход от одной строки к другой на одной строчке. Но не стоит этим злоупотреблять и писать команды больше 3-4, можно самому запутаться. И таки в примерах хелпа где то было подобное обозначение...или в командах лога когда используешь гуй а не апдл
__________________
...
derik на форуме  
 
Непрочитано 18.04.2019, 13:21
#19
MrWhite


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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обеспечение совместной работы металлической балки и монолитной плиты перекрытия Василий1983 Железобетонные конструкции 39 14.09.2017 00:12
Узел опирания металлической балки на кирпичную стену midsummer Каменные и армокаменные конструкции 14 15.06.2015 05:21
Как расчитать анкер, при креплении металлической балки к существующей монолитной бетонной конструкции? diplodog Металлические конструкции 6 22.03.2015 21:39
Стальная крановая эстакада. Балки разрезные или неразрезные? krendel-l Металлические конструкции 7 09.10.2014 13:02
Моделирование увеличения сечения балки у колонны. gliv Конструкции зданий и сооружений 7 21.11.2011 16:18