1.3 ΕργαστήριοWorkbench
Τρισδιάστατος σχεδιασμός και στατική ισογεωμετρική ανάλυση με στοιχεία πλάκαςThree-dimensional design and static isogeometric analysis with plate elements
Ένα διάνυσμα παραπάνω, και η επιφάνεια γίνεται στερεό: γράψε Ξ, Η και Ζ με τους βαθμούς τους, και οι τρεις βάσεις NiMjLk δίνουν τις συναρτήσεις σχήματος Ri,j,k(ξ,η,ζ) ενός trivariate NURBS. Η αναδρομή είναι η ίδια — ένας πυρήνας, τρεις άξονες — αλλά δύο πράγματα αλλάζουν: το πλήθος γίνεται n·m·l, και η τιμή χάνει τον άξονά της. One more vector, and the surface becomes a solid: write Ξ, Η and Ζ with their degrees, and the three bases NiMjLk give the shape functions Ri,j,k(ξ,η,ζ) of a trivariate NURBS. The recursion is the same — one core, three axes — but two things change: the count becomes n·m·l, and the value loses its axis.
Ni,p(ξ) · άξονας ξthe ξ axis
Ξ · —
Mj,q(η) · άξονας ηthe η axis
Η · —
Lk,r(ζ) · άξονας ζthe ζ axis
Ζ · —
Ri,j,k = NiMjLkwijk / ΣΣΣNMLw · η κυρίαρχη, μέσα στον παραμετρικό κύβοthe dominant one, inside the parametric cube
Σύρε για περιστροφήDrag to rotate
Διάνυσμα ΞKnot vector Ξ n = 5
Διάνυσμα ΗKnot vector Η m = 3
Διάνυσμα ΖKnot vector Ζ l = 4
Αυτό δεν είναι διάνυσμα κόμβων — θέλει μη φθίνουσα ακολουθία, το πολύ 14 τιμές, τουλάχιστον 2p+2 από αυτές. Το πεδίο ξαναγράφτηκε με ό,τι σχεδιάζεται. That is not a knot vector — it wants a non-decreasing sequence, at most 14 values, at least 2p+2 of them. The field was rewritten with what is actually drawn.
Θέση ξPosition ξ 1.5
Θέση ηPosition η 0.5
Θέση ζPosition ζ 1
Βάρος τηςWeight of R w = 1.00
Μέσα στον κύβοInside the cube
ΑναδρομήRecursion
- ΣυναρτήσειςFunctions
- 5 × 3 × 4 = 60
- Ενεργές εδώNon-zero here
- 18
- ΆθροισμαSum
- 1.000
- ΚυρίαρχηDominant
- R₃,₂,₂ = 0.188
οι συναρτήσεις και η τιμή τους — έντονη η κυρίαρχηthe functions and their value — the dominant one in bold ό,τι γράφεις: οι τρεις θέσεις, οι κόμβοι, τα όρια των στοιχείωνwhat you write: the three positions, the knots, the element boundaries
- Τρία διανύσματα, 60 συναρτήσειςThree vectors, 60 functionsΟι τρεις άξονες ανοίγουν με 5 + 3 + 4 μονοδιάστατες συναρτήσεις — και ο κύβος έχει 5 × 3 × 4 = 60. Ο τανυστής δεν προσθέτει άξονα, τον πολλαπλασιάζει: γράψε 0 0 0 1 2 3 4 5 5 5 και στα τρία πεδία και οι επτά ανά άξονα γίνονται 343, εκεί που δύο άξονες θα έδιναν 49. Αυτός είναι όλος ο λόγος που ένα trivariate patch είναι ακριβό και ένα κέλυφος όχι.The three axes open with 5 + 3 + 4 one-dimensional functions — and the cube has 5 × 3 × 4 = 60. The tensor product does not add an axis, it multiplies it: write 0 0 0 1 2 3 4 5 5 5 into all three fields and seven per axis becomes 343, where two axes would give 49. That is the whole reason a trivariate patch is expensive and a shell is not.
- Κούνα τη θέση ζMove the ζ positionΑνοίγει ακριβώς πάνω στον κόμβο ζ = 1, εκεί που ο τρίτος άξονας έχει μόνο δύο μη μηδενικές αντί για τρεις: οι ενεργές είναι 18, όχι 27, και η κυρίαρχη πέφτει στο 0.188. Σύρε το ζ στο 0.7 και γίνονται 27 με κυρίαρχη 0.249. Το πολύ (p+1)(q+1)(r+1) — και σε κάθε κόμβο ένας παράγοντας λιγότερος.It opens exactly on the knot ζ = 1, where the third axis has only two non-zero functions instead of three: the active ones are 18, not 27, and the dominant one drops to 0.188. Drag ζ to 0.7 and they become 27 with a dominant of 0.249. At most (p+1)(q+1)(r+1) — and one factor fewer at every knot.
- Σβήσε τον τρίτο άξοναSwitch the third axis offΓράψε στο Ζ σκέτο 0 1 και πάτα r = 0. Μένει μία συνάρτηση στον ζ, οπότε 5 × 3 × 1 = 15 και η κυρίαρχη ξαναγίνεται 0.375 — δηλαδή ακριβώς το εργαστήριο 1.2, αριθμό προς αριθμό. Το τρισδιάστατο δεν είναι άλλη θεωρία· είναι η ίδια, με έναν παράγοντα που εδώ έγινε μονάδα.Write a bare 0 1 into Ζ and press r = 0. One function is left on ζ, so 5 × 3 × 1 = 15 and the dominant one becomes 0.375 again — which is workbench 1.2 exactly, number for number. Three dimensions are not another theory; they are the same one, with a factor that has turned into unity.
- Και πάλι το βάροςThe weight, againΣύρε το w της κυρίαρχης στο 5: από 0.188 ανεβαίνει στο 0.536, και η διπλανή της R₂,₂,₂ πέφτει από 0.031 στο 0.018 χωρίς να την αγγίξει κανείς. Ο παρονομαστής είναι ένας αριθμός για ολόκληρο τον κύβο, όχι ένας ανά άξονα — γι’ αυτό οι R δεν είναι γινόμενο τριών μονοδιάστατων ρητών βάσεων. Το άθροισμα μένει 1.000.Drag the dominant one’s w to 5: from 0.188 it climbs to 0.536, and its neighbour R₂,₂,₂ falls from 0.031 to 0.018 with nobody touching it. The denominator is one number for the whole cube, not one per axis — which is why the R are not a product of three one-dimensional rational bases. The sum stays 1.000.
- Νέφος ή τομήCloud or sectionΗ τιμή δεν έχει πια πού να σταθεί: στο 1.2 το ύψος ήταν η R, εδώ και οι τρεις άξονες είναι παράμετροι. Το νέφος τη γράφει με πυκνότητα, η τομή ζ με χρώμα πάνω σε ένα επίπεδο. Στο άνοιγμα το νέφος γεμίζει ολόκληρο τον κύβο, και σωστά: ο φορέας πιάνει 3 × 3 × 3 στοιχεία, αλλά ο κύβος έχει μόνο 3 × 1 × 2. Γράψε 0 0 0 1 2 3 4 5 5 5 και στα τρία πεδία και το ίδιο νέφος μαζεύεται σε μια γωνία — δεν μίκρυνε ο φορέας, μεγάλωσε ο κύβος γύρω του. Αυτό ακριβώς είναι ο τοπικός φορέας, και είναι ο λόγος που ο πίνακας βγαίνει αραιός.The value has nowhere left to stand: in 1.2 the height was the R, here all three axes are parameters. The cloud writes it as density, the ζ section as colour on one plane. On opening the cloud fills the whole cube, and rightly so: the support spans 3 × 3 × 3 elements, but the cube only has 3 × 1 × 2. Write 0 0 0 1 2 3 4 5 5 5 into all three fields and the same cloud shrinks into one corner — the support did not get smaller, the cube grew around it. That is local support exactly, and it is why the matrix comes out sparse.
Ο πυρήνας είναι ο ίδιος με το 1.2 — μία αναδρομή Cox–de Boor, γραμμένη μία φορά, που τρέχει για τρεις άξονες σε κάθε καρέ. Τα τρία πεδία δέχονται κενά ή κόμματα, ως 14 τιμές, από 0 ως 99, και μπαίνουν με το κουμπί ή με Enter· ο βαθμός που δεν χωράει στο διάνυσμα σβήνει μόνος του (θέλει 2p+2 τιμές). Το πάτωμα του κύβου γράφει τους κόμβους των ξ και η, και κάθε κόμβος του ζ γίνεται ένα πάτωμα παραπάνω — έτσι τα τρία διανύσματα φαίνονται ταυτόχρονα, ως στοιχεία. Πληκτρολόγιο πάνω στον κύβο: βελάκια για περιστροφή.The core is the same as in 1.2 — one Cox–de Boor recursion, written once, running on three axes every frame. The three fields take spaces or commas, up to 14 values, from 0 to 99, and enter with the button or with Enter; a degree that does not fit its vector greys itself out (it needs 2p+2 values). The floor of the cube carries the knots of ξ and η, and every knot of ζ becomes one more floor — so all three vectors are visible at once, as elements. Keyboard on the cube: arrow keys to rotate.
Και τώρα τα σημεία, σε τρεις άξονεςAnd now the points, on three axes
Ό,τι έκανε ο πίνακας του 1.2 για την επιφάνεια, το κάνει αυτός για το στερεό — με μία διαφορά που είναι ολόκληρο το μάθημα της ενότητας: οι γραμμές δεν είναι n·m, είναι n·m·l. Κάθε γραμμή είναι ένα σημείο Pijk με τις καρτεσιανές του συντεταγμένες και το βάρος του, και τα σημεία δεν σχηματίζουν πια δίκτυο αλλά πλέγμα: n σε μήκος, m σε πλάτος, l σε βάθος. Από αυτά και από τις Rijk βγαίνει όγκος, όχι φύλλο: What the table of 1.2 did for the surface, this one does for the solid — with one difference that is the whole point of the section: the rows are not n·m, they are n·m·l. Every row is one point Pijk with its Cartesian coordinates and its weight, and the points no longer form a net but a lattice: n along, m across, l deep. Out of those and the Rijk comes a volume, not a sheet:
V(ξ,η,ζ) = Σᵢ Σⱼ Σₖ Rᵢⱼₖ(ξ,η,ζ) · Pᵢⱼₖ
V(ξ,η,ζ) · η γεωμετρία που γράφει ο πίνακαςthe geometry the table writes
Σύρε για περιστροφήDrag to rotate
Έτοιμο πλέγμαReady-made lattice
Το στερεόThe solid
Το πλέγμαThe lattice
Γράψε σε όποιο κελί θέλεις: το στερεό ακολουθεί καθώς γράφεις. Η αναμμένη γραμμή είναι το σημείο της κυρίαρχης συνάρτησης στη θέση (ξ, η, ζ).Type into any cell: the solid follows as you type. The lit row is the point of the dominant shape function at (ξ, η, ζ).
Ο πίνακας θα ήθελε — γραμμές. Πάνω από 512 δεν γράφεται: τόσα πεδία δεν διαβάζονται, και θα κόστιζαν περισσότερο από όσο αξίζουν. Η γεωμετρία συνεχίζει κανονικά με το έτοιμο πλέγμα — μίκρυνε ένα διάνυσμα για να ξαναγυρίσει ο πίνακας. The table would want — rows. Over 512 it is not written: that many fields cannot be read, and they would cost more than they are worth. The geometry carries on with the ready-made lattice — shorten a vector and the table comes back.
| Pijk | X | Y | Z | w |
|---|
- ΓραμμέςRows
- 60
- V(ξ,η,ζ)
- 0.000, 0.000, 0.000
- ΑναμμένηLit row
- P₃,₂,₂
τα σημεία που γράφειςthe points you write το στερεό που βγαίνειthe solid they make
- Εξήντα γραμμές για μια πλάκαSixty rows for a plateΤο άνοιγμα δίνει μια ορθογώνια πλάκα 4 × 4 × 0.20 — και θέλει 60 σημεία ελέγχου για να τη γράψει, εκεί που το 1.2 έγραφε ολόκληρη επιφάνεια με 15. Δεν είναι σπατάλη του διαγράμματος, είναι ο τανυστής: κάθε νέος άξονας πολλαπλασιάζει. Το ίδιο κουτί σε ένα κέλυφος Kirchhoff–Love δεν θα είχε καθόλου τρίτη σειρά σημείων — γι’ αυτό και το κέλυφος του 1.1 λύνεται με τόσο λιγότερους αγνώστους.It opens with a rectangular 4 × 4 × 0.20 plate — and it takes 60 control points to write it, where 1.2 wrote a whole surface with 15. That is not the diagram being wasteful, it is the tensor product: every new axis multiplies. The same box in a Kirchhoff–Love shell would have no third row of points at all — which is why the shell of 1.1 is solved with so many fewer unknowns.
- Κόψε το και κοίτα μέσαCut it and look insideΠάτα κομμένο στο ζ και σύρε τη θέση ζ από πάνω: το στερεό σταματά εκεί που σταματά ο διακόπτης, και η τομή του είναι μια πραγματική έδρα — υπολογισμένη με την ίδια V, όχι ζωγραφισμένη. Αυτό είναι η διαφορά από ένα κλειστό κέλυφος: το στερεό έχει εσωτερικό, και ο τρίτος άξονας είναι το μόνο πράγμα που το δίνει.Press cut at ζ and drag the ζ position above: the solid stops where the slider stops, and its cut is a real face — computed with the same V, not painted on. That is the difference from a closed shell: the solid has an interior, and the third axis is the only thing that gives it one.
- Η καμάρα και το πάχος τηςThe vault and its thicknessΠάτα καμάρα: το τόξο του 1.2 ξανάρχεται, αλλά τώρα ο τρίτος άξονας δίνει το πάχος του — τέσσερα σημεία σε βάθος, από την εσωτερική στην εξωτερική παρειά. Γράψε 2 στο Z μιας μεσαίας γραμμής και μόνο ένα κομμάτι του στερεού φουσκώνει: ο τοπικός φορέας δουλεύει το ίδιο και σε τρεις διαστάσεις, απλώς πιάνει τώρα (p+1)(q+1)(r+1) στοιχεία.Press vault: the arc of 1.2 is back, but now the third axis gives its thickness — four points deep, from the inner to the outer face. Write 2 into the Z of a middle row and only one part of the solid swells: local support works exactly the same in three dimensions, it just spans (p+1)(q+1)(r+1) elements now.
- Το βάρος, από την άλλη μεριάThe weight, from the other sideΗ στήλη w είναι ο ίδιος πίνακας τιμών με τη λαβή «Βάρος της» του εργαστηρίου: κούνα τη λαβή και το κελί της αναμμένης γραμμής ακολουθεί, γράψε στο κελί και αλλάζουν τα τέσσερα διαγράμματα από πάνω. Ένας αριθμός, δύο μεριές — γιατί το βάρος δεν είναι ιδιότητα της εικόνας, είναι της βάσης.The w column is the same array of values as the workbench’s «Weight of» slider: move the slider and the lit row’s cell follows, type into the cell and the four diagrams above change. One number, two sides — because a weight is not a property of the picture, it is a property of the basis.
- Άλλαξε διάνυσμα, χάνεις το πλέγμαChange a vector, lose the latticeΊδιος κανόνας με το 1.2, μόνο που εδώ κοστίζει τριπλά: ένας κόμβος παραπάνω στο Ξ και οι γραμμές γίνονται 72 από 60. Γράψε 0 0 0 1 2 3 4 5 5 5 και στα τρία πεδία και ο πίνακας φτάνει τις 343 — και εκεί ακριβώς φαίνεται γιατί ένα trivariate patch δεν λύνεται στο χέρι.The same rule as in 1.2, only here it costs triple: one more knot in Ξ and the rows go from 60 to 72. Write 0 0 0 1 2 3 4 5 5 5 into all three fields and the table reaches 343 — and that is exactly where you see why a trivariate patch is not solved by hand.
Τα κελιά δέχονται κόμμα ή τελεία και επιστημονική σημειογραφία, οι συντεταγμένες ως ±999 και το βάρος από 0.05 ως 5 — τα ίδια όρια με τη λαβή του βάρους. Το στερεό σχεδιάζεται από τις έξι έδρες του, καθεμιά αποτιμημένη με την ίδια V πάνω σε πλέγμα δειγμάτων, και ταξινομημένη κατά βάθος· ο φωτισμός παίρνει το απόλυτο του συνημιτόνου, γιατί με συντεταγμένες που γράφει ο επισκέπτης η φορά μιας έδρας δεν είναι εγγυημένη. Το κάδρο μετριέται σε κάθε καρέ πάνω στα ίδια τα σημεία. Πάνω από 512 γραμμές ο πίνακας δεν γράφεται — η γεωμετρία όμως συνεχίζει, και ο μετρητής λέει πόσες θα ήταν.The cells take a comma or a full stop and scientific notation, coordinates up to ±999 and weights from 0.05 to 5 — the same limits as the weight slider. The solid is drawn from its six faces, each evaluated with the same V over a grid of samples and sorted by depth; the lighting takes the absolute value of the cosine, because with coordinates written by the visitor a face’s orientation is not guaranteed. The frame is measured on every frame from the points themselves. Above 512 rows the table is not written — the geometry carries on, and the counter says how many there would have been.
Και τώρα η λύση, σε στερεόAnd now the solution, in a solid
Ο πίνακας από πάνω γράφει όγκο. Δώσε του υλικό, στηρίξεις και πίεση και ο ίδιος όγκος γίνεται φορέας: όχι κέλυφος αυτή τη φορά, αλλά τρισδιάστατο ισογεωμετρικό στοιχείο — πλήρης ελαστικότητα, οι Rijk που σχεδίασαν τη γεωμετρία γίνονται οι συναρτήσεις σχήματος, και οι άγνωστοι είναι οι μετατοπίσεις των n·m·l σημείων ελέγχου. Το έτοιμο πλέγμα του ανοίγματος είναι μια πλάκα 4 × 4 × 0.20 m: αρκετά λεπτή για να κάμπτεται, αρκετά χοντρή για να είναι στερεό και όχι φύλλο. The table above writes a volume. Give it a material, supports and a pressure and the same volume becomes a structure: not a shell this time but a three-dimensional isogeometric element — full elasticity, the Rijk that drew the geometry become the shape functions, and the unknowns are the displacements of the n·m·l control points. The ready-made lattice it opens with is a 4 × 4 × 0.20 m plate: thin enough to bend, thick enough to be a solid and not a sheet.
K u = f , uᵢⱼₖ = (uₓ, uₖ, uₗ) ανά σημείο ελέγχουper control point
Τρία πράγματα αλλάζουν σε σχέση με το 1.2, και κανένα δεν είναι λεπτομέρεια. Δεν υπάρχει πεδίο πάχους — το πάχος είναι η στήλη Z του πίνακα, δηλαδή γεωμετρία. Το φορτίο θέλει έδρα: πίεση πάνω στην έδρα ζ = 1, γιατί ένα στερεό δεν έχει μέση επιφάνεια για να τη φορτίσεις. Και οι έδρες είναι έξι, όχι τέσσερις ακμές. Three things change from 1.2, and none of them is a detail. There is no thickness field — the thickness is the Z column of the table, that is, geometry. The load needs a face: pressure on the ζ = 1 face, because a solid has no mid-surface to load. And the faces are six, not four edges.
Μέτρο ελαστικότηταςYoung’s modulus
Λόγος PoissonPoisson’s ratio
Πίεση στην έδρα ζ = 1Pressure on the ζ = 1 face
Διεύθυνση φορτίουLoad direction
Το πάχος δεν είναι πεδίο εδώ — είναι η στήλη Z του πίνακα από πάνω. Αυτό ακριβώς είναι η διαφορά ανάμεσα σε ένα κέλυφος και ένα στερεό, γραμμένη ως ένα πεδίο που λείπει.The thickness is not a field here — it is the Z column of the table above. That is exactly the difference between a shell and a solid, written as a field that is missing.
Δεσμεύσεις των εδρώνFace constraints
ξ = 0 · P1,j,k
ξ = 1 · Pn,j,k
η = 0 · Pi,1,k
η = 1 · Pi,m,k
ζ = 0 · Pi,j,1
ζ = 1 · Pi,j,l
Σε στερεό η στήριξη δεν μπορεί να είναι «και οι τρεις μετατοπίσεις» — αυτό είναι πάκτωση. Η στήριξη κρατάει την έδρα κατακόρυφα και την αφήνει να γλιστρήσει κάθετα στον εαυτό της, δηλαδή να στρίψει: αυτή ακριβώς είναι η αμφιέρειστη ακμή μιας πλάκας. Η πάκτωση ακινητοποιεί την έδρα σε όλο της το πάχος, οπότε η διατομή δεν μπορεί να στρίψει — πάκτωση χωρίς κανέναν στροφικό βαθμό ελευθερίας, όπως και στο 1.2, αλλά για άλλον λόγο.In a solid, pinned cannot mean «all three displacements» — that is clamping. Pinned holds the face vertically and lets it slide normal to itself, that is, rotate: which is exactly the simply supported edge of a plate. Clamped holds the face over its whole thickness, so the cross-section cannot rotate — clamping without a single rotational degree of freedom, as in 1.2, but for a different reason.
Ένα στερεό στοιχείο θέλει παράγωγο, άρα p, q, r ≥ 1 και στους τρεις άξονες. Με βαθμό 0 η μετατόπιση είναι σταθερή μέσα στο στοιχείο και δεν υπάρχει παραμόρφωση να υπολογιστεί.A solid element needs a derivative, hence p, q, r ≥ 1 on all three axes. At degree 0 the displacement is constant inside the element and there is no strain to compute. Ο επιλύτης θέλει δεσμευμένο διάνυσμα κόμβων και στους τρεις άξονες — πολλαπλότητα p+1 στα δύο άκρα. Μόνο τότε η έδρα του στερεού περνάει από τα ακραία σημεία ελέγχου, άρα μόνο τότε σημαίνει κάτι το «δεσμεύω την έδρα».The solver needs a clamped knot vector on all three axes — multiplicity p+1 at either end. Only then does a face of the solid pass through the outermost control points, and only then does «constrain the face» mean anything. Πάνω από 512 σημεία ελέγχου ο επιλύτης δεν τρέχει — το ίδιο φράγμα με τον πίνακα από πάνω. Με 11 συναρτήσεις ανά άξονα οι άγνωστοι φτάνουν τους 3.993 και η παραγοντοποίηση τα δυόμισι δισεκατομμύρια πράξεις: η σελίδα δεν θα ήταν αργή, θα ήταν παγωμένη. Μίκρυνε ένα διάνυσμα.Above 512 control points the solver does not run — the same limit as the table above. With 11 functions per axis the unknowns reach 3,993 and the factorisation two and a half billion operations: the page would not be slow, it would be frozen. Shorten a knot vector. Και οι έξι έδρες είναι ελεύθερες: ο φορέας δεν στηρίζεται πουθενά, οπότε δεν υπάρχει λύση — υπάρχει κίνηση. Δώσε στήριξη ή πάκτωση σε τουλάχιστον μία.All six faces are free: the structure rests on nothing, so there is no solution — there is motion. Give at least one face a pinned or clamped support. Το μητρώο δεν βγήκε θετικά ορισμένο: το σώμα μπορεί ακόμη να κινηθεί χωρίς να παραμορφωθεί. Μία στηριγμένη έδρα δεν φτάνει — κρατάει το κατακόρυφο και αφήνει την ολίσθηση και τη στροφή. Στήριξε απέναντι έδρες, ή δώσε πάκτωση.The matrix did not come out positive definite: the body can still move without deforming. One pinned face is not enough — it holds the vertical and leaves sliding and rotation free. Pin opposite faces, or clamp one. Δεσμεύτηκαν όλα τα σημεία, οπότε δεν έμεινε τίποτα να λυθεί. Σε στερεό αυτό γίνεται εύκολα: μια πάκτωση πιάνει ολόκληρη έδρα, και δύο απέναντι πακτωμένες έδρες σε πλέγμα με λίγες σειρές τις καταπίνουν όλες. Γράψε πιο μακρύ διάνυσμα κόμβων — ή στήριξη αντί για πάκτωση.Every point ended up constrained, so nothing was left to solve. In a solid that happens easily: one clamp takes a whole face, and two opposite clamped faces on a lattice with few rows swallow all of them. Write a longer knot vector — or use pinned instead of clamped. Το πλέγμα δεν ορίζει στερεό με όγκο — τα σημεία είναι συνεπίπεδα ή ταυτισμένα σε έναν άξονα. Γράψε γεωμετρία που ανοίγει και στους τρεις.The lattice does not define a solid with any volume — the points are coplanar or coincident along one axis. Write geometry that opens up on all three. Τιμή εκτός ορίων ή μη αριθμητική — το πεδίο ξαναγράφτηκε με την τιμή που όντως μπήκε στη λύση.Value out of range or not a number — the field was rewritten with the value that actually entered the solution.
P′ijk = Pijk + uijk · το παραμορφωμένο στερεόthe deformed solid · μεγέθυνσηmagnification —
Σύρε για περιστροφήDrag to rotate
| Pijk | ux — | uy — | uz — | |u| — |
|---|
- ΔεσμευμένοιConstrained
- —
- max |u|
- —
- Στο σημείοAt the point
- —
- |u| στο κέντρο|u| at the centre
- —
- ΧρόνοςTime
- — ms
Και τώρα το νέο στερεόAnd now the new solid
Ο πίνακας από πάνω γράφει πόσο μετακινήθηκε κάθε σημείο ελέγχου. Πρόσθεσέ το στο σημείο και έχεις το πού: P′ijk = Pijk + uijk. Και επειδή οι άγνωστοι της ανάλυσης ήταν τα σημεία ελέγχου, το παραμορφωμένο σώμα είναι ξανά trivariate NURBS — ίδια τρία διανύσματα κόμβων, ίδιοι βαθμοί, ίδια βάρη — και σχεδιάζεται με τον ίδιο ακριβώς τύπο που σχεδίασε και το απαραμόρφωτο. Καμία παρεμβολή, κανένα δεύτερο μοντέλο. The table above says how much each control point moved. Add that to the point and you have the where: P′ijk = Pijk + uijk. And because the unknowns of the analysis were the control points, the deformed body is trivariate NURBS again — same three knot vectors, same degrees, same weights — drawn by the very formula that drew the undeformed one. No interpolation, no second model.
V′(ξ,η,ζ) = Σᵢ Σⱼ Σₖ Rᵢⱼₖ(ξ,η,ζ) · (Pᵢⱼₖ + uᵢⱼₖ)
V′(ξ,η,ζ) · το στερεό που βγήκε — με γραμμές το απαραμόρφωτοthe solid that came out — the undeformed one in lines
Σύρε για περιστροφήDrag to rotate
ΜεγέθυνσηMagnification
Χρωματικό πεδίοColour field
Το απαραμόρφωτοThe undeformed
Το νέο πλέγμαThe new lattice
Διάρκεια βίντεοVideo length
Η εικόνα μεγεθύνεται — αλλιώς 0.24 mm πάνω σε πλάκα τεσσάρων μέτρων δεν φαίνεται με κανένα μάτι. Ο πίνακας όχι: γράφει τις αληθινές νέες συντεταγμένες, με συντελεστή 1, πάντα. Τα χειριστήρια εδώ κινούν και τους δύο καμβάδες. Η αναπαραγωγή ανεβάζει το φορτίο από το 0 στο 100%: η ανάλυση είναι γραμμική, οπότε κάθε ενδιάμεσο καρέ είναι η λύση του ίδιου φορέα για λ φορές το φορτίο. Το χρωματικό πεδίο βάφει τις έξι έδρες με το μέτρο της μετατόπισης — ομαλά ή σε δέκα ζώνες, που είναι οι ισοϋψείς του. Η κλίμακά του μετριέται στο πλήρες φορτίο και μένει ακίνητη, ώστε στην αναπαραγωγή τα χρώματα να ανάβουν μαζί με το φορτίο. Το μέγιστό της είναι των εδρών και όχι του πίνακα, για τον ίδιο λόγο με το εργαστήριο από πάνω.The picture is magnified — otherwise 0.24 mm on a four-metre plate is invisible to any eye. The table is not: it writes the true new coordinates, at factor 1, always. The controls here drive both canvases. The playback raises the load from 0 to 100%: the analysis is linear, so every intermediate frame is the solution of the same structure for λ times the load. The colour field paints the six faces by the magnitude of the displacement — smoothly, or in ten bands, which are its contours. Its scale is measured at the full load and stays put, so that during playback the colours light up together with the load. Its maximum is that of the faces, not of the table, for the same reason as in the lab above.
| P′ijk | X′ | Y′ | Z′ | w |
|---|
- max |u|
- —
- Στο σημείοAt the point
- —
- ΔεκαδικάDecimals
- —
τα νέα σημεία ελέγχουthe new control points το παραμορφωμένο στερεό — με γραμμές το αρχικόthe deformed solid — the original one in lines το ίχνος της μεγαλύτερης μετατόπισηςthe trace of the largest displacement
- Το πάχος δεν είναι πεδίοThickness is not a fieldΣτο 1.2 το πάχος γραφόταν σε ένα κουτάκι δίπλα στο υλικό, γιατί ένα κέλυφος Kirchhoff–Love δεν το έχει στη γεωμετρία του — είναι παράμετρος της θεωρίας. Εδώ το ίδιο κουτάκι λείπει, και δεν ξεχάστηκε: το πάχος είναι η στήλη Z του πίνακα, τέσσερα σημεία σε βάθος από την κάτω στην πάνω παρειά. Άλλαξε ένα Z και άλλαξες φορέα, χωρίς να αγγίξεις τον επιλύτη. Αυτό είναι, σε μία πρόταση, η διαφορά κελύφους και στερεού.In 1.2 the thickness was written in a little box next to the material, because a Kirchhoff–Love shell does not carry it in its geometry — it is a parameter of the theory. Here that box is missing, and it was not forgotten: the thickness is the Z column of the table, four points deep from the lower to the upper face. Change one Z and you have changed the structure, without touching the solver. That, in one sentence, is the difference between a shell and a solid.
- Η πλάκα, όπως ανοίγειThe plate, as it opensΠάτα Επίλυση: 180 άγνωστοι, 112 δεσμευμένοι, λύση σε λίγα χιλιοστά του δευτερολέπτου. Το max |u| βγαίνει 0.5120 mm στο P₃,₂,₃ — και το |u| στο κέντρο 0.2369 mm. Οι δύο αριθμοί οφείλουν να διαφέρουν: ο πρώτος είναι σημείο ελέγχου, ο δεύτερος σημείο του φορέα. Το πλέγμα περιβάλλει τη λύση, δεν την παρεμβάλλει — ακριβώς όπως το δίκτυο δεν ακουμπάει την επιφάνειά του στο 1.2.Press Solve: 180 unknowns, 112 constrained, solved in a few milliseconds. The max |u| comes out 0.5120 mm at P₃,₂,₃ — and |u| at the centre 0.2369 mm. The two numbers ought to differ: the first is a control point, the second a point of the structure. The lattice envelops the solution, it does not interpolate it — exactly as the net does not touch its surface in 1.2.
- Πύκνωσε, και συγκλίνειRefine, and it convergesΓράψε 0 0 0 1 2 3 3 3 στο Η: οι άγνωστοι πάνε από 180 σε 300 και το κέντρο από 0.2369 σε 0.2568 mm. Γράψε 0 0 0 1 2 3 4 5 6 7 8 9 9 9 και στα δύο — 1.452 άγνωστοι, 0.2513 mm. Η κλειστή λύση της αμφιέρειστης τετράγωνης πλάκας (σειρά Navier) δίνει 0.2496 mm: διαφορά 0.7%, και αυτή η διαφορά δεν είναι σφάλμα — είναι η διατμητική παραμόρφωση που η θεωρία πλακών αγνοεί και το στερεό όχι.Write 0 0 0 1 2 3 3 3 into Η: the unknowns go from 180 to 300 and the centre from 0.2369 to 0.2568 mm. Write 0 0 0 1 2 3 4 5 6 7 8 9 9 9 into both — 1,452 unknowns, 0.2513 mm. The closed-form solution of the simply supported square plate (Navier series) gives 0.2496 mm: a difference of 0.7%, and that difference is not an error — it is the shear deformation that plate theory ignores and the solid does not.
- Στήριξη ή πάκτωση, με τίμημαPinned or clamped, at a priceΓύρισε και τις τέσσερις πλευρικές έδρες σε πάκτωση: 0.2369 → 0.0047 mm. Πενήντα φορές; Όχι — και ο μετρητής το λέει: οι δεσμευμένοι πήγαν από 112 σε 144 από τους 180. Μια πάκτωση σε στερεό πιάνει ολόκληρη έδρα, σε όλο της το πάχος, και σε πλέγμα με πέντε σειρές δεν μένει σχεδόν τίποτα να λυθεί. Ξαναδοκίμασε με τα μακριά διανύσματα του προηγούμενου: 0.0669 mm, δηλαδή λόγος περίπου 3.8 — και αυτός είναι φυσική.Turn all four side faces to clamped: 0.2369 → 0.0047 mm. Fifty times stiffer? No — and the counter says so: the constrained degrees of freedom went from 112 to 144 out of 180. A clamp in a solid takes a whole face over its whole thickness, and on a five-row lattice there is almost nothing left to solve. Try again with the long vectors from above: 0.0669 mm, a ratio of about 3.8 — and that one is physics.
- Το κουτί δεν είναι πλάκαA box is not a plateΠάτα κουτί και ξαναλύσε: το κέντρο κατεβαίνει 0.060 µm — τέσσερις χιλιάδες φορές λιγότερο, τόσο που αλλάζει η μονάδα ολόκληρου του πίνακα από mm σε µm. Ίδιο υλικό, ίδια πίεση, ίδιες στηρίξεις, ίδιοι 180 άγνωστοι — αλλά ένας κύβος 2 × 2 × 2 δεν κάμπτεται, θλίβεται. Η δυσκαμψία πάει με το t³, και το κουτί έχει δεκαπλάσιο πάχος από την πλάκα. Πάτα καμάρα για το τρίτο: 0.537 µm, γιατί εκεί μπαίνει και η καμπυλότητα.Press box and solve again: the centre drops 0.060 µm — four thousand times less, so much that the unit of the whole table changes from mm to µm. Same material, same pressure, same supports, the same 180 unknowns — but a 2 × 2 × 2 cube does not bend, it compresses. Stiffness goes with t³, and the box is ten times thicker than the plate. Press vault for a third answer: 0.537 µm, because there curvature comes in too.
- Το E μετακινεί, δεν αλλάζει σχήμαE moves, it does not reshapeΔεκαπλασίασε το E σε 300000000: κάθε μετατόπιση γίνεται το ένα δέκατο — 0.5120 → 0.0512, 0.2369 → 0.0237 — και ο λόγος τους μένει ίδιος ως το τελευταίο δεκαδικό. Το ίδιο και με την πίεση, ανάποδα. Το ν όμως όχι: σε στερεό μπαίνει στον πλήρη νόμο του Hooke και αλλάζει και το σχήμα της παραμόρφωσης, όχι μόνο το μέγεθός της — γράψε 0 και το κέντρο ανεβαίνει στα 0.2477 mm.Multiply E by ten, to 300000000: every displacement becomes a tenth — 0.5120 → 0.0512, 0.2369 → 0.0237 — and their ratios stay identical to the last decimal. Same with the pressure, the other way round. ν is different: in a solid it enters the full Hooke law and changes the shape of the deformation, not only its size — write 0 and the centre rises to 0.2477 mm.
- Μία στηριγμένη έδρα δεν φτάνειOne pinned face is not enoughΆφησε ελεύθερες τις τρεις από τις τέσσερις πλευρές και κράτα μόνο την ξ = 0: ο επιλύτης αρνείται. Δεν είναι αριθμητικό ατύχημα — η στήριξη κρατάει το κατακόρυφο και αφήνει την πλάκα να γλιστρήσει και να στρίψει, δηλαδή υπάρχει κίνηση χωρίς παραμόρφωση και το μητρώο δεν είναι θετικά ορισμένο. Ο επιλύτης το πιάνει από τον λόγο των pivots, ΠΡΙΝ τυπώσει αριθμούς που δεν σημαίνουν τίποτα.Leave three of the four sides free and keep only ξ = 0: the solver refuses. That is not a numerical accident — a pinned face holds the vertical and lets the plate slide and rotate, so there is motion without deformation and the matrix is not positive definite. The solver catches it from the ratio of the pivots, before printing numbers that mean nothing.
- Ο τανυστής πληρώνεται και εδώThe tensor is paid for here tooΤο 1.2 λύνει την ίδια πλάκα με 45 αγνώστους — γιατί το κέλυφος δεν έχει τρίτη σειρά σημείων. Εδώ οι ίδιες πέντε επί τρεις συναρτήσεις, επί τέσσερις σε βάθος, δίνουν 180. Με μακριά διανύσματα και στους τρεις άξονες ο πίνακας φτάνει τα 512 σημεία και ο επιλύτης σταματάει: πάνω από εκεί οι άγνωστοι περνούν τους 1.500 και η ζώνη τις εκατοντάδες, δηλαδή δευτερόλεπτα αναμονής μέσα σε ένα συμβάν κουμπιού. Το τρισδιάστατο στοιχείο δεν είναι «καλύτερο» από το κέλυφος — είναι ό,τι χρειάζεσαι όταν το πάχος έχει να πει κάτι, και ακριβό όταν δεν έχει.1.2 solves the same plate with 45 unknowns — because a shell has no third row of points. Here the same five by three functions, times four in depth, give 180. With long vectors on all three axes the table reaches 512 points and the solver stops: past that the unknowns pass 1,500 and the bandwidth the hundreds, which means seconds of waiting inside a button event. A three-dimensional element is not «better» than a shell — it is what you need when the thickness has something to say, and expensive when it has not.
Ο πυρήνας είναι πλήρης τρισδιάστατη ελαστικότητα με τρεις μετατοπίσεις ανά σημείο ελέγχου, ολοκλήρωση Gauss πάνω στα διαστήματα κόμβων και των τριών αξόνων, και LDLᵀ σε ζώνη — και ελέγχεται απομονωμένος, χωρίς καμβά. Τέσσερις έλεγχοι στο τελευταίο ψηφίο: σταθερή παραμόρφωση (γραμμικό πεδίο μετατοπίσεων δίνει μηδενική δύναμη σε κάθε εσωτερικό σημείο), ενέργεια απέναντι στην αναλυτική ½σ:ε·V, τρόποι στερεού σώματος (K·u = 0 για μετάθεση και στροφή), και το ολοκλήρωμα του φορτίου απέναντι στο εμβαδόν της έδρας. Και δύο έλεγχοι σύγκλισης: η αμφιέρειστη και η πακτωμένη τετράγωνη πλάκα απέναντι στη σειρά Navier — με τη διαφορά τους να πέφτει στο ένα τέταρτο κάθε φορά που μισεύει το πάχος, δηλαδή ακριβώς ως (t/a)², όπως οφείλει η διατμητική διόρθωση. Οι μονάδες είναι σύμβαση: οι συντεταγμένες του πίνακα διαβάζονται ως μέτρα, το E και η πίεση ως kN/m². Μόλις αλλάξει ένα κελί, ένα βάρος, ένα διάνυσμα ή ένας βαθμός, τα αποτελέσματα σβήνουν. Γραμμική ελαστικότητα και μικρές μετατοπίσεις.The core is full three-dimensional elasticity with three displacements per control point, Gauss integration over the knot spans of all three axes, and banded LDLᵀ — and it is checked in isolation, without a canvas. Four checks to the last digit: a constant-strain patch test (a linear displacement field produces zero force at every interior point), the strain energy against the analytic ½σ:ε·V, the rigid-body modes (K·u = 0 for translation and rotation), and the load integral against the area of the face. And two convergence checks: the simply supported and the clamped square plate against the Navier series — with their difference falling to a quarter every time the thickness halves, that is, exactly as (t/a)², as the shear correction must. The units are a convention: the table’s coordinates read as metres, E and the pressure as kN/m². The moment a cell, a weight, a knot vector or a degree changes, the results are cleared. Linear elasticity and small displacements.
Γιατί υπάρχει το trivariate. Το κέλυφος από πάνω λύνεται με δύο παραμέτρους γιατί το πάχος του δεν είναι άγνωστος — το αναλαμβάνει η θεωρία Kirchhoff–Love. Ένα στερεό δεν έχει αυτή την πολυτέλεια: όταν το σώμα είναι χοντρό, ή όταν σε ενδιαφέρει τι γίνεται μέσα του, θέλεις βάση και στην τρίτη κατεύθυνση — και τότε οι άγνωστοι πολλαπλασιάζονται αντί να προστίθενται. Το εργαστήριο δείχνει ακριβώς αυτό το τίμημα: 5 × 3 × 4 δεν είναι 12, είναι 60. Why trivariate exists. The shell above is solved with two parameters because its thickness is not an unknown — Kirchhoff–Love theory takes care of it. A solid has no such luxury: when the body is thick, or when what happens inside it is the question, you need a basis in the third direction too — and then the unknowns multiply instead of adding. This workbench shows exactly that price: 5 × 3 × 4 is not 12, it is 60.
Τι δεν αλλάζει. Και οι εξήντα συναρτήσεις είναι μη αρνητικές, αθροίζουν παντού στη μονάδα, και σε κάθε θέση είναι το πολύ (p+1)(q+1)(r+1) μη μηδενικές. Οι τρεις εγγυήσεις που κάνουν τη μέθοδο να δουλεύει — αραιός πίνακας, κυρτό περίβλημα, τοπικός φορέας — δεν εξαρτώνται από το πλήθος των διαστάσεων· εξαρτώνται από την ίδια αναδρομή, που δεν άλλαξε ούτε γραμμή για να τρέξει εδώ. Το ίδιο και η ρητοποίηση: το βάρος μετακινεί αναλογίες, όχι αθροίσματα. What does not change. All sixty functions are non-negative, they sum to one everywhere, and at any position at most (p+1)(q+1)(r+1) of them are non-zero. The three guarantees that make the method work — sparse matrix, convex hull, local support — do not depend on how many dimensions there are; they depend on the same recursion, which did not change one line to run here. Nor does making it rational: a weight moves ratios, not sums.
Πού αλλού να παςWhere else to go
Το λογισμικό μαςOur software
Οι πέντε εκδόσεις του Geomiso, με μία γραμμή για την καθεμία.The five Geomiso editions, one line each.
Άνοιγμα →Open →Geomiso SEAGeomiso SEA
Το κέλυφος Scordelis–Lo και η βάση Cox–de Boor, γραμμένες και λυμένες.The Scordelis–Lo shell and the Cox–de Boor basis, written and solved.
Άνοιγμα →Open →Geomiso DNLGeomiso DNL
Μη γραμμική ανελαστική δυναμική: Green–Lagrange, διαρροή, μάζα, χρόνος.Nonlinear inelastic dynamics: Green–Lagrange, yielding, mass, time.
Άνοιγμα →Open →