779 lines
40 KiB
HTML
779 lines
40 KiB
HTML
<html><head><title>FEM Mesh/it</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>FEM Mesh/it</h1></div>
|
|
|
|
<div id="mw-content-text" lang="it" dir="ltr" class="mw-content-ltr"><hr/><div class="mw-parser-output"><div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
|
|
<ul>
|
|
<li class="toclevel-1 tocsection-1"><a href="#Creare_una_Mesh_FEM"><span class="tocnumber">1</span> <span class="toctext">Creare una Mesh FEM</span></a></li>
|
|
<li class="toclevel-1 tocsection-2"><a href="#Elementi_Mesh_FEM_in_FreeCAD"><span class="tocnumber">2</span> <span class="toctext">Elementi Mesh FEM in FreeCAD</span></a></li>
|
|
<li class="toclevel-1 tocsection-3"><a href="#Tipi_di_elementi_FEM"><span class="tocnumber">3</span> <span class="toctext">Tipi di elementi FEM</span></a>
|
|
<ul>
|
|
<li class="toclevel-2 tocsection-4"><a href="#Generale"><span class="tocnumber">3.1</span> <span class="toctext">Generale</span></a></li>
|
|
<li class="toclevel-2 tocsection-5"><a href="#Segment_element"><span class="tocnumber">3.2</span> <span class="toctext">Segment element</span></a></li>
|
|
<li class="toclevel-2 tocsection-6"><a href="#Triangle_element"><span class="tocnumber">3.3</span> <span class="toctext">Triangle element</span></a></li>
|
|
<li class="toclevel-2 tocsection-7"><a href="#Quadratic_element"><span class="tocnumber">3.4</span> <span class="toctext">Quadratic element</span></a></li>
|
|
<li class="toclevel-2 tocsection-8"><a href="#Tetrahedron_element"><span class="tocnumber">3.5</span> <span class="toctext">Tetrahedron element</span></a></li>
|
|
<li class="toclevel-2 tocsection-9"><a href="#Pyramid_element"><span class="tocnumber">3.6</span> <span class="toctext">Pyramid element</span></a></li>
|
|
<li class="toclevel-2 tocsection-10"><a href="#Hexahedron_element"><span class="tocnumber">3.7</span> <span class="toctext">Hexahedron element</span></a></li>
|
|
<li class="toclevel-2 tocsection-11"><a href="#Pentahedron_element"><span class="tocnumber">3.8</span> <span class="toctext">Pentahedron element</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-1 tocsection-12"><a href="#Script"><span class="tocnumber">4</span> <span class="toctext">Script</span></a>
|
|
<ul>
|
|
<li class="toclevel-2 tocsection-13"><a href="#Creare_una_Mesh_FEM_interamente_con_python"><span class="tocnumber">4.1</span> <span class="toctext">Creare una Mesh FEM interamente con python</span></a>
|
|
<ul>
|
|
<li class="toclevel-3 tocsection-14"><a href="#Creare_una_mesh_con_10_nodi_.28Tet-10_Elements.29"><span class="tocnumber">4.1.1</span> <span class="toctext">Creare una mesh con 10 nodi (Tet-10 Elements)</span></a></li>
|
|
<li class="toclevel-3 tocsection-15"><a href="#Manipolazione_visiva"><span class="tocnumber">4.1.2</span> <span class="toctext">Manipolazione visiva</span></a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toclevel-2 tocsection-16"><a href="#Script_di_un_elemento_per_ciascun_tipo_di_elemento_supportato"><span class="tocnumber">4.2</span> <span class="toctext">Script di un elemento per ciascun tipo di elemento supportato</span></a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h2><span class="mw-headline" id="Creare_una_Mesh_FEM">Creare una Mesh FEM</span></h2>
|
|
<p>In FreeCAD ci sono diverse possibilità per creare una Mesh FEM:
|
|
</p>
|
|
<ul><li> Lo strumento Gui <a href="https://www.freecadweb.org/wiki/index.php?title=FEM_MeshGmshFromShape/it" title="FEM MeshGmshFromShape/it">Mesh da forma</a></li>
|
|
<li> Lo strumento Gui di Python</li>
|
|
<li> Direttamente in Python, il che significa creare la Mesh FEM a mano</li>
|
|
<li> Importare una Mesh FEM</li></ul>
|
|
<p>Sono supportati gli oggetti creati in Part Design e Parte, così come le copie semplici di tali corpi. Sono disponibili due mesher: Netgen e GMSH. Netgen è incluso in FreeCAD. Fare riferimento a <a href="https://www.freecadweb.org/wiki/index.php?title=FEM_Install/it" title="FEM Install/it">Installare FEM</a>. Per generare una Mesh FEM con GMSH l'utente psicofil ha fornito la <a rel="nofollow" class="external text" href="https://www.freecadweb.org/wiki/index.php?title=Macro_GMSH/it">Macro GMSHMesh</a>.
|
|
</p>
|
|
<h2><span class="mw-headline" id="Elementi_Mesh_FEM_in_FreeCAD">Elementi Mesh FEM in FreeCAD</span></h2>
|
|
<p>FreeCAD supporta vari tipi di elementi. Questo blog esterno vi spiega le differenze tra i tipi di elementi e come utilizzarli: <a rel="nofollow" class="external free" href="https://www.comsol.com/blogs/meshing-your-geometry-various-element-types/">https://www.comsol.com/blogs/meshing-your-geometry-various-element-types/</a>
|
|
</p>
|
|
<table class="wikitable" style="color:green; background-color:#ffffcc;" cellpadding="5" cellspacing="0" border="1">
|
|
<caption> <b> Import and Export of FEM Mesh Elements </b>
|
|
</caption>
|
|
<tr>
|
|
<th> Element </th>
|
|
<th> Element </th>
|
|
<th> FreeCAD API </th>
|
|
<th> FreeCAD GUI </th>
|
|
<th> med </th>
|
|
<th> unv </th>
|
|
<th> inp </th>
|
|
<th> frd </th>
|
|
<th> txt </th>
|
|
<th> xml
|
|
</th></tr>
|
|
<tr>
|
|
<td> Med </td>
|
|
<td> CalculiX </td>
|
|
<td> Python </td>
|
|
<td> FEM Mesh </td>
|
|
<td> SMESH </td>
|
|
<td> IDEAS/FreeCAD </td>
|
|
<td> Abaqus/CalculiX </td>
|
|
<td> Result Mesh </td>
|
|
<td> Z88 </td>
|
|
<td> Fenics
|
|
</td></tr>
|
|
<tr>
|
|
<td> Name </td>
|
|
<td> Name </td>
|
|
<td> create elements </td>
|
|
<td> view elements </td>
|
|
<td> import/export </td>
|
|
<td> import/export </td>
|
|
<td> import/export </td>
|
|
<td> import </td>
|
|
<td> import/export </td>
|
|
<td> import/export
|
|
</td></tr>
|
|
<tr>
|
|
<td> seg 2 </td>
|
|
<td> B31 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a>
|
|
</td></tr>
|
|
<tr>
|
|
<td> seg 3 </td>
|
|
<td> B32 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> ni </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> tria 3 </td>
|
|
<td> S3 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> - </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a>
|
|
</td></tr>
|
|
<tr>
|
|
<td> tria 6 </td>
|
|
<td> S6 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> quad 4 </td>
|
|
<td> S4 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> - </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a>
|
|
</td></tr>
|
|
<tr>
|
|
<td> quad 8 </td>
|
|
<td> S8 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> tetra 4 </td>
|
|
<td> C3D4 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a>
|
|
</td></tr>
|
|
<tr>
|
|
<td> tetra 10 </td>
|
|
<td> C3D10 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> pyra 5 </td>
|
|
<td> - </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> pyra 13 </td>
|
|
<td> - </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> - </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> hexa 8 </td>
|
|
<td> C3D8 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> (-) [format allows it, but not readable/writable by fenics]
|
|
</td></tr>
|
|
<tr>
|
|
<td> hexa 20 </td>
|
|
<td> C3D20 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> penta 6 </td>
|
|
<td> C3D6 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> ? </td>
|
|
<td> -
|
|
</td></tr>
|
|
<tr>
|
|
<td> penta 15 </td>
|
|
<td> C3D15 </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> <a href="https://www.freecadweb.org/wiki/index.php?title=File:Edit_OK.svg" class="image"><img alt="Edit OK.svg" src="Edit_OK.svg" width="20" height="20" /></a> </td>
|
|
<td> ? </td>
|
|
<td> -
|
|
</td></tr></table>
|
|
<ul><li>"ni" significa formato non implementato in FreeCAD ma supportato.</li>
|
|
<li>"-" significa non supportato dall'interfaccia, quindi non è possibile supportarlo.</li>
|
|
<li>"?" non si sa se il formato supporta questo tipo di elemento</li></ul>
|
|
<h2><span class="mw-headline" id="Tipi_di_elementi_FEM">Tipi di elementi FEM</span></h2>
|
|
<h4><span class="mw-headline" id="Generale">Generale</span></h4>
|
|
<p>Maggiori informazioni sui tipi di elementi FEM e la loro struttura dei dati all'interno di FreeCAD si trovano nella pagina <a href="https://www.freecadweb.org/wiki/index.php?title=FEM_Element_Types/it" title="FEM Element Types/it"> Tipi di elementi FEM</a>.
|
|
</p>
|
|
<h4><span class="mw-headline" id="Segment_element">Segment element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Segments.gif" class="image"><img alt="Segments.gif" src="Segments.gif" width="800" height="125" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Triangle_element">Triangle element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Triangles.gif" class="image"><img alt="Triangles.gif" src="Triangles.gif" width="800" height="210" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Quadratic_element">Quadratic element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Quadrangles.gif" class="image"><img alt="Quadrangles.gif" src="Quadrangles.gif" width="800" height="310" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Tetrahedron_element">Tetrahedron element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Tetraedres.gif" class="image"><img alt="Tetraedres.gif" src="Tetraedres.gif" width="800" height="290" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Pyramid_element">Pyramid element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Pyramides.gif" class="image"><img alt="Pyramides.gif" src="Pyramides.gif" width="800" height="325" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Hexahedron_element">Hexahedron element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Hexaedres.gif" class="image"><img alt="Hexaedres.gif" src="Hexaedres.gif" width="800" height="300" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h4><span class="mw-headline" id="Pentahedron_element">Pentahedron element</span></h4>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=File:Pentaedres.gif" class="image"><img alt="Pentaedres.gif" src="Pentaedres.gif" width="800" height="260" /></a>
|
|
</p>
|
|
<p> <br /> </p>
|
|
<h2><span class="mw-headline" id="Script">Script</span></h2>
|
|
<h3><span class="mw-headline" id="Creare_una_Mesh_FEM_interamente_con_python">Creare una Mesh FEM interamente con python</span></h3>
|
|
<h4><span class="mw-headline" id="Creare_una_mesh_con_10_nodi_.28Tet-10_Elements.29">Creare una mesh con 10 nodi (Tet-10 Elements)</span></h4>
|
|
<pre>import FreeCAD, Fem
|
|
# create a empty mesh
|
|
m = Fem.FemMesh()
|
|
#create the nodes
|
|
m.addNode(0,1,0)
|
|
m.addNode(0,0,1)
|
|
m.addNode(1,0,0)
|
|
m.addNode(0,0,0)
|
|
m.addNode(0,0.5,0.5)
|
|
m.addNode(0.5,0.03,.5)
|
|
m.addNode(0.5,0.5,0.03)
|
|
m.addNode(0,0.5,0)
|
|
m.addNode(0.03,0,0.5)
|
|
m.addNode(0.5,0,0)
|
|
# add the volume with the created nodes
|
|
m.addVolume([1,2,3,4,5,6,7,8,9,10])
|
|
|
|
Fem.show(m) </pre>
|
|
<p>Se si desidera avere un elemento predefinito e la numerazione del nodo:
|
|
</p>
|
|
<pre>m.addNode(0.0,1.0,0.0,1)
|
|
m.addVolume([1,2,3,4,5,6,7,8,9,10],1) </pre>
|
|
<p><br />
|
|
</p>
|
|
<h4><span class="mw-headline" id="Manipolazione_visiva">Manipolazione visiva</span></h4>
|
|
<p>Evidenziare alcuni nodi nella vista:
|
|
</p>
|
|
<pre>import FreeCAD, Fem
|
|
|
|
m = Fem.FemMesh()
|
|
|
|
m.addNode(0,1,0)
|
|
m.addNode(0,0,1)
|
|
m.addNode(1,0,0)
|
|
m.addNode(0,0,0)
|
|
m.addNode(0,0.5,0.5)
|
|
m.addNode(0.5,0.03,.5)
|
|
m.addNode(0.5,0.5,0.03)
|
|
m.addNode(0,0.5,0)
|
|
m.addNode(0.03,0,0.5)
|
|
m.addNode(0.5,0,0)
|
|
m.addVolume([1,2,3,4,5,6,7,8,9,10])
|
|
|
|
Fem.show(m)
|
|
Gui.ActiveDocument.ActiveObject.HighlightedNodes = [1,2,3] </pre>
|
|
<p>Post-elaborazione dei colori e della posizione:
|
|
</p>
|
|
<pre># set the volume 1 to red
|
|
Gui.ActiveDocument.ActiveObject.ElementColor= {1:(1,0,0)}
|
|
# set the node 1 and 2 to a certain Color and interpolate the survace
|
|
Gui.ActiveDocument.ActiveObject.NodeColor= {1:(1,0,0),2:(1,0,0)}
|
|
# set the node 1 and 2 to a certain displacement
|
|
Gui.ActiveDocument.ActiveObject.NodeDisplacement= {1:FreeCAD.Vector(1,0,0),2:FreeCAD.Vector(1,0,0)}
|
|
# double the factor of the displacement shown
|
|
Gui.ActiveDocument.ActiveObject.animate(2.0) </pre>
|
|
<h3><span class="mw-headline" id="Script_di_un_elemento_per_ciascun_tipo_di_elemento_supportato">Script di un elemento per ciascun tipo di elemento supportato</span></h3>
|
|
<pre>import Fem
|
|
#################################################
|
|
# Beams
|
|
# 2 node line --> seg2 ##########################
|
|
seg2 = Fem.FemMesh()
|
|
seg2.addNode( 0, 0, 0, 1)
|
|
seg2.addNode(10, 0, 0, 2)
|
|
seg2.addEdge(1, 2)
|
|
seg2
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","seg2")
|
|
obj.FemMesh = seg2
|
|
obj.Placement.Base = (0,110,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
|
|
|
|
# 3 node line --> seg3 ##########################
|
|
|
|
seg3 = Fem.FemMesh()
|
|
seg3.addNode( 0, 0, 0, 1)
|
|
seg3.addNode(10, 0, 0, 2)
|
|
seg3.addNode( 5, 0, 0, 3)
|
|
seg3.addEdge([1, 2, 3])
|
|
seg3
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","seg3")
|
|
obj.FemMesh = seg3
|
|
obj.Placement.Base = (30,110,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
|
|
|
|
#################################################
|
|
# Shells
|
|
# 3 node triangle --> tria3 #####################
|
|
tria3 = Fem.FemMesh()
|
|
tria3.addNode( 0, 0, 0, 1)
|
|
tria3.addNode( 6, 12, 0, 2)
|
|
tria3.addNode(12, 0, 0, 3)
|
|
tria3.addFace([1, 2, 3])
|
|
tria3
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","tria3")
|
|
obj.FemMesh = tria3
|
|
obj.Placement.Base = (0,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
# add Face with element number
|
|
elemtria3 = Fem.FemMesh()
|
|
nds = tria3.Nodes
|
|
for n in nds:
|
|
elemtria3.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemtria3.addFace([1, 2, 3], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemtria3")
|
|
obj.FemMesh = elemtria3
|
|
obj.Placement.Base = (200,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
elemtria3.Faces
|
|
|
|
|
|
# 6 node triangle --> tria 6 ####################
|
|
tria6 = Fem.FemMesh()
|
|
tria6.addNode( 0, 0, 0, 1)
|
|
tria6.addNode( 6, 12, 0, 2)
|
|
tria6.addNode(12, 0, 0, 3)
|
|
tria6.addNode( 3, 6, 0, 4)
|
|
tria6.addNode( 9, 6, 0, 5)
|
|
tria6.addNode( 6, 0, 0, 6)
|
|
tria6.addFace([1, 2, 3, 4, 5, 6])
|
|
tria6
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","tria6")
|
|
obj.FemMesh = tria6
|
|
obj.Placement.Base = (30,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
# add Face with element number
|
|
elemtria6 = Fem.FemMesh()
|
|
nds = tria6.Nodes
|
|
for n in nds:
|
|
elemtria6.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemtria6.addFace([1, 2, 3, 4, 5, 6], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemtria6")
|
|
obj.FemMesh = elemtria6
|
|
obj.Placement.Base = (230,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
elemtria6.Faces
|
|
|
|
|
|
# 4 node quad --> quad4 #########################
|
|
quad4 = Fem.FemMesh()
|
|
quad4.addNode( 0, 10, 0, 1)
|
|
quad4.addNode(10, 10, 0, 2)
|
|
quad4.addNode(10, 0, 0, 3)
|
|
quad4.addNode( 0, 0, 0, 4)
|
|
quad4.addFace([1, 2, 3, 4])
|
|
quad4
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","quad4")
|
|
obj.FemMesh = quad4
|
|
obj.Placement.Base = (60,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
# add Face with element number
|
|
elemquad4 = Fem.FemMesh()
|
|
nds = quad4.Nodes
|
|
for n in nds:
|
|
elemquad4.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemquad4.addFace([1, 2, 3, 4], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemquad4")
|
|
obj.FemMesh = elemquad4
|
|
obj.Placement.Base = (260,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
elemquad4.Faces
|
|
|
|
|
|
# 8 node quad --> quad8 #########################
|
|
quad8 = Fem.FemMesh()
|
|
quad8.addNode( 0, 10, 0, 1)
|
|
quad8.addNode(10, 10, 0, 2)
|
|
quad8.addNode(10, 0, 0, 3)
|
|
quad8.addNode( 0, 0, 0, 4)
|
|
quad8.addNode( 5, 10, 0, 5)
|
|
quad8.addNode(10, 5, 0, 6)
|
|
quad8.addNode( 5, 0, 0, 7)
|
|
quad8.addNode( 0, 5, 0, 8)
|
|
quad8.addFace([1, 2, 3, 4, 5, 6, 7, 8])
|
|
quad8
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","quad8")
|
|
obj.FemMesh = quad8
|
|
obj.ViewObject.BackfaceCulling = False
|
|
obj.Placement.Base = (90,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Face with element number
|
|
elemquad8 = Fem.FemMesh()
|
|
nds = quad8.Nodes
|
|
for n in nds:
|
|
elemquad8.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemquad8.addFace([1, 2, 3, 4, 5, 6, 7, 8], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemquad8")
|
|
obj.FemMesh = elemquad8
|
|
obj.Placement.Base = (290,80,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
obj.ViewObject.BackfaceCulling = False
|
|
elemquad8.Faces
|
|
|
|
|
|
#################################################
|
|
# Volumes
|
|
# 4 node tetrahedron --> tetra4 #################
|
|
tetra4 = Fem.FemMesh()
|
|
tetra4.addNode( 6, 12, 18, 1)
|
|
tetra4.addNode( 0, 0, 18, 2)
|
|
tetra4.addNode(12, 0, 18, 3)
|
|
tetra4.addNode( 6, 6, 0, 4)
|
|
tetra4.addVolume([1, 2, 3, 4])
|
|
tetra4
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","tetra4")
|
|
obj.FemMesh = tetra4
|
|
obj.Placement.Base = (0,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elemtetra4 = Fem.FemMesh()
|
|
nds = tetra4.Nodes
|
|
for n in nds:
|
|
elemtetra4.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemtetra4.addVolume([1, 2, 3, 4], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemtetra4")
|
|
obj.FemMesh = elemtetra4
|
|
obj.Placement.Base = (200,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elemtetra4.Volumes
|
|
|
|
|
|
# 10 node tetrahedron --> tetra10 ###############
|
|
tetra10 = Fem.FemMesh()
|
|
tetra10.addNode( 6, 12, 18, 1)
|
|
tetra10.addNode( 0, 0, 18, 2)
|
|
tetra10.addNode(12, 0, 18, 3)
|
|
tetra10.addNode( 6, 6, 0, 4)
|
|
|
|
tetra10.addNode( 3, 6, 18, 5)
|
|
tetra10.addNode( 6, 0, 18, 6)
|
|
tetra10.addNode( 9, 6, 18, 7)
|
|
|
|
tetra10.addNode( 6, 9, 9, 8)
|
|
tetra10.addNode( 3, 3, 9, 9)
|
|
tetra10.addNode( 9, 3, 9,10)
|
|
tetra10.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
|
|
tetra10
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","tetra10")
|
|
obj.FemMesh = tetra10
|
|
obj.Placement.Base = (30,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elemtetra10 = Fem.FemMesh()
|
|
nds = tetra10.Nodes
|
|
for n in nds:
|
|
elemtetra10.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemtetra10.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemtetra10")
|
|
obj.FemMesh = elemtetra10
|
|
obj.Placement.Base = (230,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elemtetra10.Volumes
|
|
|
|
|
|
# 8 node Hexahedron --> hexa8 ###################
|
|
hexa8 = Fem.FemMesh()
|
|
hexa8.addNode( 0, 10, 10, 1)
|
|
hexa8.addNode( 0, 0, 10, 2)
|
|
hexa8.addNode(10, 0, 10, 3)
|
|
hexa8.addNode(10, 10, 10, 4)
|
|
hexa8.addNode( 0, 10, 0, 5)
|
|
hexa8.addNode( 0, 0, 0, 6)
|
|
hexa8.addNode(10, 0, 0, 7)
|
|
hexa8.addNode(10, 10, 0, 8)
|
|
hexa8.addVolume([1, 2, 3, 4, 5, 6, 7, 8])
|
|
hexa8
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","hexa8")
|
|
obj.FemMesh = hexa8
|
|
obj.Placement.Base = (60,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elemhexa8 = Fem.FemMesh()
|
|
nds = hexa8.Nodes
|
|
for n in nds:
|
|
elemhexa8.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemhexa8.addVolume([1, 2, 3, 4, 5, 6, 7, 8], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemhexa8")
|
|
obj.FemMesh = elemhexa8
|
|
obj.Placement.Base = (260,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elemhexa8.Volumes
|
|
|
|
|
|
# 20 node Hexahedron --> hexa20 #################
|
|
hexa20 = Fem.FemMesh()
|
|
hexa20.addNode( 0, 10, 10, 1)
|
|
hexa20.addNode( 0, 0, 10, 2)
|
|
hexa20.addNode(10, 0, 10, 3)
|
|
hexa20.addNode(10, 10, 10, 4)
|
|
hexa20.addNode( 0, 10, 0, 5)
|
|
hexa20.addNode( 0, 0, 0, 6)
|
|
hexa20.addNode(10, 0, 0, 7)
|
|
hexa20.addNode(10, 10, 0, 8)
|
|
|
|
hexa20.addNode( 0, 5, 10, 9)
|
|
hexa20.addNode( 5, 0, 10, 10)
|
|
hexa20.addNode(10, 5, 10, 11)
|
|
hexa20.addNode( 5, 10, 10, 12)
|
|
|
|
hexa20.addNode( 0, 5, 0, 13)
|
|
hexa20.addNode( 5, 0, 0, 14)
|
|
hexa20.addNode(10, 5, 0, 15)
|
|
hexa20.addNode( 5, 10, 0, 16)
|
|
|
|
hexa20.addNode( 0, 10, 5, 17)
|
|
hexa20.addNode( 0, 0, 5, 18)
|
|
hexa20.addNode(10, 0, 5, 19)
|
|
hexa20.addNode(10, 10, 5, 20)
|
|
hexa20.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])
|
|
hexa20
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","hexa20")
|
|
obj.FemMesh = hexa20
|
|
obj.Placement.Base = (90,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elemhexa20 = Fem.FemMesh()
|
|
nds = hexa20.Nodes
|
|
for n in nds:
|
|
elemhexa20.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elemhexa20.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elemhexa20")
|
|
obj.FemMesh = elemhexa20
|
|
obj.Placement.Base = (290,50,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elemhexa20.Volumes
|
|
|
|
|
|
# 6 node pentahedron --> penta6 #################
|
|
penta6 = Fem.FemMesh()
|
|
penta6.addNode(10,10,10, 1)
|
|
penta6.addNode( 0, 0,10, 2)
|
|
penta6.addNode(20, 0,10, 3)
|
|
penta6.addNode(10,10, 0, 4)
|
|
penta6.addNode( 0, 0, 0, 5)
|
|
penta6.addNode(20, 0, 0, 6)
|
|
penta6.addVolume([1, 2, 3, 4, 5, 6])
|
|
penta6
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","penta6")
|
|
obj.FemMesh = penta6
|
|
obj.Placement.Base = (0,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elempenta6 = Fem.FemMesh()
|
|
nds = penta6.Nodes
|
|
for n in nds:
|
|
elempenta6.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elempenta6.addVolume([ 1, 2, 3, 4, 5, 6], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elempenta6")
|
|
obj.FemMesh = elempenta6
|
|
obj.Placement.Base = (200,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elempenta6.Volumes
|
|
|
|
|
|
# 15 node pentahedron --> penta15 ###############
|
|
penta15 = Fem.FemMesh()
|
|
penta15.addNode(10,10,10, 1)
|
|
penta15.addNode( 0, 0,10, 2)
|
|
penta15.addNode(20, 0,10, 3)
|
|
penta15.addNode(10,10, 0, 4)
|
|
penta15.addNode( 0, 0, 0, 5)
|
|
penta15.addNode(20, 0, 0, 6)
|
|
|
|
penta15.addNode( 5, 5,10, 7)
|
|
penta15.addNode(10, 0,10, 8)
|
|
penta15.addNode(15, 5,10, 9)
|
|
|
|
penta15.addNode( 5, 5, 0,10)
|
|
penta15.addNode(10, 0, 0,11)
|
|
penta15.addNode(15, 5, 0,12)
|
|
|
|
penta15.addNode(10,10, 5,13)
|
|
penta15.addNode( 0, 0, 5,14)
|
|
penta15.addNode(20, 0, 5,15)
|
|
penta15.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
|
|
penta15
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","penta15")
|
|
obj.FemMesh = penta15
|
|
obj.Placement.Base = (40,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elempenta15 = Fem.FemMesh()
|
|
nds = penta15.Nodes
|
|
for n in nds:
|
|
elempenta15.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elempenta15.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elempenta15")
|
|
obj.FemMesh = elempenta15
|
|
obj.Placement.Base = (240,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elempenta15.Volumes
|
|
|
|
|
|
# 5 node pyramid --> pyra5 ######################
|
|
pyra5 = Fem.FemMesh()
|
|
pyra5.addNode( 0,20, 0, 1)
|
|
pyra5.addNode(20,20, 0, 2)
|
|
pyra5.addNode(20, 0, 0, 3)
|
|
pyra5.addNode( 0, 0, 0, 4)
|
|
pyra5.addNode(10,10,10, 5)
|
|
pyra5.addVolume([1, 2, 3, 4, 5])
|
|
pyra5
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","pyra5")
|
|
obj.FemMesh = pyra5
|
|
obj.Placement.Base = (80,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elempyra5 = Fem.FemMesh()
|
|
nds = pyra5.Nodes
|
|
for n in nds:
|
|
elempyra5.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elempyra5.addVolume([1, 2, 3, 4, 5], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elempyra5")
|
|
obj.FemMesh = elempyra5
|
|
obj.Placement.Base = (280,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elempyra5.Volumes
|
|
|
|
|
|
# 13 node pyramid --> pyra13 ####################
|
|
pyra13 = Fem.FemMesh()
|
|
pyra13.addNode( 0,20, 0, 1)
|
|
pyra13.addNode(20,20, 0, 2)
|
|
pyra13.addNode(20, 0, 0, 3)
|
|
pyra13.addNode( 0, 0, 0, 4)
|
|
pyra13.addNode(10,10,10, 5)
|
|
|
|
pyra13.addNode(10,20, 0, 6)
|
|
pyra13.addNode(20,10, 0, 7)
|
|
pyra13.addNode(10, 0, 0, 8)
|
|
pyra13.addNode( 0,10, 0, 9)
|
|
|
|
pyra13.addNode( 5,15, 5,10)
|
|
pyra13.addNode(15,15, 5,11)
|
|
pyra13.addNode(15, 5, 5,12)
|
|
pyra5 = Fem.FemMesh()
|
|
pyra13.addNode( 5, 5, 5,13)
|
|
pyra13.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13])
|
|
pyra13
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","pyra13")
|
|
obj.FemMesh = pyra13
|
|
obj.Placement.Base = (120,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
# add Volume with element number
|
|
elempyra13 = Fem.FemMesh()
|
|
nds = pyra13.Nodes
|
|
for n in nds:
|
|
elempyra13.addNode(nds[n].x, nds[n].y, nds[n].z, n)
|
|
|
|
elempyra13.addVolume([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], 88)
|
|
obj = App.ActiveDocument.addObject("Fem::FemMeshObject","elempyra13")
|
|
obj.FemMesh = elempyra13
|
|
obj.Placement.Base = (320,0,0)
|
|
obj.ViewObject.DisplayMode = "Faces, Wireframe & Nodes"
|
|
elempyra13.Volumes </pre>
|
|
<p><a href="https://www.freecadweb.org/wiki/index.php?title=Fem_Workbench/it" class="mw-redirect" title="Fem Workbench/it">Ambiente FEM</a>
|
|
</p>
|
|
<div style="clear:both"></div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div><div class="printfooter">
|
|
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=FEM_Mesh/it&oldid=264461">http://www.freecadweb.org/wiki/index.php?title=FEM_Mesh/it&oldid=264461</a>"</div>
|
|
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
<div id="mw-navigation">
|
|
<h2>Navigation menu</h2>
|
|
|
|
</body></html> |