FEM ConstraintDisplacement: Difference between revisions

From FreeCAD Documentation
(Repositioned translation unit tag.)
(Grammar)
Line 40: Line 40:
===General===
===General===


For the [[Image:FEM_SolverElmer.svg|32px]] [[FEM_SolverElmer|solver Elmer]] it is possible to define the displacement as 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 give formula variable.


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 analysis]]. For every time step the displacement <math>d</math> should be increased by 6 mm:
Line 48: Line 48:
</math>
</math>


enter this to the ''Formula'' field:</br>
enter this in the ''Formula'' field:</br>
{{incode| Variable "time"; Real MATC "0.006*tx"}}
{{incode| Variable "time"; Real MATC "0.006*tx"}}


Line 54: Line 54:
* the prefix ''Variable'' specifies that the displacement is not a constant but a variable
* the prefix ''Variable'' specifies that the displacement is not a constant but a variable
* the variable is the current time
* the variable is the current time
* the displacement values are returned as ''Real'' (floating point value)
* the displacement values are returned as a ''Real'' (floating point value)
* ''MATC'' is the prefix for the Elmer solver that the following code is a formula
* ''MATC'' is the prefix for the Elmer solver that the following code is a formula
* ''tx'' is always the name of the variable in ''MATC'' formulas, no matter that ''tx'' is in our case actually ''t''
* ''tx'' is always the name of the variable in ''MATC'' formulas, no matter that ''tx'' is in our case actually ''t''
Line 60: Line 60:
===Rotations===
===Rotations===


Elmer only uses the '''Displacement *''' fields of the constraint. To define rotations, one needs a formula.
Elmer only uses the '''Displacement *''' fields of the constraint. To define rotations, we need a formula.


For example a face should be rotated according to this condition:
For example a face should be rotated according to this condition:
Line 75: Line 75:
Real MATC "(cos(tx(0)*pi)-1.0)*tx(1)-sin(tx(0)*pi)*tx(2)}}
Real MATC "(cos(tx(0)*pi)-1.0)*tx(1)-sin(tx(0)*pi)*tx(2)}}


and for then we need to enter for '''Displacement y'''</br>
and for '''Displacement y'''</br>
{{incode| Variable "time, Coordinate"
{{incode| Variable "time, Coordinate"
Real MATC "(cos(tx(0)*pi)-1.0)*tx(2)+sin(tx(0)*pi)*tx(1)}}
Real MATC "(cos(tx(0)*pi)-1.0)*tx(2)+sin(tx(0)*pi)*tx(1)}}
Line 82: Line 82:
* we have 4 variables, the time and all possible coordinates (x, y z)
* 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)'' is the first coordinate ''x''
* ''tx'' is a vector, ''tx(0)'' refers to the first variable, the time while ''tx(1)'' is the first coordinate ''x''
* ''pi'' denotes <math>\pi</math> and was added to set that after <math>t=1\rm\, s</math> a rotation of 180° is performed
* ''pi'' denotes <math>\pi</math> and was added so that after <math>t=1\rm\, s</math> a rotation of 180° is performed


==Notes== <!--T:5-->
==Notes== <!--T:5-->

Revision as of 10:39, 1 April 2023

FEM ConstraintDisplacement

Menu location
Model → Mechanical Constraints → Constraint displacement
Workbenches
FEM
Default shortcut
None
Introduced in version
-
See also
FEM tutorial

Description

Creates a FEM constraint for a prescribed displacement of a selected object for a specified degree of freedom.

Usage

  1. Either press the button FEM FEM_ConstraintDisplacement or select the menu Model → Mechanical Constraints → Constraint displacement.
  2. In the 3D view select the object the constraint 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 edition.
  5. Set the values or (introduced in version 1.0) specify a formula for the displacements.

Formulas

introduced in version 1.0

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 give 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 a Real (floating point value)
  • MATC is the prefix for the Elmer solver that the following code is a formula
  • tx is always the name of the variable in MATC formulas, no matter that tx is in our case actually t

Rotations

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

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) is the first coordinate x
  • pi denotes and was added so that after a rotation of 180° is performed

Notes

For the solver CalculiX: