Gå till innehållet

Stegstyrning

FrontISTR:s strukturanalys fortskrider genom att randvillkor, laster, kontakt och elementaktivering växlas stegvis. Den här sidan beskriver tidslängd, delsteg, konvergenskriterier samt hur man väljer mellan fasta inkrement och automatiska inkrement/cutback för varje steg.

Terminologi för analystid

På den här sidan skiljs följande begrepp för analystid åt.

  • Aktuell tid: Total förfluten tid från analysens början.
  • Stegtid: Förfluten tid från början av det aktuella steget.
  • Tidslängd: Den analystid som avanceras under ett steg.
  • Relativ tid: Stegtiden dividerad med tidslängden. Den är 0 vid stegets början och 1 vid stegets slut.
  • Tidsinkrement: Inkrementet från aktuell tid till nästa tidpunkt där jämvikt beräknas.

Definitioner av begrepp för analystid

Figur 4.7.1 Definitioner av begrepp för analystid

Funktionsöversikt

Stegstyrningen består av följande aspekter.

Aspekt Roll Huvudsaklig specifikation
Inkrementmetod Bestämmer om steget avanceras med fast bredd eller om tidsinkrementet justeras efter konvergensläget !STEP
Stegtyp Bestämmer om det är statisk analys eller viskös analys inklusive viskoelasticitet och krypning (!SOLUTION-analystypen är en separat dimension. Gäller endast vid statisk analys och används inte vid dynamisk analys) !STEP
Villkor som aktiveras Väljer grupper för randvillkor, laster, kontakt och elementaktivering för varje steg Datarader i !STEP
Konvergenskriterier Justerar kriterier som residual, Lagrange-multiplikator och förskjutningsinkrement för varje steg !STEP
Utdatatidpunkter Anger tidpunkter där beräkning och utdata alltid ska ske vid automatisk inkrementering !TIME_POINTS och !STEP

Vid statisk analys kan man välja mellan fasta inkrement och automatiska inkrement/cutback. Även vid dynamisk analys kan villkor växlas med flera !STEP, och det rekommenderas att tidsinkrement och stegets tidslängd för fasta inkrement också anges med !STEP. I !DYNAMIC behandlas n_step och t_delta som standardvärden när !STEP utelämnas eller för bakåtkompatibilitet. Vid icke-linjär implicit lösning kan automatiska inkrement/cutback användas. Tidsstyrningen för värmeledningsanalys hanteras inte med !STEP utan genom angivelse av tidssteg i !HEAT.

Villkor som aktiveras i ett steg anges med grupp-ID. Eftersom randvillkor, laster, kontakt och elementaktivering kan växlas stegvis kan stegvis lastning, växling av kontaktvillkor och analyser med byggordning uttryckas i en enda analysstyrfil. För val av läge för aktivering/inaktivering av element, se Aktivering och inaktivering av element.

Val av stegstyrning

Inkrementmetoden väljs utifrån analysens icke-linjäritet och kraven på utdatatidpunkter.

  • Vid linjär analys eller analys som slutförs i ett enda steg behöver inkrementstyrningen ofta inte finjusteras.
  • Vid icke-linjär statisk analys där last och respons varierar jämnt räcker fasta inkrement ofta. Om konvergensen är svår bör tidsinkrementet minskas.
  • Vid analyser som omfattar början eller upphörande av kontakt, fortskridande flytning, stora deformationer eller snabba förändringar i materialets icke-linjäritet bör automatiska inkrement/cutback övervägas i första hand. Inkrementet kan göras större där konvergensen är lätt och mindre där den är svår.
  • Om resultat ska tas ut vid specifika tidpunkter samtidigt som automatisk inkrementering används, används även en lista över utdatatidpunkter.

Konvergenskriterierna justeras med hänsyn till balansen mellan analysens stabilitet och beräkningstiden. Strängare konvergenskriterier ger högre noggrannhet i resultatens jämvikt, men ökar antalet iterationer. I analyser som innehåller kontakt eller Lagrange-multiplikatorer påverkas beräkningens förlopp inte bara av vanliga residualkriterier utan även av antalet kontaktiterationer och kriterier för Lagrange-multiplikatorn.

Stegstyrning för statisk analys

Statisk analys består av ett eller flera analyssteg. Iterationen över stegen kallas stegslinga, och iterationen där ett steg delas upp i tidsinkrement och löses kallas delstegsslinga. I varje delsteg görs en jämviktsberäkning med lastfaktor, randvillkor, kontaktstatus med mera vid den angivna tidpunkten.

Med fasta inkrement avanceras tidsinkrementet inom steget med det angivna värdet. Om konvergensen misslyckas avslutas analysen vid den tidpunkten.

Med automatiska inkrement/cutback uppdateras referensvärdet för nästa tidsinkrement dtime_base utifrån konvergensläget i föregående delsteg. Om konvergensen misslyckas återställs det senast sparade tillståndet och samma tidsintervall beräknas om med ett mindre tidsinkrement.

Flöde för inkrementstyrning

Figur 4.7.2 Flöde för inkrementstyrning

Flödet för automatiska inkrement/cutback är följande.

  1. Vid stegets början används det initiala tidsinkrementet som dtime_base.
  2. Det faktiska tidsinkrementet bestäms så att stegets sluttid eller nästa utdatatidpunkt inte överskrids.
  3. En jämviktsberäkning utförs vid tiden som ligger ett tidsinkrement efter aktuell tid.
  4. Vid konvergens avanceras tiden och nästa dtime_base ökas eller minskas beroende på konvergensläget.
  5. Om konvergens inte uppnås återställs tillståndet, dtime_base minskas med cutback-reduktionsfaktorn och beräkningen görs om.
  6. När aktuell tid når stegets sluttid avslutas steget.

Ökning och minskning av inkrementet bedöms utifrån iterationsläget i föregående delsteg. Följande tre storheter är representativa bedömningsmått.

Storhet Betydelse
N_max Maximalt antal Newton-iterationer
N_sum Totalt antal Newton-iterationer. Samma som N_max om det inte finns några kontaktiterationer
N_cont Antal kontaktiterationer

Om något av N_max, N_sum och N_cont överskrider tröskelvärdet för minskning under det angivna antalet gånger i följd minskas tidsinkrementet. Om alla tre ligger inom tröskelvärdena för ökning under det angivna antalet gånger i följd ökas däremot tidsinkrementet. Vid ökning justeras det så att den övre gränsen för tidsinkrementet inte överskrids.

Vid automatiska inkrement/cutback avslutas analysen som misslyckad i följande fall.

  • Om det maximala antalet delsteg nås innan steget är slut.
  • Om referensvärdet för tidsinkrementet underskrider den nedre gränsen för tidsinkrementet.
  • Om maximalt antal cutback i följd nås.

Följande exempel aktiverar automatisk inkrementering med initialt tidsinkrement 0.01, stegtidslängd 2.5, nedre gräns för tidsinkrement 1E-5, övre gräns för tidsinkrement 0.3 och maximalt 200 delsteg. Parameteruppsättningen AP1 för automatisk inkrementering och listan TP1 över utdatatidpunkter vid totaltiderna 1.5, 2.7 och 3.9 tilldelas steget.

!AUTOINC_PARAM, NAME=AP1
0.25, 10, 50, 10, 1
1.25,  1,  1,  1, 2
0.25,  5
!TIME_POINTS, TIME=TOTAL, NAME=TP1
1.5
2.7
3.9
!STEP, INC_TYPE=AUTO, SUBSTEPS=200, AUTOINCPARAM=AP1, TIMEPOINTS=TP1
0.01, 2.5, 1E-5, 0.3

För inmatningsformat och standardvärden för parametrarna, se !STEP, !AUTOINC_PARAM och !TIME_POINTS.

Stegstyrning för dynamisk analys

Vid direkt tidsintegration för dynamisk analys anges lösningsmetod och tidsintegrationsparametrar med !DYNAMIC, medan analyssteg, grupper för randvillkor och laster samt inkrementmetod anges med !STEP. Om !STEP utelämnas behandlas analysen som ett enda steg där alla randvillkor och laster är aktiva.

Med fasta inkrement anges den andra raden i !STEP som DTIME, ETIME, och tidsinkrementet samt stegets tidslängd styrs för varje steg. Om flera !STEP definieras kan grupperna för randvillkor och laster som aktiveras växlas för varje steg. I !DYNAMIC behandlas t_delta och n_step som standardvärden för äldre enstegsinmatning där !STEP utelämnas eller för bakåtkompatibilitet. För nya indata rekommenderas att tidsvillkoren anges uttryckligen med !STEP även vid fasta inkrement.

När automatisk inkrementering används anges !STEP, INC_TYPE=AUTO, och initialt tidsinkrement, stegets tidslängd, nedre gräns för tidsinkrement och övre gräns för tidsinkrement anges på dataraden i !STEP. Vid icke-linjär implicit lösning ökas eller minskas tidsinkrementet beroende på Newton-iterationer och kontaktiterationer; om konvergens inte uppnås återställs föregående tillstånd och beräkningen görs om med ett mindre tidsinkrement.

I !STEP är TYPE (STATIC/VISCO) en omkopplare för materialets tidsberoende i steget och gäller endast vid statisk analys. Den används inte vid dynamisk analys, där tidsinkrement alltid behandlas som verklig tid, så att ange !STEP med TYPE för dynamisk analys har ingen effekt.

Tidsintegrationsmetod och koefficienter för Newmark-β-metoden med mera anges med !DYNAMIC. För inmatningsformat, se !DYNAMIC och !STEP.

Stegstyrning för värmeledningsanalys

Tidsstegen för värmeledningsanalys anges med !HEAT. I !HEAT anges tidssteg, sluttid, minsta tidssteg, maximal temperaturändring, antal iterationer, konvergenskriterium med mera som en uppsättning.

Tidsstyrningen för värmeledningsanalys fungerar med en annan mekanism än !STEP, INC_TYPE=AUTO för statisk strukturanalys. När tidssteget ska justeras i en värmeledningsanalys ska därför !STEP inte kontrolleras, utan inställningarna i !HEAT. För inmatningsformat, se !HEAT.

Angivelse av utdatatidpunkter

Vid automatisk inkrementering ändras tidsinkrementet beroende på konvergensläget, så tidpunkterna då resultaten matas ut kan variera i förväg. !TIME_POINTS är en lista över tidpunkter som används för att justera tidsinkrementet så att jämviktsberäkning alltid utförs och resultat kan matas ut vid de angivna tidpunkterna.

För tidslistan kan man välja mellan att ange totaltid från analysens början och att ange stegtid från stegets början. Använd totaltid om gemensamma tidpunkter ska anges över flera steg, och stegtid om samma relativa utdataposition ska anges för varje steg.

I varje steg refereras den tidslista som ska användas från !STEP. När den kombineras med automatisk inkrementering beskärs tidsinkrementet så att nästa utdatatidpunkt eller stegets sluttid inte överskrids. För inmatningsformat, se !TIME_POINTS.

Relaterade ämnen

AI-assisted translation May contain errors Official docs Status