====== Lastra forata ====== La lezione in questione tratta la creazione di una mesh per una lastra forata e il successivo calcolo dello stato tensionale quando questa è sottoposta a carichi di trazione. In questa trattazione si considera solo un quarto della struttura in quanto risulta due volte simmetrica rispetto ai due assi x e y. Come regola generale, affinché una struttura risulti simmetrica deve essere rispettata la simmetria dei carichi, del materiale e della geometria. Il materiale adoperato è acciaio, dunque isotropo, lineare ed elastico. Lo studio di una porzione più piccola della geometria necessita l’imposizione di vincoli di simmetria per sopperire alla mancanza della parte non considerata. {{ :wikitelaio2016:26_lastraforata.png?200 |}} Ad esempio come per il caso di simmetria trattato in figura, qualora i punti P e P’ appartengano all'asse di simmetria i relativi spostamenti in direzione ortogonale devono essere nulli, altrimenti si avrebbe distacco o compenetrazione. Dunque tutti i nodi che giacciono sull'asse o piano di simmetria sono costretti ad avere spostamento ortogonale pari a zero. Per la realizzazione della struttura si può importare la figura da un software cad, ma per lavori semplici come il caso in esame si può sfruttare direttamente il Marc. {{ :wikitelaio2016:simmetria.png?100 |}} ==== CREAZIONE GEOMETRIA LASTRA FORATA ==== Mesh generation-> pts-> add-> inserimento coordinate x y z (inserimento punti) Punti inseriti: //(0 0 0), (10 0 0), (40 0 0), (40 80 0), (0 80 0), (0 10 0);// Premere il tasto fill per la visualizzazione. Mesh generation->curve type->line (creazione linee) Mesh generation-> crvs-> add-> selezionare i punti da collegare Mesh generation->curve type->arc_cpp (creazione archi) Mesh generation-> crvs-> add-> selezionare i punti da collegare rispettivamente centro punto1 punto2 seguendo la regola della mano destra Qualora si volesse rimuovere un punto inserito erroneamente: Mesh generation-> pts-> rem-> selezionare punto-> end list (o tasto destro del mouse). Prima di procedere con una mesh iniziale è opportuno verificare che i contorni della struttura di supporto costituiscano una geometria chiusa. A tal proposito utilizziamo il comando sweep per far collassare in un unico punto tutti quelli situati ad una distanza minore di una tolleranza impostata: Mesh generation -> sweep-> all Se volessimo eliminare punti inutilizzati: Mesh generation -> sweep-> points (nel sottocomando remove unused). ==== CREAZIONE PRIMA MESH ==== Mesh generation-> automesh-> curve divisions (suddivide le curve della struttura in modo tale che gli elementi costituenti la mesh abbiano una lunghezza preimpostata)-> dal sottomenù type selezionare uniform (rende uniforme la mesh)-> dal sottomenù input selezionare target length e impostare la lunghezza desiderata-> apply curve divisions-> selezionare le curve-> end list. Nota: Per poter apprezzare al meglio le differenze sul grado di accuratezza della mesh, il target length si è fatto variare all'interno di un determinato range. Nel caso specifico si è impostato il valore di 1,5 mm. Procediamo con la realizzazione degli elementi triangolari che costituiranno la mesh. Mesh generation-> automesh-> 2-D planar meshing-> tri mesh! (delaunay). Per la creazione degli elementi triangolari è possibile scegliere fra due procedimenti differenti: * __//Delaunay//__: procedura iterativa secondo la quale il primo elemento viene circoscritto ad una circonferenza in modo tale che i nodi dei successivi elementi triangolari non facciano parte della stessa; * //__adv frnt__// (advancing front): procedura iterativa che, partendo da un vertice della struttura, prevede un avanzamento della frontiera dovuto all'inserimento di una nuova porzione per ogni iterazione fino al completamento della geometria della struttura. A questo punto si rende la meshatura compatta: Main-> plot-> elements-> settings-> solid-> regen. {{ :wikitelaio2016:26_mesh.png?300 |}} ==== PROPRIETA’ GEOMETRICHE ==== Main-> geometric properties-> new-> structural-> planar-> plane stress. Associamo alla proprietà geometrica un nome che la identifichi: name-> tensione_piana. Si imposta uno spessore normale al piano unitario: Geometric properties-> properties-> thickness-> 1-> elements-> add -> all: exist. __Nota__: selezionando il comando //id geometries// è possibile visualizzare gli elementi a cui è applicata la proprietà geometrica associandola ad un determinato colore. {{ :wikitelaio2016:26_geometria.png?300 |}} {{ :wikitelaio2016:26_geom.png?300 |}} ==== PROPRIETA’ DEL MATERIALE ==== Main-> material properties-> new-> standard-> name-> acciaio. Material properties-> data categories-> structural-> * Young’s modulus (210000 MPa) * Poisson’s ratio (0,3) elements-> add-> all: exist. {{ :wikitelaio2016:26_materiale.png?300 |}} La procedura descritta permette di associare agli elementi della mesh uno specifico materiale (nel nostro caso acciaio, il cui valore del modulo di Young è 210000 MPa), inoltre è stato impostato il valore del coefficiente di Poisson a 0,3. //id materials// permette di visualizzare le proprietà del materiale sull'interfaccia grafica. {{ :wikitelaio2016:26_mat.png?300 |}} A questo punto si hanno i due tensori B di rigidezza (avendo a disposizione le coordinate nodali) e D (avendo a disposizione le proprietà geometriche e del materiale). ===== BOUNDARY CONDITION ===== E’ necessario inserire dei vincoli in quanto gli elementi possiedono tutti i moti rigidi. I nodi sugli assi di simmetria devono essere incarrellati cosi da non avere spostamenti ortogonali, pertanto sono previsti due vincoli di simmetria. Per eliminare gli spostamenti ortogonali all'asse di simmetria y: Boundary condition-> new-> structural-> fixed displacement-> name-> carrx-> properties-> displacement x: 0. Per eliminare gli spostamenti ortogonali all’asse di simmetria x: Boundary condition-> new-> structural-> fixed displacement-> name-> carry-> properties-> displacement y: 0. {{ :wikitelaio2016:26_boundary.png?300 |}} Sulla faccia superiore della struttura è inoltre previsto un carico di trazione (pressione negativa). Si calcola il valore per cui la tensione media calcolata nell'area indebolita dal foro valga 1 MPa. $$ \sigma _{n}= P/A_{indebolita foro}= 1 MPa $$ $$ P=1\times A=1\times (80-20)=60 N $$ $$ \sigma_{t}=P/A=60/(80\times 1)= 0.75 MPa $$ New-> structural-> edge load-> name: tensione-> properties-> force/unit area (coincide con force/unit length solo nel caso di spessore unitario)-> pressure: -0,75-> edge-> add-> seleziono i nodi della faccia superiore. Nel nostro caso la simmetria ci ha permesso di eliminare tutti i moti rigidi della struttura evitando di doverla vincolare diversamente. //id boundary condition// permette di visualizzare i vincoli inseriti. {{ :wikitelaio2016:26_condition.png?300 |}} ==== ANALYSIS ==== === Loadcases === Per l’analisi si esegue il comando loadcases (casi di carico) con cui è possibile introdurre più di un caricamento. I loadcases possono essere indipendenti gli uni dagli altri (in questo caso il problema deve essere lineare) oppure possono essere consequenziali (in questa situazione la soluzione del primo loadcase diventa condizione iniziale per secondo). Se il problema fosse non lineare sarebbe necessario procedere per via iterativa (es: Newton-Raphson) e in questo caso sarebbe opportuno avere carichi variabili. Loadcases-> structural-> new-> static Loadcases-> properties-> load (seleziono carichi e vincoli che mi interessa analizzare) {{ :wikitelaio2016:loadcase.png?300 |}} Loadcases-> properties-> step: 1 {{ :wikitelaio2016:loadcase2.png?300 |}} === Jobs === Main-> jobs-> new-> structural-> properties-> loadcases-> (nella relativa sezione) avaiable-> loadcase1 Jobs-> new-> structural-> properties-> initial load-> deselezionare tensione (perché inizialmente la struttura è scarica) {{ :wikitelaio2016:26_initialcondition.png?300 |}} Jobs-> new-> structural-> properties-> job results-> (seleziono da avaiable element tensors) stress e elastic strain e (da avaiable element scalars ) equivalent Von Mises stress {{ :wikitelaio2016:26_jobsresults.png?300 |}} Jobs-> new-> structural-> properties-> analysis dimension-> plane stress Jobs-> element types-> planar-> solid-> plain stress full integration: 201-> exist. {{ :wikitelaio2016:26_element_type.png?300 |}} //id types// controllare se a tutta la struttura è stata associata l’elemento tipo 201. Jobs-> check-> renumber all Jobs-> run-> submit (1)-> exit number: 3004 {{ :wikitelaio2016:26_3004.png?300 |}} __Nota__: se l'exit number fosse diverso da 3004 controllare nella lista comandi possibili errori o avvertimenti segnalati dal software. ==== POSTPROCESSING ==== Main-> postprocessing-> results-> post file-> open default ( -> si apre file.t16) Postprocessing-> results-> scalar plot-> contour bands Postprocessing-> results-> post file-> scan-> 1 (si può fare la scelta tra 0 e 1, dove 1 è il caso con tensione) {{ :wikitelaio2016:26_scan.png?300 |}} Postprocessing-> results-> deformed shape-> settings-> automatic Postprocessing-> results-> deformed shape-> style: deformed and original {{ :wikitelaio2016:26_def_orig.png?300 |}} Postprocessing-> results-> scalar plot-> scalar-> comp22 of stress ($ \sigma _{y} $) {{ :wikitelaio2016:26_compof22.png?300 |}} Postprocessing-> results-> more-> vector plot-> on (tensione massima vettoriale) Postprocessing-> results-> scalar plot-> settings-> extrapolation-> nodal averaging-> on Postprocessing-> results-> post file-> close (si ritorna all'estensione file.mud) Files-> save as-> nome_file ==== CREAZIONE SECONDA MESH ==== Sfruttando la stessa struttura di supporto utilizzata per l’analisi precedente si procede con la creazione di una seconda mesh più fine in corrispondenza della zona della struttura indebolita dal foro. Cosi facendo garantiamo una valutazione più accurata del coefficiente di intaglio. Prima di procedere con la nuova mesh è necessario cancellare quella precedente, qualora si stia procedendo sullo stesso file della prima. Dunque si procede così: Mesh generation-> clear mesh Mesh generation-> automesh-> clear curve division->exist A questo punto è necessario introdurre nella geometria di supporto ulteriori punti per suddividere la regione in prossimità del foro. Si devono rimuovere le curve precedentemente inserite perchè la suddivisione delle stesse prevede un andamento diverso da quello della prima mesh. Mesh generation-> crvs-> rem-> seleziono curve da rimuovere-> end list {{ :wikitelaio2016:26_lastramodificata.png?300 |}} Mesh generation-> pts-> add-> //(20 0 0) (0 20 0)// Mesh generation-> curve type-> arc cpp Mesh generation-> crvs-> add-> selezione centro, punto 1, punto 2-> end list Mesh generation-> curve type-> line Mesh generation-> crvs-> add-> selezione punti-> end list Mesh generation-> sweep-> all Con la geometria appena inserita si può prevedere un andamento graduale della mesh per renderla più fine nella regione in prossimità del foro e uno costante nella restante parte. Dunque : Mesh generation-> automesh-> curve division-> uniform-> target length: 0.5 -> apply curve division-> selezione tratti (tutta la geometria ad esclusione della porzione di corona circolare delimitata dagli archi di raggio 10 e 20 mm)-> end list Mesh generation-> automesh-> curve division-> variable L1-L2-> L1=0.2, L2=0.5 -> apply curve division-> selezione tratto ( da coord. //(10 0 0 )// a //(20 0 0)//) ->end list La stessa operazione può essere compiuta anche sul tratto da coord.//(0 10 0)// a //(0 20 0)//. Bisogna controllare graficamente se la divisione della curva prevede l’andamento da noi richiesto. Se cosi non fosse: Mesh generation-> automesh-> curve division-> variable L1-L2-> L1=0.5, L2=0.2 -> apply curve division-> selezione tratto ( da coord. //( 0 10 0 )// a //( 0 20 0)//) ->end list Mesh generation-> automesh-> curve division-> uniform-> target length: 0.2 -> apply curve division-> selezione arco di raggio 10-> end list Si procede dunque alla generazione della mesh: Mesh generaton-> automesh-> 2-D planar-> trimesh (delanuary)-> selezione (tutta la geometria ad esclusione della porzione di corona circolare delimitata dagli archi di raggio 10 e 20)-> end list Mesh generaton-> automesh-> 2-D planar-> trimesh (delanuary)-> selezione (porzione di corona circolare delimitata dagli archi di raggio 10 e 20)-> end list Mesh generation-> sweep-> all {{ :wikitelaio2016:26_2mesh.png?300 |}} Quindi si può procedere all'assegnazione delle proprietà geometriche, materiali e condizioni dei vincoli alla struttura come per la prima mesh (in particolare se si lavora sullo stesso file, si troveranno già impostate in ogni sottosezione le precedenti assegnazioni: tensione_piana, acciaio, tensione). Si può anche procedere, come precedentemente visto, alla creazione dei loadcases ed infine all'esecuzione del jobs per ottenere i risultati di nostro interesse. Nella sezione relativa ai risultati: Postprocessing-> results-> scalar plot-> settings-> extrapolation-> on Postprocessing-> results-> path plots-> node path-> si seleziona il primo punto //(10 0 0)//, poi due punti casuali sulla base inferiore ed infine l’ultimo //(40 0 0)//->add curves->add curves-> arc length (asse x) e comp. 22 of stress (asse y) -> fit {{ :wikitelaio2016:26_graficofinale.png?300 |}} Si denota un aumento del coefficiente di intaglio come da previsione prima della realizzazione della seconda mesh. ====Autori==== Borraccino Angelo, mat. 102536. , Doronzo Giuseppe, mat. 103640. Grimaldi Luigi, mat. 103584. ====Tabella di monitoraggio carico orario==== Ore-uomo richieste per la compilazione della pagina. ^ Autore/Revisore ^ Prima stesura ^ Prima revisione ^ Seconda stesura ^ Revisione finale ^ Totale ^ | Borraccino | 6 | --- | --- | --- | **6 ** | | Doronzo | 6 | --- | --- | --- | **6 ** | | Grimaldi | 6 | --- | --- | --- | **6 ** | | Alessandro Vaini | 1 | --- | --- | --- | ** ** | | Revisore 2 | --- | --- | --- | --- | ** ** | | Revisore 3 | --- | --- | --- | --- | ** ** | | Revisore 4 | --- | --- | --- | --- | ** ** | | **Totale** | **18 ** | ** ** | ** ** | ** ** | **18 ** | La sezione relativa ai revisori è da compilarsi a cura del curatore. ~~DISCUSSION~~