Correct positioning of the constraints

About the development of the FEM module/workbench.

Moderator: bernd

Post Reply
vlk
Posts: 6
Joined: Tue Feb 14, 2023 2:23 pm

Correct positioning of the constraints

Post by vlk »

Hi Folks,

I have a question regarding actual positions of the constraints/ force vectors, and I'm a bit lost here.
My model is a square plate with four screws in its centre attaching it to an elevation. Also, four identical force vectors are applied to identical holes around the corners.
plate image
plate image
Screenshot_20230216_011055.png (7.84 KiB) Viewed 1112 times
I tried a few things, but I'm not sure how to proceed:
  • I tried applying fixed constraints to the cylindrical faces in the centre of the plate, however, I'm not sure if i need to do the same to the corresponding edges.
  • I suppose I need to add extra force vectors to the same holes to simulate clamping force from the screws.
  • Is there anything else I missed?
Extra questions:
  • Is it a good idea to add extra pockets to the body to get more faces to apply constraints to?
  • How do I ensure certain areas of the body stay as they are regardless of what's happened to the rest of it?
Thanks.
User avatar
NewJoker
Veteran
Posts: 3082
Joined: Sun Oct 11, 2020 7:49 pm

Re: Correct positioning of the constraints

Post by NewJoker »

vlk wrote: Thu Feb 16, 2023 1:13 am
  • I tried applying fixed constraints to the cylindrical faces in the centre of the plate, however, I'm not sure if i need to do the same to the corresponding edges.
No, it's sufficient to select the faces. Nodes on the edges should also be included.

vlk wrote: Thu Feb 16, 2023 1:13 am
  • I suppose I need to add extra force vectors to the same holes to simulate clamping force from the screws.
Not when they are fixed. Bolt modeling in FEA is a broad topic and there are multiple approaches. If you want to include more complex effects like bolt preload then you have to include the geometry of the bolts but it's not so easy to realize properly.

vlk wrote: Thu Feb 16, 2023 1:13 am
  • Is it a good idea to add extra pockets to the body to get more faces to apply constraints to?
No need to. If you want to apply constraints to certain faces that are not available in your model then you can create them using Part BooleanFragments on your part and a sketch.

vlk wrote: Thu Feb 16, 2023 1:13 am
  • How do I ensure certain areas of the body stay as they are regardless of what's happened to the rest of it?
During the analysis ? If they can't move at all then fixed constraint applied to the whole volume (of course you will have to prepare that volume first using boolean operations in the Part workbench) should work. If they can move but can't deform then you would need a rigid body constraint. It's not implemented yet but can be added using keywords.
vlk
Posts: 6
Joined: Tue Feb 14, 2023 2:23 pm

Re: Correct positioning of the constraints

Post by vlk »

NewJoker wrote: Thu Feb 16, 2023 8:17 am No, it's sufficient to select the faces. Nodes on the edges should also be included.
Could you please elaborate on this one?
NewJoker wrote: Thu Feb 16, 2023 8:17 am If you want to include more complex effects like bolt preload then you have to include the geometry of the bolts but it's not so easy to realize properly.
No, that's probably too much for such a simple model. Besides, ME is not my strongest side to model such complex effects.
NewJoker wrote: Thu Feb 16, 2023 8:17 am No need to. If you want to apply constraints to certain faces that are not available in your model then you can create them using Part BooleanFragments on your part and a sketch.
You can't even imagine how much of my time and effort you just saved.
NewJoker wrote: Thu Feb 16, 2023 8:17 am During the analysis ? If they can't move at all then fixed constraint applied to the whole volume (of course you will have to prepare that volume first using boolean operations in the Part workbench) should work. If they can move but can't deform then you would need a rigid body constraint. It's not implemented yet but can be added using keywords.
I suppose moving bodies means a multi-body system? Again, that's above my pay grade at the moment.

Many thanks for your quick and detailed response.
User avatar
NewJoker
Veteran
Posts: 3082
Joined: Sun Oct 11, 2020 7:49 pm

Re: Correct positioning of the constraints

Post by NewJoker »

vlk wrote: Thu Feb 16, 2023 9:30 am Could you please elaborate on this one?
Internally, the geometry-based selection is turned into sets of nodes, elements and surfaces (depending on the type of feature) that are defined in input files sent to the solver. In the case of boundary conditions node sets are generated. And since meshers follow the geometry and create nodes on its edges, there should be a set of nodes for the entire hole including its edges. Like here (just a different software to make a better visualization):

nodes.png
nodes.png (105.06 KiB) Viewed 1007 times
vlk wrote: Thu Feb 16, 2023 9:30 am I suppose moving bodies means a multi-body system? Again, that's above my pay grade at the moment.
Not really, here I'm talking about making some regions of a single part fixed in space or rigid. It can be done in a similar way as that trick with Boolean fragments tool - just applied to volumes instead of surfaces.
vlk
Posts: 6
Joined: Tue Feb 14, 2023 2:23 pm

Re: Correct positioning of the constraints

Post by vlk »

NewJoker wrote: Thu Feb 16, 2023 10:16 am Internally, the geometry-based selection is turned into sets of nodes, elements and surfaces (depending on the type of feature) that are defined in input files sent to the solver. In the case of boundary conditions node sets are generated. And since meshers follow the geometry and create nodes on its edges, there should be a set of nodes for the entire hole including its edges.
Ok, I'd like to clarify a few more things here. Let's say you have a hole in a body:
mwe.FCStd
mwe
(13.61 KiB) Downloaded 45 times
When you want to restrict all movements of the cavity before meshing, do you apply restraints to Face7, Edge12, Edge14 (Edge15 ?) as adjacent. What about two more vertices that connect these three edges?

I saw other people doing this, for example, here; they all picked faces only. Does that mean all those results are invalid?
NewJoker wrote: Thu Feb 16, 2023 10:16 am Not really, here I'm talking about making some regions of a single part fixed in space or rigid. It can be done in a similar way as that trick with Boolean fragments tool - just applied to volumes instead of surfaces.
Perfect. I do have a related question then. Can you employ Boolean Fragments for further topological optimisation so that certain elements of the body do not disappear/get optimised out later?
User avatar
NewJoker
Veteran
Posts: 3082
Joined: Sun Oct 11, 2020 7:49 pm

Re: Correct positioning of the constraints

Post by NewJoker »

vlk wrote: Thu Feb 16, 2023 11:27 am When you want to restrict all movements of the cavity before meshing, do you apply restraints to Face7, Edge12, Edge14 (Edge15 ?) as adjacent. What about two more vertices that connect these three edges?
Like I said, it's sufficient to select just the face for constraint:

nodes.png
nodes.png (345.97 KiB) Viewed 934 times

vlk wrote: Thu Feb 16, 2023 11:27 am Can you employ Boolean Fragments for further topological optimisation so that certain elements of the body do not disappear/get optimised out later?
Boolean fragments is just one of the several boolean tools available in the Part workbench. You can use them to split your model in parts for various purposes (like applying different materials or constraints). It could also help you freeze some regions for topology optimization but FreeCAD doesn't have a built-in procedure for that. You would have to use beso or ToOptix tools mentioned here: https://wiki.freecad.org/Release_notes_ ... _Workbench
vlk
Posts: 6
Joined: Tue Feb 14, 2023 2:23 pm

Re: Correct positioning of the constraints

Post by vlk »

NewJoker wrote: Thu Feb 16, 2023 8:17 am During the analysis ? If they can't move at all then fixed constraint applied to the whole volume (of course you will have to prepare that volume first using boolean operations in the Part workbench) should work. If they can move but can't deform then you would need a rigid body constraint. It's not implemented yet but can be added using keywords.
I've been mulling it over for a few days, and it seems to be the only way at the moment. How do I add rigid body constraints to the .inp file?
User avatar
NewJoker
Veteran
Posts: 3082
Joined: Sun Oct 11, 2020 7:49 pm

Re: Correct positioning of the constraints

Post by NewJoker »

You need an elset for that region (it can be created for example by assigning a different material to it and then removing that assignment in the input file). Then write and edit the input file using FEM SolverControl. Add the following keyword:

Code: Select all

*RIGID BODY, ELSET=elset_name
You may also want to or have to define the reference node and rotational node (otherwise they are placed in the origin of the coordinate system). They can be referenced with REF NODE and ROT NODE parameters, respectively. You can find more information about this in CalculiX documentation (page 544): http://www.dhondt.de/ccx_2.20.pdf
Post Reply