| Tema |
|---|
| Finite Element Analysis |
| Nivel |
| Beginner/Intermediate |
| Tiempo para completar |
| 30 minutes |
| Autores |
| HarryvL |
| Versión de FreeCAD |
| 0.17.12960 or above |
| Archivos de ejemplos |
| Ver también |
| None |
En este tutorial, analizamos la deformación por corte de un bloque compuesto que consiste en un núcleo rígido incrustado en una matriz blanda. Demuestra el uso de BooleanFragments y CompoundFilter para crear sólidos para el bloque y la matriz a partir de dos cubos concéntricos. Este flujo de trabajo garantiza que se puedan definir MeshRegions, materiales y condiciones de contorno separadas para el bloque y la matriz circundante. Para seleccionar regiones internas nos hacemos de la macro por Markus Hovorka (https://github.com/drhooves/SelectionTools). Los resultados de CalculiX muestran claramente el efecto del núcleo rígido en la respuesta del bloque compuesto.
Primero creamos dos cubos concéntricos, un tamaño de 10 mm y el otro tamaño de 5 mm. Esto se hace en el banco de trabajo "Part". Por defecto, el cubo se coloca en el origen [0, 0, 0], por lo que el cubo más pequeño debe reducirse y cambiarse cambiando la configuración en la pestaña Datos del panel de propiedades. Para hacer visible el núcleo, la transparencia del bloque exterior se establece en 50 en la pestaña Ver del panel de propiedades. El resultado se muestra a continuación.
Next, highlight the two blocks in the tree and create a BooleanFragments object (Part → Split → Boolean Fragments). In the Data tab of the Property View, change Mode to CompSolid. Now highlight the BooleanFragments in the Tree View and create a CompoundFilter (Part → Compound → Compound Filter).
From the FEM workbench, we create an Analysis container. This will contain all definitions required for the CalculiX analysis and its results. If the Analysis container is not active (e.g. whenever reloading the file or after switching back from other analyses), it needs to be activated by right-clicking and selecting "Activate Analysis" or just double-clicking on it. To start the meshing process, highlight the CompoundFilter in the Tree View and activate the meshing dialog Mesh → 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 Mesh Refinement via Mesh → Mesh Refinement. Open the dialog box for the MeshRegion object by double-clicking on it in the Tree View and tick the radio button for Solid. Next, click the "Add" button and select the CompoundFilter object in the 3D View. This should add a reference to "CompoundFilter:Solid1" in the object list of the Mesh Refinement. Finally, specify the maximum element size for this region (5 mm in the current analysis). Leave the dialog by clicking OK.
Next, create a new MeshRegion object as explained above and use the Clarify Selection tool (hover over the center of the cube and press G,G) to select a face of the inner Cube_Core object in the 3D View. A pop-up window will ask which solid to pick. Choose Solid2 (inner cube). This time the reference list should show "CompoundFilter:Solid2", as below. We chose a maximum element size of 1 mm.
Note: If you have difficulty selecting "CompoundFilter:Solid2", it may be because you forgot to set the BooleanFragments mode to CompSolid.
Material is assigned to model regions via a SolidMaterial object. In this tutorial, we assign two materials; one for the Matrix and one for the Core.
Create a MaterialSolid object via menu option Model → Materials → Solid Material. Open the dialog and tick the radio button for Solid, press "Add" 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 Clarify Selection tool or an alternative approach. 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 Displacement object (Model → Mechanical Boundary Conditions and Loads → Displacement Boundary Condition). With the dialog box open, click the Add button and select the face to which the boundary condition is to be applied. As the block is allowed to slide in the x-y plane, only the radio button for "Displacement Z" is selected, and the other radio buttons are all left unchecked.
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 the 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 Displacement 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 the addition of four Force objects (Model → Mechanical Boundary Conditions and Loads → Force Load) - one for each face. With the dialog box open, first press the "Add" button and then select the face to which the boundary condition is to be applied. 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 the opposite direction of what is required, select the radio button for "Reverse direction".
Now that all mesh objects, material and boundary conditions have been defined, we are ready to analyse the deformation of the block with CalculiX. If the Analysis container is not active, activate it by double-clicking (or right-clicking and selecting "Activate Analysis"). Open the CalculiX dialog by double-clicking the SolverCalculiX object and click Apply to run the analysis.
If all goes well, the CCX output window should show the following messages.
Upon completion of the analysis, have a look at the "SolverCalculiXResult" object displaying the Displacement Magnitude by default. The maximum displacement of ~ 0.08 mm 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 for better visibility. This can be done by selecting the "SolverCalculiXResult" object and adding a Warp filter (Results → Warp Filter). Set the Warp factor to 20 and use the slider to visualize the scaled deformation. Set Field to Displacement.
To investigate the deformation of the core, we have to slice the block. With the "SolverCalculiXResult" pipeline selected, add a Clip Filter (Results → Region 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 Field to "Displacement" to show colored displacement contours. Press Apply and OK. If needed, switch the Warp filter to invisible to only see the cut.
From the result, it is clear that the core remains largely undeformed and helps to resist the deformation of the soft matrix (compare the shear angle of the blue colored part to that of the green colored part). What it also highlights, though, is that under simple shear conditions the faces of the composite block do warp, implying that the sliding boundary condition at the base of the cube does provide an undue constraint.
The following challenges may be interesting to take up as a further exercise:
1) Correct for the undue constraint imposed by the sliding boundary condition
2) Try and create contact boundary conditions between the core and the matrix to see if separation occurs
The FC file for this tutorial is attached below as a starting point.
Que te diviertas !