FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabo Bielorusso Catalano Czech German Greek Spanish Spanish Basco Finnish Filippino Français Galiziano Croatian Hungarian Indonesiano Italiano Japanese Kabyle Coreano Lituano Dutch Norvegese Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbo Swedish Turkish Ukrainian Valenziano Vietnamita Cinese Cinese
  • Funzioni
  • Download
  • Blog
  • Documentazione
    Indice di documentazione Per iniziare Documentazione utenti Il manuale FreeCAD Documentazione degli ambienti di lavoro Documentazione di scripting Python Documentazione codice C++ Tutorial Domande frequenti Politica sulla Privacy Informazioni Su FreeCAD
  • Contribuire
    Come aiutare Sponsor Segnala un bug Fai una richiesta Opportunità di lavoro e ricompense Linee guida per contribuire Manuale degli sviluppatori Traduzioni
  • Comunità
    Codice di condotta Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendario
  • ♥ Donate

Donate

$
Informazioni SEPA
Si prega di intestare il bonifico SEPA a:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agenzia bancaria: BNP Paribas Fortis
Indirizzo: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Tutorial
Argomento
Analisi agli elementi finiti
Livello di difficoltà
Base/Intermedio
Tempo di esecuzione
30 minuti
Autori
HarryvL
Versione di FreeCAD
0.17.12960 o superiore
Files di esempio
Nessuno
Vedere anche
Nessuno

Introduction

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.

Geometry

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 and Mesh Regions

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.

Supporto scorrevole

Per creare una condizione di "taglio semplice" per il blocco composito, le deformazioni ai margini devono essere non vincolate. Per ottenere ciò, il blocco viene posizionato su un supporto scorrevole. Questo lascia tre gradi di libertà nel piano del supporto (2 traslazioni e una rotazione) e questi saranno vincolati in seguito. (Nota: poiché il piano impedisce la deformazione della faccia, induce comunque un vincolo minore, che potrebbe essere eliminato da una diversa scelta di condizioni del contorno). Per creare una condizione del contorno scorrevole, aggiungere un oggetto FemConstraintDisplacement (Modello → Vincoli meccanici → Spostamento del vincolo). Con la finestra di dialogo aperta, selezionare prima la faccia a cui applicare le condizioni al contorno e quindi fare clic sul pulsante Aggiungi. Poiché il blocco può scorrere sul piano x-y, selezionare solo il pulsante di opzione "Fixed" per "Displacement z" e lasciare "Free" gli altri pulsanti di opzione.

Nodi fissi

Per evitare movimenti del corpo rigido nel piano di scorrimento, è necessario eliminare tre gradi di libertà indipendenti. Per ottenere ciò, vincolare un vertice nel piano di scorrimento in direzione x e y (eliminando 2 gradi di libertà) e un vertice nella direzione x (eliminando l'ultimo grado di libertà). A tale scopo creare due ulteriori oggetti FemConstraintDisplacement e si ottiene il risultato mostrato sotto.

Shear Forces

Forze di taglio

Il passo finale nella definizione dell'analisi è l'applicazione dei carichi. Per creare una condizione di taglio semplice, applicare una serie di carichi di taglio come mostrato sotto. Ogni carico viene scelto come 1000 N e considerando le direzioni di applicazione, l'equilibrio di forza e momento viene raggiunto per tutti i gradi di libertà di traslazione e rotazionali. In FreeCAD ciò richiede l'aggiunta di quattro oggetti FemConstraintForce (Modello → Vincoli meccanici → Vincolo forza) - uno per ogni faccia. Con la finestra di dialogo aperta, premere prima il pulsante Aggiungi riferimento e quindi selezionare la faccia a cui applicare la condizione al contorno (Nota: questa è una sequenza diversa rispetto a FemConstraintDisplacement). Di default, questo crea un insieme di forze perpendicolari alla faccia (cioè una forza normale). Per modificare questo valore in una forza di taglio, premere il pulsante di direzione e selezionare un bordo del cubo che è nella direzione desiderata. Se la forza risultante punta in direzione opposta a quella richiesta, selezionare il pulsante di opzione "Direzione invertita".

Analisi CalculiX

Ora sono state definite tutte le regioni di mesh, il materiale e le condizioni al contorno, siamo pronti ad analizzare la deformazione del blocco con CalculiX. Attivare l'analisi facendo clic con il pulsante destro del mouse su "Attiva analisi", aprire la finestra di dialogo CalculiX facendo doppio clic sull'oggetto CalculiXccxTools e selezionare una directory per i file temporanei creati da FC e CCX. Scrivere il file di input CCX e controllare eventuali avvisi o messaggi di errore.

Successivamente l'analisi può essere avviata premendo il pulsante RunCalculiX. Se tutto va bene, la finestra di output CCX dovrebbe mostrare i seguenti messaggi.

Risultati di CalculiX

Al termine dell'analisi, fare doppio clic sull'oggetto "CalculiX_static_results" e selezionare l'opzione "Abs displacement". Lo spostamento massimo di ~ 0.08mm vene visualizzato nella relativa casella di output. Poiché lo spostamento massimo è relativamente piccolo rispetto alle dimensioni del blocco (<1% della dimensione del blocco), gli spostamenti devono essere ridimensionati. Questo può essere fatto sotto il titolo "Displacement" spuntando il pulsante di opzione "Show" e ridimensionando lo spostamento di un fattore di "diciamo" 20. Lo spostamento massimo ora è esagerato a circa il 20% delle dimensioni del cubo. Dopo aver chiuso la finestra di dialogo, la mesh deformata può essere resa nuovamente visibile evidenziando l'oggetto Result_mesh e premendo la barra spaziatrice.

Per studiare la deformazione del nucleo bisogna tagliare il blocco. Questo può essere fatto creando un filtro clip. Per attivare questa funzionalità, bisogna prima creare una "pipeline di post processing" evidenziando l'oggetto "CalculiX_static_results" e scegliendo "Risultati → Pubblica pipeline dal risultato" dal menu. Successivamente, con la Pipeline selezionata creare un filtro Warp (Risultati → Filtro Warp), impostare Vector=Displacement e Value=20 per ridimensionare lo spostamento e Display Mode = "Surface with Edges", Coloring Field = "Displacement", Vector = "Magnitude" per mostrare i contorni di spostamento colorati. Premere Applica e OK. Come passaggio finale, aggiungere un filtro clip (Results → Clip filter) e creare un piano con origine [5.0,2.5,5.0] e normale [0,1,0], cioè su una faccia centrale con la normale nella direzione y. Selezionare il pulsante di opzione "Cut Cells" per creare una superficie piatta. Come prima impostare Display Mode = "Surface with Edges", Coloring Field = "Displacement", Vector = "Magnitude" per mostrare i contorni di spostamento colorati. Premere Applica e OK. Infine, attivare il filtro Warp su invisibile per mostrare solo il blocco tagliato.

Dal risultato è chiaro che il nucleo rimane in gran parte indeformato e aiuta il contenitore morbido a resistere alla deformazione (confrontare l'angolo di taglio della parte di colore blu con quella della parte di colore verde). Ciò che evidenzia, tuttavia, è che, in condizioni di taglio semplice, le facce del blocco composito si deformano, il che implica che la condizione al contorno scorrevole alla base del cubo fornisce un vincolo eccessivo.

Ulteriori lavori

Le seguenti sfide possono essere interessanti da svolgere come ulteriore esercizio:

1) Correggere il vincolo eccessivo imposto dalla condizione al contorno scorrevole

2) Provare a creare le condizioni al contorno del contatto tra il nucleo e la matrice per vedere se avviene la separazione

Il file FC per questo tutorial è riportato sotto, come punto di partenza.

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

Divertiti !


Questa pagina è recuperata da https://wiki.freecad.org/FEM_Shear_of_a_Composite_Block

Tieniti aggiornato!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Questo progetto è supportato da: , KiCad Services Corp. e altri sponsor

GitHubMigliora questa pagina su GitHub