!============================================================ != 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 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 !============================== !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 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 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 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_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) /output finish !Postprozessor verlassen /delete,Erg_Shell91 /delete,Erg_Shell99 /delete,Erg_Shell281 /delete,Erg_Shell181 *list,Ergebnisse,out !Datei Ergebnisse.out anzeigen