Переходный анализ методом конечных элементов

From FreeCAD Documentation
Revision as of 20:22, 13 December 2020 by Baritone (talk | contribs) (Created page with "Поскольку конечно-элементному анализу, очевидно, нужны элементы для работы, мы должны разделит...")
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎polski • ‎русский

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Freecad.svg Руководство
Transient FEM analysis
Время для завершения
Not provided
Not provided
FreeCAD версия
Примеры файлов


Создание модели

  1. Начав с пустого проекта FreeCAD, мы построим нашу биметаллическую полосу в Workbench Part.svg верстаке Part
  2. Нарисуйте Part Box.svg кубическое твердое тело и переименуйте его в aluminium.
  3. Дайте ему размеры 100 x 10 x 2 мм (длина x ширина x высота).
  4. Создайте второе кубическое твердое 'стальное' тело с такими же размерами
  5. Сместите эту деталь на 2 мм по оси Z (через Placement → Position → z).
  6. Выберите оба твердых тела (с помощью клавиши Shift + щелчок мышью) и создайте из них Part BooleanFragments.svg Boolean Fragments
  7. Переименуйте эти логические фрагменты в биметаллическую полосу
  8. В Редакторе свойств мы меняем режим с ВидStandard на ВидCompSolid. (Это также должно работать с использованием команды Part Compound вместо Part BooleanFragments.svg Boolean Fragments, однако с более сложными пересекающимися формами позже могут возникнуть проблемы с анализом МКЭ. Так что лучше сначала привыкнуть к использованию Boolean Fragments.) Результат должен выглядеть следующим образом:

Transient FEM Bimetal (1).JPG

Подготовка и выполнение расчёта по МКЭ

Назначение материалов

В верстаке FEM мы создаем новый FEM Analysis.svg анализ и добавляем новый FEM MaterialSolid.svg материал в анализ. В появившемся окне задач выбираем один из предустановленных алюминиевых сплавов. В 'geometry reference selector' мы назначаем нижней полосе нашей модели материал, устанавливая режим выбора 'solid', щелкая 'add' и выбирая грань или край нижней полосы. В представлении списка должно появиться 'BooleanFragments:Solid1'.

Transient FEM Bimetal (2).JPG

Мы закрываем окно задачи и повторяем шаги для создания второго материала 'Steel' (карта материала «CalculiX-Steel») и назначаем его верхней полосе ('BooleanFragments:Solid2').

Создание сетки

Поскольку конечно-элементному анализу, очевидно, нужны элементы для работы, мы должны разделить нашу модель на так называемую сетку. Верстак FEM предлагает два инструмента построения сетки: Netgen и GMSH. Здесь мы перейдем к Netgen: с выбранным объектом Boolean Fragments биметаллической полосы мы щелкаем по значку FEM MeshNetgenFromShape.svg Netgen в верстаке FEM. В появившемся окне задач нам надо сделать различные выделения, начиная сверху:

  • Max. size is the maximum size (in millimetres) of an element. The smaller the maximum element size, the more elements we get – usually the result will get more precise, but with a dramatic increase in computing time. We set it to 10.
  • Second order means, that in each element, additional nodes will be created. This increases computing time, but is usually a good choice if it comes to bending as in our analysis. We leave it checked.
  • Fineness: Select, how finely the model should be cut into elements. For more complex models with curvatures and intersections, we can increase the element number in those regions to get better results (at the cost of more computing time, of course). Expert users can also set it to User-defined and set the following parameters. For our simple rectangular model, the fineness selection has not much of an impact, we keep it at moderate level.
  • Optimize: Some kind of post-processing after meshing. We keep it checked.

A click on 'Apply' runs the mesher, and – the time depending on your computer – a wireframe appears on our model. The mesher should have created about 4,000 nodes.

Transient FEM Bimetal (3).JPG

Assigning boundary conditions

An FEM analysis now would result in nothing, because nothing is happening to our model yet. So let’s add some temperature: Use the FEM ConstraintInitialTemperature.svg initial temperature from the FEM workbench and set the temperature to 300 K. Here, no parts of the model can be selected, since this setting applies to the complete model.

Next, we use FEM ConstraintTemperature.svg temperature acting on a face. We select the two faces at one end of the strip (Ctrl + Left mouse key) and click 'add' in the task window. Two faces of the Boolean Fragments object should appear in the list and little temperature icons on the model. We set the temperature to 400 K and close the task window. At the beginning of the analysis, the selected faces will get an instantaneous temperature rise from 300 to 400 K. The heat will be conducted along the metal strips and cause the bending of the strip.

Transient FEM Bimetal (4).JPG

Before we can run the analysis, an additional boundary condition has to be set: The analysis can only run, if our model is fixed somewhere in space. With FEM ConstraintFixed.svg we select the same two faces as for the 400 K above, and add them to the list. Red bars will appear on the model, visualising that those faces are fixed in space and not able to move around during the analysis.

Transient FEM Bimetal (5).JPG

Running the analysis

The analysis should already contain a solver object 'CalculiXccx Tools'. If not, we add one by using the FEM SolverCalculixCxxtools.svg solver icon from the toolbar. (There are two identical icons, the experimental solver should also work.) The solver object has a list of properties below in the left section of the window. Here we select the following options (leave the ones unmentioned unchanged):

  • Analysis Type: We want to run a thermomechanical analysis. Other options would be only static (no temperature effects), frequency (oscillations), or only to check the model validity.
  • Thermo Mech Steady State: Steady state means, the solver will return one single result with the physics reaching equilibrium. We do NOT want to do that, we would like to get multiple, time-resolved results (transient analysis). So set it to false.
  • Time end: We would like our analysis to stop after 60 seconds (i.e., simulation time, not real time).

Transient FEM Bimetal (6).JPG

After double-clicking the solver object, we check that 'thermomechanical' is selected and run 'write .inp file'. This usually takes some seconds (or a lot more for bigger models) and returns a message 'write completed' in the box below. Now we start the calculation with 'run CalculiX'. After some time, the last messages 'CalculiX done without error!' and 'Loading result sets...' should appear. When the timer at the bottom has stopped, we close the task window. (With larger models and/or slower computers, FreeCAD may freeze and we won’t see the timer running. But be patient, in most of the cases, CalculiX is still running in the background and will eventually produce results.)

We should now have multiple FEM ResultShow.svg FEM result objects listed. By double-clicking, we can open each one of it and visualise the calculated temperatures, displacements, and stresses. We can visualise the bending by selecting 'Show' in the 'Displacement' section. Since the absolute displacements are small, we use the 'Factor' to exaggerate the values.

Transient FEM Bimetal (7).JPG

Within FreeCAD, we can use FEM PostPipelineFromResult.svg pipelines to do some post-processing of the results. Alternatively, we can export the results in the VTK format and import them into dedicated post-processors like ParaView. For the export of multiple results (as for this analysis), there is a macro available.


Other Example

  • Analytical bimetall example. The analytical example presented in the forum is included in FreeCAD FEM examples. It can be started by Python with
from femexamples.thermomech_bimetall import setup