Uploaded by Feitse Krekt

Overview Finite Element Method

advertisement
ATiFEM overzicht
Oplosvolgorde FEM software:
ο‚·
Virtual work theorie + standaard mechanica =
ο‚·
K matrix en r matrix kan gemaakt worden voor elk element. Hierbij is de keuze van het type
element belangrijk, deze bepaalt immers met welke interpolatiefuncties de K matrix
gemaakt wordt (B is afgeleide van N, N is de matrix met interpolatie functies).
Uiteindelijk worden alle K en r matrixen van de elementen geassembleerd naar een System
of Matrix equations.
Deze System of Matrix equations wordt naar een solver gestuurd, welke de nodal
displacements berekend. Dit kan hij direct of iterative doen (zie kopje solving options).
Met behulp van de nodal displacements en de gekozen elementen (en daarmee de gekozen
interpolatiefuncties) kunnen op basis van Gauss punts-integratie de displacements
uitgerekend worden in de integratie punten. Hierbij is wederom de keuze voor het type
element erg belangrijk: deze bepaalt hoe de nodal displacements uiteindelijk geïnterpoleerd
worden naar de displacements in de integratiepunten. Als dit niet met de juiste interpolatie
functie gebeurd, kan locking ontstaan of kunnen er grote onnauwkeurigheden
geïntroduceerd worden. Daarnaast is de keuze voor het aantal ‘punts-integreren’ integreren
ook belangrijk omdat dit iets zegt over de nauwkeurigheid waarmee de nodal displacements
omgezet worden in displacements in de integratiepunten.
Vervolgens worden met behulp van de berekende displacements in de integratiepunten, de
strains berekend door deze af te leiden, immers: πœ€ = 𝑑𝑒/𝑑π‘₯. Op basis van de strains wordt
met behulp van materiaal eigenschappen en Hooke’s law (voor lineaire materialen) de
stresses berekend. Let op: dit gebeurd dus allemaal in de integratiepunten en niet op de
nodes!
De stresses/strains in de integratiepunten worden vervolgens geprojecteerd op de nodes,
waardoor ook de stresses/strains in de nodes bekend zijn (zie onderstaande afbeelding). Dit
wordt gedaan door averaging (College 6 ‘errors’ van Semih)
ο‚·
ο‚·
ο‚·
ο‚·
Work
ο‚·
De definitie van K en r volgens (25) en (26) zijn op basis van force equilibrium bepaald.
Hetzelfde kan gedaan worden voor work:
π‘ΌπŸ−𝟐 = 𝒓 ∗ 𝒅 = βˆ†π‘½π’† (elastische energie)
π‘ΌπŸ−𝟐 = 𝒅𝑻 𝒓 = βˆ†π‘½π’†
π‘ΌπŸ−𝟐 = 𝒅𝑻 𝒓 =
𝟏 𝑻
𝒅 𝑲𝒅
𝟐
(scalar vorm is ½ kx2)
Dit omgezet naar potentiele energie:
Π𝑝 =
𝟏 𝑻
𝒅 𝑲𝒅 −
𝟐
𝒅𝑻 𝒓
Bovenstaande vergelijking komt terug bij het implementeren van constraints.
Omdat de natuur streeft naar een zo laag mogelijke potentiele energie, moet de afgeleide
van bovenstaande vergelijking gelijk zijn aan nul (minimum):
Kd – r = 0 volgt dus ook uit de work theorie.
Boundary conditions, constraints en interactions
ο‚·
ο‚·
BC’s zijn super easy: bij BC’s worden er voor nodes (onafhankelijk van elkaar) bepaalde
displacements (of juist geen displacementrs) voorgeschreven (single point constraint).
Hierdoor kun je gewoon rijen/kolommen uit de System of Matrix equations weghalen. BC’s
hebben daardoor geen/positieve invloed op de oplosbaarheid van de System of Matrix
equations, omdat deze alleen aangepast of gereduceerd wordt.
Constraints zijn in tegenstelling tot BC’s relaties tussen bepaalde nodes. Hierdoor veranderd
de K matrix aanzienlijk, wat gevolgen heeft voor de oplosbaarheid van het systeem.
Constraints kunnen op 4 manieren worden toegepast:
o Simpelweg verwerken in de K-waarden in de K-matrix
o Transformation of Equations toepassen
o Lagrange multipliers toevoegen
o Penalty method equation toevoegen
Verwerken in de K-waarden in de K-matrix
Een nadeel hiervan is dat als er grote verschillen zitten tussen de waarden op de
diagonaal van de K-matrix, kan dit leiden tot numerieke
onnauwkeurigheid/instabiliteit: ill-conditioned system
Transformation of Equations toepassen
Bij transformations of Equations worden de constraint equations omgeschreven in
matrix-vector vorm. Vervolgens wordt deze matrix-vector equation omgeschreven
naar een vorm van d = Tdm + q waardoor deze ingevuld kan worden in de Kd = r
Dit leidt dus tot een nieuw sytseem: Kmdm=rm
Een nadeel hiervan is dat de K matrix aangepast moet worden met dure
computational effort
Een voordeel hiervan is dat de #DOF constant blijft, doordat de d vector niet wordt
vergroot.
Lagrange multiplier toevoegen
Bij het toevoegen van Lagrange multiplier wordt er in de term Π𝑝 =
𝟏 𝑻
𝒅 𝑲𝒅 −
𝟐
𝒅𝑻 𝒓
een extra term + 𝝀𝑻 (π‘ͺ𝒅 − 𝒒) toegevoegd. In de System of Matrix equations leidt dit
tot een extra DOF:
Een nadeel hiervan is dus dat #DOF toeneemt per constraint
Een voordeel is dat de K-matrix intact blijft
For contact geeft Lagrange een exacte oplossing
Penalty method equation toevoegen
Bij de Penalty method wordt er in de term Π𝑝 =
𝟏 𝑻
𝒅 𝑲𝒅 −
𝟐
𝒅𝑻 𝒓 een extra term
toegevoegd. Wanneer de minimale potentiele energie wordt bepaald,
leidt dit tot het volgende System of Matrix equations:
Een nadeel hiervan is dat als de Penalty factor α οƒ  ∞, dan kan dit resulteren in een
ill-conditioned system (groot verschil binnen de K matrix)
Een voordeel hiervan is dat de K matrix intact blijft, eigenlijk veranderd deze wel,
maar met goedkope computational effort
Een tweede voordeel hiervan is dat de #DOF gelijk blijft
For contact geeft Penalty method een benadering (gap or penetration)
ο‚·
Interactions zijn toepassing van constraints
o Coupling of DOFs
 Kintematic coupling
Reference node vs. surface
All DOFs coupled invididually
Exact solution
 Tie Coupling
Surface vs. surface
Nodes do not need to be coinciding
Interpolated solution
o Friction
o Contact between bodies
 Lagrange Multipliers geven een exacte oplossing
 Penalty Method geeft een gat of penetratie
Solving options
ο‚·
Er zijn twee soorten solvers:
Direct solvers
Deze zijn voor lineaire problemen van ‘reasonable size’
o Inverteren: Kd = r οƒ  d = K-1r
Het inverteren van de K-matrix is tijdrovend en numeriek instabiel: O(N3)
De K-1 matrix heeft geen band structuur meer, waardoor het vermenigvuldigen met r
langer duurt
o Gauss Eliminatie: rijen bij elkaar optellen zodat alles onder de diagonaal 0 wordt.
Vervolgens kan de onderste oplossing gevonden worden en met backsubstitution de
rest gevonden worden.
Dit kost O(b2N) + O(Nb), dit is veel goedkoper dan O(N3)
ο‚·
Iterative solvers
Deze zijn voor non-lineaire problemen van ‘large size’
o Jacobi
 Met behulp van een initiële gok de displacements berekenen
o Gauss-Seidel
 De displacement in de eerste node die is berekend met behulp van een
initiële gok meteen gebruiken voor de displacement van de tweede node
enz., in plaats van deze ook berekenen met een gok (zoals bij Jacobi)
o
Residual based
Let op: in ‘Ku – f = r’ is u=d en f=r in de rest van de theorie
Locking
Zoals onder het kopje ‘Oplosvolgorde FEM software’ wordt uitgelegd, is de element keuze
erg belangrijk. Als het verkeerde element wordt gekozen kan er locking ontstaan. Er zijn
twee verschillende soorten locking: shear locking en volume locking
ο‚·
Shear locking
Als een beam wordt gedeformed door bending, moeten volgens Euler-Bernoulli de volgende
definities waar zijn:
Vooral de bovenste en onderste zijn van belang.
Bij een biquadratic 2D element (8 nodes), lijden de interpolatiefuncties tot de volgende
partiële afgeleiden:
Voor deze afgeleiden is het mogelijk om aan de voorwaarde voor εxx = -Y/R en ϒxy = 0
tegelijkertijd te voldoen, door de juiste waarden voor de a’s en b’s te kiezen.
Bij een bilineair 2D element (4 nodes), lijden de interpolatiefucnties tot de volgende partiële
afgeleiden:
Voor deze afgeleiden is het onmogelijk om a’s en b’s te kiezen waarbij er tegelijkertijd aan
de voorwaarde voor εxx = -Y/R en ϒxy = 0 wordt voldaan.
Conclusie: shear locking treed op als er een te laag orde element gekozen wordt
ο‚·
Volume locking
Wanneer de poisson ratio van een material gelijk is aan ν = 0.5 dan gebeuren er gekke
dingen, omdat het volume in alle richtingen constant blijft:
Waarom dan locking? Voorbeeld: 2D, plane strain, 4 node, bilineair quadrilateral element.
Plane strain wil sowieso al zeggen εzz = 0, dus dan geldt εxx + εyy = a2 + a4y + b3 + b4x = 0.
Dat kan alleen als a2 + b3 = 0, a4 = 0 en b4 = 0, oftewel 3 nieuwe constraint equations.
Als je naar dit plaatje kijkt krijg je bij
bijvoorbeeld een nieuw 11e element
maar 1 nieuwe node met 2 DOFs erbij,
maar doordat je een nieuwe element
krijgt, krijg je er 3 constraint equations
bij. Meer constraints dan DOFs, dus
locking.
Dit kan ook niet opgelost worden door
een hoger orde element te kiezen
(bijvoorbeeld 8 nodes), dan komen er
bij elke nieuw element 6 DOFs bij, maar
ook 6 constraint equations, nog steeds
locking dus.
Dit probleem kan opgelost worden met reduced integration. Door reduced integration vallen
precies de delen van de polynoom weg die voor constraint equations zorgen. Als deze
onderdelen wegvallen, betekent dit dus dat er weer DOFs vrij komen, waardoor locking is
opgelost.
Een manier waarop je volume locking kunt voorspellen is ratio
#𝐷𝑂𝐹 π‘‘π‘œπ‘’π‘”π‘’π‘£π‘œπ‘’π‘”π‘‘
#𝐼𝑃 π‘‘π‘œπ‘’π‘”π‘’π‘£π‘œπ‘’π‘”π‘‘
#𝐷𝑂𝐹 π‘‘π‘œπ‘’π‘”π‘’π‘£π‘œπ‘’π‘”π‘‘
#𝐼𝑃 π‘‘π‘œπ‘’π‘”π‘’π‘£π‘œπ‘’π‘”π‘‘
< 1 is locking
> 1 is geen locking. Dit is wel beetje skufte rosserij maar het werkt.
Error analysis
Errors worden veroorzaakt door de keuze van de elementen, zowel het type als de grootte.
Om te weten hoe goed de simulatie is, moet de error geanalyseerd worden. Dit kan dmv van
nodal averaging en patch recovery/least squares approximation.
ο‚·
Nodal averaging (fout berekenen in de nodes)
Makkelijk uit te voeren
Er zit sowieso een grotere fout in de nodes omdat deze geprojecteerd zijn vanuit de
integratie punten (zie eerste hoofdstuk)
ο‚·
Patch recovery/least squares approximation (fout berekenen midden in het element)
Nauwkeurige error estimation, omdat de waardes op de integratiepunten gepakt worden
Kost meer effort
ο‚·
ο‚·
ο‚·
Hoeveel er verbeterd kan worden op basis van de error hangt af welke error je wilt
verbeteren.
Displacement error verbeteren = O(h2) οƒ  element size *½ betekent displacement fout *¼
Strain error verbeteren = O(h) οƒ  element size *½ betekent strain fout *½
Das niet zo heel drastisch dus
Om de fout veroorzaakt door de interpolatiefunctie te verbeteren = O(hp+1-r)
Waarin p de order van de interpolatiefunctie is en r aangeeft met welke afgeleide je werkt
(r=0 voor displacement, r=1 voor strain).
Plates en shells
In de engineering leef zijn veel dunwandige objecten
Deze simuleren met solid elements zou dom zijn: je hebt er knetters veel nodig (want aspect
ratio rond de 1 is nice) dus je kunt niet hele platte elementen maken, je hebt veel nodig dus
dat is nogal ineffcient. Daarom zijn speciale shell elements ontwikkeld.
Er bestonden al platte elementen, maar deze maken alleen gebruik van bending (out-ofplane deformations). Deze kun je niet echt gebruiken omdat ze in-plane (membrane)
deformations niet mee nemen. Shell elementen doen dit wel: op twee verschillende
manieren.
ο‚·
Straight shells
Deze combineren bending (k) deformations op basis van plate theorie en membrane (η)
deformations op basis van 2d plane stress theorie in een stijheidsmatrix zoals:
Belangrijk: er staan alleen waarden op de diagonaal, dus er is geen koppeling tussen de
bending stijfheid en membraan stijfheid
Deze koppeling is echter wel belangrijk wanneer een dunwandige plaat van zichzelf al
gekromd is. Deze kromming draagt veel bij aan de stijfheid.
ο‚·
Curved shells
Daarom zijn in curved shells de off-diagonal terms non-zero. Hierdoor zijn de bending en
membrande deformations gekoppeld: er is extra stijfheid tegen bending, omdat de plaat
stijfheid heeft tegen langer/korter worden (membrane stiffness). Omdat deze
membrane stiffness voor dunne platen vaak veel hoger is dan de bending stiffness, lijdt
dit tot aanzienlijk andere resultaten dan de ongekoppelde straight shells.
Curved shells kunnen echter voor membrane locking zorgen:
De Arch theory zegt dat the deformation van een arch komt door axiaal, radiaal en
buiging. De axiale en radiale vervormingen leiden tot membrane components (eerste
twee in onderstaande afbeelding). De axiale en buiging leiden tot een bending
component (derde in onderstaande afbeelding). Wanneer bepaalde interpolatiefuncties
gekozen worden, en een beam gebogen wordt (waardoor de bending components
nonzero zijn), zijn de membrane termen kneiters hoog (door hoge machts termen in de
membrane components). Voor dikkere beams is dit effect alleen maar groter. Conclusie:
kies niet een type element waarbij dat gebeurt (u hogere orde dan w?)
Dynamics
Lumped:
o
Quick to solve, not very accurate
Consistent:
o
Slower to solve, higher accuracy
ο‚·
Semi-discrete equation of motion:
ο‚·
To find the natural/eigen frequency, some assumptions are made
ο‚·
The harmonic time response is used for steady state loading
o Bearings
o Gearboxes
o Pumps
o Combustion engines
o Noise control
o Bridge vibrations
o Train response
o Structure/system response
o Etc.
Damping must be included:
ο‚·
Dynamic problems need to be reduced in size, because they are very costly. Dense
grids/meshes are necessary for accurate estimation of stresses, but not for dynamic
response.
There are two methods to reduce the size of a dynamic problem
o Guyan Reduction
o
ο‚·
Modal reduction
The transient response is used for:
o Impacts
o Crashes
o Earthquakes
o Non-stationary systems
o Wind turbines operation
o Response to positioning (precision mechanisms)
Implicit time integration
Explicit time integration
Rewrite everything in terms of d’’n+1 and d’n+1 to find the solution for dn+1
expliciete
Let op, links staat een M en een C. Gelukkig kunnen we voor M een lumped
system nemen, waardoor we die niet hoeven te inverteren. In kleine
tijdsdomeinen kun je c verwaarlozen. Daarom geeft het een
displacement.
Download