| Thema |
|---|
| Finite-Elemente-Analyse |
| Niveau |
| Anfänger/Zwischenstufe |
| Bearbeitungszeit |
| 30 Minuten |
| Autoren |
| HarryvL |
| FreeCAD-Version |
| 0.17.12960 oder höher |
| Beispieldateien |
| None |
| Siehe auch |
| None |
In diesem Tutorial analysieren wir die Scherverformung eines Verbundblocks, der aus einem steifen Kern besteht, der in eine weiche Matrix eingebettet ist. Es zeigt die Verwendung von BooleanFragments und CompoundFilter, um aus zwei konzentrischen Würfeln Volumenkörper für den Block und die Matrix zu erstellen. Dieser Arbeitsablauf stellt sicher, dass separate MeshRegions, Materialien und Randbedingungen für den Block und die umgebende Matrix definiert werden können. Zur Auswahl interner Bereiche können wir das von Markus Hovorka verwenden oder einen alternativen Ansatz wählen. Die CalculiX-Ergebnisse zeigen deutlich den Einfluss des steifen Kerns auf das Verhalten des Verbundblocks.
Zunächst erstellen wir zwei konzentrische Würfel, einen mit einer Größe von 10 mm und einen mit einer Größe von 5 mm. Dies geschieht im Arbeitsbereich Part. Standardmäßig wird der Würfel am Ursprung [0, 0, 0] platziert, sodass der kleinere Würfel verkleinert und verschoben werden muss, indem die Einstellungen auf der Registerkarte Daten des Eigenschaften-Ansicht geändert werden. Um den Kern sichtbar zu machen, wird die Transparenz des äußeren Blocks in der Registerkarte Ansicht der Eigenschaften-Ansicht auf 50 gesetzt. Das Ergebnis ist unten dargestellt.
Next highlight the two blocks in the tree and create a BooleanFragments object (Part → Split → Boolean Fragments). In the "Property Window - Data Tab" change Mode to CompSolid. Now highlight the BooleanFragments in the Object tree and create a CompoundFilter (Part → Compound → Compound Filter).
From workbench FEM we create an Analysis container. This will contain all definitions required for the CalculiX analysis and its results. Note that this Analysis container needs to be activated (right-click and select "Activate analysis") whenever re-loading the file or after switching back from other analyses. To start the meshing process, highlight the CompoundFilter in the Object Tree and activate the meshing dialog Mesh → FEM mesh from shape by Gmsh. Leave the dialog by clicking OK.
A Mesh object is now created in the Object Tree. Highlight this object and create a Mesh Region object via Mesh → FEM mesh region. Open the dialog box for this Mesh Region by double clicking and tick the radio button for Solid. Next click the "Add Reference" button and select the CompoundFilter object in the Graphical Window. This should add a reference to "CompoundFilter:Solid1" in the object list of the Mesh Region. Finally specify the maximum element size for this region (5mm in the current analysis). Leave the dialog by clicking OK.
Next create a new Mesh object as above and use the selection macro (shortcut S, E) to select the Cube_Core object in the Graphical Window. This time the reference list should show "CompoundFilter:Solid2", as below. Alternatively, you can hide the Compound object and show the Cube_Core object (by expanding the Compound in the tree, selecting each of them and pressing the Spacebar). We chose a maximum element size of 1mm.
Note1: Selection of "CompoundFilter:Solid2" requires selection of one of its faces.
Note2: If you have difficulty selecting "CompoundFilter:Solid2" it may be because you forgot to set the BooleanFragments mode to CompSolid.
Material is assigned to Mesh Regions via a SolidMaterial object. In this tutorial we assign two materials; one for the Matrix and one for the Core.
Start by selecting the CompoundFilter in the object tree. Then create a SolidMaterial object via menu option Model → FEM material for solid. Open the dialog and tick the radio button for Solid, press "Add Reference" and select the CompoundFilter object from the Graphical Window. The reference list should now show "CompoundFilter:Solid1", as before. We assign ABS material to the Matrix, with a Young's modulus approximately 1% of that of steel.
Repeat the above procedure for the Core ("CompoundFilter:Solid2") with the help of the selection macro or the alternative approach discussed before. This time we assign CalculiX-Steel, which is much stiffer than the ABS material for the Matrix.
To create a "Simple Shear" condition for the composite block the deformations at the boundaries need to be unconstrained. To achieve this, the block is placed on a sliding support. This leaves three degrees of freedom in the plane of the support (2 translations and a rotation) and those will be constrained later. (Note: as the plane prevents warping of the face, it still induces a minor constraint, which could be eliminated by a different choice of boundary conditions). To create a sliding boundary condition add a FemConstraintDisplacement object (Model → Mechanical boundary conditions and loads → Displacement boundary condition). With the dialog box open first select the face to which the boundary condition is to be applied and then click the Add button. As the block is allowed to slide in the x-y plane, only the "Fixed" radio button for "Displacement z" is selected and the other radio buttons are all left as "Free".
To prevent rigid body motion in the plane of sliding, three independent degrees of freedom need to be eliminated. To achieve this, one vertex in the plane of sliding is constrained in x and y direction (eliminating 2 degrees of freedom) and one vertex is fixed in the x direction (eliminating the last degree of freedom). For this purpose two additional FemConstraintDisplacement objects are created and the result is shown below.
The final step in the Analysis definition is the application of loads. To create a Simple Shear condition, a set of shear loads is applied as shown below. Each load is chosen as 1000 N and considering the directions of application, force and moment equilibrium is achieved for all translation and rotational degrees of freedom. In FC this requires addition of four FemConstraintForce objects (Model → Mechanical boundary conditions and loads → Force load) - one for each face. With the dialog box open first press the Add Reference button and then select the face to which the boundary condition is to be applied (Note: this is a different sequence than with FemConstraintDisplacement). By default, this creates a set of forces perpendicular to the face (i.e. a normal force). To change this to a shear force, press the direction button and select a cube edge that runs in the desired direction. If the resulting force points in opposite direction of what is required, then select the radio button for "Reverse direction".
Now all mesh regions, material and boundary conditions have been defined we are ready to analyse the deformation of the block with CalculiX. Activate the Analysis by right clicking "Activate analysis", open the CalculiX dialog by double clicking the CalculiXccxTools object and select a directory for the temporary files created by both FC and CCX. Write CCX Input file and check for any warning or error messages.
Danach kann die Analyse durch Drücken der Schaltfläche RunCalculiX gestartet werden. Wenn alles gut geht, sollten im CCX-Ausgabefenster die folgenden Meldungen angezeigt werden.
Upon completion of the analysis double click the "CalculiX_static_results" object and select the "Abs displacement" option. The maximum displacement of ~ 0.08mm will show up in the relevant output box. As the maximum displacement is relatively small compared to the dimensions of the block (<1% of the block size), the displacements need to be scaled up. This can be done under the heading "Displacement" by ticking the "Show" radio button and scaling the displacement by a factor of -say- 20. The maximum displacement will now be exaggerated to approximately 20% of the box size. After closing the dialog window, the deformed mesh can be made visible again by highlighting the Result_mesh object and pressing the space bar.
To investigate the deformation of the core we have to slice the block. This can be done by creating a clip filter. To activate this functionality, we first need to create a "post processing pipeline" by highlighting the "CalculiX_static_results" object and choosing Results → Post Pipeline from Result from the menu. Next, with the Pipeline selected create a Warp Filter (Results → Warp filter), set Vector=Displacement and Value=20 to scale the displacement and Display Mode = "Surface with Edges", Coloring Field = "Displacement", Vector = "Magnitude" to show colored displacement contours. Press Apply and OK. As a final step add a Clip Filter (Results → Clip filter) and create a plane with origin [5.0,2.5,5.0] and normal [0,1,0], i.e. at a core face with normal in the y-direction. Tick the "Cut Cells" radio button to create a flat surface. As before set Display Mode = "Surface with Edges", Coloring Field = "Displacement", Vector = "Magnitude" to show colored displacement contours. Press Apply and OK. Finally switch the Warp Filter to invisible to only show the cut block.
Aus dem Ergebnis geht hervor, dass der Kern weitgehend unverformt bleibt und dazu beiträgt, der Verformung der weichen Matrix entgegenzuwirken (vergleiche den Scherwinkel des blau gefärbten Teils mit dem des grün gefärbten Teils). Es wird jedoch auch deutlich, dass sich die Flächen des Verbundblocks unter einfachen Scherbedingungen verziehen, was darauf hindeutet, dass die Gleitrandbedingung an der Basis des Würfels eine unzulässige Einschränkung darstellt.
Die folgenden Herausforderungen könnten als weitere Übung interessant sein:
1) Korrektur der durch die gleitende Randbedingung verursachten unzulässigen Einschränkung
2) Versuchen, die Kontaktrandbedingungen zwischen dem Kern und der Matrix zu erstellen, um zu sehen, ob eine Trennung auftritt.
Die FreeCAD-Datei für dieses Tutorial ist unten als Ausgangspunkt angehängt.
Diskussion im FreeCAD-Forum: https://forum.freecad.org/viewtopic.php?f=18&t=26517&start=20
Viel Spaß!