FEM ConstraintDisplacement: Difference between revisions

From FreeCAD Documentation
(clarification)
mNo edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:9-->
<!--T:9-->
{{Docnav
{{Docnav
Line 14: Line 15:
{{GuiCommand
{{GuiCommand
|Name=FEM ConstraintDisplacement
|Name=FEM ConstraintDisplacement
|MenuLocation=Model → Mechanical ConstraintsConstraint displacement
|MenuLocation=Model → Mechanical boundary conditions and loadsDisplacement boundary condition
|Workbenches=[[FEM_Workbench|FEM]]
|Workbenches=[[FEM_Workbench|FEM]]
|Shortcut=
|Shortcut=
Line 23: Line 24:


<!--T:6-->
<!--T:6-->
Creates a FEM constraint for a prescribed displacement of a selected object for a specified degree of freedom.
Creates a FEM boundary condition for a prescribed displacement of a selected object for specified degrees of freedom.


==Usage== <!--T:3-->
==Usage== <!--T:3-->


<!--T:7-->
<!--T:7-->
# Either press the button {{Button|[[Image:FEM_ConstraintDisplacement.svg|16px]] '''FEM FEM_ConstraintDisplacement'''}} or select the menu {{MenuCommand|Model → Mechanical Constraints → [[Image:FEM_ConstraintDisplacement.svg|16px]] Constraint displacement}}.
# Press the {{Button|[[Image:FEM_ConstraintDisplacement.svg|16px]] [[FEM_ConstraintDisplacement|Displacement boundary condition]]}} button or select the menu {{MenuCommand|Model → Mechanical boundary conditions and loads → [[Image:FEM_ConstraintDisplacement.svg|16px]] Displacement boundary condition}}.
# In the [[3D_view|3D view]] select the object the constraint should be applied to, which can be a vertex (corner), edge, or face.
# In the [[3D_view|3D view]] select the object the boundary condition should be applied to, which can be a vertex (corner), edge, or face.
# Press the {{Button|Add}} button.
# Press the {{Button|Add}} button.
# Uncheck ''Unspecified'' to activate the necessary fields for edition.
# Uncheck ''Unspecified'' to activate the necessary fields for editing.
# Set the values or ({{Version|1.0}}) specify a formula for the displacements.
# Set the values or ({{Version|0.21}}) specify a formula for the displacements.


==Formulas== <!--T:13-->
==Formulas== <!--T:13-->


<!--T:14-->
<!--T:14-->
{{Version|1.0}}
{{Version|0.21}}


===General=== <!--T:15-->
===General=== <!--T:15-->


<!--T:16-->
<!--T:16-->
For the [[Image:FEM_SolverElmer.svg|32px]] [[FEM_SolverElmer|solver Elmer]] it is possible to define the displacement as a formula. In this case the solver sets the displacement according to the give formula variable.
For the [[Image:FEM_SolverElmer.svg|32px]] [[FEM_SolverElmer|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.


<!--T:17-->
<!--T:17-->
Take for example the case that we want to perform a [[FEM_SolverElmer_SolverSettings#Timestepping|transient analysis]]. For every time step the displacement <math>d</math> should be increased by 6 mm:
Take for example the case that we want to perform a [[FEM_SolverElmer_SolverSettings#Timestepping_(transient_analyses)|transient analysis]]. For every time step the displacement <math>d</math> should be increased by 6 mm:


<!--T:18-->
<!--T:18-->
Line 67: Line 68:


<!--T:22-->
<!--T:22-->
Elmer only uses the '''Displacement *''' fields of the constraint. To define rotations, we need a formula.
Elmer only uses the '''Displacement *''' fields of the boundary condition. To define rotations, we need a formula.


<!--T:23-->
<!--T:23-->
Line 100: Line 101:
<!--T:8-->
<!--T:8-->
For the [[Image:FEM_SolverCalculixCxxtools.svg|32px]] [[FEM_SolverCalculixCxxtools|solver CalculiX]]:
For the [[Image:FEM_SolverCalculixCxxtools.svg|32px]] [[FEM_SolverCalculixCxxtools|solver CalculiX]]:
* The constraint uses the *BOUNDARY card.
* This tool uses the *BOUNDARY card.
* Fixing a degree of freedom is explained at http://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node164.html
* Fixing a degree of freedom is explained at http://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node164.html
* Prescribing a displacement for a degree of freedom is explained at http://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node165.html
* Prescribing a displacement for a degree of freedom is explained at http://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node165.html
Line 118: Line 119:
{{FEM Tools navi{{#translation:}}}}
{{FEM Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Latest revision as of 14:17, 16 November 2023

FEM ConstraintDisplacement

Menu location
Model → Mechanical boundary conditions and loads → Displacement boundary condition
Workbenches
FEM
Default shortcut
None
Introduced in version
-
See also
FEM tutorial

Description

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

Usage

  1. Press the Displacement boundary condition button or select the menu Model → Mechanical boundary conditions and loads → Displacement boundary condition.
  2. In the 3D view select the object the boundary condition should be applied to, which can be a vertex (corner), edge, or face.
  3. Press the Add button.
  4. Uncheck Unspecified to activate the necessary fields for editing.
  5. Set the values or (introduced in version 0.21) specify a formula for the displacements.

Formulas

introduced in version 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 should be increased by 6 mm:

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:

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 a rotation of 180° is performed

Notes

For the solver CalculiX: