Hallo Leute!
modelliere zur Zeit einen trimorphen piezoelektrischen Generator, und möchte über ein CIRCU94 Element
den Strom, die Spannung und die Leistung des Generators auslesen. Hier das Skript:
finish
/clear
/PREP7
!elementtyp auswählen und spezifizieren
ET,1,SOLID226,1001
ET,2,SOLID186
KEYOPT,1,1,1001
KEYOPT,1,2,0
KEYOPT,1,4,0
!material models definieren
!1.piezomaterial -> PZT-5H
!Elastizitätskoeffizienten (ANEL — Anisotropic elastic matrix)
TB,ANEL,1,1,21,1
TBTEMP,0
TBDATA,,16.5e-12,-4.78e-12,-8.45e-12,0,0,0
TBDATA,,16.5e-12,-8.45e-12,0,0,0,20.7e-12
TBDATA,,0,0,0,43.5e-12,0,0
TBDATA,,43.5e-12,0,42.6e-12,,,
!Piezoelektrische Ladungskonstanten d (PIEZ — Piezoelectric matrix)
TB,PIEZ,1,,,1
TBMODIF,1,1,0
TBMODIF,1,2,0
TBMODIF,1,3,-274e-12
TBMODIF,2,1,0
TBMODIF,2,2,0
TBMODIF,2,3,-274e-12
TBMODIF,3,1,0
TBMODIF,3,2,0
TBMODIF,3,3,593e-12
TBMODIF,4,1,0
TBMODIF,4,2,741e-12
TBMODIF,4,3,0
TBMODIF,5,1,741e-12
TBMODIF,5,2,0
TBMODIF,5,3,0
TBMODIF,6,1,0
TBMODIF,6,2,0
TBMODIF,6,3,0
TB,DPER,1,,,0
!Dielektrizitätszahlen (DPER — Anisotropic electric permittivity)
TBMODIF,1,1,3130
TBMODIF,1,2,3130
TBMODIF,1,3,3400
TBMODIF,1,4,
TBMODIF,1,5,
TBMODIF,1,6,
!Dichte
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,DENS,1,,7500
!2.zwischenmaterial -> hier: metglas 2605SA1 (?)
MPTEMP,,,,,,,,
MPTEMP,0
MPDATA,EX,2,,2.3e11
MPDATA,PRXY,2,,0.29
MPTEMP,,,,,,,,
MPTEMP,0
MPDATA,DENS,2,,1800
MPTEMP,,,,,,,,
MPTEMP,0
MPDATA,DMPR,2,,0.02
!3.Schwungmassen (Material? -> als platzhalter:Aluminium mit solid186)
MPTEMP,,,,,,,,
MPTEMP,0
MPDATA,EX,3,,7e7
MPDATA,PRXY,3,,0.35
MPTEMP,,,,,,,,
MPTEMP,0
MPDATA,DENS,3,,2700
!Tabelle für Ergebnisspeicherung
*DIM,Ergebnisse,array,11,7,10
!Parametrisierung
Yl=15e-2
Yk=10e-2
DMl=5e-3
DMk=5e-3
i=1
Knoten1=0
Master1=0
Master2=0
Element=0
Feldstaerke=0
*do,i,1,5,1
/PREP7
!Geometrie !Yl und Yk ~ x20 ; sonst x10
!lange Seite
BLOCK, 0, 5e-2, -Yl, Yl, 0, 5e-3,
BLOCK, 0, 5e-2, -Yl, Yl, 5e-3, 6e-3,
BLOCK, 0, 5e-2, -Yl, Yl, 6e-3, 1.1e-2,
!Massen
BLOCK, 0, 5e-2, -Yl, -Yl+2e-2, 1.1e-2, 1.1e-2+DMl,
BLOCK, 0, 5e-2, Yl-2e-2, Yl, 1.1e-2, 1.1e-2+DMl,
!Brücke
BLOCK, 5e-2, 9e-2, -2.5e-2, 2.5e-2, 0, 5e-3,
BLOCK, 5e-2, 9e-2, -2.5e-2, 2.5e-2, 5e-3, 6e-3,
BLOCK, 5e-2, 9e-2, -2.5e-2, 2.5e-2, 6e-3, 1.1e-2,
!kurze Seite
BLOCK, 9e-2, 14e-2, -Yk, Yk, 0, 5e-3,
BLOCK, 9e-2, 14e-2, -Yk, Yk, 5e-3, 6e-3,
BLOCK, 9e-2, 14e-2, -Yk, Yk, 6e-3, 1.1e-2,
!Massen
BLOCK, 9e-2, 14e-2, -Yk, -Yk+2e-2, 1.1e-2, 1.1e-2+DMk,
BLOCK, 9e-2, 14e-2, Yk-2e-2, Yk, 1.1e-2, 1.1e-2+DMk,
!alles verkleben
vsel,all,,,
vglue,all
!materialien und elementtypen zuordnen
VSEL,s, , ,20 !lange seite unten
VSEL,a, , ,6 !brücke unten
VSEL,a, , ,21 !kurze seite unten
VSEL,a, , ,24 !lange seite oben
VSEL,a, , ,17 !brücke oben
VSEL,a, , ,25 !kurze seite oben
VATT,1, ,1,0 !VATT, MAT, REAL, TYPE, ESYS
VSEL,s, , ,22 !lange seite zwischen
VSEL,a, , ,16 !brücke zwischen
VSEL,a, , ,23 !kurze seite zwischen
VATT,2, ,2,0
VSEL,s, , ,14 !masse lange seite rechts
VSEL,a, , ,15 !masse lange seite links
VSEL,a, , ,18 !masse kurze seite rechts
VSEL,a, , ,19 !masse kurze seite links
VATT,3, ,2,0
VSEL,ALL,,,
!meshen
!Anzahl Elemente, Zwischenschicht, vertikal
lsel,s,line,,165
lsel,a,line,,167
lsel,a,line,,168
lsel,a,line,,189
lsel,a,line,,190
lsel,a,line,,191
lsel,a,line,,192
lsel,a,line,,195
lsel,a,line,,196
lsel,a,line,,197
lsel,a,line,,198
LESIZE,all, , ,1, , , , ,1 !Linie#1,SIZE,,NDIV=number of element divisions per line,,,,,1=for all selected lines
allsel
!Anzahl Elemente,Piezo oben+unten, vertikal
lsel,s,line,,9
lsel,a,line,,10
lsel,a,line,,11
lsel,a,line,,12
lsel,a,line,,69
lsel,a,line,,70
lsel,a,line,,105
lsel,a,line,,106
lsel,a,line,,107
lsel,a,line,,108
lsel,a,line,,71
lsel,a,line,,72
lsel,a,line,,201
lsel,a,line,,202
lsel,a,line,,169
lsel,a,line,,170
lsel,a,line,,208
lsel,a,line,,209
lsel,a,line,,210
lsel,a,line,,211
lsel,a,line,,171
lsel,a,line,,172
lsel,a,line,,203
lsel,a,line,,204
LESIZE,all, , ,2, , , , ,1 !Linie#1,SIZE,,NDIV=number of element divisions per line,,,,,1=for all selected lines
allsel
!Anzahl Elemente, Brücke, x-Rtg.
lsel,s,line,,62
lsel,a,line,,64
lsel,a,line,,65
lsel,a,line,,67
lsel,a,line,,77
lsel,a,line,,79
lsel,a,line,,89
lsel,a,line,,91
LESIZE,all, , ,4, , , , ,1
allsel
!Anzahl Elemente, lange Seite, y-Rtg.
lsel,s,line,,1
lsel,a,line,,8
lsel,a,line,,20
LESIZE,all, , ,15, , , , ,1
allsel
lsel,s,line,,162
lsel,a,line,,157
LESIZE,all, , ,2, , , , ,1
allsel
lsel,s,line,,205
lsel,a,line,,206
LESIZE,all, , ,4, , , , ,1
allsel
lsel,s,line,,207
LESIZE,all, , ,12, , , , ,1
allsel
!Anzahl Elemente, kurze Seite, y-Rtg.
lsel,s,line,,99
lsel,a,line,,102
lsel,a,line,,114
LESIZE,all, , ,10, , , , ,1
allsel
lsel,s,line,,173
lsel,a,line,,174
lsel,a,line,,177
lsel,a,line,,178
LESIZE,all, , ,2, , , , ,1
allsel
lsel,s,line,,213
lsel,a,line,,212
LESIZE,all, , ,4, , , , ,1
allsel
lsel,s,line,,214
LESIZE,all, , ,8, , , , ,1
allsel
lsel,s,line,,185
lsel,a,line,,187
lsel,a,line,,186
lsel,a,line,,188
lsel,a,line,,199
lsel,a,line,,200
LESIZE,all, , ,4, , , , ,1
allsel
!Anzahl Elemente, Masse, x-Rtg.
lsel,s,line,,31
lsel,a,line,,52
lsel,a,line,,38
lsel,a,line,,29
lsel,a,line,,127
lsel,a,line,,148
lsel,a,line,,134
lsel,a,line,,125
LESIZE,all, , ,2, , , , ,1
allsel
!Anzahl Elemente, Masse, y-Rtg.
lsel,s,line,,150
lsel,a,line,,152
lsel,a,line,,138
lsel,a,line,,140
lsel,a,line,,42
lsel,a,line,,44
lsel,a,line,,54
lsel,a,line,,56
LESIZE,all, , ,2, , , , ,1
allsel
vsweep,all
!Knoten verbinden -> Elektrode definieren
!oben+unten
asel,s,,,31 !oben+unten
asel,a,,,105
asel,a,,,109
asel,a,,,44
asel,a,,,128
asel,a,,,133
nsla,s,1
cp,1,volt,all
*GET,Master1,NODE,0,NUM,MIN
ALLSEL
asel,s,,,110 !mitte
asel,a,,,32
asel,a,,,106
asel,a,,,122
asel,a,,,38
asel,a,,,116
nsla,s,1
cp,2,volt,all
*GET,Master2,NODE,0,NUM,MIN
ALLSEL
!Widerstand
ET,3,CIRCU94,0,0
R,1,2e+2
Type,3
REAL,1
e,Master1,Master2
ALLSEL
*GET,Element,elem,0,count
FINISH
/SOL
!structural displacement z
da,31,ux,0
da,31,uy,0
da,31,uz,5e-4
!analyse durchführen
ANTYPE,3
HARFRQ,190,300,
!HROUT,ON
NSUBST,1,
KBC,1
SOLVE
FINISH
/POST1
/POST26
NUMVAR,200
Knoten1=NODE(0,Yl,0)
NSOL,2,Knoten1,U,Z
ESOL,3,Element,,smisc,1,Spannung
ESOL,4,Element,,smisc,2,Strom
ESOL,5,Element,,nmisc,1,Leistung
Ergebnisse(1,1,i)=i
VGET,Ergebnisse(1,2,i),2
VGET,Ergebnisse(1,3,i),3
VGET,Ergebnisse(1,4,i),4
VGET,Ergebnisse(1,5,i),5
Ergebnisse(1,6,i)=5e-4
VGET,Ergebnisse(1,7,i),1
/PREP7
*IF,i,LT,5,then
!Model komplett löschen für nächsten Durchlauf
CPDELE,ALL
VCLEAR,ALL
VDELE,ALL
ACLEAR,ALL
ADELE,ALL
LCLEAR,ALL
LDELE,ALL
NUMCMP,ALL
EDELE,ALL
!Parameter verändern
Yl=Yl+1e-3
Yk=Yk+1e-3
*ELSE
*Endif
*ENDDO
*MWRITE,Ergebnisse,Ergebnisse_Generator4_displacement_anregung_größe.2,txt,,JIK,
(F3.0,G16.9,G16.9,G16.9,G16.9,G16.9,G16.9)
Mein Problem ist nun, dass mir *MWRITE in meine Ergebnisdatei nur die Werte für P,I und U des
ersten Durchlaufs des do-loops (i=1) schreibt. Für die weiteren Durchläufe (i>1) erhalte ich
lediglich den immer gleichen Wert 0.788860905E-30, der wohl einen Fehler representiert.
Hat irgend jemand von Euch Erfahrung mit CIRCU94 und ESOL und kann mir erklären was da schief läuft.
Wäre Euch sehr dankbar!
Grüße, felito
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP