Jump to content

FEM Ограничение перемещения

From FreeCAD Documentation
This is the approved revision of this page, as well as being the most recent.

FEM ConstraintDisplacement

Расположение в меню
Model → Mechanical Constraints → Constraint displacement
Верстаки
FEM
Быстрые клавиши
Нет
Представлено в версии
-
См. также
FEM tutorial

Описание

Creates a FEM boundary condition for a prescribed displacement of a selected object for specified degrees of freedom.

The FEM displacement task panel

Применение

  1. There are several ways to invoke the command:
    • Press the Displacement Boundary Condition button
    • Select the Model → Mechanical Boundary Conditions and Loads → Displacement Boundary Condition option from the menu.
  2. Press the Add button.
  3. In the 3D View select the object the boundary condition should be applied to, which can be a vertex, edge, or face (but all the selected objects have to be of the same type). To remove objects from the list, press the Remove button and click on them.
  4. Check the boxes next to the degrees of freedom that you want to use. By default, they are set to zero (fixed) but any value (introduced in 0.21: or a formula for Elmer) can be specified. Rotations make sense only for beam and shell elements.

Formulas

introduced in 0.21

General

For the solver Elmer it is possible to define the displacement as a formula. In this case the solver sets the displacement according to the given formula variable.

Take for example the case that we want to perform a transient analysis. For every time step the displacement d should be increased by 6 mm:

d(t)=0.006t

enter this in the Formula field:
Variable "time"; Real MATC "0.006*tx"

This code has the following syntax:

  • the prefix Variable specifies that the displacement is not a constant but a variable
  • the variable is the current time
  • the displacement values are returned as Real (floating point) values
  • MATC is a prefix for the Elmer solver indicating that the following code is a formula
  • tx is always the name of the variable in MATC formulas, no matter that tx in our case is actually t

Rotations

Elmer only uses the Displacement * fields of the boundary condition. To define rotations, we need a formula.

If for example a face should be rotated according to this condition:

dx(t)=(cos(ϕ)1)xsin(ϕ)ydy(t)=(cos(ϕ)1)y+sin(ϕ)x

then we need to enter for Displacement x
Variable "time, Coordinate" Real MATC "(cos(tx(0)*pi)-1.0)*tx(1)-sin(tx(0)*pi)*tx(2)

and for Displacement y
Variable "time, Coordinate" Real MATC "(cos(tx(0)*pi)-1.0)*tx(2)+sin(tx(0)*pi)*tx(1)

This code has the following syntax:

  • we have 4 variables, the time and all possible coordinates (x, y z)
  • tx is a vector, tx(0) refers to the first variable, the time, while tx(1) refers to the first coordinate x
  • pi denotes π and was added so that after t=1s a rotation of 180° is performed

Properties

  • ДанныеEnable Amplitude - introduced in 1.1: Enables the use of CalculiX's amplitude for the time variation of the displacement boundary condition. At a given time, magnitude of the boundary condition is multiplied by the amplitude value corresponding to that time. Linear interpolation is used between the specified values. Constant values are used outside of the specified range.
  • ДанныеAmplitude Values - introduced in 1.1: Amplitude table in the following format:
time_1, amplitude_value_1
…
Default is linear increase from 0% at t=0 to 100% at t=1:
0, 0
1, 1

Примечания

For the solver CalculiX: