Лабораторная работа № 5. Граничные условия (Закрепления и нагрузки)
Введение.
Итак, вы научились создавать конечно-элементную модель конструкции. Конечно, освоены далеко не все возможности, но уже сейчас вы способны полностью описать форму конструкции и ее механические свойства. Осталась «мелочь» ‑ включить в модель конструкции то, для чего обычно и создаются конструкции – взаимодействие с окружающей средой. Это взаимодействие определяется внешними нагрузками и условиями закрепления – связями. В теории упругости и то и другое обозначается одним термином – граничные условия. Термин статические граничные условия используется для того, что мы обычно называем нагрузками, а термин кинематические граничные условия обозначает условия закрепления или связи.
Прежде, чем приступить к изучению средств FEMAP, предназначенных для описания нагрузок и граничных условий, подготовим простенькую модель. Пусть это будет плоская пластина таких же размеров, как пластина из первой работы: длиной 100 мм, шириной 50 мм и толщиной 1 мм. Без отверстия можно обойтись. То есть перед тем как начать изучение следующего раздела вы должны получить на экране примерно такую картинку:
Вы уже знаете, что конечно-элементную модель этой пластины можно построить разными способами. Можно, например, создать один прямоугольный элемент пластины, а затем, с помощью команд копирования построить все остальные элементы. Можно создать поверхность (Surface) в виде прямоугольника, а затем заполнить ее элементами с помощью команд автоматической генерации. Обычно выбор способа – это ваше личное дело. Из нескольких возможных путей решения задачи всегда выбирайте тот, который кажется более удобным лично вам. Но сейчас я вас все-таки попрошу следовать такому рецепту:
1. Сначала создайте четыре угловые точки (Geometry - Points)
2. Затем проведите четыре прямых, ограничивающих пластину (Geometry-Curve Line – Project Points)
3. Создайте поверхность в виде прямоугольника, образованного этими прямыми (Geometry – Boundary Surface – From Curves)
4. Создайте на этой поверхности конечно-элементную сетку, используя команды создания сетки на геометрических объектах (Mesh – Mesh Control).
Пожелание это связано с тем, что если вы создадите сетку другим путем, например, с помощью команд копирования, то некоторые возможности задания нагрузок и связей, которые следует рассмотреть на этом занятии, окажутся недоступными.
Наборы нагрузок и связей
На практике часто одну и ту же конструкцию требуется рассчитать на воздействие различных вариантов нагружения. Кроме того, может потребоваться расчет конструкции для различных вариантов закрепления. На рисунке приведен простейший пример: балка, которая может быть нагружена а) сосредоточенной силой; б) сосредоточенным моментом; в) распределенной нагрузкой.
А здесь изображены три варианта закрепления балки: а) консольное закрепление б) жесткое закрепление на обоих концах; в) шарнирное опирание по краям.
Можно, конечно, для каждой комбинации нагрузок и граничных условий создать отдельный файл модели. Но выглядит такой подход очень нерациональным. Ведь во всем остальном модели совершенно одинаковые.
FEMAP позволяет вам в рамках одного файла модели описать различные варианты и нагрузок, и граничных условий. Для каждого варианта нагрузки создается набор нагрузок (Load Set). Поэтому и первой командой, которую следует выполнить при описании нагрузок, является команда Model - Load – Create\Manage Set.
Появляется диалоговый бокс управления наборами нагрузок (Load Set Manager). Этот бокс мы еще рассмотрим подробнее, когда создадим несколько наборов нагрузок, а пока ограничимся созданием первого набора. Нажимаем кнопку New Load Set В одноименном окошке ID номер 1 будет поставлен автоматически. В общем-то, для FEMAP’а достаточно только номера, но поскольку кроме компьютера с файлом-моделью работают люди (как минимум, вы и преподаватель, а в будущем, возможно, начальство или заказчик расчетов), то каждому набору следует присвоить и название (Title). Здесь набору нагрузок, который будет создан в ближайшем будущем, присвоено название Nodal Forces (узловые силы).
Набор связей создается точно также. Создайте первый набор связей (Constraint Set) и дайте ему название Fixed on X=0 (защемление при X=0).
Пока что в этих наборах не содержится ничего. Для занесения в них конкретных нагрузок и связей используются остальные команды подменю Model – Load и Model Constraint.
Задание нагрузок
Как видите, для задания нагрузок в подменю Model – Load содержится целых 19 команд. Здесь мы рассмотрим команды второго раздела: Nodal, Body и Elemental.
Узловые нагрузки (Load - Nodal)
Непосредственное задание сосредоточенных нагрузок в узлах это основной, базовый подход в методе конечных элементов. На самом деле даже в тех случаях, когда мы задаем распределенные нагрузки, они, в конечном счете, заменяются эквивалентными силами в узлах.
В результате выполнения команды Model – Load – Nodal сначала на экране появится стандартный диалоговый бокс выбора объектов. Здесь вам надо выбрать узлы в которых требуется приложить нагрузки. Пока ограничьтесь выбором одного узла в правом верхнем углу пластины. После этого выбора появляется бокс задания нагрузок в узлах (Create Loads on Nodes).
Обратите внимание на то, что сразу под синей линейкой заголовка указаны номер и название набора. Когда вы работаете сразу с несколькими наборами нагрузок, эта подсказка ‑ указание текущего набора – очень полезна.
В большом окошке в левой части бокса вы можете выбрать один из предусмотренных типов нагрузок. Этот список разбит на четыре раздела. Чаще всего вы будете использовать два типа нагрузок из первого раздела: Force (сила), и иногда Displacement (перемещение)
Еще в первом разделе предусмотрены следующие типы нагрузок:
Moment – момент;
Enforced Rotation – заданный поворот;
Velocity – скорость;
Rotational Velocity – скорость вращения;
Acceleration – ускорение;
Rotational Acceleration – ускорение вращения.
Второй раздел содержит лишь один тип – Temperature (температуру).
Третий и четвертый разделы содержат типы нагрузок для задач теплопередачи, гидро- и газодинамики и нами рассматриваться не будут.
В трех рамках, расположенных в правой части окна, Direction (направление), Method (метод) и Load (нагрузка) вам следует указать параметры задаваемой нагрузки. В зависимости от типа создаваемых нагрузок содержимое этих рамок может изменяться
Direction - направление
Все виды нагрузок, кроме температуры являются векторами. То есть для их задания надо указать не только их величину, но и направление. Самый простой способ задания – Components (компоненты), который устанавливается по умолчанию. В этом случае вам следует в рамке Load указать в окошках FX, FY, FZ значения компонент нагрузки. Таким образом, вы зададите и величину, и направление нагрузки. Значения компонент, показанные на рисунке, соответствуют силе имеющей равные 10 компоненты вдоль оси X и вдоль оси Y. То есть это сила величиной и направлена под углом 45° к этим осям.
Теперь вновь выполните команду Load – Nodal. В боксе выбора объекта укажите нижний правый узел. В окне Create Loads on Nodes в рамке Direction выберите опцию Vector – мы рассмотрим другой вариант задания нагрузки. Обратите внимание, что в результате этого сразу изменилось содержимое рамки Load, а кнопка Specify (указать) в рамке Direction стала доступной.
Что касается величины силы, те из вас, кто хоть немного знает английский язык, по-видимому, уже догадались. А тем, кто не знает, подскажу, что слово Magnitude и означает по-русски – величина.
Для задания направления силы надо сначала нажать кнопку Specify. Появится стандартный бокс определения вектора. Напомню, что для задания вектора в строке Base (начало) надо указать координаты начала вектора, а в строке Tip (конец, наконечник) – конца вектора. Как в математике, так и в FEMAP, точка приложения вектора не имеет значения. Вектор определяется разностью координат его конца и начала. Для того, чтобы задать направление действия силы вниз под углом 45° к оси X,
можно заполнить окна координат так, как показано на рисунке.
Замечание. Может создаться впечатление, что одна строчка в этом диалоговом боксе излишняя. В самом деле, поскольку точка приложения вектора не важна, мы могли бы всегда располагать ее в начале координат, а задавать явно координаты только конца вектора. Однако часто оказывается удобней задавать вектор, используя и строку Base, и строчку Tip. Например, в качестве начала вектора вы можете указать одну из ранее созданных точек (или узлов), а в качестве конца другую. Кроме того, возможны и другие методы задания вектора. Нажав на кнопку Methods, вы можете ознакомиться с полным списком имеющихся методов. В частности, метод, установленный по умолчанию, носит название Locate. Краткий перечень других методов:
Locate/Length – Base и Tip используются только для задания направления, а длина вектора задается явно.
Components – задается начало вектора и его компоненты
Direction – аналогично Components, но длина вектора указывается явно
Points – вектор, соединяющий две ранее созданные точки
Nodes – вектор, соединяющий два созданных ранее узла
Bisect – вектор, являющийся биссектрисой угла, образованного двумя другими векторами
Normal – вектор, перпендикулярный плоскости, определяемой двумя другими векторами
Axis – направление вектора совпадает с направлением какой-либо оси указанной системы координат
Global Axis – то же, что и Axis, но позволяет указывать направления осей только глобальной декартовой системы координат
Tangent – вектор, касательный к кривой
Normal to Surface – вектор, перпендикулярный поверхности
Normal to View – вектор перпендикулярный плоскости изображения
После этого отступления вновь вернемся к команде Model – Load – Nodal. Но теперь при выборе нагружаемых узлов выберем не один узел, а все узлы на правой границе пластины. В окне Create Loads on Nodes задайте силу с компонентой 10 по оси X и с нулевыми компонентами по осям Y и Z.
Результат, который вы видите в графическом окне:
1) вы можете задать одинаковые силы сразу на нескольких узлах;
2) если в узле, в котором вы задаете нагрузку, ранее уже была задана другая нагрузка, то результатом будет их суммарное воздействие.
Но и это еще не все, что вы должны знать о команде Model – Load – Nodal. До сих пор мы обходили молчанием рамку Methods. А между тем именно ее опции дают большие возможности по ускорению и автоматизации задания нагрузок.
Прежде мы оставляли в этой рамке включенную по умолчанию опцию Constant. В этом случае ко всем выбранным узлам прикладывается одна и та же нагрузка, определенная в окошках рамки Load. Теперь давайте выберем узлы на верхней границе пластины, как показано на рисунке.
В рамке Methods теперь включим опцию Variable (переменная), а в окошко FY рамки Load занесем следующий текст:
0.1*xnd(!i)
Что этот текст означает? xnd() – это встроенная функция FEMAP, которая возвращает абсциссу узла с номером, указанным в качестве аргумента. А!i (буква i с восклицательным знаком впереди) – это встроенная переменная FEMAP, которая равна номеру текущего узла. Что произойдет, когда мы нажмем кнопку OK в боксе Create Loads on Nodes? FEMAP начнет последовательно обрабатывать выбранные узлы. Сначала он рассмотрит первый выбранный узел и вычислит значение нагрузки, подставив вместо xnd(!i) значение абсциссы этого узла. Затем он повторит эти же действия для второго узла, и вместо xnd(!i) будет использоваться абсцисса уже этого второго узла. Далее таким же образом обрабатывается третий, четвертый и все остальные выбранные узлы.
Таким образом, всего одним обращением к команде Model – Load – Nodal вам удалось для целой группы узлов создать нагрузки, линейно изменяющиеся в зависимости от их абсциссы.
Этот результат вы видите в графическом окне. Правда можно высказать сожаление по поводу того, что FEMAP все нагрузки, независимо от их величины, изображает отрезками одинаковой длины. Однако цифровые значения, написанные рядом с этими стрелками, показывают, что вы добились именно того результата, к которому стремились. Созданные силы линейно зависят от координаты X.
Кроме того, вы, если хотите, можете попросить FEMAP изображать маленькие силы короткими стрелками, а большие длинными. Для этого надо выполнить команду View-Options; в списке Options указать строчку Load Vectors и в списке Vector Length указать 1.. Scale by Magnitude (масштабировать по величине).