!============================================================ != Inputfile zum Vergleich verschiedener Elementtypen = != fuer die Modellierung eines Sandwich-Biegebalkens = !============================================================ finish !Prozessor verlassen /clear !alte Daten loeschen /title,Biegung eines Sandwich Balkens /units,si !SI-Einheiten verwenden Laenge=.5 !Laenge 0,5m Breite=.05 !Breite 0,05m Hoehe=.054 !Hoehe 0,054m dDeck=.002 !Dicke der Deckschicht 2mm EDeck=60e9 !E-Modul Deckschicht 60GPa EKern=50e6 !E-Modul Kern 50MPa GKern=20e6 !Gleitmodul Kern 20MPa Kraft=100 !Kraft am freien Ende 100N !Ergebnisse per Hand uAnal=-5.117e-4 !Verschiebung am freien Ende -0,5117 mm SObAnal=9.948e6 !max. Spannung Oberseite 9,945 MPa SUntAnal=-9.948e6 !max. Spannung Unterseite -9,945 MPa !============================== !Shell99 !============================== /prep7 !Preprozessor mp,ex,1,EDeck !E-Modul Deckschicht mp,nuxy,1,0 !Querkontraktion Deckschicht mp,ex,2,EKern !E-Modul Kern mp,nuxy,2,0 !Querkontraktion Kern et,1,shell99 !Element1 Shell99 r,1,3 !3Layer rmore rmore,1,0,dDeck,2,0,Hoehe-2*dDeck !Schicht1: Theta=0, Dicke 2mm Schicht2: Theta=0, Dicke 16mm rmore,1,0,dDeck !Schicht3: Theta=0, Dicke 2mm rectng,0,Laenge,0,Breite !Rechteck lesize,1,,,20 !20 Teilungen auf Linie1 lesize,2,,,2 !2 Teilungen auf Linie2 mshkey,1 !strukturiertes Vernetzen amesh,1 !Flaeche vernetzen !------------------------------------------------------------ !Zur Ueberpruefung des Sandwichs: !/eshape,1 anschliessend eplot !layplot !------------------------------------------------------------ nsel,s,loc,x !Knoten an Einspannung anwaehlen d,all,all !alle Freiheitsgrade sperren nsel,s,loc,x,Laenge !Knoten am freien Ende anwaehlen cp,1,uz,all !Knoten koppeln nsel,r,loc,y,Breite/2 !mittleren Knoten am freien Ende anwaehlen f,all,fz,-Kraft !Kraft auf freies Ende bringen allsel,all finish !Preprozessor verlassen /solu !Loesungsprozessor solve !Loesen finish !Loesungsprozessor verlassen /post1 !Postprozessor nsel,s,loc,x,Laenge !Knoten des freien Endes selektieren prnsol,u,z !Verschiebung der Knoten in z anzeigen nsel,r,loc,y,Breite/2 !mittleren Knoten am freien Ende anwaehlen *get,Numb,node,0,num,max !Knotennummer auslesen und in 'Numb' abspeichern *get,u1,node,Numb,u,z !Verschiebung von Knoten 'Numb' in z unter u1 speichern nsel,s,loc,y !alle Knoten entlang der x-Achse selektieren shell,top !Oberseite des Sandwich selektieren prnsol,s,comp !Spannung anzeigen *get,st1,node,1,s,x !Spannung an Knoten 1 unter st1 speichern shell,bot !Unterseite des Sandwich selektieren prnsol,s,comp !Spannung anzeigen *get,sb1,node,1,s,x !Spannung an Knoten 1 unter sb1 speichern allsel,all !alles selektieren *dim,Bezeichnung,char,3,2 !3x2 Feld 'Bezeichnung' vom Typ Character anlegen *dim,Wert,array,3,3 !3x3 Feld 'Wert' anlegen !Zuweisung ans Feld Bezeichnung(1,1)='uz','SigmaOb','SigmaUnt' Bezeichnung(1,2)='[m]','[Pa]','[Pa]' !Feld 'Wert' mit Daten fuellen *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u1,st1,sb1 *vfill,Wert(1,3),data,abs(u1/uAnal),abs(st1/SObAnal),abs(sb1/SUntAnal) save,Erg_Shell99 !Felder in Erg_Shell99 abspeichern finish !Postprozessor verlassen !============================== !Shell91 !============================== /prep7 et,1,shell91 keyopt,1,2,1 keyopt,1,5,2 r,1,3,1 rmore rmore,1,0,dDeck, rmore,2,0,Hoehe-2*dDeck finish /solu antype,static alls solve finish /post1 nsel,s,loc,x,Laenge prnsol,u,z nsel,r,loc,y,Breite/2 *get,Numb,node,0,num,max *get,u2,node,Numb,u,z !Verschiebung von Knoten121 in z unter u1 speichern nsel,s,loc,y shell,top prnsol,s,comp *get,st2,node,1,s,x shell,bot prnsol,s,comp *get,sb2,node,1,s,x *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u2,st2,sb2 *vfill,Wert(1,3),data,abs(u2/uAnal),abs(st2/SObAnal),abs(sb2/SUntAnal) save,Erg_Shell91 finish !============================== !Shell91 Sandwichoption !============================== /prep7 et,1,shell91 keyopt,1,2,1 keyopt,1,5,2 keyopt,1,9,1 !SANDWICHOPTION AN!!! r,1,3,1 rmore rmore,1,0,dDeck, rmore,2,0,Hoehe-2*dDeck finish /solu antype,static alls solve finish /post1 nsel,s,loc,x,Laenge prnsol,u,z nsel,r,loc,y,Breite/2 *get,Numb,node,0,num,max *get,u2,node,Numb,u,z !Verschiebung von Knoten121 in z unter u1 speichern nsel,s,loc,y shell,top prnsol,s,comp *get,st2,node,1,s,x shell,bot prnsol,s,comp *get,sb2,node,1,s,x *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u2,st2,sb2 *vfill,Wert(1,3),data,abs(u2/uAnal),abs(st2/SObAnal),abs(sb2/SUntAnal) save,Erg_Shell91_S finish !============================== !Shell281 !============================== /prep7 et,1,shell281 keyopt,1,8,1 sectype,1,shell secdata,dDeck,1,0 secdata,Hoehe-2*dDeck,2,0 secdata,dDeck,1,0 finish /solu antype,static alls solve finish /post1 nsel,s,loc,x,Laenge prnsol,u,z nsel,r,loc,y,Breite/2 *get,Numb,node,0,num,max *get,u3,node,Numb,u,z !Verschiebung von Knoten121 in z unter u1 speichern nsel,s,loc,y shell,top prnsol,s,comp *get,st3,node,1,s,x shell,bot prnsol,s,comp *get,sb3,node,1,s,x *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u3,st3,sb3 *vfill,Wert(1,3),data,abs(u3/uAnal),abs(st3/SObAnal),abs(sb3/SUntAnal) save,Erg_Shell281 finish !============================== !Shell181 !============================== /clear /title,Biegung eines Sandwich Balkens /units,si !SI-Einheiten verwenden Laenge=.5 !Laenge 0,5m Breite=.05 !Breite 0,05m Hoehe=.054 !Hoehe 0,054m dDeck=.002 !Dicke der Deckschicht 2mm EDeck=60e9 !E-Modul Deckschicht 60GPa EKern=50e6 !E-Modul Kern 50MPa GKern=20e6 !Gleitmodul Kern 20MPa Kraft=100 !Kraft am freien Ende 100N !Ergebnisse per Hand uAnal=-5.117e-4 !Verschiebung am freien Ende -0,5117 mm SObAnal=9.948e6 !max. Spannung Oberseite 9,945 MPa SUntAnal=-9.948e6 !max. Spannung Unterseite -9,945 MPa /prep7 mp,ex,1,EDeck !E-Modul Deckschicht mp,nuxy,1,0 !Querkontraktion Deckschicht mp,ex,2,EKern !E-Modul Kern mp,nuxy,2,0 !Querkontraktion Kern et,1,shell181 keyopt,1,3,2 keyopt,1,8,1 sectype,1,shell secdata,dDeck,1,0 secdata,Hoehe-2*dDeck,2,0 secdata,dDeck,1,0 rectng,0,Laenge,0,Breite lesize,1,,,10 lesize,2,,,2 mshkey,1 amesh,1 nsel,s,loc,x !Knoten an Einspannung anwaehlen d,all,all !alle Freiheitsgrade sperren nsel,s,loc,x,Laenge !Knoten am freien Ende anwaehlen cp,1,uz,all !Knoten koppeln nsel,r,loc,y,Breite/2 !mittleren Knoten am freien Ende anwaehlen f,all,fz,-Kraft !Kraft auf freies Ende bringen allsel,all finish /solu antype,static alls solve finish /post1 nsel,s,loc,x,Laenge prnsol,u,z nsel,r,loc,y,Breite/2 *get,Numb,node,0,num,max *get,u4,node,Numb,u,z !Verschiebung in z unter u4 speichern nsel,s,loc,y shell,top prnsol,s,comp *get,st4,node,1,s,x shell,bot prnsol,s,comp *get,sb4,node,1,s,x *dim,Bezeichnung,char,3,2 !3x2 Feld 'Bezeichnung' vom Typ Character anlegen *dim,Wert,array,3,3 !3x3 Feld 'Wert' anlegen !Zuweisung ans Feld Bezeichnung(1,1)='uz','SigmaOb','SigmaUnt' Bezeichnung(1,2)='[m]','[Pa]','[Pa]' *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u4,st4,sb4 *vfill,Wert(1,3),data,abs(u4/uAnal),abs(st4/SObAnal),abs(sb4/SUntAnal) save,Erg_Shell181 finish !============================== !solid186 !============================== fini /clear /title,Biegung eines Sandwich Balkens /units,si !SI-Einheiten verwenden Laenge=.5 !Laenge 0,5m Breite=.05 !Breite 0,05m Hoehe=.054 !Hoehe 0,054m dDeck=.002 !Dicke der Deckschicht 2mm EDeck=60e9 !E-Modul Deckschicht 60GPa EKern=50e6 !E-Modul Kern 50MPa GKern=20e6 !Gleitmodul Kern 20MPa Kraft=100 !Kraft am freien Ende 100N !Ergebnisse per Hand uAnal=-5.117e-4 !Verschiebung am freien Ende -0,5117 mm SObAnal=9.948e6 !max. Spannung Oberseite 9,945 MPa SUntAnal=-9.948e6 !max. Spannung Unterseite -9,945 MPa /prep7 mp,ex,1,EDeck !E-Modul Deckschicht mp,nuxy,1,0 !Querkontraktion Deckschicht mp,ex,2,EKern !E-Modul Kern mp,nuxy,2,0 !Querkontraktion Kern et,1,186 sectype,1,shell secdata,dDeck,1,0 secdata,Hoehe-2*dDeck,2,0 secdata,dDeck,1,0 blc4,0,0,Laenge,Breite,Hoehe wpoffs,,,dDeck vsbw,all wpoffs,,,Hoehe-2*dDeck vsbw,all lsel,s,loc,x,0 lsel,r,loc,y,0 lesize,all,,,3 !3 Elemente über dicke alls lsel,s,loc,x,0 lsel,r,loc,z,0 lesize,all,,,10 !3 Elemente über dicke lsel,s,loc,y,0 lsel,r,loc,z,0 lesize,all,,,50 !3 Elemente über dicke mat,1 vmesh,all vsel,s,,,4 vclear,all mat,2 vmesh,all alls nsel,s,loc,x !Knoten an Einspannung anwaehlen d,all,all !alle Freiheitsgrade sperren nsel,s,loc,x,Laenge !Knoten am freien Ende anwaehlen cp,1,uz,all !Knoten koppeln nsel,r,loc,y,Breite/2 !mittleren Knoten am freien Ende anwaehlen nsel,r,loc,z,0 f,all,fz,-Kraft !Kraft auf freies Ende bringen allsel,all finish /solu antype,static alls solve finish /post1 nsel,s,loc,x,Laenge nsel,r,loc,z,0 prnsol,u,z nsel,r,loc,y,Breite/2 *get,Numb,node,0,num,max *get,u4,node,Numb,u,z !Verschiebung in z unter u4 speichern nsel,s,loc,y shell,top prnsol,s,comp *get,st4,node,1,s,x shell,bot prnsol,s,comp *get,sb4,node,1,s,x *dim,Bezeichnung,char,3,2 !3x2 Feld 'Bezeichnung' vom Typ Character anlegen *dim,Wert,array,3,3 !3x3 Feld 'Wert' anlegen !Zuweisung ans Feld Bezeichnung(1,1)='uz','SigmaOb','SigmaUnt' Bezeichnung(1,2)='[m]','[Pa]','[Pa]' *vfill,Wert(1,1),data,uAnal,SObAnal,SUntAnal *vfill,Wert(1,2),data,u4,st4,sb4 *vfill,Wert(1,3),data,abs(u4/uAnal),abs(st4/SObAnal),abs(sb4/SUntAnal) save,Erg_solid186 finish resume,Erg_Shell99 !Erg_Shell99 oeffnen /output,Ergebnisse,out !Datei Ergebnisse.out im Arbeitsverzeichnis anlegen !Leerzeile /com, !Kopf /com,---------------------Vergleich der Ergebnisse--------------------- /com, /com, /com,Shell99 Model /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /nopr resume,Erg_Shell91 /com, /com, /com,Shell91 Model /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /nopr resume,Erg_Shell91_S /com, /com, /com,Shell91 Model Sandwichoption /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /nopr resume,Erg_Shell281 /com, /com, /com,Shell281 Model /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /nopr resume,Erg_Shell181 /com, /com, /com,Shell181 Model /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /nopr resume,Erg_Solid186 /com, /com, /com,Solid186 Model /com,------------- !Tabellenkopf /com, Analytisch Ansys Verhaeltnis !Tabelle schreiben und Formatierungen festlegen *vwrite,Bezeichnung(1,1),Bezeichnung(1,2),Wert(1,1),Wert(1,2),Wert(1,3) (1X,A10,A6,' ',E10.4,' ',E10.4,' ',F10.3) /output finish !Postprozessor verlassen /delete,Erg_Shell91 /delete,Erg_Shell99 /delete,Erg_Shell281 /delete,Erg_Shell181 *list,Ergebnisse,out !Datei Ergebnisse.out anzeigen