Расчет на усталость (циклическую прочность) по Еврокоду EN 1993-1-9-2009

В евросоюзе существует такой нормативный документ как Еврокод EN 1993-1-9-2009, который регламентирует методику оценки усталости для различных элементов конструкций.

Также есть примеры применения данного документа.

Далее будет приведен пример оценки усталости соединения К-типа на основе Еврокода (главным образом кривых усталости) с применением Fidesys.

На рисунке ниже представлен скриншот таблицы, где приведен пример соединения К-типа.

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

Ниже приведен набор кривых усталости для размаха касательных напряжений.

Рассматриваемое в примере соединение К-типа относится к категории 45, для которой можно извлечь данные с соответствующей кривой усталости и с помощью EXCEL получить функцию аппроксимации (добавляете степенную линию тренда и ставите галочку в поле "показывать уравнение на диаграмме") для дальнейшего использования в расчетах (мы рассмотрим пример для нормальных напряжений).

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

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

Таким образом будет выглядеть наш результата. Цветовой маркировкой будут помечены зоны с различными допускаемыми циклами в зависимости от размаха напряжений. Ниже приведен пример для 1 главных напряжений.

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

reset
create Cylinder height 0.8 radius 0.1 
create Cylinder height 0.8 radius 0.092 
subtract volume 2 from volume 1 
create Cylinder height 0.8 radius 0.05 
create Cylinder height 0.8 radius 0.045 
rotate Volume 3 4 angle 45  about X include_merged 
Volume 3 4 copy reflect z 
Surface 7  copy 
Surface 1  copy 
webcut volume 3 4 5 6 with sheet body 7 
delete volume 5 3 14 9  
delete volume 6 11  
delete volume 4 16  
subtract volume 15 from volume 1 13  
subtract volume 12 from volume 10 1  
delete body 7
webcut volume 10 13  with sheet body 8 
delete body 8
unite volume 17 1  
unite volume 18 17 
imprint volume all 
merge volume all
#to create an initial crack, do: uncomment the three lines below
#brick x 0.3 y 0.1 z 0.005
#move Volume 19  y -0.11 z 0.025 include_merged 
#subtract volume 19  from volume 18  
volume all scheme tetmesh
volume all size auto factor 4
mesh volume all
create material 1 from 'Углеродистая сталь'
set duplicate block elements off
block 1 add volume all
block 'Block 1' material 1 cs 1 element solid order 1
create displacement  on surface 57  dof all fix  
create distributed force on surface 9  force value 2000000 moment value 0 direction 0 0 1 specific
create distributed force on surface 9  force value 2000000 moment value 0 direction 0 0 -1 specific
analysis type static elasticity dim3
static steps 2
modify distributed force 1 step 1
modify distributed force 2 step 2
static results everysubstep 1
output nodalforce off energy off midresults on record3d off material off fullperiodic off
calculation start path 'C:/Users/User/Documents/CAE-Fidesys-4.1/fidesys01.pvd'

В результате применения скрипта вы должны увидеть следующее.

После чего можно переходить в постпроцессор для применения необходимых фильтров. Для этого нужно перейти в "Режим - Результаты" и нажать "Открыть результаты".

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

Выбираем "Файл - Открыть"

Открываем папку с результатами.

С зажатым Ctrl выбираем оба результата и нажимаем "OK".

Зажав ctrl выбираем два открывшихся результата, а затем программируемый фильтр.

Далее в открывшее снизу окно добавляем код, приведенный снизу.

input0 = inputs[0]
input1 = inputs[1]

sum = abs(input0.PointData["Stress"])+abs(input1.PointData["Stress"])
data = (6e28)*pow((sum),-2.939)

output.PointData.append(data, "Cycles")

Данный код создает переменные input0 и input1, содержащие данные из наборов результатов. Затем код суммирует модули элементов массивов напряжений т.е. напряжения ХХ в узлах первого набора результатов с напряжениями ХХ в тех же узлах второго набора результатов и т.д. по всем компонентам. Затем суммарный результат обрабатывается внутри функции аппроксимации S-N кривой усталости - просуммированные напряжения в узлах подставляются вместо "х" в формуле, полученной выше в EXCEL.

Затем нажимаем "Применить". После чего приступим к обработке вывода результатов.

Сначала необходимо открыть редактор цвета.

Затем сверху выбрать результаты "Cycles" и, к примеру, 7-ю компоненту.

После чего в редакторе цвета поставить галочку в поле "Логарифмическая шкала для цвета..." и нажать на кружок справа для того, чтобы инвертировать расцветку. Таким образом мы сделаем, чтобы красным подсвечивались зоны с наименьшим допустимым числом циклов.

Ниже приведена иллюстрация соответствия номеров результатов в наборе Cycles с соответствующими напряжениями, которые используются для них как исходные данные.

Если вам необходимо учесть какие-либо коэффициенты, к примеру - понижающий коэффициент для получения уменьшенного эквивалентного размаха напряжений цикла для случаев, если часть цикла или весь цикл является сжимающим в элементах без сварки или cо сварными соединениями с полностью снятыми внутренними остаточными напряжениями.

В код необходимо будет внести минимальное изменение, соответствующее требованиям.

input0 = inputs[0]
input1 = inputs[1]

sum = abs(input0.PointData["Stress"])+0.6*abs(input1.PointData["Stress"])
data = (6e28)*pow((sum),-2.939)

output.PointData.append(data, "Cycles")

Если цикл представляет из себя только растяжение и амплитуда размаха определяется как максимальное значение напряжений,

то можно использовать фильтр "Калькулятор".

Там в "Скалярах" необходимо выбрать необходимую величину, которая будет определять размах, к примеру 1 главные напряжения.

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

Затем нажать "Применить".

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