FEM Mesh/it

Creare una Mesh FE
L'analisi agli elementi finiti (FEA) viene eseguita su una mesh composta da più elementi finiti triangolari e quadrilaterali che suddividono un corpo originale. Più la mesh è raffinata, più accurati saranno i risultati numerici, ma anche il tempo di calcolo sarà maggiore. Un equilibrio tra la dimensione della mesh, il tempo di calcolo e la precisione dei risultati è una caratteristica importante di un'analisi degli elementi finiti ben definita.

Ci sono diverse possibilità di creare una mesh nell'ambiente FEM:
 * Lo strumento Gmsh dall'interfaccia grafica utente.
 * Lo strumento Netgen dall'interfaccia grafica utente.
 * Importare una mesh da un altro programma. In particolare, Gmsh e Netgen possono essere utilizzati da soli al di fuori di FreeCAD per creare mesh di corpi solidi come i file Step.
 * Creazione manuale della mesh tramite uno script Python.

Gli strumenti Gmsh e Netgen supportano i corpi mesh creati in Part e PartDesign, nonché le copie semplici di questi solidi. In generale, qualsiasi ambiente di lavoro che genera oggetti solidi, come Arch, può essere utilizzato come base da cui creare delle mesh. Notare che una mesh utilizzata per FEA è diversa da una mesh creata o importata dall'ambiente Mesh.





Gli strumenti Gmsh e Netgen sono strumenti utili per rendere rapidamente mesh un corpo, ma non espongono le funzionalità complete di questi programmi; essi normalmente creano mesh triangolari, che potrebbero non essere l'ideale per alcuni tipi di analisi. Se si vuole avere più controllo sulla mesh creata (usare solo quadrilateri, numero e dimensione di elementi precisi, risoluzione variabile della mesh, ecc.), si dovrebbe usare questi programmi esternamente, produrre un file mesh in un formato supportato e importare questo file in FreeCAD.

Precedentemente, Netgen era incluso in FreeCAD e poteva essere utilizzato immediatamente. Ora, sia Netgen che Gmsh devono essere installati prima di poter essere utilizzati da FEM. Per le istruzioni fare riferimento a Installare FEM.

Software di mesh
Il software di mesh funziona su corpi solidi che possono essere in diversi formati, come Step e Brep. Questi programmi possono essere utilizzati indipendentemente da FreeCAD e in genere dispongono di molte opzioni per controllare gli algoritmi di meshing, la dimensione dell'elemento e le condizioni del contorno.

FEM ha sviluppato semplici interfacce di comunicazione per utilizzare Gmsh e Netgen direttamente in FreeCAD. Altri programmi non hanno un'interfaccia, ma potrebbero cambiare in futuro se c'è un interesse da parte della comunità e se tali applicazioni sono facili da integrare. Il software di meshing può essere compilato e distribuito insieme a FreeCAD solo se la sua licenza è compatibile con la licenza LGPL2; altrimenti, il programma deve essere usato come un binario esterno, come viene usato Gmsh (GPL2).

Interfacce implementate in FreeCAD

 * Gmsh: main website, code repository
 * Netgen: main website, code repository

Nessuna interfaccia in FreeCAD

 * ENigMA, forum thread, code repository
 * libMesh, main website, code repository, forum thread; it's a very active project, and it's C++ only
 * PythonOCC, main website
 * SnappyHexMesh, main website
 * Tetgen, main website

Elementi Mesh in FreeCAD
FreeCAD supporta vari tipi di elementi. Il seguente articolo spiega la loro differenza e quando devono essere utilizzati: Meshing Your Geometry: When to Use the Various Element Types.


 * "NI" significa che il tipo di elemento non è implementato in FreeCAD ma il formato lo supporterebbe.
 * Edit_Cancel.svg "-" significa che le specifiche del formato non supportano questo tipo di elemento, quindi FreeCAD non può supportarlo.
 * "?" significa che non è noto se il formato supporta questo tipo di elemento.

Tipi di elementi FEM
Maggiori informazioni sui tipi di elementi FEM e la loro struttura dei dati all'interno di FreeCAD si trovano nella pagina Tipi di elementi FEM.

Create a FEM mesh completely in Python
Script di base per FreeCAD.

L'API Python consente all'utente di definire una mesh di elementi finiti aggiungendo direttamente singoli nodi e definendo bordi, facce e volumi.

La mesh stessa è di tipo, che deve essere collegata a un oggetto documento appropriato di tipo.

Creazione di una mesh con un elemento Tet-10
Creare un FemMesh vuoto, popolarlo con i nodi, creare il volume e infine chiamare per creare l'oggetto documento con la mesh corrispondente.

Se si desidera avere la numerazione predefinita di nodi e elementi, passare l'ID appropriato ai metodi di nodo e volume.

Per creare un oggetto documento attuale, invece di si può anche usare il metodo ; quindi collegare la mesh creata all'attributo  di questo oggetto.

Proprietà visive
Una volta che un oggetto FemMesh è stato creato con, alcune delle sue proprietà visive possono essere modificate modificando i diversi attributi del suo. Questo può essere utile per postelaborare la mesh dopo aver ottenuto una soluzione ad elementi finiti.

Evidenziare alcuni nodi nella mesh

I singoli elementi di una mesh possono essere modificati passando un dizionario con le coppie appropriate.

Impostare il volume 1 su rosso

Impostare i nodi 1, 2 e 3 su un determinato colore; le facce tra i nodi acquisiscono un colore interpolato

Spostare i nodi 1 e 2 in base alla grandezza e alla direzione definite da un vettore

Raddoppiare il fattore dello spostamento mostrato

Shell, 3 node triangle, tria3 (linear)
Aggiungere una faccia con il numero di elementi.

Shell, 6 node triangle, tria6 (quadratic)
Aggiungere una faccia con il numero di elementi.

Shell, 4 node quadrangle, quad4 (linear)
Aggiungere una faccia con il numero di elementi.

Shell, 8 node quadrangle, quad8 (quadratic)
Aggiungere una faccia con il numero di elementi.

Volume, 4 node tetrahedron, tetra4 (linear)
Aggiungere una faccia con il numero di elementi.

Volume, 10 node tetrahedron, tetra10 (quadratic)
Aggiungere una faccia con il numero di elementi.

Volume, 8 node hexahedron, hexa8 (linear)
Aggiungere una faccia con il numero di elementi.

Volume, 20 node hexahedron, hexa20 (quadratic)
Aggiungere una faccia con il numero di elementi.

Volume, 6 node pentahedron, penta6 (linear)
Aggiungere una faccia con il numero di elementi.

Volume, 15 node pentahedron, penta15 (quadratic)
Aggiungere una faccia con il numero di elementi.

Volume, 5 node pyramid, pyra5 (linear)
Aggiungere una faccia con il numero di elementi.

Volume, 13 node pyramid, pyra13 (quadratic)
Aggiungere una faccia con il numero di elementi.

Esempi di scripting per gruppi
Vedere per esempio https://forum.freecadweb.org/viewtopic.php?f=18&t=37304&start=20#p318823