FEM Shear of a Composite Block/ro: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 11: Line 11:
</div>
</div>


<span id="Introduction"></span>
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== Introducere ===
=== Introducere ===
Line 16: Line 17:
</div>
</div>


In this tutorial we analyse the shear deformation of a composite block consisting of a stiff core embedded in a soft matrix. It demonstrates the use of BooleanFragments and CompoundFilter to create solids for the block and the matrix from two concentric cubes. This workflow ensures that separate MeshRegions, Materials and Boundary Conditions can be defined for the block and the surrounding matrix. To select internal regions we can make use of the [https://github.com/drhooves/SelectionTools macro by Markus Hovorka] or choose an alternative approach. The CalculiX results clearly show the effect of the stiff core on the response of the composite block.

<span id="Geometry"></span>
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== Geometrie ===
=== Geometrie ===
Mai intai creeăm doua cuburi concentrice, unul cu latura având dimensiunea de 10mm și un altul cu dimensiunea de 5mm. Acest lucru se face în Atelierul "Part". Implicit, cubul este plasat la originea [0, 0, 0], astfel încât cubul mai mic trebuie redus și schimbat prin schimbarea setărilor din fila Date a panoului proprietăților. Pentru a face ca miezul să fie vizibil, Transparența blocului exterior este setată la 50 în fila Vizualizare a panoului de proprietăți. Rezultatul este prezentat mai jos.
Mai intai creeăm doua cuburi concentrice, unul cu latura având dimensiunea de 10mm și un altul cu dimensiunea de 5mm. Acest lucru se face în Atelierul "Part". Implicit, cubul este plasat la originea [0, 0, 0], astfel încât cubul mai mic trebuie redus și schimbat prin schimbarea setărilor din fila Date a panoului proprietăților. Pentru a face ca miezul să fie vizibil, Transparența blocului exterior este setată la 50 în fila Vizualizare a panoului de proprietăți. Rezultatul este prezentat mai jos.
</div>
</div>

First we create two concentric cubes, one size 10mm and the other size 5mm. This is done in the [[Part_Module|workbench Part]]. By default the cube is placed at the origin [0, 0, 0], so the smaller cube needs to be scaled down and shifted by changing the settings in the Data tab of the property panel. To make the core visible, the Transparency of the outer block is set to 50 in the View tab of the property panel. The result is shown below.


[[Image:Pic1.png|700px]]
[[Image:Pic1.png|700px]]
Line 29: Line 35:
[[Image:Pic2.png|700px]]
[[Image:Pic2.png|700px]]


<span id="Mesh_and_Mesh_Regions"></span>
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== Regiunile de plasă și ochiurile de plasă ===
=== Regiunile de plasă și ochiurile de plasă ===
De la masa de lucru FEM vom crea un container de analiză. Aceasta va conține toate definițiile necesare pentru analiza CalculiX și rezultatele acesteia. Rețineți că acest container de analiză trebuie activat (faceți clic dreapta și selectați "Activare analiză") ori de câte ori reîncărcați fișierul sau după trecerea de la alte analize. Pentru a porni procesul de întindere, evidențiați CompoundFilter în Arborele Obiect și activați dialogul de plasare "Mesh> FEM mesh from shape by Gmsh". Lăsați dialogul făcând clic pe OK.
De la masa de lucru FEM vom crea un container de analiză. Aceasta va conține toate definițiile necesare pentru analiza CalculiX și rezultatele acesteia. Rețineți că acest container de analiză trebuie activat (faceți clic dreapta și selectați "Activare analiză") ori de câte ori reîncărcați fișierul sau după trecerea de la alte analize. Pentru a porni procesul de întindere, evidențiați CompoundFilter în Arborele Obiect și activați dialogul de plasare "Mesh> FEM mesh from shape by Gmsh". Lăsați dialogul făcând clic pe OK.
</div>
</div>

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.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 87: Line 96:
[[Image:Pic7.png|700px]]
[[Image:Pic7.png|700px]]


<span id="Shear_Forces"></span>
<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
=== Forțe de forfecare ===
=== Forțe de forfecare ===
Ultimul pas în definirea Analizei este aplicarea încărcărilor. Pentru a crea o condiție simplă de forfecare, se aplică un set de sarcini de forfecare, după cum se arată mai jos. Fiecare sarcină este aleasă de 1000 N și având în vedere direcțiile de aplicare, forța și momentul de echilibru sunt atinse pentru toate translațiile și gradele de libertate rotative. În FC acest lucru necesită adăugarea a patru obiecte FemConstraintForce (Model> Constrângeri mecanice> Forța de constrângere) - câte una pentru fiecare față. Cu prima casetă de dialog, apăsați butonul Adăugare referință și apoi selectați fața pe care se va aplica condiția de margine (Notă: aceasta este o secvență diferită față de cea cu FemConstraintDisplacement). Implicit, aceasta creează un set de forțe perpendiculare pe față (adică o forță normală). Pentru a schimba această forță la o forță de forfecare, apăsați butonul de direcție și selectați o margine cub care merge în direcția dorită. Dacă forța rezultată indică o direcție opusă a ceea ce este necesar, apoi selectați butonul radio pentru "Direcția inversă".
Ultimul pas în definirea Analizei este aplicarea încărcărilor. Pentru a crea o condiție simplă de forfecare, se aplică un set de sarcini de forfecare, după cum se arată mai jos. Fiecare sarcină este aleasă de 1000 N și având în vedere direcțiile de aplicare, forța și momentul de echilibru sunt atinse pentru toate translațiile și gradele de libertate rotative. În FC acest lucru necesită adăugarea a patru obiecte FemConstraintForce (Model> Constrângeri mecanice> Forța de constrângere) - câte una pentru fiecare față. Cu prima casetă de dialog, apăsați butonul Adăugare referință și apoi selectați fața pe care se va aplica condiția de margine (Notă: aceasta este o secvență diferită față de cea cu FemConstraintDisplacement). Implicit, aceasta creează un set de forțe perpendiculare pe față (adică o forță normală). Pentru a schimba această forță la o forță de forfecare, apăsați butonul de direcție și selectați o margine cub care merge în direcția dorită. Dacă forța rezultată indică o direcție opusă a ceea ce este necesar, apoi selectați butonul radio pentru "Direcția inversă".
</div>
</div>

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".


[[Image:Pic8.png|700px]]
[[Image:Pic8.png|700px]]

Revision as of 15:59, 9 December 2023

Tutorial
Topic
Finite Element Analysis
Level
Beginner/Intermediate
Time to complete
30 minutes
Authors
HarryvL
FreeCAD version
0.17.12960 or above
Example files
See also
None

Introducere

În acest tutorial, analizăm deformarea de forfecare a unui bloc compozit constând dintr-un miez rigid încorporat într-o matrice flexibilă.Aceasta demonstrează utilizarea BooleanFragment și CompoundFilter pentru a crea solide pentru bloc și matrice din două cuburi concentrice. Acest flux de lucru asigură faptul că pot fi definite separat MeshRegions, Materiale și Condiții de limită pentru bloc și matricea înconjurătoare. Pentru a selecta regiuni interne, vom face uz de macrocomanda lui Markus Hovorka (https://github.com/drhooves/SelectionTools). Rezultatele CalculiX arată clar efectul nucleului rigid asupra răspunsului blocului de compozit.

In this tutorial we analyse the shear deformation of a composite block consisting of a stiff core embedded in a soft matrix. It demonstrates the use of BooleanFragments and CompoundFilter to create solids for the block and the matrix from two concentric cubes. This workflow ensures that separate MeshRegions, Materials and Boundary Conditions can be defined for the block and the surrounding matrix. To select internal regions we can make use of the macro by Markus Hovorka or choose an alternative approach. The CalculiX results clearly show the effect of the stiff core on the response of the composite block.

Geometrie

Mai intai creeăm doua cuburi concentrice, unul cu latura având dimensiunea de 10mm și un altul cu dimensiunea de 5mm. Acest lucru se face în Atelierul "Part". Implicit, cubul este plasat la originea [0, 0, 0], astfel încât cubul mai mic trebuie redus și schimbat prin schimbarea setărilor din fila Date a panoului proprietăților. Pentru a face ca miezul să fie vizibil, Transparența blocului exterior este setată la 50 în fila Vizualizare a panoului de proprietăți. Rezultatul este prezentat mai jos.

First we create two concentric cubes, one size 10mm and the other size 5mm. This is done in the workbench Part. By default the cube is placed at the origin [0, 0, 0], so the smaller cube needs to be scaled down and shifted by changing the settings in the Data tab of the property panel. To make the core visible, the Transparency of the outer block is set to 50 in the View tab of the property panel. The result is shown below.

Apoi evidențiați cele două blocuri ale arborelui și creați un obiect BooleanFragments (Partea> Split> Fragmente Booleene). În fereastra "Property Window - Data Tab" schimbați modul la CompSolid. Acum, evidențiați Fragmentele Boolean din arborescența Obiect și creați un CompoundFilter (Component> Compus> Filtru Compus).

Regiunile de plasă și ochiurile de plasă

De la masa de lucru FEM vom crea un container de analiză. Aceasta va conține toate definițiile necesare pentru analiza CalculiX și rezultatele acesteia. Rețineți că acest container de analiză trebuie activat (faceți clic dreapta și selectați "Activare analiză") ori de câte ori reîncărcați fișierul sau după trecerea de la alte analize. Pentru a porni procesul de întindere, evidențiați CompoundFilter în Arborele Obiect și activați dialogul de plasare "Mesh> FEM mesh from shape by Gmsh". Lăsați dialogul făcând clic pe OK.

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.

Acum este creat un obiect Mesh în Arborele Obiect. Evidențiați acest obiect și creați un obiect din zona Mesh prin "Mesh> FEM mesh region". Deschideți caseta de dialog pentru această regiune a rețelei, dând dublu clic pe și bifați butonul radio pentru Solid. Apoi faceți clic pe butonul "Adăugați o referință" și selectați obiectul CompoundFilter din fereastra grafică. Aceasta ar trebui să adauge o trimitere la "CompoundFilter: Solid1" în lista de obiecte a regiunii Mesh. În final, specificați dimensiunea maximă a elementului pentru această regiune (5mm în analiza curentă). Lăsați dialogul făcând clic pe OK.

Apoi, creați un obiect Mesh nou ca mai sus și utilizați macrocomanda de selecție (comanda rapidă S, E) pentru a selecta obiectul Cube_Core din fereastra grafică. De această dată lista de referințe ar trebui să afișeze "CompoundFilter: Solid2", după cum urmează. Am ales o dimensiune maximă a elementului de 1mm.

Notă1: Selecția "CompoundFilter: Solid2" necesită selectarea uneia dintre fețele sale.

Notă2: Dacă aveți dificultăți la selectarea "CompoundFilter: Solid2", este posibil să fi uitat să setați modul BooleanFragments la CompSolid.

Material Assignment

Materialul este alocat regiunilor Mesh printr-un obiect SolidMaterial. În acest tutorial le atribuim două materiale; unul pentru Matrix și unul pentru Core.

Începeți prin selectarea CompoundFilter în arborescența obiect. Apoi creați un obiect SolidMaterial prin opțiunea de meniu "Model> Material FEM pentru solid". Deschideți dialogul și bifați butonul radio pentru Solid, apăsați "Add Reference" și selectați obiectul CompoundFilter din fereastra grafică. Lista de referință ar trebui să afișeze acum "CompoundFilter: Solid1", ca mai înainte. Atribuiți materiale ABS pentru Matrix, cu modulele lui Young de aproximativ 1% din cele de oțel.

Repetați procedura de mai sus pentru Core ("CompoundFilter: Solid2") cu ajutorul macrocomenzii de selecție. De data aceasta atribuim CalciX-Steel, care este mult mai rigid decât materialul ABS pentru Matrix.

Sliding Support

Pentru a crea o condiție "Shear Simple" pentru blocul compozit, deformările la limite trebuie să fie neconstrânse. Pentru a realiza acest lucru, blocul este plasat pe un suport glisant. Acest lucru lasă trei grade de libertate în planul suportului (2 traduceri și o rotație) și acestea vor fi constrânse ulterior. (Notă: deoarece planul previne deformarea feței, aceasta induce încă o constrângere minoră, care ar putea fi eliminată de o altă alegere a condițiilor limită). Pentru a crea o condiție limită de alunecare, adăugați un obiect FemConstraintDisplacement (Model> Constrângeri mecanice> Deplasare constrângere). Cu caseta de dialog deschisă mai întâi selectați fața la care urmează să se aplice condițiile de graniță și apoi faceți clic pe butonul Adăugați. Pe măsură ce blocul este lăsat să alunece în planul x-y, este selectat numai butonul radio "Fixed" pentru "Displacement z", iar celelalte butoane radio sunt lăsate ca "Free".

Fixed Nodes

Pentru a preveni mișcarea rigidă a corpului în planul de alunecare, trebuie eliminate trei grade independente de libertate. Pentru a realiza acest lucru, un vârf în planul de alunecare este constrâns în direcțiile x și y (eliminând 2 grade de libertate) și un vârf este fixat în direcția x (eliminând ultimul grad de libertate). În acest scop sunt create două obiecte suplimentare FemConstraintDisplacement și rezultatul este prezentat mai jos.

Forțe de forfecare

Ultimul pas în definirea Analizei este aplicarea încărcărilor. Pentru a crea o condiție simplă de forfecare, se aplică un set de sarcini de forfecare, după cum se arată mai jos. Fiecare sarcină este aleasă de 1000 N și având în vedere direcțiile de aplicare, forța și momentul de echilibru sunt atinse pentru toate translațiile și gradele de libertate rotative. În FC acest lucru necesită adăugarea a patru obiecte FemConstraintForce (Model> Constrângeri mecanice> Forța de constrângere) - câte una pentru fiecare față. Cu prima casetă de dialog, apăsați butonul Adăugare referință și apoi selectați fața pe care se va aplica condiția de margine (Notă: aceasta este o secvență diferită față de cea cu FemConstraintDisplacement). Implicit, aceasta creează un set de forțe perpendiculare pe față (adică o forță normală). Pentru a schimba această forță la o forță de forfecare, apăsați butonul de direcție și selectați o margine cub care merge în direcția dorită. Dacă forța rezultată indică o direcție opusă a ceea ce este necesar, apoi selectați butonul radio pentru "Direcția inversă".

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".

CalculiX Analysis

Acum au fost definite toate regiuni ale ochiului de plasă, condițiile materiale și limita, fiind gata să analizăm deformarea blocului cu CalculiX. Activați analiza făcând clic dreapta pe "Activare analiză", deschideți dialogul CalculiX făcând dublu clic pe obiectul CalculiXccxTools și selectați un director pentru fișierele temporare create atât de FC cât și de CCX. Scrieți fișierul de intrare CCX și verificați mesajele de avertizare sau de eroare.  

După aceea, analiza poate fi pornită apăsând butonul RunCalculiX. Dacă totul merge bine, fereastra de ieșire CCX ar trebui să afișeze următoarele mesaje.

CalculiX Results

După finalizarea analizei, dați dublu clic pe obiectul "CalciX_static_results" și selectați opțiunea "Deplasare abs". Deplasarea maximă de ~ 0,08 mm va apărea în caseta de ieșire relevantă. Deoarece deplasarea maximă este relativ mică în comparație cu dimensiunile blocului (<1% din dimensiunea blocului), deplasările trebuie să fie scalate. Acest lucru se poate face sub titlul "Deplasare" prin bifarea butonului "Afișare" și deplasarea deplasării cu un factor de -șir. 20. Deplasarea maximă va fi acum exagerată la aproximativ 20% din dimensiunea cutiei. După închiderea ferestrei de dialog, rețeaua deformată poate fi din nou vizibilă prin evidențierea obiectului Result_mesh și apăsarea barei de spațiu.

Pentru a investiga deformarea nucleului, trebuie să alunecăm blocul. Acest lucru se poate face prin crearea unui filtru de clipuri. Pentru a activa această funcție, trebuie mai întâi să creați o "conductă de procesare post" prin evidențierea obiectului "CalciX_static_results" și selectând "Rezultate> Postare conducte din Rezultat" din meniu. Apoi, în cazul selectării conductei, creați un filtru Warp (Rezultate> Filtru Warp), setați Vector = Displacement și Value = 20 pentru a scala deplasarea și Modul de afișare = "Suprafață cu margini", Field Coloring = "Displacement", Vector = "Magnitude "pentru a arăta contururile de deplasare colorate. Apăsați Aplicați și OK. Ca o ultimă etapă, adăugați un Filtru de Clipuri (Rezultate> Filtru Clip) și creați un plan cu origine [5.0,2,5,5,0] și normal [0,1,0], adică la o față de bază cu normal în direcția y. Bifați butonul radio "Cut Cells" pentru a crea o suprafață plană. Așa cum a fost setat anterior Mod de afișare = "Suprafață cu marginile", câmpul Coloring = "Displacement", Vector = "Magnitude" pentru a afișa contururile de deplasare colorate. Apăsați Aplicați și OK. În cele din urmă, comutați filtrul de avertizare la invizibil pentru a afișa numai blocul tăiat.

Din rezultat este clar că miezul rămâne în mare parte nedeformat și ajută să reziste la deformarea matricei moi (comparați unghiul de forfecare a părții albastre cu cel al părții verzi). Ceea ce se evidențiază, de asemenea, este faptul că, în condiții de forfecare simplă, fețele blocului compozit se răsucesc, ceea ce implică faptul că starea limită alunecătoare de la baza cubului oferă o constrângere nejustificată.

Further work

Următoarele provocări ar putea fi interesante ca un exercițiu suplimentar:

1) Corect pentru constrângerea exagerată impusă de condiția limită de alunecare

2) Încercați să creați condiții de contact între miez și matrice pentru a vedea dacă are loc separarea

Fișierul FC pentru acest tutorial este atașat mai jos ca un punct de pornire.

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

Distracție Plăcută !