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

Вернуться   Форум DWG.RU > Архитектура и Строительство > Конструкции зданий и сооружений > Железобетонные конструкции > Прошу указать ошибку в алгоритме НДМ для Мх

Прошу указать ошибку в алгоритме НДМ для Мх

Ответ
Поиск в этой теме
Непрочитано 08.06.2020, 10:06 #1
Прошу указать ошибку в алгоритме НДМ для Мх
Tyhig
 
Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Ленинград
Регистрация: 30.01.2008
Сообщений: 18,620

Добрый день.

Делаю простейший калькулятор НДМ в екселе.
Алгоритм как-то понял благодаря сотрудничеству с Игорем Тутанхамоном и посту palexxvlad
https://forum.dwg.ru/showpost.php?p=...&postcount=261
За что им отдельное спасибо.

Простая балка 400х400 мм, 4 арматурины 16 А500С с азс=30 мм. 10 кэ бетона и 1 кэ арматуры. Двухлинейная диаграмма арматуры, трёхлинейная бетона.

Что-то сделал, нашёл кучу ошибок, пришёл к заветному финалу, но алгоритм у меня просто не работает.
Почему-то коэффициенты νbi, νsj в ходе итераций не хотят сходиться и всегда равны или 0 (принял диаграмму бетона без растяжения) или 1, вместо дробных чисел. Видимо это моя ошибка, но не могу понять какая.
Также задал изначально Мх=30 кН*м, N=0 кН. В ходе итераций даже с такими вот νbi, νsj момент сходится на 4ой итерации, но при этом появляется мифическая N= 88,55 кН (сжатие) непонятно почему.
Сделал всего 4 итерации, но уже видно что алгоритм просто не хочет сходиться.

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

Б) Если сложно или лень смотреть ексель, то хотя бы на пальцах повторю алгоритм (может быть ошибка уже близко):
1) Определяем D11...
D11=∑(Abi*Zbxi^2*Eb*νbi)+∑(Asj*Zsxj^2*Esj*νsj)
D22=∑(Abi*Zbyi^2*Eb*νbi)+∑(Asj*Zsyj^2*Esj*νsj)
D12=∑(Abi*Zbxi*Zbyi*Eb*νbi)+∑(Asj*Zsxj*Zsyj*Esj*νsj)
D13=∑(Abi*Zbxi*Eb*νbi)+∑(Asj*Zsxj*Esj*νsj)
D23=∑(Abi*Zbyi*Eb*νbi)+∑(Asj*Zsyj*Esj*νsj)
D33=∑(Abi*Eb*νbi)+∑(Asj*Esj*νsj)
Здесь первая непонятка. В формулах D11...D33 присутствует Eb начальный модуль упругости бетона и Es модуль упругости j-го стержня арматуры.
Ну хорошо, на первых итерациях Е действительно начальный, но потом то Е по идее должен изменяться ? При определении коэффициентов D11... неужели всё время надо принимать начальные Е ?

2) Решаем систему линейных уравнений (решена точно правильно, сошлась с решением Тутанхамона) (но у меня одномерная задача, то есть другие уравнения, но они в разы проще)
Итого для моей простейшей задачи
1/rx = ( Mx-D13*N/D33 ) / ( D11 - D13^2 /D33 )
ε0 = (N- D13*1/rx )/D33
Находим 1/rx и ε0
3) Вычисляем
εbi = ε0 + 1/rx * Zbxi + 1/ry * Zbyi
εsj = ε0 + 1/rx * Zsxj + 1/ry * Zsyj
4) Для первой итерации при νbi1 =1 ; νsj1 = 1 (далее по идее ν должны изменяться, но не у меня )
σbi= определяется из диаграммы материала
σsj = определяется из диаграммы материала
5) Проверка точности решения
Итерации
Mx=∑(σbi*Abi*Zbxi)+∑(σsj*Asj*Zsxj)
My=∑(σbi*Abi*Zbyi)+∑(σsj*Asj*Zsyj)
N=∑(σbi*Abi)+∑(σsj*Asj)
6)
νbi = σbi / ( Ebi*εbi )
νsj = σsj /( Esj*εsj )
Тут вторая непонятка, тоже с Е. Не понимаю почему Е надо брать всегда начальный ?
σbi , εbi - это те, которые вычислены в эту итерацию ?

И вот таким макаром у меня эти νbi , νsj всегда равны 1, что бы я ни делал.
И ещё N откуда-то прилетает.


В общем помогите, пожалуйста.

Вложения
Тип файла: rar 1D НДМ.rar (50.2 Кб, 20 просмотров)

__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен

Последний раз редактировалось Tyhig, 08.06.2020 в 10:18.
Просмотров: 1697
 
Непрочитано 08.06.2020, 11:24
1 | #2
румата


 
Регистрация: 06.04.2015
Сообщений: 2,673


Цитата:
Сообщение от Tyhig Посмотреть сообщение
Здесь первая непонятка. В формулах D11...D33 присутствует Eb начальный модуль упругости бетона и Es модуль упругости j-го стержня арматуры.
Ну хорошо, на первых итерациях Е действительно начальный, но потом то Е по идее должен изменяться ? При определении коэффициентов D11... неужели всё время надо принимать начальные Е ?
Для вычисления этих к-тов жесткости принимаются начальные модули упругости на каждой итерации, а к-ты ню для бетона или арматуры лишь приводят начальные модули к фактическим измененным.
Цитата:
Сообщение от Tyhig Посмотреть сообщение
Тут вторая непонятка, тоже с Е. Не понимаю почему Е надо брать всегда начальный ?
Потому, что к-ты ню есть отношение вычисленного модуля деформации для элементарного участка сечения к начальному упругому.
Цитата:
Сообщение от Tyhig Посмотреть сообщение
Почему-то коэффициенты νbi, νsj в ходе итераций не хотят сходиться и всегда равны или 0 (принял диаграмму бетона без растяжения) или 1, вместо дробных чисел. Видимо это моя ошибка, но не могу понять какая.
Ход решения правильный. Возможно что-то не так с вычислением напряжений по диаграммам, раз на каждой итерации все упруго. Вот это
Код:
[Выделить все]
ЕСЛИ(M522>0;0;ЕСЛИ(И(ИЛИ(M522<0;M522=0);ИЛИ(M522>-$C$333;M522=-$C$333));  M522*$C$327;    ЕСЛИ(И(M522<-$C$333;M522>-$C$365);    - ( (1-$C$332/$C$325)*( (-1)* M522-$C$333)/($C$365-$C$333) + $C$332/$C$325 )*$C$325;   ЕСЛИ( И( ИЛИ(M522>-$C$355;M522=-$C$355);ИЛИ(M522<-$C$365;M522=-$C$365) ); -($C$325+$C$325*(-1)*M522*$C$376);  -($C$325+$C$325*(-1)*M522*$C$376)  ))))
за вас вряд ли кто станет проверять
румата вне форума  
 
Автор темы   Непрочитано 08.06.2020, 11:34
#3
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 18,620


Цитата:
Сообщение от румата Посмотреть сообщение
раз на каждой итерации все упруго
Так и должно быть всё упруго... У меня же напряжения не ахти какие... Они на первой упругой ветви должны находиться...
Думал, что уже потом, ближе к расчётному сопротивлению, Е будет изменяться...
Диаграммы очень долго рожал. Там всё ок.

----- добавлено через ~1 мин. -----
Цитата:
Сообщение от румата Посмотреть сообщение
Для вычисления этих к-тов жесткости принимаются начальные модули упругости на каждой итерации, а к-ты ню для бетона или арматуры лишь приводят начальные модули к фактическим измененным.
Эти D каждый раз на каждой итерации считать по начальным модулям ? Мда. Ладно.
Спасибо.

А N откуда мог появиться ?
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен

Последний раз редактировалось Tyhig, 08.06.2020 в 11:46.
Tyhig вне форума  
 
Непрочитано 08.06.2020, 11:53
1 | #4
румата


 
Регистрация: 06.04.2015
Сообщений: 2,673


Цитата:
Сообщение от Tyhig Посмотреть сообщение
Так и должно быть всё упруго... У меня же напряжения не ахти какие... Они на первой упругой ветви должны находиться...
А зачем тогда НДМ? Может там сечения бетона без арматуры будет достаточно, просто нужно учесть работу бетона на растяжение. В таком случае не удивительно, что ню всегда равны единице. Но решение все равно должно сходится.
Цитата:
Сообщение от Tyhig Посмотреть сообщение
Эти D каждый раз на каждой итерации считать по начальным модулям ?
Да, каждый раз по начальным модулям и каждый раз по заново вычисленным значениям к-тов ню.
Цитата:
Сообщение от Tyhig Посмотреть сообщение
А N откуда мог появиться ?
Не знаю, проверю своим калькулятором.
румата вне форума  
 
Автор темы   Непрочитано 08.06.2020, 11:56
#5
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 18,620


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

Да N то там получается из всех напряжений*площадь кэ. Не надо проверять. Просто откуда оно ? Ведь не было ...
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Tyhig вне форума  
 
Непрочитано 08.06.2020, 14:27
1 | #6
румата


 
Регистрация: 06.04.2015
Сообщений: 2,673


Пересчитал вашу задачу своим калькулятором. Все решается и сходится. Результаты промежуточных вычислений и результат в о вложениях. Одно "но" - у меня деление бетонного сечения 2х10, т.е 2 участка по ширине и 10 по высоте. И, действительно, ню на каждой итерации равны единицам, т.е. и бетон и арматура работают упруго.
PS у меня напряжения внутри программы в килоньютонах.

----- добавлено через ~52 мин. -----
Tyhig, еще по вашему файлу .xlsm не заметно, что жесткостные к-ты D11-D33 пересчитаны на каждой итерации
Миниатюры
Нажмите на изображение для увеличения
Название: 2-я итерация.png
Просмотров: 60
Размер:	64.9 Кб
ID:	227169  Нажмите на изображение для увеличения
Название: 3-я итерация.png
Просмотров: 64
Размер:	68.9 Кб
ID:	227170  Нажмите на изображение для увеличения
Название: 4-я итерация.png
Просмотров: 65
Размер:	67.3 Кб
ID:	227171  Нажмите на изображение для увеличения
Название: Аннотация 2020-06-08 142230.png
Просмотров: 63
Размер:	17.5 Кб
ID:	227172  
румата вне форума  
 
Автор темы   Непрочитано 08.06.2020, 18:52
#7
Tyhig

Оснащение проходки горных выработок, ПОС, нормоконтроль, КР, АР
 
Блог
 
Регистрация: 30.01.2008
Ленинград
Сообщений: 18,620


румата, спасибо.
Нашёл ошибку с N. Просто формулу неправильно ввёл, забыл скобки.
Теперь всё сошлось. Вот это радость.
__________________
"Безвыходных ситуаций не бывает" барон Мюнхаузен
Tyhig вне форума  
Ответ
Вернуться   Форум DWG.RU > Архитектура и Строительство > Конструкции зданий и сооружений > Железобетонные конструкции > Прошу указать ошибку в алгоритме НДМ для Мх

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Лира 9,6 выкидывает ошибку при запуске Novitskiy Лира / Лира-САПР 2 26.11.2012 12:10
Прошу помощи в проектировании двупоточной зубчатой передачи Владимир437 Машиностроение 7 31.10.2012 21:22
При расчете фермы в SCAD, не могу выполнить линейный расчет. Выдает ошибку. Прошу помочь найти эту ошибку. A-III SCAD 7 06.09.2012 12:53
Как в обьекте MTEXT программно указать для первого символа одну высоту шрифта а для остальных другую? DonVik Программирование 6 30.10.2009 11:51