FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Displacement Boundary Condition
Tie Constraint
FEM

FEM ConstraintContact

Menu location
Model → Mechanical Boundary Conditions and Loads → Contact Constraint
Workbenches
FEM
Default shortcut
None
Introduced in version
-
See also
FEM Constraint fixed

Solvers
CalculiX

Description

Creates a contact constraint between 2 surfaces. Unlike in the case of tie constraint, the surfaces can separate and slide on each other (with or without friction) during the analysis.

The FEM contact task panel

Usage

  1. There are several ways to invoke the command:
    • Press the Contact Constraint button.
    • Select the Model → Mechanical Boundary Conditions and Loads → Contact Constraint option from the menu.
  2. Select the master face. Press the first Add button. To remove a face from the selection, click on it and press the first Remove button. introduced in 1.1: Edge may also be selected in 2D models.
  3. Select the slave face. Press the second Add button. To remove a face from the selection, click on it and press the second Remove button. introduced in 1.1: Edge may also be selected in 2D models.
  4. Optionally enter Contact Stiffness.
  5. introduced in 1.0: Optionally enter Clearance Adjustment. All nodes of the slave face whose distance from the master face is smaller or equal to this number will be moved to lie on the master face at the beginning of the analysis. This adjustment doesn't cause any strains.
  6. introduced in 1.0: Optionally check the Enable Friction box to specify the friction coefficient and stick slope value.
  7. Optionally enter Friction Coefficient. The default value of 0 means frictionless contact.
  8. introduced in 1.0: Optionally enter Stick Slope. It's an equivalent of contact stiffness for frictional behavior. It defines the slope of the linear relationship between shear stress and relative tangential displacement in the stick range (before slipping occurs).

Contact example - rigid cube pressed against and sliding on a deformable block. Without contact definition, those two parts wouldn't "see" each other.

Limitations

  • The contact constraint can only be applied to two faces and thus each pair of faces needs a separate contact constraint.
  • Development attempt for multiple contacts at once: https://forum.freecad.org/viewtopic.php?f=18&t=15699&start=130#p303275
  • Because multiple meshes are currently not supported, contact must be applied to faces that are separated by (at least) a small distance. If the faces were touching (no gap between them), the result of a boolean union or boolean fragments operation (necessary to avoid having multiple meshes which is not allowed at the moment) would be a continuous mesh and thus no need to use contact anymore. See Forum discussion.

Properties

  • DataSlope: Contact stiffness.
  • DataAdjust - introduced in 1.0: Node clearance adjustment limit.
  • DataFriction - introduced in 1.0: Enable frictional contact.
  • DataFriction Coefficient: Coefficient of friction.
  • DataStick Slope - introduced in 1.0: Stick slope.
  • DataEnable Thermal Contact - introduced in 1.1: Enable thermal contact.
  • DataThermal Contact Conductance - introduced in 1.1: Thermal contact conductance [mW/(mm^2*K)] specified as a list in the following format (contact pressure and temperature dependency can be skipped and only one entry provided to define a constant gap conductance):
conductance_1, contact_pressure_1, temperature_1
…
  • DataSurface Behavior - introduced in 1.1: Contact behavior in the normal direction:
    • Linear - default behavior with the specified stiffness
    • Hard - hard contact (default constants calculated by the solver)
    • Tied - tied (bonded) contact, requires non-zero friction

Notes

Tips for modeling

  • From: https://forum.freecad.org/viewtopic.php?f=18&p=340874#p340494
  • The use of linear elements is recommended. Otherwise, calculations can be very time-consuming.
  • Master/slave assignment:
    • The larger of the two surfaces should act as the master surface.
    • If the surfaces are of comparable size, the surface on the stiffer body should act as the master surface.
    • If the surfaces are of comparable size and stiffness, the surface with the coarser mesh should act as the master surface.

CalculiX

  • The contact stiffness can be estimated as 5 to 50 times the Young's modulus of the material. The higher the value for contact stiffness, the harder the contact between surfaces.
  • The slave face is the face that penetrates into the master face and therefore experiences more deformation.
  • The *CONTACT PAIR card is used for modeling contact in CalculiX. The constraint uses Face-to-Face penalty contact and the contact formulation is explained in detail at http://web.mit.edu/calculix_v2.7/CalculiX/ccx_2.7/doc/ccx/node112.html
  • Overview of different contact types: https://forum.freecad.org/viewtopic.php?f=18&t=15699&start=90#p188736
  • Further interesting information:
    • https://forum.freecad.org/viewtopic.php?f=18&t=23102#p180709 and following posts !!!
    • https://forum.freecad.org/viewtopic.php?f=18&t=20276
    • https://forum.freecad.org/viewtopic.php?f=18&t=21331
    • https://forum.freecad.org/viewtopic.php?f=18&t=15699 (initial contact topic)
  • A very detailed CalculiX contact example. (link)
  • An interesting example found in the FreeCAD German subforum. (link)


Displacement Boundary Condition
Tie Constraint
FEM

This page is retrieved from https://wiki.freecad.org/FEM_ConstraintContact

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub