1.4 ΕργαστήριοWorkbench

Μη γραμμική ανελαστική δυναμική ισογεωμετρική ανάλυση με NURBS και T-SplinesNonlinear inelastic dynamic isogeometric analysis with NURBS and T-Splines

Το 1.3 λύνει K u = f: ένας πίνακας, μία λύση, ένας χρόνος που δεν υπάρχει. Εδώ φεύγουν και τα τρία. Μη γραμμική, γιατί η παραμόρφωση μετριέται με Green–Lagrange και μια στροφή δεν γεννά τάση. Ανελαστική, γιατί πάνω από το σy το υλικό δεν γυρίζει πίσω — και ό,τι μένει το γράφει ο πίνακας. Δυναμική, γιατί το φορτίο έχει ιστορία και ο φορέας μάζα: η απόκριση δεν είναι ένα διάνυσμα, είναι μερικές εκατοντάδες. 1.3 solves K u = f: one matrix, one solution, one time that does not exist. Here all three go. Nonlinear, because strain is measured with Green–Lagrange and a rotation creates no stress. Inelastic, because above σy the material does not come back — and what stays behind is written in the table. Dynamic, because the load has a history and the structure has mass: the response is not one vector, it is a few hundred.

Πρώτα ο φορέαςThe structure first

Ίδιο trivariate NURBS με το 1.3: n·m·l σημεία ελέγχου, τέσσερα πεδία το καθένα, και ο όγκος που βγαίνει από αυτά. Ένα πράγμα λείπει — τα γραμμένα διανύσματα κόμβων. Δεν λείπει από αμέλεια: ο επιλύτης από κάτω είναι ρητός, δηλαδή πληρώνει το πλέγμα σε βήματα χρόνου και όχι σε αγνώστους. Τρεις εσωτερικοί κόμβοι παραπάνω δεν προσθέτουν «λίγους αγνώστους»: κόβουν το Δt στη μέση και διπλασιάζουν τον χρόνο. Γι' αυτό το πλέγμα εδώ διαλέγεται — βαθμός και στοιχεία ανά άξονα — και τα δεσμευμένα ομοιόμορφα διανύσματα τα γράφει ο κώδικας. The same trivariate NURBS as 1.3: n·m·l control points, four fields each, and the volume they make. One thing is missing — the written knot vectors. Not out of carelessness: the solver below is explicit, which means it pays for the mesh in time steps, not in unknowns. Three more interior knots do not add «a few unknowns»: they halve Δt and double the running time. So here the mesh is chosen — degree and elements per axis — and the clamped uniform knot vectors are written by the code.

V(ξ,η,ζ) = Σᵢ Σⱼ Σₖ Rᵢⱼₖ(ξ,η,ζ) · Pᵢⱼₖ
V(ξ,η,ζ) = ΣΣΣ Rijk Pijk σημείαpoints · 5 × 3 × 3 = 45

V(ξ,η,ζ) · ο φορέας που θα λυθεί στον χρόνοthe structure that will be solved in time

Σύρε για περιστροφήDrag to rotate

Έτοιμος φορέαςReady-made structure

Βαθμός p = q = rDegree p = q = r 2

Στοιχεία ξ × η × ζElements ξ × η × ζ 3 × 1 × 1 = 3

Το στερεόThe solid

Το πλέγμαThe lattice

Γράψε σε όποιο κελί θέλεις: ο φορέας ακολουθεί καθώς γράφεις. Ο πρόβολος είναι η προεπιλογή και όχι η πλάκα, για έναν λόγο: η πλαστική άρθρωση θέλει να φαίνεται. Η πλάκα είναι ίδια με του 1.3 — ίδιος φορέας, ίδιος πίνακας, μια γραμμική στατική δίπλα σε μια μη γραμμική δυναμική. Κάθε αλλαγή βαθμού, στοιχείων ή φορέα ξαναγράφει τον πίνακα από την αρχή.Type into any cell: the structure follows as you type. The cantilever is the default rather than the plate, for one reason: a plastic hinge deserves to be seen. The plate is the same one as in 1.3 — same structure, same table, a linear static analysis next to a nonlinear dynamic one. Any change of degree, elements or structure rewrites the table from scratch.

Οι τρεις καρτεσιανές συντεταγμένες και το βάρος κάθε σημείου ελέγχου του φορέα, μία γραμμή ανά σημείοThe three Cartesian coordinates and the weight of every control point of the structure, one row per point
Pijk X Y Z w
ΣημείαPoints
5 × 3 × 3
Σημεία GaussGauss points
81

Και τώρα η λύση, στον χρόνοAnd now the solution, in time

Τρία πράγματα προστίθενται σε σχέση με το 1.3, και κανένα δεν είναι ένα πεδίο παραπάνω. Η πυκνότητα ρ: χωρίς μάζα δεν υπάρχει δυναμική, και η μάζα είναι που δίνει την ιδιοπερίοδο, δηλαδή τη μονάδα του χρόνου όλου του πειράματος. Το όριο διαρροής σy και η κράτυνση H: πάνω από το σy το υλικό παύει να γυρίζει πίσω, και αυτό είναι η μόνιμη παραμόρφωση. Και η ιστορία του φορτίου: το φορτίο δεν είναι πια αριθμός, είναι συνάρτηση του χρόνου. Three things are added compared with 1.3, and none of them is just one more field. The density ρ: without mass there is no dynamics, and it is the mass that gives the natural period, that is, the unit of time of the whole experiment. The yield stress σy and the hardening H: above σy the material stops coming back, and that is the permanent deformation. And the load history: the load is no longer a number, it is a function of time.

F = I + ∇u ,  E = ½(FᵀF − I)
‖dev S‖ ≤ √(2/3)·(σₖ + H·α)
M ü + C &udot; + fint(u) = λ(t)·fext

Ο επιλύτης είναι ρητός — κεντρικές διαφορές με συγκεντρωμένη μάζα. Δεν λύνει κανένα σύστημα: μία διαίρεση με τη διαγώνιο ανά βήμα. Πληρώνει με το βήμα, και το βήμα το ορίζει η μεγαλύτερη ιδιοσυχνότητα του πλέγματος, όχι η γνώμη μας: Δt = 0.9 · 2/ωmax. Και τα δύο, το ωmax και η ιδιοπερίοδος T1, τα γράφουν οι μετρητές. The solver is explicit — central differences with a lumped mass. It solves no system at all: one division by the diagonal per step. It pays with the step, and the step is set by the highest eigenfrequency of the mesh, not by our opinion: Δt = 0.9 · 2/ωmax. Both of them, ωmax and the natural period T1, are written by the readouts.

Μη γραμμική ανελαστική δυναμική ισογεωμετρική ανάλυσηNonlinear inelastic dynamic isogeometric analysis άγνωστοιunknowns · 135

Μέτρο ελαστικότηταςYoung’s modulus

Λόγος PoissonPoisson’s ratio

ΠυκνότηταDensity

ΑπόσβεσηDamping

Όριο διαρροής σyYield stress σy

Κράτυνση HHardening H

Πίεση στην έδρα ζ = 1Pressure on the ζ = 1 face

Διεύθυνση φορτίουLoad direction

Ιστορία του φορτίουLoad history

Συνολικός χρόνοςTotal time

Διάρκεια tdDuration td

Δεσμεύσεις των εδρών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

Το βηματικό φορτίο επιβάλλεται ακαριαία και μένει: είναι εκείνο που δίνει τον κλασικό συντελεστή δυναμικής μεγέθυνσης 2 σε ελαστικό φορέα, και ο μετρητής τον γράφει. Ο παλμός φεύγει μετά από td — ό,τι μένει είναι ελεύθερη ταλάντωση γύρω από τη μόνιμη θέση, αν έχει διαρρεύσει κάτι. Στο αρμονικό το td είναι η περίοδος της διέγερσης: γράψε την ίση με το T1 των μετρητών και δες συντονισμό.The step load is applied instantly and stays: it is the one that gives the classic dynamic amplification factor of 2 on an elastic structure, and the readout writes it. The pulse is gone after td — what remains is free vibration about the permanent position, if anything yielded. In the harmonic case td is the period of the excitation: set it equal to the T1 in the readouts and watch resonance.

u(t) · ο φορέας που κινείταιthe structure in motion · μεγέθυνσηmagnification

t · |u|

Σύρε για περιστροφήDrag to rotate

Οι τρεις μετατοπίσεις κάθε σημείου ελέγχου τη στιγμή που δείχνει η αναπαραγωγή και το μέτρο τους, μία γραμμή ανά σημείο, στην ίδια σειρά με τον πίνακα της γεωμετρίαςThe three displacements of every control point at the instant the playback is showing and their magnitude, one row per point, in the same order as the geometry table
Pijk ux uy uz |u|
T1
Δt
ΒήματαSteps
max |u|
Τη στιγμήAt time
Μόνιμο |u|Permanent |u|
Πλαστική αPlastic α
ΔιέρρευσανYielded
Δείχνει tShowing t
|u| τώρα|u| now
ΧρόνοςTime
— ms

Ό,τι δεν χωράει σε ένα στιγμιότυποWhat does not fit in one snapshot

Μια εικόνα δείχνει πού είναι ο φορέας τώρα. Δύο πράγματα όμως ζουν μόνο στον χρόνο. Η απόκριση: το |u| καρέ προς καρέ, με τη γραμμή της στατικής λύσης του ίδιου φορέα από πάνω — η απόστασή τους είναι ο συντελεστής δυναμικής μεγέθυνσης, και σε ελαστικό βηματικό φορτίο βγαίνει 2. Και ο βρόχος σ–ε στο σημείο Gauss που διέρρευσε πρώτο: η ευθεία που ανεβαίνει, το γόνατο στο σy, και η επιστροφή που δεν περνάει από την αρχή. Χωρίς αυτόν η λέξη «ανελαστική» είναι υπόσχεση. A picture shows where the structure is now. Two things, though, live only in time. The response: |u| frame by frame, with the line of the static solution of the same structure above it — the distance between them is the dynamic amplification factor, and for an elastic step load it comes out 2. And the σ–ε loop at the Gauss point that yielded first: the straight line going up, the knee at σy, and the return that does not pass through the origin. Without it the word «inelastic» is a promise.

Η απόκριση και ο βρόχοςThe response and the loop DAF ·

|u|(t) · η απόκριση στον χρόνο — διακεκομμένη η στατικήthe response in time — the static one dashed

σxxxx) · ο βρόχος στο κρίσιμο σημείο Gaussthe loop at the critical Gauss point

Δυναμικό max |u|Dynamic max |u|
Στατικό max |u|Static max |u|

Και τώρα ο φορέας που κινείταιAnd now the structure in motion

Ίδια πράξη με το 1.3P′ijk = Pijk + uijk, και το παραμορφωμένο σώμα είναι πάλι trivariate NURBS με τα ίδια διανύσματα κόμβων και τα ίδια βάρη. Ένα πράγμα όμως αλλάζει, και είναι ουσιώδες: εκεί το ενδιάμεσο καρέ ήταν η παρεμβολή των δύο άκρων, και ήταν σωστό, γιατί η ανάλυση ήταν γραμμική. Εδώ δεν είναι — ούτε η γεωμετρία, ούτε το υλικό, και ο χρόνος δεν είναι ποσοστό φορτίου. Άρα κάθε καρέ είναι πραγματικό στιγμιότυπο που έγραψε ο επιλύτης, και η αναπαραγωγή είναι το ίδιο το πείραμα σε αργή κίνηση. The same operation as in 1.3P′ijk = Pijk + uijk, and the deformed body is trivariate NURBS again, with the same knot vectors and the same weights. One thing changes, and it matters: there the intermediate frame was the interpolation of the two ends, and that was right, because the analysis was linear. Here it is not — neither the geometry nor the material, and time is not a fraction of the load. So every frame is a real snapshot written by the solver, and the playback is the experiment itself in slow motion.

P′ijk(t) = Pijk + uijk(t) μεγέθυνσηmagnification ·

V′(ξ,η,ζ,t) · ο φορέας τη στιγμή t — με γραμμές η αρχική θέσηthe structure at time t — its initial position in lines

t · |u|

Σύρε για περιστροφήDrag to rotate

ΜεγέθυνσηMagnification

Χρωματικό πεδίοColour field

Η αρχική θέσηThe initial position

Το νέο πλέγμαThe new lattice

Διάρκεια βίντεοVideo length

Η εικόνα μεγεθύνεται, ο πίνακας όχι: γράφει τις αληθινές νέες συντεταγμένες, με συντελεστή 1, πάντα. Το κάδρο της κάμερας και η κλίμακα του χρώματος μετριούνται μία φορά και από όλα τα καρέ — μια κάμερα που ξαναμετριέται ανά καρέ ζουμάρει πάνω στην ίδια την ταλάντωση, δηλαδή τη σβήνει. Η αναπαραγωγή δεν είναι εφέ: το καρέ που παίζει είναι το ίδιο που έγραψε ο επιλύτης, και ο πίνακας από κάτω δείχνει εκείνη τη στιγμή.The picture is magnified, the table is not: it writes the true new coordinates, at factor 1, always. The camera frame and the colour scale are measured once, over every frame — a camera re-measured each frame zooms in on the oscillation itself, that is, erases it. The playback is not an effect: the frame being played is the one the solver wrote, and the table below shows that instant.

Οι νέες καρτεσιανές συντεταγμένες κάθε σημείου ελέγχου τη στιγμή που δείχνει η αναπαραγωγή και το αμετάβλητο βάρος του, μία γραμμή ανά σημείοThe new Cartesian coordinates of every control point at the instant the playback is showing and its unchanged weight, one row per point
P′ijk X′ Y′ Z′ w
ΔεκαδικάDecimals

Τα σημεία ελέγχου, οι κόμβοι, ολόκληρη η απόκριση στον χρόνο — μία γραμμή ανά καρέ, με το |u|, τις δύο ενέργειες, την πλαστική α και το ζεύγος σ–ε — και οι μετατοπίσεις της στιγμής που δείχνει η σελίδα. Το βίντεο γράφεται σε δικό του καρέ 1920×1080.The control points, the knots, the whole response in time — one row per frame, with |u|, the two energies, the plastic α and the σ–ε pair — and the displacements of the instant the page is showing. The video is written on its own 1920×1080 canvas.

Τι να δοκιμάσειςWhat to try

  • Ο συντελεστής 2The factor of twoΓράψε σy = 109 ώστε να μη διαρρεύσει τίποτα, και απόσβεση 0. Το max |u| βγαίνει ακριβώς διπλάσιο από τη στατική λύση — ο DAF του μετρητή γράφει ×2. Το ίδιο φορτίο, επιβαλλόμενο ακαριαία αντί για αργά, κοστίζει διπλάσια μετατόπιση.Write σy = 109 so nothing yields, and zero damping. The max |u| comes out exactly twice the static solution — the DAF readout says ×2. The same load, applied instantly instead of slowly, costs twice the displacement.
  • Πού μένει η παραμόρφωσηWhere the deformation staysΜε τις προεπιλογές, το μόνιμο |u| είναι πάνω από το μισό του μεγίστου: ο πρόβολος ταλαντώνεται γύρω από μια θέση που δεν είναι η αρχική. Ανέβασε το σy στα 400.000 και η μόνιμη παραμόρφωση εξαφανίζεται — ίδιο φορτίο, άλλος χάλυβας.With the defaults, the permanent |u| is more than half the peak: the cantilever oscillates about a position that is not where it started. Raise σy to 400,000 and the permanent set vanishes — same load, different steel.
  • Ο βρόχος που δεν κλείνειThe loop that does not closeΔιάλεξε παλμό με td = 0.02 s. Στο διάγραμμα σ–ε η επιστροφή είναι παράλληλη στην αρχική ευθεία αλλά μετατοπισμένη: αυτό ακριβώς είναι η πλαστική παραμόρφωση, και είναι η ίδια απόσταση που βλέπεις στη γεωμετρία.Choose the pulse with td = 0.02 s. In the σ–ε chart the return is parallel to the first straight line but shifted: that shift is the plastic strain, and it is the same distance you see in the geometry.
  • ΣυντονισμόςResonanceΔιάβασε το T1 από τους μετρητές, διάλεξε αρμονικό και γράψε το ίδιο νούμερο στο td. Με μικρή απόσβεση η απόκριση μεγαλώνει καρέ με καρέ — ώσπου διαρρεύσει, οπότε η περίοδος του φορέα αλλάζει και ο συντονισμός σβήνει μόνος του. Αυτό δεν βγαίνει από γραμμική ανάλυση.Read T1 from the readouts, choose harmonic and write the same number into td. With little damping the response grows frame by frame — until it yields, at which point the period of the structure changes and the resonance dies out by itself. No linear analysis gives you that.
  • Η στροφή που δεν κοστίζειThe rotation that costs nothingΆφησε το φορτίο μηδέν και τις έδρες όλες ελεύθερες εκτός από μία στήριξη: ένα σώμα που στρίβει χωρίς να παραμορφώνεται δεν αναπτύσσει καμία τάση. Αυτό είναι το Green–Lagrange — και είναι ο πρώτος αριθμητικός έλεγχος του πυρήνα.Leave the load at zero and every face free but one support: a body that rotates without deforming develops no stress at all. That is Green–Lagrange — and it is the first numerical check on the core.
  • Το πλέγμα κοστίζει χρόνο, όχι αγνώστουςThe mesh costs time, not unknownsΠέρνα από 3×1×1 σε 6×3×2. Οι άγνωστοι τετραπλασιάζονται, αλλά τα βήματα είναι που εκτοξεύονται: το Δt μικραίνει με το μέγεθος του στοιχείου. Αυτή είναι όλη η διαφορά ανάμεσα σε ρητό και σε πεπλεγμένο επιλύτη, σε ένα κουμπί.Go from 3×1×1 to 6×3×2. The unknowns quadruple, but it is the steps that explode: Δt shrinks with the element size. That is the whole difference between an explicit and an implicit solver, in one button.

Ο πυρήνας είναι ολικά Lagrange με Green–Lagrange και δεύτερο Piola–Kirchhoff, πλαστικότητα von Mises με γραμμική ισότροπη κράτυνση και επιστροφή στην ακτίνα κλειστού τύπου, συγκεντρωμένη μάζα από άθροισμα γραμμής, και κεντρικές διαφορές με βήμα από το ωmax του ίδιου του πλέγματος. Ελέγχεται απομονωμένος, χωρίς browser: στροφή στερεού σώματος χωρίς τάση, το γραμμικό όριο απέναντι στο 1.3, ο μονοαξονικός βρόχος απέναντι στην κλειστή του λύση, το στατικό όριο, ο συντελεστής δυναμικής μεγέθυνσης 2, η διατήρηση της ενέργειας, και η ιδιοπερίοδος απέναντι στην Euler–Bernoulli.The core is total Lagrangian with Green–Lagrange strain and second Piola–Kirchhoff stress, von Mises plasticity with linear isotropic hardening and a closed-form radial return, a lumped mass from row summation, and central differences with the step taken from the ωmax of the mesh itself. It is checked in isolation, without a browser: rigid-body rotation with no stress, the linear limit against 1.3, the uniaxial loop against its closed-form solution, the static limit, the dynamic amplification factor of 2, conservation of energy, and the natural period against Euler–Bernoulli.

Γιατί ρητός και όχι Newmark. Ένας πεπλεγμένος επιλύτης θα ήθελε εφαπτόμενο μητρώο και παραγοντοποίηση σε κάθε επανάληψη κάθε βήματος — δηλαδή το 1.75 s της πλάκας του 1.3 επί μερικές εκατοντάδες. Ο ρητός δεν λύνει κανένα σύστημα: μία διαίρεση με τη διαγώνιο. Πληρώνει με το βήμα, και το βήμα δεν είναι γνώμη — είναι Δt = 0.9·2/ωmax, με το ωmax να βγαίνει με δύναμη πάνω στο M−1K και να φράσσεται από Gershgorin. Δύο εκτιμήσεις, η μικρότερη κερδίζει: μια επανάληψη που δεν πρόλαβε να συγκλίνει δίνει βήμα μεγαλύτερο του ευσταθούς, δηλαδή σιωπηλή έκρηξη στο εικοστό βήμα. Why explicit and not Newmark. An implicit solver would want a tangent matrix and a factorisation at every iteration of every step — that is, the 1.75 s of the plate in 1.3 times a few hundred. The explicit one solves no system at all: one division by the diagonal. It pays with the step, and the step is not an opinion — it is Δt = 0.9·2/ωmax, with ωmax found by power iteration on M−1K and bounded by Gershgorin. Two estimates, the smaller wins: an iteration that did not converge in time gives a step larger than the stable one, that is, a silent explosion at the twentieth step.

Τι δεν αλλάζει από το 1.3. Οι συναρτήσεις σχήματος είναι οι ίδιες — ίδια αναδρομή, ίδια βάρη, ίδια Rijk. Η γεωμετρία δεν έγινε πιο «λεπτομερής» επειδή η ανάλυση έγινε πιο δύσκολη: το ίδιο ακριβώς μοντέλο που στο 1.2 ήταν κέλυφος και στο 1.3 στερεό, εδώ κινείται και διαρρέει. Αυτό είναι ολόκληρο το επιχείρημα της ισογεωμετρικής ανάλυσης, γραμμένο ως τέσσερα εργαστήρια πάνω στον ίδιο πίνακα. What does not change from 1.3. The shape functions are the same — same recursion, same weights, same Rijk. The geometry did not become «more detailed» because the analysis became harder: the very model that was a shell in 1.2 and a solid in 1.3 here moves and yields. That is the whole argument of isogeometric analysis, written as four workbenches on one and the same table.

Έχετε γεωμετρία που πρέπει να είναι
και λεία και ελεγχόμενη;
Have geometry that must be both
smooth and controllable?

Πείτε μας τι φτιάχνετε και θα σας πούμε αν η υποδιαίρεση είναι το σωστό εργαλείο — και αν όχι, ποιο είναι.Tell us what you are building and we will tell you whether subdivision is the right tool — and if not, what is.

Ξεκινήστε μια συζήτησηStart a conversation