FEM Shear of a Composite Block/it

Introduzione
In questo tutorial si analizza la deformazione di taglio di un blocco composito costituito da un nucleo rigido incorporato in una matrice morbida. Dimostra l'uso di BooleanFragments e CompoundFilter per creare solidi per il blocco e la matrice da due cubi concentrici. Questo flusso di lavoro assicura che MeshRegions, Materiali e Condizioni Limite separate possano essere definite per il blocco e la matrice circostante. Per selezionare le regioni interne, viene usata la macro di Markus Hovorka (https://github.com/drhooves/SelectionTools). I risultati CalculiX mostrano chiaramente l'effetto del nucleo rigido sulla risposta del blocco composito.

Geometria
Per prima cosa creare due cubetti concentrici, uno di 10 mm e l'altro di 5 mm. Questo viene fatto nel ambiente "Part". Per impostazione predefinita, il cubo viene posizionato all'origine [0, 0, 0], quindi il cubo più piccolo deve essere ridimensionato e spostato modificando le impostazioni nella scheda Dati del pannello delle proprietà. Per rendere visibile il nucleo, la Trasparenza del blocco esterno è impostata su 50 nella scheda Visualizza del pannello delle proprietà. Il risultato è mostrato sotto.



Quindi evidenziare i due blocchi nell'albero e creare un oggetto BooleanFragments (Parte → Dividi → Frammenti booleani). Nella "Finestra delle proprietà - Scheda dati" cambiare la Modalità in CompSolid. Ora evidenziare i BooleanFragments nella struttura ad albero degli oggetti e creare un CompoundFilter (Parte → Composto → Filtro composto).



Mesh e Regioni di Mesh
Dall'ambiente FEM crere un Contenitore di analisi. Questo conterrà tutte le definizioni richieste per l'analisi CalculiX e i suoi risultati. Notare che questo contenitore di analisi deve essere attivato (fare clic con il tasto destro del mouse e selezionare "Attiva analisi") ogni volta che si carica nuovamente il file o si torna indietro da altre analisi. Per avviare il processo di mesh, evidenziare CompoundFilter nella struttura ad albero e attivare la finestra di dialogo mesh "Mesh → FEM mesh da forma con Gmsh". Uscire dalla finestra di dialogo facendo clic su OK.

Viene creato un oggetto Mesh nell'albero degli oggetti. Evidenziare questo oggetto e creare un oggetto Regione Mesh tramite "Mesh → Regione di mesh FEM". Aprire la finestra di dialogo per questa regione mesh facendo doppio clic e selezionare il pulsante di opzione per Solid. Quindi fare clic sul pulsante "Aggiungi riferimento" e selezionare l'oggetto CompoundFilter nella finestra grafica. Questo dovrebbe aggiungere un riferimento a "CompoundFilter:Solid1" nell'elenco degli oggetti della regione mesh. Infine, specificare la dimensione massima dell'elemento per questa regione (5 mm nell'analisi corrente). Uscire dalla finestra di dialogo facendo clic su OK.



Quindi creare un nuovo oggetto mesh come sopra e usare la macro di selezione (scorciatoia S,E) per selezionare l'oggetto Cube_Core nella finestra grafica. Questa volta la lista di riferimento dovrebbe mostrare "CompoundFilter: Solid2", come sotto. Scegliere una dimensione massima dell'elemento di 1 mm.

Nota1: La selezione di "CompoundFilter:Solid2" richiede la selezione di una delle sue facce.

Nota2: Se si hanno difficoltà a selezionare "CompoundFilter:Solid2" può essere perché ci si è dimenticati di impostare la modalità BooleanFragments su CompSolid.



Assegnazione del materiale
Il materiale viene assegnato alle regioni mesh tramite un oggetto SolidMaterial. In questo tutorial assegniamo due materiali; uno per il contenitore e uno per il contenuto.

Iniziare selezionando il CompoundFilter nell'albero degli oggetti. Quindi creare un oggetto SolidMaterial tramite l'opzione di menu "Modello → Materiale FEM per solido". Aprire la finestra di dialogo e spuntare il pulsante di opzione per Solid, premere "Aggiungi riferimento" e selezionare l'oggetto CompoundFilter dalla finestra grafica. L'elenco dei riferimenti ora dovrebbe mostrare "CompoundFilter:Solid1", come primo. Assegnare il materiale ABS al contenitore, con un modulo di Young che è circa l'1% di quello dell'acciaio.



Ripetere la procedura precedente per il contenuto ("CompoundFilter:Solid2") con l'aiuto della macro di selezione. Questa volta assegnare CalculiX-Steel, che è molto più rigido del materiale ABS del contenitore.

Sliding Support
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 Constraints → Constraint displacement). With the dialog box open first select the face to which the boundary conditions 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".



Fixed Nodes
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.



Shear Forces
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 rotional degrees of freedom. In FC this requires addition of four FemConstraintForce objects (Model → Mechanical Constraints → Constraint force) - 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".



CalculiX Analysis
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.



After that the analysis can be started by pressing the RunCalculiX button. If all goes well, the CCX output window should show the following messages.



CalculiX Results
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.



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.

Further work
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.

https://forum.freecadweb.org/viewtopic.php?f=18&t=26517&start=20

Divertiti !