В евросоюзе существует такой нормативный документ как Еврокод 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 8unite 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 tetmeshvolume all size auto factor 4
mesh volume allcreate 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 главные напряжения.
Затем использовать ту же формулу для кривой усталости, что использовалась ранее, но переназначив символы степени по правилам калькулятора и в скобках поместив рассматриваемые напряжения.
Затем нажать "Применить".
После чего необходимо сверху в результатах выбрать "Результат" и проделать аналогичные манипуляции по инвертированию цветовой схемы и включению логарифмической шкалы, после чего вы увидите результат.