Behandling av geometriske randbetingelser¶
Den lineære ligningen \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) som løses ved hver iterasjon i Newton-Raphson-metoden, inneholder ennå ikke geometriske randbetingelser (forskyvningsbetingelser). Dette kapitlet viser hvordan stivhetsmatrisen \(\boldsymbol{K}\) og restvektoren \(\boldsymbol{R}\) må endres for frihetsgrader med forskyvningsbetingelsen \(\boldsymbol{u} = \bar{\boldsymbol{u}}\), slik at forskyvningen etter iterasjonen når den foreskrevne verdien. Flerpunktbegrensninger (MPC) og ikke-lineære betingelser knyttet til kontakt behandles separat; se Flerpunktbegrensninger og Kontakt.
Prinsipp om å beholde bundne forskyvninger som ukjente¶
Forskyvningen til en node med en geometrisk randbetingelse er ikke lenger en ukjent variabel, men er fastsatt til den foreskrevne verdien \(\bar{u}_i\). Disse frihetsgradene kan behandles som konstanter og elimineres fra den lineære ligningen \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\), men i FrontISTR håndheves betingelsen ved å omskrive \(\boldsymbol{K}\) og \(\boldsymbol{R}\) samtidig som de bundne frihetsgradene beholdes i korreksjonsvektoren \(d\boldsymbol{u}\) på samme måte som øvrige frihetsgrader.
Med denne metoden endres verken dimensjonen til koeffisientmatrisen eller rekkefølgen på frihetsgradene avhengig av om det finnes betingelser. Det er derfor ikke nødvendig å eliminere variabler og pakke om ledige rader og kolonner. Slik ompakking er komplisert i en implementasjon der koeffisientmatrisen lagres som en spredt matrise, og FrontISTR bruker derfor den sistnevnte metoden, der betingelsen oppfylles utelukkende ved å oppdatere koeffisientmatrisen og høyresiden.
Målverdi for Newton-Raphson-korreksjonen¶
For en forskyvningsbundet frihetsgrad \(i\) skal korreksjonen \(du_i\) som beregnes i Newton-Raphson-iterasjonen være
\(\boldsymbol{K}\) og \(\boldsymbol{R}\) endres slik at korreksjonen får denne verdien. Dermed når forskyvningsinkrementet den foreskrevne verdien \(\bar{u}_i\) i 1. iterasjon; fra og med 2. iterasjon blir korreksjonen \(0\), og den foreskrevne verdien opprettholdes.
Prosedyre for endring av matrise og restvektor¶
Målverdien i forrige avsnitt oppnås med følgende 2 endringer, samtidig som formen på den lineære ligningen \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) beholdes.
- Diagonalisering av rad \(i\): Erstatt diagonalleddet \(K_{ii}\), som er koeffisienten til \(du_i\), med \(1\), erstatt alle andre koeffisienter \(K_{ij}\ (j \not= i)\) med \(0\), og sett høyresiden til \(R_i \to d\bar{u}_i\). Ligningen i rad \(i\) blir da \(du_i = d\bar{u}_i\).
- Flytting fra radene \(j(\not= i)\): For hver rad \(j(\not= i)\), dersom \(K_{ji} \not= 0\), flyttes leddet \(K_{ji} du_i = K_{ji} d\bar{u}_i\) til høyresiden. Det vil si at \(K_{ji} d\bar{u}_i\) trekkes fra høyresiden, og koeffisienten \(K_{ji}\) til \(du_i\) settes til \(0\).
Skrevet komponentvis korresponderer ligningene før og etter endringen som følger.
La den endrede koeffisientmatrisen og høyresiden betegnes henholdsvis \(\tilde{\boldsymbol{K}}\) og \(\tilde{\boldsymbol{R}}\). Den lineære ligningen som til slutt skal løses, er
Hvis det finnes flere bundne frihetsgrader, brukes endringene 1 og 2 ovenfor etter tur for hver bundne frihetsgrad \(i\).
Behandlingsområde i implementasjonen med spredt matrise¶
I implementasjonen lagres koeffisientmatrisen \(\boldsymbol{K}\) som en spredt matrise. Derfor utføres behandlingen av radene \(j(\not= i)\) i prosedyre 2 i forrige avsnitt bare for rader som har ikke-null-elementer i kolonne \(i\), det vil si frihetsgrader i noder som er koblet via elementer til den bundne frihetsgraden \(i\). For frihetsgrader uten slik forbindelse er \(K_{ji} = 0\), og flyttingen endrer derfor ikke høyresiden. Denne begrensningen gjør at behandlingen av betingelser kan fullføres med bare lokale operasjoner i forhold til det totale antallet noder.
Relaterte emner¶
- Virtuelt arbeid fra ytre krefter og sammenstilling av de globale ligningene — Oppbygging av \(\boldsymbol{K}, \boldsymbol{R}\) før endringen
- Newton-Raphson-metoden — Forholdet til iterasjonen som beregner korreksjonen \(d\boldsymbol{u}\)
- Konvergenskriterier — Normevaluering av restvektoren \(\tilde{\boldsymbol{R}}\) etter behandling av betingelser