FEM ConstraintDisplacement: Difference between revisions
(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 |
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, |
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 |
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 |
* ''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
- 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 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:
- 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