1.1 BenchmarkBenchmark
Μη γραμμική ανελαστική στατική ισογεωμετρική ανάλυση κελυφών με στοιχεία κελύφουςNonlinear inelastic static isogeometric shell analysis with shell elements
Κέλυφος Scordelis-LoThe Scordelis-Lo shell
Το πιο γνωστό δοκίμιο ελέγχου για κελύφη: ένα κυλινδρικό στέγαστρο που κρέμεται από δύο άκαμπτα διαφράγματα και κρατιέται μόνο του. Ανοίγει με τα νούμερα των Scordelis & Lo — 25 × 50 m, τόξο 80°, πάχος 25 cm — αλλά όλα γράφονται: ακτίνα, άνοιγμα, μήκος, πάχος, φορτίο, υλικό. Και από πάνω γράφεται η διακριτοποίηση, γιατί η ερώτηση του benchmark μένει η ίδια: πόσους αγνώστους χρειάζεσαι για να βρεις τη σωστή απάντηση; The best-known test case for shells: a cylindrical roof hanging from two rigid diaphragms and carrying nothing but itself. It opens on the numbers of Scordelis & Lo — 25 × 50 m, an 80° arc, 25 cm thick — but every one of them is yours to write: radius, arc, length, thickness, load, material. So is the discretisation, because the benchmark still asks one question: how many unknowns do you need to reach the right answer?
εδράζεται — u_x = u_z = 0supported — u_x = u_z = 0 ελεύθερη ακμή — εδώ μετριέται η βύθισηfree edge — the deflection is measured here
ΠαραμόρφωσηDeformation ×10 · το χρώμα είναι το επιλεγμένο πεδίο, με το μηδέν στο λευκόthe colour is the selected field, with zero at white
Σύρε για περιστροφήDrag to rotate · ρόδα για ζουμwheel to zoomδύο δάχτυλα για ζουμpinch to zoom
ΣτοιχείαElements 8×8
ΒαθμόςDegree
ΑκτίναRadius 25 m
ΤόξοArc 80°
ΜήκοςLength 50 m
ΠάχοςThickness 0.25 m
ΦορτίοLoad 90 kN/m²
Τιμή εκτός ορίων ή μη αριθμητική — το πεδίο ξαναγράφτηκε με την τιμή που όντως μπήκε στη λύση. Value out of range or not a number — the field was rewritten with the value that actually entered the solution.
Δίκτυο σεNet on
ΥλικόMaterial E = 4.32·10⁸
ΠεδίοField
ΘέαView
- u_z ελεύθερης ακμήςu_z at the free edge
- -0.2398 m
- Βύθιση / πάχοςDrop / thickness
- ×0.96
- Απόκλιση απόOff 0.3006
- -20.24 %
- ΧρόνοςTime
- — ms
αρνητικόnegative · -0.2398 m θετικόpositive · +0.0262 m
- Πύκνωσε το πλέγμαRefine the meshΜε 8×8 στοιχεία η απόκλιση είναι −20.24%: το κέλυφος βγαίνει πολύ πιο δύσκαμπτο απ’ ό,τι είναι. Πάτα 32×32 και πέφτει στο +0.58% — 3.468 άγνωστοι, που τώρα λύνονται σε φέτες: το κέλυφος γυρίζει με το ποντίκι όσο λύνεται, και ο μετρητής λέει πού βρίσκεται.With 8×8 elements the deviation is −20.24%: the shell comes out far stiffer than it is. Press 32×32 and it falls to +0.58% — 3,468 unknowns, now solved in slices: the shell keeps turning under the mouse while it solves, and the counter says how far it got.
- Ή ανέβασε τον βαθμόOr raise the degreep = 4 με μόλις 4×4 στοιχεία δίνει +0.53%, δηλαδή την ίδια ακρίβεια με 192 αγνώστους αντί για 3.468 — δεκαοκτώ φορές λιγότερους. Αυτό είναι το k-refinement: ο βαθμός πρώτα, οι κόμβοι μετά.p = 4 with just 4×4 elements gives +0.53%, the same accuracy with 192 unknowns instead of 3,468 — eighteen times fewer. That is k-refinement: degree first, knots after.
- Άνοιξε το τόξοOpen the arcΣτις 20° το κέλυφος γίνεται σχεδόν επίπεδη λωρίδα και κατεβαίνει 3.78 m· στις 120° η βύθιση πέφτει στα 0.166 m — εικοσιτρείς φορές λιγότερο, με το ίδιο ακριβώς πάχος και το ίδιο υλικό. Ένα κέλυφος δεν στέκεται με τη μάζα του, στέκεται με την καμπυλότητά του. Και όσο βαθαίνει το τόξο, τόσο πιο πυκνό πλέγμα θέλει: στα 8×8 το σφάλμα ανεβαίνει από −21% στις 80° σε −44% στις 140°.At 20° the shell is almost a flat strip and drops 3.78 m; at 120° the deflection falls to 0.166 m — twenty-three times less, at exactly the same thickness and in the same material. A shell does not stand up by its mass, it stands up by its curvature. And the deeper the arc, the finer the mesh it wants: on 8×8 the error climbs from −21% at 80° to −44% at 140°.
- Άλλαξε υλικόSwap the materialΣκυρόδεμα αντί για το φανταστικό υλικό του benchmark: η βύθιση δεκατετραπλασιάζεται, και το πεδίο n11 δεν κουνιέται ούτε ένα kN/m. Σε γραμμικό ελαστικό κέλυφος οι εντατικές δεν ξέρουν το E — το ξέρουν μόνο οι μετατοπίσεις. Το ίδιο και το φορτίο: διπλάσιο g, διπλάσια βύθιση, ίδιο σχήμα.Concrete instead of the benchmark’s fictitious material: the deflection grows fourteenfold, and the n11 field does not shift by one kN/m. In a linear elastic shell the stress resultants do not know E — only the displacements do. Same with the load: twice the g, twice the drop, identical shape.
- Γύρνα το δίκτυο στη μέσηMove the net to the middleΤα εννιά control points του πίνακα δίνουν R + t/2: την έξω επιφάνεια, όχι τη μέση — έτσι τα έγραψε η βιβλιογραφία. Με p = 4 και 8×8, γυρίζοντας το δίκτυο στη μέση επιφάνεια η απόκλιση πέφτει από +0.70% σε 0.00%. Δώδεκα εκατοστά ακτίνας, μισό τοις εκατό βύθιση.The nine control points of the table sit on R + t/2: the outer surface, not the middle one — that is how the literature wrote them. With p = 4 and 8×8, moving the net to the mid-surface drops the deviation from +0.70% to 0.00%. Twelve centimetres of radius, half a percent of deflection.
| ID | X (m) | Y (m) | Z (m) | ΒάροςWeight | ΔέσμευσηConstraint |
|---|---|---|---|---|---|
| 1 | 16.150 | 0.000 | 19.247 | 1.000 | u_x, u_z |
| 2 | 0.000 | 0.000 | 32.798 | 0.766 | u_x, u_z |
| 3 | −16.150 | 0.000 | 19.247 | 1.000 | u_x, u_z |
| 4 | 16.150 | 25.000 | 19.247 | 1.000 | — |
| 5 | 0.000 | 25.000 | 32.798 | 0.766 | — |
| 6 | −16.150 | 25.000 | 19.247 | 1.000 | — |
| 7 | 16.150 | 50.000 | 19.247 | 1.000 | u_x, u_z |
| 8 | 0.000 | 50.000 | 32.798 | 0.766 | u_x, u_z |
| 9 | −16.150 | 50.000 | 19.247 | 1.000 | u_x, u_z |
Εννιά σημεία, p = q = 2, Ξ = Η = [0, 0, 0, 1, 1, 1]: ένα στοιχείο Bézier ανά κατεύθυνση, και ο πίνακας ξαναγράφεται μόλις αλλάξει η γεωμετρία. Οι πέντε τιμές — ακτίνα, τόξο, μήκος, πάχος, φορτίο — γράφονται και μπαίνουν στη λύση με το κουμπί «Επίλυση», ή με Enter μέσα στο πεδίο. Υλικό ομοιογενές και γραμμικά ελαστικό, ν = 0. Το φορτίο είναι ανά μονάδα επιφάνειας της μέσης επιφάνειας. Πληκτρολόγιο: βελάκια για περιστροφή, + και − για ζουμ, R για επαναφορά.Nine points, p = q = 2, Ξ = Η = [0, 0, 0, 1, 1, 1]: one Bézier element per direction, and the table is rewritten the moment the geometry changes. The five values — radius, arc, length, thickness, load — are typed and enter the solution with the «Solve» button, or with Enter inside the field. Homogeneous, linearly elastic material, ν = 0. The load is per unit area of the mid-surface. Keyboard: arrow keys to rotate, + and − to zoom, R to reset.
Τι μετράει ο μετρητής. Για τα νούμερα του benchmark η βιβλιογραφία δίνει u_z = 0.3006 m στη μέση της ελεύθερης ακμής (και 0.3024 m σε ρηχή αναλυτική λύση), και ο μετρητής συγκρίνει με αυτό. Μόλις αλλάξει έστω και ένα νούμερο, τιμή βιβλιογραφίας δεν υπάρχει — οπότε η σύγκριση γίνεται με την πυκνή λύση p = 4, 16×16 του ίδιου ακριβώς προβλήματος, που τρέχει από πίσω, και ο μετρητής το γράφει από πάνω του. Ό,τι μένει είναι σφάλμα λύσης: επειδή η γεωμετρία είναι ακριβής από το πρώτο σημείο — ο κύκλος είναι κύκλος, όχι πολύγωνο που τείνει σε κύκλο — σφάλμα γεωμετρίας δεν υπάρχει. Στα πεπερασμένα στοιχεία τα δύο σφάλματα πέφτουν μαζί και δεν ξεχωρίζουν. What the counter measures. For the benchmark’s numbers the literature gives u_z = 0.3006 m at the midpoint of the free edge (and 0.3024 m from a shallow analytical solution), and that is what the counter compares against. Change a single number and there is no literature value left — so the comparison switches to the dense p = 4, 16×16 solution of the very same problem, computed in the background, and the counter says so in its own label. What remains is solution error: because the geometry is exact from the very first point — the circle is a circle, not a polygon tending to one — there is no geometry error. In finite elements the two errors fall together and cannot be told apart.
Πού σταματά το μοντέλο. Γραμμική ελαστικότητα και μικρές μετατοπίσεις, χωρίς διατμητική παραμόρφωση (Kirchhoff–Love): το κέλυφος του benchmark κατεβαίνει 0.30 m, δηλαδή περισσότερο από το πάχος του — είναι δοκίμιο σύγκρισης μεθόδων, όχι μελέτη στέγης. Γι’ αυτό υπάρχει ο μετρητής βύθιση / πάχος: πάνω από το ×2 κοκκινίζει, όχι επειδή έσπασε το κέλυφος αλλά επειδή έπαψε να ισχύει η εξίσωση. Το πεδίο του πάχους δείχνει και κάτι άλλο: στα 0.10 m η βύθιση δεν δεκαπενταπλασιάζεται όπως θα έλεγε το t³ της κάμψης, μόνο επταπλασιάζεται (σε πλέγμα που έχει συγκλίνει) — γιατί το μεγαλύτερο μέρος του φορτίου ταξιδεύει με μεμβρανικές δυνάμεις, που πάνε με t. Η μέθοδος είναι η ίδια με του βραχίονα από πάνω, μία διάσταση παραπάνω: ισογεωμετρική ανάλυση με τις ίδιες συναρτήσεις που γράφουν τη γεωμετρία.
Where the model stops. Linear elasticity and small displacements, with no shear deformation (Kirchhoff–Love): the benchmark shell drops 0.30 m, more than its own thickness — it is a yardstick for comparing methods, not a roof design. That is what the drop / thickness counter is for: past ×2 it turns red, not because the shell broke but because the equation stopped applying. The thickness field shows something else too: at 0.10 m the deflection does not grow fifteenfold as the t³ of bending would say, only sevenfold (on a converged mesh) — because most of the load travels as membrane force, which goes with t. The method is the same as the bracket above, one dimension further: isogeometric analysis with the very functions that write the geometry.
1.2 ΕργαστήριοWorkbench
Η βάση, γραμμένηThe basis, written out
Τα διαγράμματα από πάνω χρησιμοποιούν τη βάση και δείχνουν το αποτέλεσμα. Εδώ η βάση είναι το αποτέλεσμα: γράψε το διάνυσμα κόμβων Ξ και τον βαθμό p, και η σελίδα τρέχει την αναδρομή Cox–de Boor και σχεδιάζει τις συναρτήσεις μία-μία — μαζί με τη συνέχεια Cp−m που γράφει κάθε κόμβος. Δώσε και δεύτερο άξονα, Η με βαθμό q, και από τα δύο βγαίνουν οι συναρτήσεις σχήματος NURBS Ri,j(ξ,η). The diagrams above use the basis and show the result. Here the basis is the result: write the knot vector Ξ and the degree p, and the page runs the Cox–de Boor recursion and draws the functions one by one — together with the Cp−m continuity each knot writes. Add a second axis, Η with degree q, and the two of them give the NURBS shape functions Ri,j(ξ,η).
Ni,p(ξ) · άξονας ξthe ξ axis
Mj,q(η) · άξονας ηthe η axis
Ξ · —
Η · —
Ri,j(ξ,η) = NiMjwij / ΣΣNMw · η κυρίαρχη στη θέση (ξ,η)the dominant one at (ξ,η)
Σύρε για περιστροφήDrag to rotate
Διάνυσμα ΞKnot vector Ξ n = 5
Διάνυσμα ΗKnot vector Η m = 3
Αυτό δεν είναι διάνυσμα κόμβων — θέλει μη φθίνουσα ακολουθία, το πολύ 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
Βάρος τηςWeight of R w = 1.00
ΑναδρομήRecursion
- ΣυναρτήσειςFunctions
- 5 × 3 = 15
- Ενεργές εδώNon-zero here
- 9
- ΆθροισμαSum
- 1.000
- ΚυρίαρχηDominant
- R₃,₂ = 0.375
οι συναρτήσεις — έντονη η κυρίαρχηthe functions — the dominant one in bold ό,τι γράφεις: η θέση, οι κόμβοι, τα σκαλιά της αναδρομήςwhat you write: the position, the knots, the steps of the recursion
- Ξ = {0,0,0,1,2,3,3,3}, p = 2Ξ = {0,0,0,1,2,3,3,3}, p = 2Πέντε συναρτήσεις — n = πλήθος κόμβων − p − 1 — και τρία στοιχεία. Στο ξ = 1.5 οι μη μηδενικές είναι ακριβώς τρεις: 0.125, 0.75, 0.125. Στον κόμβο ξ = 1 γίνονται δύο ίσες, 0.5 και 0.5. Ποτέ περισσότερες από p+1, και το άθροισμα πάντα 1: αυτά τα δύο μαζί είναι ο λόγος που ο πίνακας της ανάλυσης βγαίνει αραιός και η γεωμετρία μένει στο κυρτό περίβλημα.Five functions — n = number of knots − p − 1 — and three elements. At ξ = 1.5 exactly three are non-zero: 0.125, 0.75, 0.125. At the knot ξ = 1 they become two equal ones, 0.5 and 0.5. Never more than p+1, and the sum always 1: those two together are why the analysis matrix comes out sparse and the geometry stays inside the convex hull.
- Διπλασίασε έναν κόμβοDouble a knotΓράψε 0 0 0 1 1 2 3 3 3. Ο κόμβος ξ = 1 έχει τώρα πολλαπλότητα 2, οπότε η συνέχεια εκεί πέφτει από C¹ σε C⁰ — και μία συνάρτηση φτάνει το 1 ακριβώς πάνω του, δηλαδή η καμπύλη θα περνούσε από το σημείο ελέγχου της. Με τρίτη επανάληψη (πολλαπλότητα p+1 = 3) η βάση γίνεται C⁻¹: εκεί σταματά η καμπύλη και αρχίζει η γωνία. Η λωρίδα κάτω από τον άξονα το γράφει σε κάθε κόμβο, χωρίς να χρειάζεται να μετρήσεις.Write 0 0 0 1 1 2 3 3 3. The knot ξ = 1 now has multiplicity 2, so the continuity there drops from C¹ to C⁰ — and one function reaches 1 exactly on it, meaning the curve would pass through its control point. With a third repeat (multiplicity p+1 = 3) the basis becomes C⁻¹: that is where the curve stops and the corner begins. The strip under the axis says it at every knot, so you never have to count.
- Ανέβασε τον βαθμό στο ίδιο διάνυσμαRaise the degree on the same vectorΠάτα p = 3 χωρίς να αλλάξεις το Ξ. Το πεδίο συρρικνώνεται από [0, 3] σε [1, 2] και οι συναρτήσεις πέφτουν σε τέσσερις: ένα διάνυσμα είναι δεσμευμένο για έναν βαθμό, γιατί θέλει p+1 επαναλήψεις σε κάθε άκρο. Γι’ αυτό το k-refinement ανεβάζει πρώτα τον βαθμό και βάζει κόμβους μετά — και γι’ αυτό τα κουμπιά που δεν χωράνε στο διάνυσμα σβήνουν μόνα τους.Press p = 3 without touching Ξ. The domain shrinks from [0, 3] to [1, 2] and the functions drop to four: a vector is clamped for one degree, because it needs p+1 repeats at each end. That is why k-refinement raises the degree first and inserts knots after — and why the buttons that do not fit the vector grey themselves out.
- Και τώρα το βάροςAnd now the weightΣτη θέση (1.5, 0.5) κυριαρχεί η R₃,₂ = 0.375. Σύρε το βάρος της στο 5: ανεβαίνει στο 0.750 — και η διπλανή της R₃,₁ πέφτει από 0.1875 σε 0.075, χωρίς να την αγγίξει κανείς. Ο παρονομαστής είναι κοινός: ένα βάρος δεν είναι τοπικός συντελεστής, είναι αναλογία απέναντι σε όλες τις άλλες. Και το άθροισμα μένει 1.000 — γι’ αυτό η ρητοποίηση δεν χαλάει τίποτα από όσα στηρίζονται σε αυτό.At (1.5, 0.5) the dominant one is R₃,₂ = 0.375. Drag its weight to 5: it climbs to 0.750 — and its neighbour R₃,₁ falls from 0.1875 to 0.075, with nobody touching it. The denominator is shared: a weight is not a local coefficient, it is a ratio against all the others. And the sum stays 1.000 — which is why making the basis rational breaks none of the guarantees that rest on it.
Τίποτα δεν είναι προϋπολογισμένο: η αναδρομή τρέχει σε κάθε καρέ, για κάθε δείγμα και για τους δύο άξονες. Το διάνυσμα δεν κανονικοποιείται στο [0, 1] — ο άξονας γράφει τους αριθμούς που έγραψες. Το πεδίο ορισμού είναι [ξp, ξn] και όχι όλο το διάνυσμα: δοκίμασε το μη δεσμευμένο 0 1 2 3 4 5 6 7 με p = 2 και θα δεις το πεδίο να πιάνει μόνο το [2, 5], όπου και μόνο εκεί οι συναρτήσεις αθροίζουν στη μονάδα. Τα δύο πεδία δέχονται κενά ή κόμματα, ως 14 τιμές, από 0 ως 99, και μπαίνουν με το κουμπί ή με Enter. Πληκτρολόγιο πάνω στην επιφάνεια: βελάκια για περιστροφή.Nothing here is precomputed: the recursion runs on every frame, for every sample, on both axes. The vector is not normalised to [0, 1] — the axis prints the numbers you wrote. The domain is [ξp, ξn], not the whole vector: try the unclamped 0 1 2 3 4 5 6 7 with p = 2 and watch the domain cover only [2, 5], which is exactly where the functions sum to one. Both fields take spaces or commas, up to 14 values, from 0 to 99, and enter the drawing with the button or with Enter. Keyboard on the surface: arrow keys to rotate.
Και τώρα τα σημείαAnd now the points
Η βάση από πάνω δεν ξέρει πού βρίσκεται τίποτα: λέει πόσο μετράει κάθε σημείο ελέγχου, όχι πού είναι. Το «πού» το δίνει ο πίνακας. Κάθε γραμμή είναι ένα σημείο Pij με τις καρτεσιανές του συντεταγμένες και το βάρος του, και οι γραμμές είναι ακριβώς n·m — όσες και οι συναρτήσεις σχήματος. Από τα δύο μαζί βγαίνει γεωμετρία: The basis above knows where nothing is: it says how much each control point counts, not where it sits. The table gives the where. Every row is one point Pij with its Cartesian coordinates and its weight, and the rows are exactly n·m — as many as the shape functions. The two together make geometry:
S(ξ,η) = Σᵢ Σⱼ Rᵢⱼ(ξ,η) · Pᵢⱼ
S(ξ,η) · η γεωμετρία που γράφει ο πίνακαςthe geometry the table writes
Σύρε για περιστροφήDrag to rotate
Έτοιμο δίκτυοReady-made net
Το δίκτυοThe net
Γράψε σε όποιο κελί θέλεις: η επιφάνεια ακολουθεί καθώς γράφεις. Η αναμμένη γραμμή είναι το σημείο της κυρίαρχης συνάρτησης στη θέση (ξ, η).Type into any cell: the surface follows as you type. The lit row is the point of the dominant shape function at (ξ, η).
| Pij | X | Y | Z | w |
|---|
- ΓραμμέςRows
- 15
- S(ξ,η)
- 0.383, 0.000, 0.892
- ΑναμμένηLit row
- P₃,₂
τα σημεία που γράφειςthe points you write η επιφάνεια που βγαίνειthe surface they make
Και τώρα η λύσηAnd now the solution
Ο πίνακας από πάνω γράφει σχήμα. Δώσε του υλικό, πάχος, στηρίξεις και φορτίο και το ίδιο σχήμα γίνεται φορέας: το δίκτυο είναι η μέση επιφάνεια ενός κελύφους Kirchhoff–Love, οι Rij που σχεδίασαν τη γεωμετρία γίνονται οι συναρτήσεις σχήματος της ανάλυσης, και οι άγνωστοι είναι — ακριβώς — οι μετατοπίσεις των n·m σημείων ελέγχου. Καμία δεύτερη διακριτοποίηση: το μοντέλο του σχεδιαστή είναι το μοντέλο του υπολογισμού. The table above writes a shape. Give it a material, a thickness, supports and a load and the same shape becomes a structure: the net is the mid-surface of a Kirchhoff–Love shell, the Rij that drew the geometry become the shape functions of the analysis, and the unknowns are — exactly — the displacements of the n·m control points. No second discretisation: the designer’s model is the analysis model.
K u = f , uᵢⱼ = (uₓ, uₖ, uₗ) ανά σημείο ελέγχουper control point
Μέτρο ελαστικότηταςYoung’s modulus
Λόγος PoissonPoisson’s ratio
ΠάχοςThickness
ΦορτίοLoad
Διεύθυνση φορτίουLoad direction
Δεσμεύσεις των ακμώνEdge constraints
ξ = 0 · P1,j
ξ = 1 · Pn,j
η = 0 · Pi,1
η = 1 · Pi,m
Η στήριξη ακινητοποιεί τα σημεία της ακμής· η πάκτωση ακινητοποιεί και τη διπλανή σειρά, που είναι όλη η πάκτωση σε διατύπωση χωρίς στροφικούς βαθμούς ελευθερίας.A pinned edge holds its own row of points; a clamped edge holds the next row as well, which is the whole of clamping in a rotation-free formulation.
Το κέλυφος Kirchhoff–Love θέλει δεύτερη παράγωγο, άρα p ≥ 2 και q ≥ 2. Με βαθμό 0 ή 1 δεν υπάρχει καμπυλότητα να υπολογιστεί.A Kirchhoff–Love shell needs a second derivative, hence p ≥ 2 and q ≥ 2. At degree 0 or 1 there is no curvature to compute. Ο επιλύτης θέλει δεσμευμένο διάνυσμα κόμβων και στους δύο άξονες — πολλαπλότητα p+1 στα δύο άκρα. Μόνο τότε η ακμή του φορέα περνάει από τα ακραία σημεία ελέγχου, άρα μόνο τότε σημαίνει κάτι το «δεσμεύω την ακμή».The solver needs a clamped knot vector on both axes — multiplicity p+1 at either end. Only then does the boundary of the patch pass through the outermost control points, and only then does «constrain the edge» mean anything. Και οι τέσσερις ακμές είναι ελεύθερες: ο φορέας δεν στηρίζεται πουθενά, οπότε δεν υπάρχει λύση — υπάρχει κίνηση. Δώσε στήριξη ή πάκτωση σε τουλάχιστον μία.All four edges are free: the structure rests on nothing, so there is no solution — there is motion. Give at least one edge a pinned or clamped support. Το μητρώο δεν βγήκε θετικά ορισμένο: ο φορέας μπορεί ακόμη να κινηθεί χωρίς να παραμορφωθεί (μία στηριγμένη ακμή αφήνει στροφή γύρω της) ή το πάχος είναι τόσο μικρό που η ζώνη έχασε την ακρίβειά της. Στήριξε δεύτερη ακμή ή ανέβασε το πάχος.The matrix did not come out positive definite: either the structure can still move without deforming (one supported edge leaves a rotation about it free), or the thickness is so small that the band lost its precision. Support a second edge, or raise the thickness. Δεσμεύτηκαν όλα τα σημεία, οπότε δεν έμεινε τίποτα να λυθεί. Μια πάκτωση πιάνει δύο σειρές σημείων: σε δίκτυο με τρεις σειρές, δύο πακτωμένες απέναντι ακμές τις καταπίνουν ολόκληρες. Δώσε πιο μακρύ διάνυσμα κόμβων στον άξονα που πακτώθηκε — ή στήριξη αντί για πάκτωση.Every point ended up constrained, so nothing was left to solve. A clamped edge holds two rows of points: on a net with three rows, two opposite clamped edges swallow all of them. Write a longer knot vector on the clamped axis — or use pinned instead of clamped. Το δίκτυο δεν ορίζει επιφάνεια με εμβαδόν — τα σημεία είναι συνευθειακά ή ταυτισμένα. Γράψε γεωμετρία που ανοίγει και στους δύο άξονες.The net does not define a surface with any area — the points are collinear or coincident. Write geometry that opens up on both axes. Έλυσε, αλλά: ένας εσωτερικός κόμβος έχει πολλαπλότητα που ρίχνει τη βάση σε C⁰. Το Kirchhoff–Love θέλει C¹ — πάνω σε εκείνη τη γραμμή η καμπυλότητα σπάει, και οι αριθμοί δεν είναι πια η λύση αυτού του προβλήματος.It solved, but: an interior knot has a multiplicity that drops the basis to C⁰. Kirchhoff–Love needs C¹ — along that line the curvature breaks, and the numbers are no longer the solution of this problem. Τιμή εκτός ορίων ή μη αριθμητική — το πεδίο ξαναγράφτηκε με την τιμή που όντως μπήκε στη λύση.Value out of range or not a number — the field was rewritten with the value that actually entered the solution.
P′ij = Pij + uij · η παραμορφωμένη γεωμετρίαthe deformed geometry · μεγέθυνσηmagnification —
Σύρε για περιστροφήDrag to rotate
| Pij | ux — | uy — | uz — | |u| — |
|---|
- ΔεσμευμένοιConstrained
- —
- max |u|
- —
- Στο σημείοAt the point
- —
- ΧρόνοςTime
- — ms
Και τώρα το νέο σχήμαAnd now the new shape
Ο πίνακας από πάνω γράφει πόσο μετακινήθηκε κάθε σημείο ελέγχου. Πρόσθεσέ το στο σημείο και έχεις το πού: P′ij = Pij + uij. Και επειδή οι άγνωστοι της ανάλυσης ήταν τα σημεία ελέγχου, το παραμορφωμένο σχήμα είναι ξανά NURBS — ίδιο διάνυσμα κόμβων, ίδιος βαθμός, ίδια βάρη — και σχεδιάζεται με τον ίδιο ακριβώς τύπο που σχεδίασε και το απαραμόρφωτο. Καμία παρεμβολή, κανένα δεύτερο μοντέλο: η λύση είναι γεωμετρία, έτοιμη να ξαναμπεί σε CAD. The table above says how much each control point moved. Add that to the point and you have the where: P′ij = Pij + uij. And because the unknowns of the analysis were the control points, the deformed shape is NURBS again — same knot vectors, same degrees, same weights — drawn by the very formula that drew the undeformed one. No interpolation, no second model: the solution is geometry, ready to go back into CAD.
S′(ξ,η) = Σᵢ Σⱼ Rᵢⱼ(ξ,η) · (Pᵢⱼ + uᵢⱼ)
S′(ξ,η) · το σχήμα που βγήκε — με γραμμές το απαραμόρφωτοthe shape that came out — the undeformed one in lines
Σύρε για περιστροφήDrag to rotate
ΜεγέθυνσηMagnification
Χρωματικό πεδίοColour field
Το απαραμόρφωτοThe undeformed
Το νέο δίκτυοThe new net
Διάρκεια βίντεοVideo length
Η εικόνα μεγεθύνεται — αλλιώς 0.29 mm πάνω σε φορέα δύο μέτρων δεν φαίνεται με κανένα μάτι. Ο πίνακας όχι: γράφει τις αληθινές νέες συντεταγμένες, με συντελεστή 1, πάντα. Τα δύο χειριστήρια κινούν και τους δύο καμβάδες. Η αναπαραγωγή ανεβάζει το φορτίο από το 0 στο 100%: η ανάλυση είναι γραμμική, οπότε κάθε ενδιάμεσο καρέ είναι η λύση του ίδιου φορέα για λ φορές το φορτίο. Το χρωματικό πεδίο βάφει την επιφάνεια με το μέτρο της μετατόπισης — ομαλά ή σε δέκα ζώνες, που είναι οι ισοϋψείς του. Η κλίμακά του μετριέται στο πλήρες φορτίο και μένει ακίνητη, ώστε στην αναπαραγωγή τα χρώματα να ανάβουν μαζί με το φορτίο. Το μέγιστό της είναι της επιφάνειας και όχι του πίνακα: τα σημεία ελέγχου δεν κάθονται πάνω της, τη σέρνουν από έξω, και μετατοπίζονται περισσότερο από αυτήν.The picture is magnified — otherwise 0.29 mm on a two-metre structure 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 surface 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 surface, not of the table: the control points do not sit on it, they pull it from outside, and they move further than it does.
| P′ij | X′ | Y′ | Z′ | w |
|---|
- max |u|
- —
- Στο σημείοAt the point
- —
- ΔεκαδικάDecimals
- —
τα νέα σημεία ελέγχουthe new control points η παραμορφωμένη επιφάνεια — με γραμμές η αρχικήthe deformed surface — the original one in lines το ίχνος της μεγαλύτερης μετατόπισηςthe trace of the largest displacement
- Οι άγνωστοι είναι ο πίνακαςThe unknowns are the tableΔεκαπέντε σημεία ελέγχου, 45 άγνωστοι — και καμία γραμμή παραπάνω. Ο πίνακας των αποτελεσμάτων έχει τις ίδιες ετικέτες με τον πίνακα της γεωμετρίας, στην ίδια σειρά: η P₃,₂ από κάτω είναι η P₃,₂ από πάνω, μετακινημένη. Σε πεπερασμένα στοιχεία εδώ θα υπήρχε ένα δεύτερο πλέγμα, με δικούς του κόμβους και δική του αρίθμηση.Fifteen control points, 45 unknowns — and not one row more. The results table carries the same labels as the geometry table, in the same order: the P₃,₂ below is the P₃,₂ above, displaced. In finite elements there would be a second mesh here, with its own nodes and its own numbering.
- Δεν υπάρχει διακόπτης πλέγματοςThere is no mesh switchΚαι είναι σκόπιμο. Γράψε 0 0 0 1 2 3 4 5 5 5 στο Ξ: οι άγνωστοι πάνε από 45 σε 63 και η μετατόπιση από 0.2916 σε 0.2492 mm. Το ίδιο και στο Η — 45 σε 75. Πρόσεξε όμως τι άλλαξε μαζί: με νέο διάνυσμα ξαναγράφεται και ο πίνακας, οπότε αυτό δεν είναι σκέτη εκλέπτυνση, είναι άλλη διακριτοποίηση και άλλη παραμετροποίηση. Ακριβώς αυτό σημαίνει «ένα μοντέλο»: δεν υπάρχει βίδα να γυρίσεις μόνο τη μία μεριά.And that is on purpose. Write 0 0 0 1 2 3 4 5 5 5 into Ξ: the unknowns go from 45 to 63 and the displacement from 0.2916 to 0.2492 mm. Same on Η — 45 to 75. But notice what changed with it: a new vector rewrites the table too, so this is not plain refinement, it is a different discretisation and a different parameterisation. That is exactly what «one model» means: there is no screw that turns only one side.
- Το τόξο απέναντι στο επίπεδοThe arc against the planeΛύσε το τόξο όπως ανοίγει: 0.2916 mm. Πάτα επίπεδο και ξαναλύσε — 5.4570 mm, δηλαδή δεκαεννιά φορές περισσότερο, με τα ίδια σημεία, το ίδιο υλικό, το ίδιο πάχος και το ίδιο φορτίο. Πάτα σέλα και πέφτει στα 0.0198 mm, δεκαπέντε φορές κάτω από το τόξο: η διπλή καμπυλότητα είναι ακόμη πιο αποδοτική από τη μονή. Ένα κέλυφος δεν στέκεται με τη μάζα του, στέκεται με την καμπυλότητά του — το ίδιο μάθημα με το 1.1, εδώ με σημεία που γράφεις εσύ.Solve the arc as it opens: 0.2916 mm. Press plane and solve again — 5.4570 mm, nineteen times more, with the same points, the same material, the same thickness and the same load. Press saddle and it drops to 0.0198 mm, fifteen times below the arc: double curvature is even more efficient than single. A shell does not stand up by its mass, it stands up by its curvature — the same lesson as 1.1, here with points you wrote yourself.
- Στήριξη ή πάκτωσηPinned or clampedΓράψε πρώτα 0 0 0 1 2 3 3 3 στο Η — θα δεις γιατί αμέσως. Με στηριγμένες τις δύο ακμές η η μετατόπιση είναι 0.1821 mm· γύρισέ τες σε πάκτωση και πέφτει στα 0.0834 mm, στο μισό. Δεσμεύονται δύο σειρές σημείων αντί για μία, οπότε η κλίση στην ακμή γίνεται ακριβώς μηδέν — μια συνθήκη στροφής γραμμένη με θέσεις, χωρίς κανέναν στροφικό βαθμό ελευθερίας. Και αν το δοκιμάσεις με το αρχικό Η των τριών σειρών, ο επιλύτης θα σου πει ότι δύο πακτώσεις τις έφαγαν όλες: αυτό ακριβώς κοστίζει η πάκτωση.First write 0 0 0 1 2 3 3 3 into Η — you will see why in a moment. With both η edges pinned the displacement is 0.1821 mm; turn them into clamped and it halves to 0.0834 mm. Two rows of points are held instead of one, so the slope at the edge becomes exactly zero — a rotation condition written with positions, without a single rotational degree of freedom. And if you try it on the original three-row Η, the solver will tell you two clamps ate every row there was: that is precisely what clamping costs.
- Το E μετακινεί, δεν αλλάζει σχήμαE moves, it does not reshapeΔεκαπλασίασε το E: κάθε μετατόπιση γίνεται το ένα δέκατο, και ο λόγος τους μένει ίδιος ως το τελευταίο δεκαδικό. Το ίδιο και με το φορτίο, ανάποδα. Σε γραμμική ελαστικότητα το u είναι ανάλογο του φορτίου και αντιστρόφως ανάλογο του E — το σχήμα της παραμόρφωσης το γράφει η γεωμετρία και οι στηρίξεις, όχι το υλικό.Multiply E by ten: every displacement becomes a tenth of what it was, and their ratios stay identical to the last decimal. Same with the load, the other way round. In linear elasticity u is proportional to the load and inversely proportional to E — the shape of the deformation is written by the geometry and the supports, not by the material.
- Η λύση ξαναγίνεται σχήμαThe solution becomes a shape againΟ πίνακας των νέων σημείων από κάτω δεν είναι δεύτερο αποτέλεσμα — είναι ο ίδιος, συν μία πρόσθεση. Και επειδή τα P′ είναι πάλι σημεία ελέγχου πάνω στο ίδιο διάνυσμα κόμβων, το παραμορφωμένο σχήμα είναι NURBS και όχι νέφος μετακινημένων κόμβων: ξαναμπαίνει σε CAD ως γεωμετρία. Αυτό δεν είναι ευκολία, είναι το ίδιο το επιχείρημα της μεθόδου.The table of new points below is not a second result — it is the same one, plus an addition. And because the P′ are again control points over the same knot vectors, the deformed shape is NURBS and not a cloud of displaced nodes: it goes back into CAD as geometry. That is not a convenience, it is the argument for the method.
- Η εικόνα μεγεθύνει, οι αριθμοί όχιThe picture magnifies, the numbers do notΜε το τόξο όπως ανοίγει, το max |u| είναι 0.2916 mm σε φορέα δύο μέτρων: στην πραγματική του κλίμακα δεν θα ξεχώριζες την παραμόρφωση από την ευθεία. Γι’ αυτό ο καμβάς σχεδιάζει με συντελεστή — γραμμένο πάντα στη λεζάντα — και γι’ αυτό ο πίνακας δεν σχεδιάζει με κανέναν. Πάτα ×1 και δες τι σημαίνει «μικρές μετατοπίσεις»: η γραμμική ελαστικότητα ισχύει ακριβώς επειδή δεν φαίνεται τίποτα.With the arc as it opens, max |u| is 0.2916 mm on a two-metre structure: at true scale you could not tell the deformed shape from the original. That is why the canvas draws with a factor — always written in the caption — and why the table draws with none. Press ×1 and see what «small displacements» means: linear elasticity holds precisely because nothing shows.
Ο πυρήνας είναι ο ίδιος με το κέλυφος του 1.1 — Kirchhoff–Love με τρεις μετατοπίσεις ανά σημείο ελέγχου και καμία στροφή, ολοκλήρωση Gauss πάνω στα διαστήματα κόμβων, LDLᵀ σε ζώνη — και ελέγχεται απομονωμένος απέναντι σε δύο κλειστές λύσεις: το Scordelis–Lo και τη σειρά Navier της αμφιέρειστης τετράγωνης πλάκας. Οι μονάδες είναι σύμβαση: οι συντεταγμένες του πίνακα διαβάζονται ως μέτρα, το E και το φορτίο ως kN/m². Το φορτίο είναι ανά μονάδα επιφάνειας της μέσης επιφάνειας — το «κάθετο» ακολουθεί το a₃ = a₁ × a₂, δηλαδή αλλάζει μεριά αν αντιστραφεί η φορά του ξ. Μόλις αλλάξει ένα κελί, ένα βάρος, ένα διάνυσμα ή ένας βαθμός, τα αποτελέσματα σβήνουν: μετατοπίσεις δίπλα σε γεωμετρία που δεν τις γέννησε μοιάζουν με απάντηση, και δεν είναι. Γραμμική ελαστικότητα και μικρές μετατοπίσεις — αν το max |u| ξεπεράσει το πάχος, η εξίσωση έχει ήδη πάψει να ισχύει.The core is the same as the shell of 1.1 — Kirchhoff–Love with three displacements per control point and no rotations, Gauss integration over the knot spans, banded LDLᵀ — and it is checked in isolation against two closed-form solutions: Scordelis–Lo and the Navier series of the simply supported square plate. The units are a convention: the table’s coordinates read as metres, E and the load as kN/m². The load is per unit area of the mid-surface — «normal» follows a₃ = a₁ × a₂, so it changes side if the direction of ξ is reversed. The moment a cell, a weight, a knot vector or a degree changes, the results are cleared: displacements next to geometry that did not produce them look like an answer, and are not. Linear elasticity and small displacements — once max |u| passes the thickness, the equation has already stopped applying.
- Η επιφάνεια δεν περνά από τα σημείαThe surface misses the pointsΤο τόξο βάζει όλα του τα σημεία πάνω σε κύκλο ακτίνας 1, και η επιφάνεια περνά μέσα από αυτόν: στη μέση του πεδίου ο μετρητής γράφει 0.981, όχι 1. Αυτό δεν είναι σφάλμα, είναι το κυρτό περίβλημα — η ίδια ιδιότητα που κάνει τη γεωμετρία προβλέψιμη. Οι δύο ακραίες γωνίες όμως πιάνονται ακριβώς: με δεσμευμένο διάνυσμα η επιφάνεια ακουμπά τα τέσσερα σημεία των γωνιών.The arc puts every one of its points on a circle of radius 1, and the surface runs inside it: at the middle of the domain the counter reads 0.981, not 1. That is not an error, it is the convex hull — the very property that makes the geometry predictable. The extreme corners are met exactly though: with a clamped vector the surface touches the four corner points.
- Σήκωσε ένα και μόνο ZRaise a single ZΠάτα επίπεδο και γράψε 2 στο Z μιας μεσαίας γραμμής. Δεν σηκώνεται όλη η επιφάνεια: σηκώνεται το κομμάτι της που ζει πάνω στα (p+1)(q+1) στοιχεία του σημείου, και έξω από εκεί το φύλλο μένει ακίνητο στο μηδέν. Ο τοπικός φορέας των συναρτήσεων από πάνω, με μια συντεταγμένη αντί για διάγραμμα.Press plane and write 2 into the Z of a middle row. The whole surface does not rise: what rises is the part living over the point’s (p+1)(q+1) elements, and outside them the sheet stays flat at zero. That is the local support of the functions above, written with one coordinate instead of a diagram.
- Το βάρος τραβάει, δεν μετακινείA weight pulls, it does not moveΓράψε 5 στο w μιας γραμμής: η επιφάνεια τραβιέται προς εκείνο το σημείο χωρίς να κουνηθεί ούτε ένα X, Y ή Z. Γράψε 0.05 και τη διώχνει. Ο διακόπτης «Βάρος της» από πάνω γράφει στο ίδιο κελί — είναι ο ίδιος αριθμός, από δύο μεριές.Write 5 into the w of a row: the surface is pulled towards that point without a single X, Y or Z moving. Write 0.05 and it is pushed away. The «Weight of» slider above writes into the same cell — it is one number, reached from two sides.
- Άλλαξε διάνυσμα, χάνεις το δίκτυοChange the vector, lose the netΠρόσθεσε έναν κόμβο στο Ξ και οι γραμμές γίνονται περισσότερες: ο πίνακας ξαναγράφεται από την αρχή. Δεν είναι απροσεξία — ένα P που ανήκε στην τρίτη από πέντε συναρτήσεις δεν σημαίνει τίποτα όταν οι συναρτήσεις γίνουν έξι, όπως ακριβώς και τα βάρη. Πρώτα η βάση, μετά τα σημεία.Add one knot to Ξ and the rows multiply: the table is written again from scratch. That is not carelessness — a P that belonged to the third of five functions means nothing once there are six of them, exactly as with the weights. Basis first, points after.
Τα κελιά δέχονται κόμμα ή τελεία και επιστημονική σημειογραφία, οι συντεταγμένες ως ±999 και το βάρος από 0.05 ως 5 — τα ίδια όρια με τη λαβή του βάρους. Ό,τι δεν διαβάζεται ως αριθμός κοκκινίζει και το κελί ξαναγράφεται με την τιμή που όντως σχεδιάζεται. Το κάδρο μετριέται σε κάθε καρέ πάνω στα ίδια τα σημεία, οπότε ένα δίκτυο σε χιλιοστά και ένα σε μέτρα γεμίζουν το ίδιο τον καμβά: η κλίμακα εδώ δεν είναι πληροφορία, η μορφή είναι.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. Anything that does not read as a number turns red, and the cell is rewritten with the value actually drawn. The frame is measured on every frame from the points themselves, so a net in millimetres and one in metres fill the canvas alike: scale is not the information here, shape is.
Πού αλλού να παςWhere else to go
Το λογισμικό μαςOur software
Οι πέντε εκδόσεις του Geomiso, με μία γραμμή για την καθεμία.The five Geomiso editions, one line each.
Άνοιγμα →Open →Geomiso DNLGeomiso DNL
Μη γραμμική ανελαστική δυναμική: Green–Lagrange, διαρροή, μάζα, χρόνος.Nonlinear inelastic dynamics: Green–Lagrange, yielding, mass, time.
Άνοιγμα →Open →Geomiso v1.0Geomiso v1.0
Ο κανόνας σε καμπύλη, πλέγμα και στερεό, και η τσάκιση που κρατά τις ακμές.The rule on a curve, a mesh and a solid, and the crease that keeps edges.
Άνοιγμα →Open →