Utdata og restart¶
Analyseresultatene finnes som sådan i minnet og må derfor skrives til egnede filer for etterbehandling, visualisering, gjenoppretting og restart. Siden filformat, utdataelementer og utdatafrekvens varierer etter formålet, bruker FrontISTR flere separate utdataflyter.
FrontISTR-utdata består av tre systemer: resultatfiler som lagrer analyseverdier (!WRITE,RESULT), visualiseringsfiler som brukes til visualisering (!WRITE,VISUAL), og restartfiler som lagrer analysetilstanden (!RESTART). De fysiske størrelsene som skal inkluderes i resultatfiler og visualiseringsfiler, velges med henholdsvis !OUTPUT_RES og !OUTPUT_VIS.
Funksjonsoversikt¶
Det er enklere å organisere utdatainnstillingene dersom følgende tre akser vurderes separat.
| Akse | Hovedinndata | Rolle |
|---|---|---|
| Utdatamål | !WRITE,RESULT, !WRITE,VISUAL, !RESTART | Bestemmer hvilken filtype resultatene lagres i for det aktuelle formålet. |
| Utdatavariabler | !OUTPUT_RES, !OUTPUT_VIS | Bestemmer hvilke fysiske størrelser som tas med i resultatfiler eller visualiseringsfiler. |
| Utdatafrekvens | FREQUENCY | Bestemmer hvor mange steg det skal gå mellom hver skriving til fil. |
!WRITE,RESULT aktiverer resultatfiler, og !OUTPUT_RES angir utdatavariablene. !WRITE,VISUAL aktiverer visualiseringsfiler, og !OUTPUT_VIS angir variablene som sendes til visualisering. I begge tilfeller kan utdataintervallet styres med FREQUENCY. !WRITE er ett enkelt kort, og RESULT / VISUAL / FEMAP kan brukes samtidig som parametere som velger utdatamål.
Datalinjene i !OUTPUT_RES og !OUTPUT_VIS lister navn på utdatavariabler og ON / OFF. Ved å angi GROUP kan utdata begrenses gruppevis. Se nøkkelordreferansen for konkret inndatasyntaks og tilgjengelige datalinjer.
!RESTART lagrer selve analysetilstanden, separat fra resultatfiler og visualiseringsfiler. Restartfiler brukes til å fortsette en analyse fra samme tilstand etter et avbrudd.
Valg av utdata¶
Velg først utdata etter hva du ønsker å kontrollere. Bruk en resultatfil når numeriske verdier skal brukes til etterbehandling eller en annen analyse, og bruk en visualiseringsfil når form eller fordelinger skal kontrolleres med et visualiseringsverktøy. Dersom analysen må kunne fortsettes fra et mellompunkt, aktiveres en restartfil separat fra vanlig resultatutdata.
| Formål | Valgt utdata | Hovedspesifikasjon |
|---|---|---|
| Lagre analyseverdier for etterbehandling, sammenligning eller en annen analyse | Resultatfil | !WRITE,RESULT og !OUTPUT_RES |
| Kontrollere fordelinger og deformert form i ParaView eller tilsvarende verktøy | Visualiseringsfil | !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL |
| Fortsette en langvarig analyse fra et mellompunkt | Restartfil | !RESTART |
| Redusere utdatamengden | Skriv bare ut nødvendige variabler | !OUTPUT_RES / !OUTPUT_VIS: ON / OFF og FREQUENCY |
I storskalaanalyser kan resultat- og visualiseringsfilene bli store dersom alle steg lagres med standard utdatainnstillinger. Sett bare nødvendige fysiske størrelser til ON, og størrelser som ikke trengs for kontroll, til OFF. Dersom en fin tidsserie ikke er nødvendig, økes FREQUENCY slik at utdataintervallet blir grovere.
En nyttig rekkefølge for å velge utdatavariabler er «fysisk størrelse som skal kontrolleres», «utdatamål» og «frekvens». For eksempel: For å kontrollere en spenningsfordeling i ParaView aktiveres visualiseringsfiler, og NSTRESS eller NMISES velges med !OUTPUT_VIS. For numerisk etterbehandling av kontaktkraft aktiveres resultatfiler, og CONTACT_NFORCE eller tilsvarende velges med !OUTPUT_RES.
Tilgjengelige fysiske størrelser¶
Utdatavariabler er inndelt i strukturanalyse, dynamisk analyse, termisk analyse, kontaktanalyse, elementspesifikke resultater og identifiserende metadata. Tabellen nedenfor oppsummerer de viktigste variabelnavnene, typene og analysetypene de brukes i. En fullstendig liste over variabelnavn og syntaks for datalinjer finnes under !OUTPUT_RES og !OUTPUT_VIS.
| Kategori | Variabelnavn | Type | Hovedanalysetype | Beskrivelse |
|---|---|---|---|---|
| Grunnleggende strukturstørrelser | DISP, ROT, REACTION | Vektor | Statisk analyse, dynamisk analyse | Forskyvning, rotasjon og nodal reaksjonskraft. ROT er gyldig for elementer med rotasjonsfrihetsgrader. |
| Spenning | NSTRESS, ESTRESS, ISTRESS | Symmetrisk tensor | Strukturanalyse | Nodemidlet spenning, elementspenning og spenning i integrasjonspunkt. |
| von Mises-spenning / hovedspenning | NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS | Skalar, vektor | Strukturanalyse | von Mises-spenning, hovedspenningsverdier og hovedspenningsretninger. |
| Tøyning | NSTRAIN, ESTRAIN, ISTRAIN | Symmetrisk tensor | Strukturanalyse | Nodetøyning, elementtøyning og tøyning i integrasjonspunkt. |
| Plastisk / termisk tøyning | PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN | Skalar, symmetrisk tensor | Ikke-lineær strukturanalyse, termospenningsanalyse | Ekvivalent plastisk tøyning og termisk tøyning. |
| Hovedtøyning | PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN | Skalar, vektor | Strukturanalyse | Hovedtøyningsverdier og hovedtøyningsretninger. |
| Dynamisk analyse | VEL, ACC | Vektor | Dynamisk analyse | Nodal hastighet og nodal akselerasjon. |
| Termisk analyse | TEMP | Skalar | Varmeledningsanalyse | Nodetemperatur. I resultat- og visualiseringsfiler for termisk analyse skrives den ut som temperaturfelt. |
| Kontakt | CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION | Vektor, skalar | Kontaktanalyse | Normal kontaktkraft, friksjonskraft, relativ glidehastighet, kontakttilstand og kontaktkraft per arealenhet. |
| Bjelkeelement | BEAM_NQM | 12-komponents verdi | Strukturanalyse som omfatter bjelkeelementer | Snittkrefter i bjelkeelementer. |
| Identifikasjon / tilstand | NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO | Skalar | Strukturanalyse, visualisering | Identifikasjonsinformasjon for noder, elementer, seksjoner og materialer; elementaktiveringstilstand; og flyteforhold. ELEMACT gir 1 for aktive elementer og 0 for inaktive (deaktiverte) elementer. |
| Hjelpeinformasjon for skall | SHELL_LAYER, SHELL_SURFACE | Skalar | Strukturanalyse som omfatter skallelementer | Hjelpeinformasjon som identifiserer lagvis skallutdata og skalloverflater. |
Som standard er DISP, ROT, NSTRESS og NMISES satt til ON. Om meningsfulle verdier faktisk skrives ut, avhenger imidlertid av analysetype, elementtype, materialmodell og kontaktinnstillinger. For eksempel brukes VEL og ACC i dynamisk analyse, mens CONTACT_* brukes når kontaktinformasjon genereres i en kontaktanalyse.
Lagvis utdata for skall¶
Skallelementer har flere integrasjonspunkter eller lag gjennom tykkelsen, slik at spennings- og tøyningsverdier kan variere mellom lag eller overflater selv innenfor samme element. Med bare vanlige nodemidlede verdier eller elementverdier er det vanskelig å skille hvilket lag eller hvilken overflate en verdi tilhører.
Når SHELL_LAYER settes til ON, skrives resultatene for + og - siden av hvert lag i et laminert skall ut separat. De utdataførte spennings- og tøyningskomponentene inneholder identifikatorer for lagnummer og overflateside, slik at spenningsfordelinger gjennom tykkelsen og skade per lag kan vurderes.
SHELL_SURFACE er hjelpeinformasjon for å identifisere skalloverflater, som øvre og nedre overflate. Ved visualisering av lagvise skallresultater aktiveres SHELL_LAYER og de nødvendige spennings-/tøyningsvariablene, og resultatkomponenten som svarer til ønsket lag eller overflate, velges i visualiseringsverktøyet.
Lagvis skallutdata øker antallet utdatakomponenter, og dermed øker filstørrelsen for modeller med mange lag. Det anbefales å begrense utdata til de nødvendige spennings- og tøyningsvariablene.
Utdatamål¶
Resultatfiler og visualiseringsfiler har ulike formål og lagringsformater. Begge kan skrives ut i samme analyse, eller bare én av dem kan skrives ut.
Resultatfiler¶
Resultatfiler aktiveres med !WRITE,RESULT. Analyseresultater lagres som FrontISTR / HEC-MW-resultatdata og brukes til numerisk etterbehandling eller som inndata til en annen analyse. Utdatavariablene velges med !OUTPUT_RES.
!WRITE,RESULT er også implementert på !WRITE-kortet som parameteren RESULT og er et valg av utdatamål på linje med visualisering og FEMAP-utdata.
Resultatfiler kan lagre forskyvning, spenning, tøyning, reaksjonskrefter, kontaktinformasjon og andre størrelser for strukturanalyse, samt temperaturfelt for termisk analyse. Utdataintervallet per steg angis med FREQUENCY. Se utførelsesveiledningen for konkrete filnavn, plassering og hvordan de kontrolleres etter kjøring.
Resultatfiler (filtype .res) er tekstdata med følgende struktur. Formatversjon og kommentar står først, etterfulgt av globale variabler, og til slutt utdatavariabler for hver node og hvert element.
*fstrresult 2.0
*comment
<kommentarlinje>
*global
<antall globale variabler>
<frihetsgrader for globale variabler>
<navn på globale variabler>
<verdier for globale variabler>
...
*data
<antall noder> <antall elementer>
<antall nodedataelementer> <antall elementdataelementer>
<frihetsgrader for nodedata> ...
<navn på nodedata>
...
<verdier for nodedata>
...
<frihetsgrader for elementdata> ...
<navn på elementdata>
...
<verdier for elementdata>
...
Loggfiler¶
Loggfiler (filtype .log) er sammendragsfiler som alltid skrives ut etter analysen. I tillegg til fysiske størrelser for hver node og hvert element skrives maksimums-/minimumsverdier for forskyvnings-, tøynings- og spenningskomponenter ut. Ved modalanalyse skrives egenverdier og egenvektorverdier ut. Med !WRITE styrer parameteren LOG utdatainnholdet. Se utførelsesveiledningen for filnavn og plassering.
Visualiseringsfiler¶
Visualiseringsfiler aktiveres med !WRITE,VISUAL. De konverterer nett- og resultatdata til et format for visualiseringsverktøy og skriver dem ut. Utdatavariablene velges med !OUTPUT_VIS, mens format og visualiseringsbetingelser angis med !VISUAL.
!WRITE,VISUAL er ikke et selvstendig nøkkelord; det er implementert på !WRITE-kortet som parameteren VISUAL og bytter utdatamål på samme nivå som !WRITE,RESULT / !WRITE,FEMAP (fistr1/src/common/fstr_ctrl_common.f90, funksjonen fstr_ctrl_get_WRITE).
For å aktivere visualisering må minst visualiseringsoverflate og utdataformat angis på !VISUAL-kortet. Følgende er det minste datasettet.
Spesifikasjonene surface_num og !surface kan ikke utelates. Se !VISUAL for detaljert syntaks og tilgjengelige alternativer.
De viktigste visualiseringsformatene er som følger.
| Format | Formål |
|---|---|
| VTK | Brukes til visualisering i ParaView og tilsvarende verktøy. |
| AVS (UCD) | Brukes til visualisering og datautveksling i AVS / UCD-format. |
| BMP | Skriver visualiseringsresultater ut som bilder. |
| NEU | Brukes til datautveksling i FEMAP neutral-format. |
Visualiseringsfiler er enklere å håndtere direkte i visualiseringsverktøy enn resultatfiler, men størrelsen øker avhengig av valgt format og antall variabler. For storskalamodeller bør bare variablene som trengs for visning, aktiveres med !OUTPUT_VIS.
Restart¶
Restart er en funksjon for å lagre den interne tilstanden på tidspunktet der en analyse avbrytes, og fortsette beregningen fra samme tilstand ved neste kjøring. Vanlige resultatfiler er utdata for etterbehandling, mens restartfiler lagrer tilstanden slik at løseren kan fortsette beregningen.
Hvis !RESTART, FREQUENCY=n har positiv n, skrives en restartfil med det angitte stegintervallet. Hvis n er negativ, leses en eksisterende restartfil ved oppstart, og deretter skrives restartfiler med absoluttverdien |n| som utdataintervall.
Ved restart av en strukturanalyse lagres gjeldende steg, delsteg, kumulativt steg, tid, tidsinkrement, lasthistorikk, forskyvning, ytre kraft, spenning og tøyning i hvert Gauss-punkt, materialets interne tilstandsvariabler, kontakttilstand og andre data. Dynamisk analyse lagrer i tillegg den dynamiske tilstanden som kreves for å fortsette tidsintegrasjonen, blant annet hastighet og akselerasjon, tøyningsenergi, gjeldende tid og tidsinkrement. Termisk analyse lagrer stegnummer, tid og temperaturfelt og gjenoppretter temperaturfeltet som initialtilstand ved innlesing.
Skrivetidspunkt og fortsettelsesatferd for restart i statisk analyse¶
For restart i statisk analyse (fstr_solve_NLGEOM) finnes det to skriveveier, og fortsettelsesatferden er forskjellig.
- Skriving under et delsteg: En fil skrives i delstegsløkken når
step_countblir et multiplum avFREQUENCY. Den registrerte tidsinformasjonen lagres som «starttid for gjeldende steg», og lastlisten for forrige steg følger med. - Skriving ved slutten av et steg: En fil skrives alltid umiddelbart etter at delstegsløkken for hvert laststeg er fullført, uavhengig av om steget er et multiplum av
FREQUENCY. Den registrerte tidsinformasjonen lagres som «sluttid for steget», og lastlisten for det aktuelle steget følger med.
Ved innlesing avgjør FrontISTR om steget er fullført ved å kontrollere om registrert «gjeldende tid» og «referansetid» er like (fstr_Restart.f90, funksjonen fstr_read_restart).
| Tilstand ved skriving | Atferd ved fortsettelse |
|---|---|
| Under et delsteg | Fortsetter fra neste delsteg i samme steg. Delstegsposisjonen på skrivetidspunktet arves, og resten av delstegsløkken kjøres. |
| Ved slutten av et steg | Starter fra første delsteg i neste steg. cstep økes med 1, substep=1 tilbakestilles, og analysen fortsetter deretter. |
Dermed vil stegnummer og tidsreferanse etter fortsettelse kunne være forskjellige selv med samme FREQUENCY-innstilling, avhengig av når skrivingen skjedde (under et delsteg / ved slutten av et steg). Særlig skjer skriving ved stegslutt alltid ved slutten av hvert steg, uavhengig av FREQUENCY-innstillingen.
Skrivetidspunkt og fortsettelsesatferd for restart i dynamisk analyse¶
Restart for tidsserieanalyse skiller også mellom skriving under et delsteg og skriving ved slutten av et steg. Under et delsteg skrives en fil når det kumulative antallet delsteg step_count blir et multiplum av FREQUENCY; ved slutten av et steg skrives en fil ved slutten av steget uavhengig av FREQUENCY.
Ved innlesing gjenopprettes fortsettelsesposisjonen fra lagret stegnummer, delstegnummer og kumulativt antall delsteg. Det gjeldende formatet (restart_version >= 5) bruker en felles header med statisk analyse og lagrer gjeldende tid, tidsinkrement, statistikk for Newton-iterasjoner og tilstanden for automatisk inkrementering. Dermed kan dynamiske analyser med flere !STEP-kort og automatisk inkrementering/cutback ta med tidsreferanse og tidsinkrement videre etter restart. Eldre restartfiler for dynamisk analyse har delvis lesekompatibilitet, men nye analyser bør bruke gjeldende format.
Skriving av !STEP-kort ved restart¶
Når en analyse fortsettes fra restart, leser FrontISTR !STEP-kortene i cnt-filen som «stegsekvensen som skal kjøres etter fortsettelsen» og behandler dem alltid i rekkefølge fra det første (tot_step=1). Stegnummeret i den innleste restartinformasjonen brukes til å samordne det kumulative stegnummeret som vises på skjermen, og påvirker ikke selve !STEP-indeksen i cnt-filen. I gjeldende format får dessuten hvert !STEP sin starttime i cnt-filen referansetiden lagt til samlet når restarten leses inn, slik at tidslinjen justeres med restarttidspunktet som utgangspunkt.
Klargjør derfor cnt-filen for restart etter følgende prinsipp.
| Hvordan kjøringen ble avbrutt | Omfang av !STEP-kort som beholdes i cnt |
|---|---|
| Skrevet under et delsteg (steget er ikke fullført) | Behold det avbrutte steget først. Legg deretter de påfølgende, ennå ikke utførte stegene. |
| Skrevet ved slutten av et steg (steget er fullført) | Fjern fullførte steg, og plasser neste steg som skal kjøres først. |
I begge tilfeller er grunnregelen å fjerne steg som allerede er fullført fra cnt-filen. Fordi restarttiden automatisk legges til starttime, kan cnt-filen bruke null som utgangspunkt (eller relative starttider for steg). Referanser som grensebetingelser og laster skal bare beholdes i cnt-filen for de !STEP-kortene som er igjen. Det samme prinsippet gjelder restart av dynamisk analyse med flere !STEP-kort.
En typisk restartarbeidsflyt er som følger.
- Angi
!RESTART, FREQUENCY=nved første kjøring og skriv en restartfil. - Angi
!RESTART, FREQUENCY=-ni kjøringen som fortsetter analysen. - FrontISTR leser restartfilen ved oppstart og skriver deretter en ny tilstand hvert
nsteg.
Se utførelsesveiledningen for navngivning og plassering av restartfiler og hvordan de angis ved kjøring. Det finnes også delvis lesekompatibilitet med eldre filformater, men nye analyser bør bruke gjeldende format.
Relaterte emner¶
- Sekvensiell kjøring — Grunnleggende om filplassering og kontroll av utdata ved analysekjøring.
- !OUTPUT_RES, !OUTPUT_VIS — Angivelse av variabler som skal skrives til resultatfiler og visualiseringsfiler.
- !WRITE — Aktivering av resultatfil-, visualiseringsfil- og loggutdata samt angivelse av utdatafrekvens (
RESULT/VISUAL/LOG/FEMAP-parametere). - !VISUAL — Angivelse av visualiseringsoverflater og utdataformater (inkludert et eksempel på minste datasett).
- !RESTART — Angivelse av lesing og skriving av restartfiler.
- Analysetyper — Viktigste resultatelementer for hver analysetype.
- Kontakt og innbygging — Betydningen av kontaktutdata og håndtering av kontakttilstander.
- Stegstyring — Sammenheng med utdatasteg og tidspunkter.