FEM ConstraintDisplacement: Difference between revisions
mNo edit summary |
(Marked this version for translation) |
||
Line 34: | Line 34: | ||
# Set the values or ({{Version|1.0}}) specify a formula for the displacements. |
# Set the values or ({{Version|1.0}}) specify a formula for the displacements. |
||
==Formulas== |
==Formulas== <!--T:13--> |
||
<!--T:14--> |
|||
{{Version|1.0}} |
{{Version|1.0}} |
||
===General=== |
===General=== <!--T:15--> |
||
<!--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 give formula variable. |
||
<!--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 analysis]]. For every time step the displacement <math>d</math> should be increased by 6 mm: |
||
<!--T:18--> |
|||
<math>\quad |
<math>\quad |
||
d(t)=0.006\cdot t |
d(t)=0.006\cdot t |
||
</math> |
</math> |
||
<!--T:19--> |
|||
enter this in 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"}} |
||
<!--T:20--> |
|||
This code has the following syntax: |
This code has the following syntax: |
||
* 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 |
||
Line 58: | Line 64: | ||
* ''tx'' is always the name of the variable in ''MATC'' formulas, no matter that ''tx'' in our case is actually ''t'' |
* ''tx'' is always the name of the variable in ''MATC'' formulas, no matter that ''tx'' in our case is actually ''t'' |
||
===Rotations=== |
===Rotations=== <!--T:21--> |
||
<!--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 constraint. To define rotations, we need a formula. |
||
<!--T:23--> |
|||
If for example a face should be rotated according to this condition: |
If for example a face should be rotated according to this condition: |
||
<!--T:24--> |
|||
<math>\quad |
<math>\quad |
||
\begin{align} |
\begin{align} |
||
Line 71: | Line 80: | ||
</math> |
</math> |
||
<!--T:25--> |
|||
then we need to enter for '''Displacement x'''</br> |
then we need to enter for '''Displacement x'''</br> |
||
{{incode| Variable "time, Coordinate" |
{{incode| Variable "time, Coordinate" |
||
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)}} |
||
<!--T:26--> |
|||
and 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)}} |
||
<!--T:27--> |
|||
This code has the following syntax: |
This code has the following syntax: |
||
* 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) |
Revision as of 10:45, 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
- Either press the button FEM FEM_ConstraintDisplacement or select the menu Model → Mechanical Constraints → Constraint displacement.
- In the 3D view select the object the constraint should be applied to, which can be a vertex (corner), edge, or face.
- Press the Add button.
- Uncheck Unspecified to activate the necessary fields for edition.
- Set the values or (introduced in version 1.0) specify a formula for the displacements.
Formulas
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 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 constraint. 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) is the first coordinate x
- pi denotes and was added so that after a rotation of 180° is performed
Notes
For the solver CalculiX:
- The constraint 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
- 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
- Materials: Solid, Fluid, Nonlinear mechanical, Reinforced (concrete); Material editor
- Element geometry: Beam (1D), Beam rotation (1D), Shell (2D), Fluid flow (1D)
Constraints
- Electromagnetic: Electrostatic potential, Current density, Magnetization
- Geometrical: Plane rotation, Section print, Transform
- Mechanical: Fixed, Displacement, Contact, Tie, Spring, Force, Pressure, Centrif, Self weight
- Thermal: Initial temperature, Heat flux, Temperature, Body heat source
- Overwrite Constants: Constant vacuum permittivity
- Solve: CalculiX Standard, Elmer, Mystran, Z88; Equations: Deformation, Elasticity, Electrostatic, Electricforce, Magnetodynamic, Magnetodynamic 2D, Flow, Flux, Heat; Solver: Solver control, Solver run
- Results: Purge, Show; Postprocessing: Apply changes, Pipeline from result, Warp filter, Scalar clip filter, Function cut filter, Region clip filter, Contours filter, Line clip filter, Stress linearization plot, Data at point clip filter, Filter function plane, Filter function sphere, Filter function cylinder, Filter function box
- Additional: Preferences; FEM Install, FEM Mesh, FEM Solver, FEM CalculiX, FEM Concrete; FEM Element Types
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub