Subtask nr 6 Principskiss av vingbalk Ett berškningsprogram fšr bestšmning av lšmplig hœllfasthet fšr en balk vid givna laster. av m98_asa t98_haa
Sammanfattning Vi har tagit fram ett program som beršknar hur utbšjning och momentfšrdelningen pœ en vingbalk varierar med vingens lšngd och varierande tvšrsnitt. Ur detta ska man kunna dimensionera vingbalken utifrœn en maximal fšrskjutning. Indata till programmet Šr lastfšrdelning och materialdata. Dessutom beršknas reaktionskrafterna i inspšnningen. Programmet hanterar en rak taperad balk, belastad med en utbredd last. BerŠkningarna utfšrs med en tvœdimensionell last. 2
Inledning... 4 BegrŠnsningar... 4 Resultat... 4 Diskussion och fšrbšttringar... 4 Manual... 5 Referenser... 8 Bilagor... 9 Bilaga... 9 Bilaga 2... 2 Bilaga 3... 3 3
Inledning Uppgiften gick ut pœ att modifiera den finita element koden vi tagit fram under laborationerna i LŠttkonstruktionskursen, fšr att kunna hantera en vingbalks fšrskjutningar. MŒlet var att fœ fram en kod som kan hjšlpa till att dimensionera en balk dœ den max tillœtna fšrskjutningen Šr given. Styvhetsfunktioner och lastfšrdelningen ska beršknas i kommande subtasks och sedan matas in som funktioner av spšnnvidden i denna matlab kod. BegrŠnsningar Programmet kan hantera en rak, taperad balk med varierande styvhet och area. Vi har valt att rškna pœ utbredd last i x-led, utan punktlaster. Vibrationer kan fšrekomma, men har inte ansetts tillršckligt viktiga fšr att ta med i detta program. Vibrationer och punktlaster kommer dock att lštt kunna lšggas till i en modifierad kod. Aerodynamiska berškningar tas ej hšnsyn till (t.ex lyftcentrum eller skjuvcentrum, dšr moment skulle kunna fšrekomma) och samtliga fall Šr tvœdimensionella. Krafter vertikalt mot vingspetsarna fšrekommer inte, vilket innebšr att vi bortser frœn buckling. Resultat Ett verktyg har tagits fram fšr att underlštta berškningsgœngen under det fortsatta projektet. Programmet beršknar utbšjning, vridning, bšjning samt interna momentfšrdelningen i en vingbalk givet materialdata och lastfšrdelning. Analytiska kontrollberškningar har utfšrts fšr olika elementarfall och dessa šverensstšmmer med programmets berškningar. (Se bilaga 2) Diskussion och fšrbšttringar Genom att lœta elementens materialdata vara konstanta, istšllet fšr att vara konstanta i noderna blir metoden lite gršvre. Detta motverkas dock genom att anvšnda mœnga element. Alternativt kan man anvšnda olika všrden vid elementets olika noder, vilket ger en mer komplicerad styvhetsmatris. Vid konstanta elementstyvheter kan man hantera icke kontinuerliga funktioner dœ styvhetsfunktionen Šr diskontinuerlig vid noderna. Detta kan uppstœ vid till exempelvis vingklaffar. Inmatning av funktion eller nodvšrde Det finns tvœ mšjligheter att mata in materialvšrden och laster. NŠmligen som funktioner av vingens utbredning eller som specifika všrden fšr varje nod. Programmet skrevs fšrst fšr att hantera funktioner men kan Šven anvšndas fšr att mata in nodvšrden. Man Šr dœ tvungen att hoppa šver lite kod och ta bort den med fšrslagsvis %-tecken. Koden skulle kunna anpassas fšr att bara anvšndas till nodvšrden om detta skulle anses bšttre. 4
Manual figur figur. Symmetriplan Vingen pœ ett plan byggs oftast upp genom en bšrande balk och ett aerodynamiskt utformat skal. Balken kommer sœledes att vara den del av vingen som tar alla krafter och vid berškningar tas endast hšnsyn till balkens styvhet. Balkens utformning ges av dess materialdata EI och GJ. Vingbalken stršcker sig šver bœda vingarna, men kan delas upp i tvœ konsolbalkar dœ det Šr ett symmetriplan genom flygplanskroppen (se fig ). Betrakta sœledes vingen som en konsolbalk, fast inspšnd i flygplanskroppen. Balkdata Uppdelningen i element Šr varierbar och behšver inte vara jšmnt fšrdelad šver vingen. AvstŒnden mellan noderna kan anpassas och kan dšrmed lšggas tštare vid speciellt intressanta punkter, t. ex i infšstningar. Antal element samt elementlšngderna ršknas ut av programmet. Vingen ska enligt specifikation vara taperad. Programkoden bygger pœ en modell dšr varje element har konstant area och styvhet, detta fšr att fšrenkla berškningarna. Skriv in fšljande i filen indata.m: Ange vingbalkens lšngd i meter BalklŠngden skrivs in i meter pœ rad 90 Nodernas šnskade placering skrivs in i vektorn N. Den fšrsta noden mœste alltid ligga i punkten noll, sedan kan noderna placeras ut dšr man vill i storleksordning. Positionen ršknas i procent av den sista nodangivelsen, som sœledes Šr 00 procent och ligger i Šnden pœ balken. Exempelvis om vingen ska delas in i tre delar, fyra noder, kan dessa ligga i [0 20 40 60] dšr 60 Šr hundra procent, Šnden pœ balken. Ex frœn indata.m rad 94: % vektor med noder. MŒste bšrja med 0 och ršknas sedan i procent. Nin=[0 30 37 45 ]; % HŠr Šr tredje noden placerad vid 30/45 = 0.66 m 5
Materialdata Styvheterna EI och GJ tillœts i programmet variera med spšnnvidden, hšr benšmnd x. AnvŠndaren anger funktionerna EI(x) och GJ(x) vilka sedan beršknas av programkoden fšr varje nod och lšggs ihop till ett medelvšrde fšr varje element. (Se exempel pœ hur man matar in funktionerna i bilaga 3). Detta medelvšrde skickas sedan till filen elk.m nšr styvhetsmatrisen skapas. Eftersom materialdata Šr konstant šver elementet och diskontinuerlig vid noderna, kan man hantera icke kontinuerliga funktioner. Detta kan uppstœ vid exempelvis vingklaffar. 2 3 n- n EI() + EI(2) 2 Figur 2. Visualisering av en diskontinuerligt uppdelad vingbalk Mata in styvhetsfunktionerna EI och GJ som funktioner av x i indatafilen. Om EI ska vara konstant 4 GNm 2 šver hela vingbalken anges det všrdet som ei=4e6; %[Nm2] Om istšllet EI ska variera minskande med en faktor tvœ utœt vingspetsen skrivs det t.ex. som ei=28e6-2*x; %[Nm2] (fig 3) Styvhet EI 28 GNm 2 4 GNm 2 X=0m BalklŠngden frœn infšstning till vingspets X=m Figur 3. Styvhetsfšrdelning šver en vinge enligt funktionen 28*0 6-2*x. OBS! Om Styvheten inte Šr en kontinuerlig funktion av x skrivs všrdena in direkt i EI vektorn som Œterfinns pœ rad 38 i indata.m. DŠr anges styvheten fšr varje element i ordning. Lastfšrdelning Den stšrsta och švervšgande lastpœverkan pœ en vingbalk Šr den tryckfšrdelning som uppstœr lšngsmed vingspannet. I detta program har dšrfšr antagits att inga punktlaster fšrekommer, utan endast en utbredd last q som beror av x. Denna q kan vara olinjšr men approximeras vara linjšr inom varje element. FrŒn den lastfšrdelning som anges vid anvšndning av koden beršknar programmet ut lasten fšr varje nod, de konsistenta nodlasterna (fig 4). Dessa har beršknats med hjšlp av basfunktioner, shapefunctions, (Bilaga ). 6
q q2 M le M2 P P2 Figur 4. Hur de konsistenta nodlasterna fœs fram ur q(x) Styvhetsmatrisen beršknas fšr varje element och ger tillsammans med lastvektorn fšrskjutningsvektorn W=(u, u, F, u2, u2, F2). Utbšjningen beršknas fšr varje nod. Dessutom fœr man ut reaktionskrafterna vid inspšnningen. Intern kraftfšrdelning Momentfšrdelningen i balken fœs genom att ta elastiska linjens ekvation pœ fšrskjutningen. Derivatan av fšrskjutningen w beršknas som derivatan av basfunktionerna gœnger fšrskjutningen. Detta har gjorts i huvudprogrammet ÓmainbeamÓ. Mata in lastfšrdelningen, som funktioner av x i indata.m. Lastfšrdelningen skrivs in pœ samma sštt som Styvhetsfšrdelningen. Ex: %skriv en funktion av x Q=2*x-x^2; % ger en lastfšrdelning som ser ut som fšljande graf. Figur 5. Lastfšrdelning frœn flygplanskroppen till vingspetsen enligt q=2*x-x^2 Kšr programmet NŠr alla parametrar Šr inmatade i indata.m, kšr programmet mainbeam.m. De resultat du fœr Šr grafer šver * Normaliserad utbšjning (defl), vridning (fi) och nedbšjning (teta) *Intern momentfšrdelning VŠrden pœ utbšjning, vridning och nedbšjning i ytteršnden Reaktionskrafterna vid infšstningen i flygplanskroppen 7
Referenser Kompendium i datorlaborationer Anvisningar till Datorlaborationer i 4E00 LŠttkonstruktioner VT0, Flyginstitutionen, KTH Aircraft structures for engineering students third edition, T.H.G. Megson Handbok och formelsamling i hœllfasthetslšra, Institutionen fšr hœllfasthetslšra KTH 8
Bilagor Bilaga BerŠkningar i Maple av lastvektorer med hjšlp av basfunktioner. position lšngs x-axeln > x:='x': h=elementlšngd > h:='h': Basfunktioner N > N:=matrix(,4,[-3*x*x/h/h+2*x*x*x/h/h/h,-x+2*x*x/hx*x*x/h/h,3*x*x/h/h-2*x*x*x/h/h/h,x*x/h-x*x*x/h/h]); Ž 3 x 2 2 x 3 2 x 2 x 3 N := - + - x + - 3 x2 2 x 3 x 2 x 3 - - h 2 h 3 h h 2 h 2 h 3 h h 2 N' > B:=map(diff,N,x); Ž B := - 6 x 6 x 2 4 x 3 x 2 + - + - 6 x 6 x 2-2 x 3 x 2 - h 2 h 3 h h 2 h 2 h 3 h h 2 > B2:=map(diff,N,x); N'' > G:=map(diff,B,x); G := Ž - 6 2 x + 4 6 x - 6 2 x - 2 6 x - h 2 h 3 h h 2 h 2 h 3 h h 2 > Nt:=transpose(N): > Bt:=transpose(B): > Gt:=transpose(G): Styvhetsmatrisen fšr balk > K:=map(int,scalarmul(multiply(Gt,G),EI),x=0..h); Ž 2 EI -6 EI -2 EI -6 EI h 3 h 2 h 3 h 2-6 EI 4 EI 6 EI 2 EI h 2 h h 2 h K := -2 EI 6 EI 2 EI 6 EI h 3 h 2 h 3 h 2-6 EI 2 EI 6 EI 4 EI h 2 h h 2 h vridning(torsion) mindre basfunktion n > n:=matrix(,2,[-x/h,x/h]); > nt:=transpose(n): n' > b:=map(diff,n,x); n := Ž x x - h h 9
> bt:=transpose(b): b := Ž - h h LastvektorberŠkningar fšr varierande laster > qbx:=matrix(2,,[q,q2]); qbx := Ž q q2 > qbxx:=multiply(n,qbx); qbxx := Ž ¾ x - š Ö + h q xq2 h > Fbx:=simplify(map(int,multiply(Nt,qbxx),x=0..h)); Ž 20 h ( 7 q + 3 q2 ) - 60 h2 ( 3 q + 2 q2) Fbx := 20 h ( 3 q + 7 q2 ) 60 h2 ( 2 q + 3 q2) > qmx:=matrix(2,,[qm,qm2]); qmx := Ž qm qm2 > qmxx:=multiply(n,qmx); qmxx := Ž ¾ x - š Ö + h qm x qm2 h > Fmx:=simplify(map(int,multiply(bt,qmxx),x=0..h)); Ž - - 2 qm 2 qm2 Fmx := + 2 qm 2 qm2 > qtx:=matrix(2,,[qt,qt2]); qtx := Ž qt qt2 > qtxx:=multiply(n,qtx); qtxx := Ž ¾ x - š Ö + h qt xqt2 h > Ftx:=simplify(map(int,multiply(nt,qtxx),x=0..h)); Ž 6 h ( 2 qt + qt2 ) Ftx := 6 h ( qt + 2 qt2 ) 0
Den totala lastvektorn > Ftot:= matrix([[/20*h*(7*q+3*q2)], [-/60*h^2*(3*q+2*q2)], [-/2*qm-/2*qm2],[/20*h*(3*q+7*q2)], [/60*h^2*(2*q+3*q2)],[/2*qm+/2*qm2]]); Ž 20 h ( 7 q + 3 q2 ) - 60 h2 ( 3 q + 2 q2) - - 2 qm 2 qm2 Ftot := 20 h ( 3 q + 7 q2 ) 60 h2 ( 2 q + 3 q2) + 2 qm 2 qm2
Bilaga 2 KontrollberŠkningar av elementarfall: L Q= (2-2L)L 2 d 3 L Q Formel tagen frœn formelsamling: d = 5EI Programmets berškningar, med EI = L =, ger d = È 0, 0667 5 Q= 2 L d 3 Formel tagen frœn formelsamling: L Q d = 8EI 2 Programmets berškningar, med EI = L =, ger d = = 0, 25 8 Programmet har Šven testats fšr olika antal element och samtliga kšrningar stšmmer. 2
Bilaga 3 Programkod Matlab Del ur filen indata.m som illustrerar hur man skriver in data i programmet. Det i kursiv text ska matas in av anvšndaren. function[nin,l]=nodes(k) % balkens lšngd [m] L=.0; % LŠngd i [m] % % vektor med noder Nin=[0 3 6 0 20 27 30 33 40 50 60 70 80 90 00]; % %qt utbredd vridlast function[qt]=fqt(x); %Skriv in qt som en funktion av x QT=4*x; % %q utbredd transversell last function[q]=fq(x); %skriv en funktion av x Q=2*x-x^2; % %GJ function[gj]=fgj(x); %skriv en funktion av x gj=3*x; % %EI function[ei]=fei(x); %skriv en funktion av x ei=e6; % 3