среда, 17 августа 2011 г.

Сочетания нагрузок (часть четвёртая)

 
Сегодня у нас в гостях товарищ 40ushek, который расскажет об альтернативных комбинациях нагрузок в Robot. Встречаем, читаем и говорим ему дружное СПАСИБО.

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

Что может быть проще?
Самый простой способ - импорт из текстового файла. Используя программу SV.Combines2Robot.exe.
Можно вручную набрать сколько угодно комбинаций нагрузок.
Создается текстовый файл со строками, описывающими комбинации нагрузок в очень простом виде. Строка состоит из номеров нагружений через пробел, в скобках коэффициент сочетания с которым войдет в комбинацию данное нагружение. Отсутствие коэффициента означает, что нагружение войдет с коэффициентом 1.0.
Пример.
1 2(0.9) 3(0.9) 4(0.9) 9(0.64) 11(-0.64)
1(1.0) 2(0.9) 3(0.9) 4(0.9) 9(0.64) 11(-0.64)
1 2(0.9) 4(0.9) 5(0.9) 6(0.9) 7(0.9) 11(0.9)
1 2 3 4 5(-1)
Обратите внимание, что первая и вторая комбинации идентичны, различаются только способом написания. Коэффициент со знаком минус, удобно использовать для знакопеременной нагрузки.
Окно программы выглядит следующим образом.
clip_image002
Read from file – прочитать комбинации из файла.
Clear combine list – удалить все комбинации.
Create Robot Comb. – создать комбинации в RSA. В Робот должен быть открыт файл, в котором необходимо создать комбинации. Важно - комбинации очень желательно создавать до расчета конструкции.
Clear Robot Combines – удалить все комбинации из Робот.
Графья и другие.
Второй способ интереснее и гораздо производительнее. Используя программу SV.GraphModeler.exe. Данная программа предназначена для нахождения всех возможных комбинаций нагрузок при помощи графов. Пользователь программы строит граф сочетаний нагрузок, а затем программа генерирует все возможные комбинации автоматически. Главная проблема, заключается в том, что многих отпугивает этот способ как непривычный и необходимо преодолеть некоторую косность мышления. Но оно того стоит. Как создавать графы можно посмотреть http://www.youtube.com/user/40ushek
clip_image004
Итак, что такое граф? Это конечно не дворянский титул. Графам посвящена целая область дискретной математики и существует множество областей применения графов на практике, но я думаю, что вас это не заинтересует.
В качестве вершин (кружков или узлов) выступают нагружения.
В качестве ребер выступают направленные отрезки (векторы) описывающие взаимосвязь нагружений.
Получается, что любой граф состоит из совокупности вершин и ребер. Вершин и ребер может быть сколь угодно много.
Вершина имеет следующие свойства:
  • № Нагруж. – номер нагружения с которым ассоциируется вершина. Положительное целое число. На рисунке отображен зеленым цветом, сверху над вершиной.
  • k1 - 1й масштабный коэффициент. На рисунке отображен желтым цветом внизу вершины слева.
  • k2 - 2й масштабный коэффициент. На рисунке отображен желтым цветом внизу вершины справа.
Если коэффициент равен нулю, он не отображается.
Нагружение войдет в комбинацию с одним из масштабных коэффициентов.
Для постоянных нагрузок обычно, k1 = k2=1. В комбинациях нагрузок всегда фигурирует такое нагружение.
Для временных нагрузок обычно один из коэффициентов равен нулю.
При составлении графов существуют два простых правила:
Если два или несколько нагружений должны действовать одновременно, то они должны быть оформлены в виде последовательной системы ребер.
Граф 1.
clip_image006
В данном примере все нагрузки могут действовать одновременно.
Сочетания нагрузок полученные из графа 1.
1 2(0.95) 3(0.9) 4(0.9)
1 2(0.95) 3(0.9)
1 2(0.95) 4(0.9)
1 2(0.95)
1 3(0.9) 4(0.9)
1 3(0.9)
1 4(0.9)
1
Если два или несколько нагружений не могут действовать одновременно, то они должны быть оформлены в виде параллельной системы дуг (на картинке правда не параллельно выглядят, издержки терминологии).
Граф 2.
clip_image008
В данном примере нагружения 3 и 4 взаимоисключающие, т.е. не могут действовать одновременно.
Сочетания нагрузок полученные из графа 2.
1 2(0.95) 3(0.9)
1 2(0.95)
1 3(0.9)
1
1 2(0.95) 4(0.9)
1 4(0.9)
В качестве примера рассмотрим экзотический вариант. Предположим, что существуют 6 нагружений. Нагружения 1, 2, 3 – взаимоисключающие между собой. Нагружение 3 не может действовать с нагружением 4. Нагружения 5 не может действовать с нагружениями 3 и 4. Нагружение 1 не может действовать с нагружением 5 и 6. Все нагрузки временные.
Граф 3.
clip_image010
Сочетания нагрузок полученные из этого графа 3.
1 4
1
4
2 5
2
5
2 4 6
2 4
2 6
4 6
6
3 6
3
От слов к делу!
При использовании графов, нужна некоторая практика, впрочем, как и в любом другом новом деле.
Итак, небольшой экскурс в теорию графов закончен. Теперь практика.
Запускаем SV.GraphModeler.exe, и приступаем к созданию графов.
Сначала рекомендуется импортировать список нагружений из RSA, меню Граф>Менеджер нагружений. Далее появится окно в котором надо нажать на кнопку «Robot», и считаются все нагружения описанные в RSA. Естественно, Robot должен быть запущен.
clip_image012
Далее, если вы используете нормативные нагрузки, необходимо ввести расчетные коэффициенты для нагружений. Кнопка редактировать или двойной клик на соответствующем нагружении.
clip_image014
В результате должно получиться нечто подобное.
clip_image016
После этого можно приступить непосредственно к созданию графа.
Для создания вершин и ребер служит одна команда «Путь» (доступна как в меню Граф>Путь или на панели инструментов). В зависимости от контекста, она создает вершины и ребра. Если клик мышью совершен на пустом пространстве, то создается новая вершина, если же клик мышью совершен на существующей вершине, то создается новое ребро. Для создания одного ребра между двумя существующими вершинами, необходимо кликнуть сначала на первой, а затем второй вершинах.
clip_image018
Далее, если требуется, редактируются вершины графа, с которыми ассоциируются соответствующие нагружения (Меню Редактировать>Редактировать вершину или на панели инструментов также двойной клик на вершине).
clip_image020
После редактирования вершин должно получиться следующее
clip_image022
Далее на основе графа получаем все возможные комбинации нагружений.
Меню Инструменты>Комбинации нагружений
clip_image024
Далее нажимаем кнопку Robot и получаем список всех комбинаций.
clip_image026
Для импорта комбинаций нагружений нажмите кнопку «Create Robot Comb.»
Повторюсь, комбинации настоятельно рекомендую создавать до расчета конструкции.
Некоторые мысли вслух.
Если комбинаций много, к примеру, больше 1000 то импорт в RSA может занять значительное время. Возможно, сделать импорт в Revit, там это будет на порядок быстрее.
При помощи графов можно описать любые сочетания нагружений, это наиболее гибкий и удобный метод задания сочетании нагрузок действующих на конструкцию.
Следует знать, что в общем случае, количество комбинаций равно 2^n (два в степени n) где n - количество нагружений.

17 комментариев:

  1. А как учитываются коэффициенты сочетаний?

    ОтветитьУдалить
  2. Насколько я понимаю СНиП 2.01.07-85* "Нагрузки и воздействия" - для кратковременных нагрузок (нагрузка 3 и 4 - рассмотрим 4 "кратковременная на покрытие")
    Может иметь коэффициент сочетания 1/0,9/0,7 в зависимости от того какие еще временные нагрузки входят в сочетания. На данном примере нагружение 4 всегда приходит в сочетания с коэффициентом 1,5*0,9=1,35

    ОтветитьУдалить
  3. Дядя Леша, строишь в новом файле новый граф и учитываешь все как тебе будет угодно. Граф моделлер позволяет нагенерировать самые безумные комбинации, что не под силу автоматическим сочетаниям в РОботе.

    ОтветитьУдалить
  4. https://sites.google.com/site/40ushek
    Новая версия, для Revit 2012, генерация комбинаций в Revit на порядок быстрее, чем в Robot.

    ОтветитьУдалить
  5. Не получается задать коэффициент надежности... задаются только целые числа, на остальные кнопка подтвердить не активна ...в чем может быть проблема?

    ОтветитьУдалить
  6. скорее всего разделителем целой и дробной части является запятая. поменяйте на точку и вам будет радость

    ОтветитьУдалить
  7. Перезагрузил копм и все заработало, не думал что так могет

    ОтветитьУдалить
  8. Этот комментарий был удален автором.

    ОтветитьУдалить
  9. Скоро буду РСУ для робота, те нахождение невыгодных комбинаций. Тестирую многопроцессорную версию. Постараюсь к НГ сделать.

    ОтветитьУдалить
  10. Дядя Рома, но получается, граф не сможет учесть что кратковременная снижается при количестве больше 3 на коэф: 1; 08; 06 по степени влияния

    ОтветитьУдалить
    Ответы
    1. понял, они (3 кратковременные) пойдут отдельной ветвью последовательно с заданными 1/0,8/0,6. Спасибо! чувствую, что надо попробовать освоить С#, для прикладных задач

      Удалить
    2. совершенно верно, будет три ветки и в каждой свои коэффициенты

      Удалить
  11. еще вопрос, на каком языке написана программа?

    ОтветитьУдалить
    Ответы
    1. со слов автора, граф написан на С#

      Удалить
  12. а ссылку на скачивание может кто нибудь поправить, перезалить файлы?

    ОтветитьУдалить