FEM Shear of a Composite Block/ru

Введение
В этом уроке мы анализируем деформацию сдвига композитного блока, состоящего из жесткого ядра, встроенного в мягкую матрицу. Он демонстрирует использование BooleanFragments и CompoundFilter для создания твердых тел для блока и матрицы из двух концентрических кубов. Этот рабочий процесс гарантирует, что для блока и окружающей матрицы могут быть определены отдельные MeshRegions, материалы и граничные условия. Чтобы выбрать внутренние регионы, мы используем макроса Маркуса Говорка (https://github.com/drhooves/SelectionTools). Результаты CalculiX ясно показывают влияние жесткого ядра на реакцию композитного блока.

Геометрия
Сначала мы создаем два концентрических куба, один размер 10 мм, а другой размер 5 мм. Это сделано в верстаке "Part". По умолчанию куб размещается в начале координат [0, 0, 0], поэтому меньший куб необходимо уменьшить и сместить, изменив настройки на вкладке «Данные» панели свойств. Чтобы сделать ядро ​​видимым, прозрачность внешнего блока установлена ​​на 50 на вкладке «Вид» панели свойств. Результат показан ниже.



Затем выделите два блока в дереве и создайте объект BooleanFragments (Деталь → Разделить → Boolean Fragments). В Окне свойств, на вкладке Данные, измените Mode на CompSolid. Теперь выделите BooleanFragments в дереве объектов и создайте CompoundFilter (Деталь → Соединить → Фильтр соединений).



Mesh и Mesh Regions
В верстаке FEM мы создаем контейнер анализа. Он будет содержать все определения, необходимые для анализа через CalculiX и его результатов. Обратите внимание, что этот контейнер анализа необходимо активировать (щелкните правой кнопкой мыши и выберите «Активировать анализ») каждый раз при повторной загрузке файла или после переключения обратно с других анализов. Чтобы начать процесс создания сетки, выделите CompoundFilter в дереве объектов и активируйте диалоговое окно создания сетки «Mesh → Сетка МКЭ из фигуры генерируемая построителем Gmsh». Выйдите из диалогового окна, нажав ОК.

Теперь в дереве объектов создан объект Mesh. Выделите этот объект и создайте объект Mesh Region через «Mesh → Область сетки МКЭ». Откройте диалоговое окно для этой Mesh Region, дважды щелкнув и отметив переключатель для Твердотельный объект. Затем нажмите кнопку «Добавить ссылку» и выберите объект CompoundFilter в графическом окне. Это должно добавить ссылку на «CompoundFilter: Solid1» в список объектов области сетки. Наконец, укажите максимальный размер элемента для этой области (5 мм в текущем анализе). Выйдите из диалогового окна, нажав ОК.



Затем создайте новый объект Mesh, как указано выше, и используйте макрос выделения (быстрые клавиши S, E), чтобы выбрать объект Cube_Core в графическом окне. На этот раз в списке ссылок должно быть указано «CompoundFilter: Solid2», как показано ниже. Мы выбрали максимальный размер элемента 1 мм.

Примечание1: для выбора «CompoundFilter: Solid2» необходимо выбрать одну из его граней.

Примечание 2. Если у вас возникли трудности с выделением «CompoundFilter: Solid2», это может быть связано с тем, что вы забыли установить для режима BooleanFragments значение CompSolid.



Назначение материала
Материал назначается областям сетки МКЭ через объект SolidMaterial. В этом уроке мы назначаем два материала; один для матрицы и один для ядра.

Начните с выбора CompoundFilter в дереве объектов. Затем создайте объект SolidMaterial через пункт меню «Model → Твердотельный материал». Откройте диалоговое окно и установите переключатель для Solid, нажмите «Добавить ссылку» и выберите объект CompoundFilter в графическом окне. В списке ссылок теперь должно отображаться «CompoundFilter: Solid1», как и раньше. Мы назначаем Матрице материал АБС с модулями Юнга примерно на 1% от стали.



Повторите описанную выше процедуру для Core ("CompoundFilter: Solid2") с помощью макроса выбора. На этот раз мы назначаем CalculiX-Steel, которая намного жестче, чем материал ABS для Matrix.

Скользящая опора
Чтобы создать условие «простого сдвига» для составного блока, деформации на границах должны быть неограниченными. Для этого блок ставится на выдвижную опору. Это оставляет три степени свободы в плоскости опоры (2 переноса и вращение), которые будут ограничены позже. (Примечание: поскольку плоскость предотвращает деформацию грани, она по-прежнему вызывает небольшое ограничение, которое можно устранить другим выбором граничных условий). Чтобы создать скользящее граничное условие, добавьте объект FemConstraintDisplacement (Model → Mechanical Constraints → Constraint displacement). В открытом диалоговом окне сначала выберите грань, к которой будут применяться граничные условия, а затем нажмите кнопку «Add». Поскольку блоку разрешено скользить в плоскости x-y, переключатель «Fixed» выбран только для «Displacement z», а все остальные переключатели оставлены как «Free».



Фиксированные узлы
Чтобы предотвратить движение твердого тела в плоскости скольжения, необходимо исключить три независимых степени свободы. Для этого одна вершина в плоскости скольжения ограничивается в направлении x и y (устраняя 2 степени свободы), а одна вершина фиксируется в направлении x (устраняя последнюю степень свободы). Для этого создаются два дополнительных объекта FemConstraintDisplacement, и результат показан ниже.



Shear Forces
The final step in the Analysis definition is the application of loads. To create a Simple Shear condition, a set of shear loads is applied as shown below. Each load is chosen as 1000 N and considering the directions of application, force and moment equilibrium is achieved for all translation and rotional degrees of freedom. In FC this requires addition of four FemConstraintForce objects (Model → Mechanical Constraints → Constraint force) - one for each face. With the dialog box open first press the Add Reference button and then select the face to which the boundary condition is to be applied (Note: this is a different sequence than with FemConstraintDisplacement). By default, this creates a set of forces perpendicular to the face (i.e. a normal force). To change this to a shear force, press the direction button and select a cube edge that runs in the desired direction. If the resulting force points in opposite direction of what is required, then select the radio button for "Reverse direction".



Расчет CalculiX
Теперь все области сетки, материалы и граничные условия определены, и мы готовы анализировать деформацию блока с помощью CalculiX. Активируйте анализ, щелкнув правой кнопкой мыши «Активировать анализ», откройте диалоговое окно CalculiX, дважды щелкнув объект CalculiXccxTools, и выберите каталог для временных файлов, созданных как FC, так и CCX. Запишите входной файл CCX и проверьте наличие предупреждений или сообщений об ошибках.



После этого анализ можно запустить, нажав кнопку RunCalculiX. Если все пойдет хорошо, в окне вывода CCX должны появиться следующие сообщения.



Результаты CalculiX
По завершении анализа дважды щелкните объект «CalculiX_static_results» и выберите опцию «Abs displacement». Максимальное смещение ~ 0,08 мм будет отображаться в соответствующем поле вывода. Поскольку максимальное смещение относительно мало по сравнению с размерами блока (<1% от размера блока), смещения необходимо масштабировать. Это можно сделать под заголовком «Смещение», отметив радиокнопку «Показать» и масштабируя смещение с коэффициентом, скажем, 20. Теперь максимальное смещение будет увеличено примерно до 20% от размера окна. После закрытия диалогового окна деформированную сетку можно снова сделать видимой, выделив объект Result_mesh и нажав клавишу пробела.



Чтобы исследовать деформацию сердечника, мы должны разрезать блок. Это можно сделать, создав фильтр отсечения. Чтобы активировать эту функцию, нам сначала нужно создать «конвейер постобработки», выделив объект «CalculiX_static_results» и выбрав в меню "Results → Post Pipeline from Result". Затем с выбранным конвейером создайте фильтр деформации (Results → Warp filter), установите в Warp options Vector=Displacement и Value=20 для масштабирования смещения, а в Result display options - Mode=«Surface with Edges», в Coloring - Field=«Displacement», Vector=«Magnitude», чтобы отобразить цветные контуры смещения. Нажмите Применить и ОК. В качестве последнего шага добавьте фильтр обрезки (Results → Clip filter) и создайте плоскость с началом координат [5.0,2.5,5.0] и нормалью [0,1,0], то есть на грани ядра с нормалью в направлении y. Установите переключатель «Cut Cells», чтобы создать плоскую поверхность. Как и раньше, установите Display Mode = "Surface with Edges", Coloring Field = "Displacement", Vector = "Magnitude", чтобы показать цветные контуры смещения. Нажмите Применить и ОК. Наконец, переключите фильтр деформации на невидимый, чтобы отображался только вырезанный блок.



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

Дальнейшая работа
The following challenges may be interesting to take up as a further exercise:

1) Correct for the undue constraint imposed by the sliding boundary condition

2) Try and create contact boundary conditions between the core and the matrix to see if separation occurs

The FC file for this tutorial is attached below as a starting point.

https://forum.freecadweb.org/viewtopic.php?f=18&t=26517&start=20

Повеселись !