Software: FEMM - Stromfluss - LUA-Script: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
Zeile 15: | Zeile 15: | ||
'''''1. Parameter:''''' | '''''1. Parameter:''''' | ||
Wir werden weitestgehend die kompletten Dimensionierungsrechnungen in den Parameter-Abschnitt integrieren. | Wir werden weitestgehend die kompletten Dimensionierungsrechnungen in den Parameter-Abschnitt integrieren. Dabei berücksichtigen wir sofort die Abmessungen der Trimmkerbe, obwohl sie erst später im FEM-Modell benötigt werden. | ||
<div align="center"> [[Bild:Software_FEMM_-_Stromfluss_-_L-Schnittt.gif]] </div> | |||
:''' | Man kann die "Parameter" in zwei Gruppen einteilen: | ||
:'''a) Funktionelle und technologische Parameter''' | |||
::Hier kann der Modell-Nutzer seine speziellen Anforderungen an den Widerstand und die technologischen Prozessgrößen in Form von Werten vorgeben: | ::Hier kann der Modell-Nutzer seine speziellen Anforderungen an den Widerstand und die technologischen Prozessgrößen in Form von Werten vorgeben: | ||
Zeile 33: | Zeile 35: | ||
SF=0.3; -- Fertigungsstreuung ungetrimmter Widerstand (rel.) | SF=0.3; -- Fertigungsstreuung ungetrimmter Widerstand (rel.) | ||
:'''b) Berechnete Geometrie- und Material-Parameter''' | |||
::Im Unterschied zur manuellen Dimensionierung werden im Folgenden die berechneten geometrischen Größen nicht gerundet. Da dies für die Fertigung keine Bedeutung hat, werden die berechneten "krummen" Werte verwendet: | |||
-- Berechnete Geometrie- und Material-Parameter | |||
Ru=RN*(1-SF)*(1+Szul); -- notw. Nennwert ungetrimmter Widerstand [Ohm] | |||
PWCR=Pmax*0.5; -- Leistungsdichte Worst-Case-Resistor [W/cm²] | |||
Bu= sqrt(PV*RF/(PWCR*Ru))*cm/um; -- Breite Widerstand [cm] -> [µm] | |||
L=Bu*Ru/RF; -- Länge des Widerstands [µm] | |||
BgetrWCR=0.5*Bu; -- Breite des Reststegs bei max. Trimmkerbe | |||
R0=(1-xx/100)*Ru; -- konkreter Wert ungetrimmter Widerstand [Ohm] | |||
bk=Bu*(0.05+1.05*(1-R0/RN))+bz; -- Breite der Trimmkerbe für P-Schnitt [µm] | |||
-- mit 5% Druck- und Pos.-Toleranz und Zuschlag | |||
Kappa=1/((1-xx/100)*RF*d*um);-- spez. Leitfähigkeit (konkr.Teilnehmer) [S/m] | |||
-- Kontrollausgabe auf die LUA-Console: | |||
showconsole(); -- LUA-Console öffnen, falls Script als Datei ausgeführt | |||
print ("Ru =",Ru,"[Ohm]"); | |||
print ("Bu =",Bu,"[µm]"); | |||
print ("L =",L,"[µm]"); | |||
print ("bk =",bk,"[µm]"); | |||
print ("Kappa =",Kappa,"[S/m]"); | |||
print ("R0 =",R0,"[Ohm] -> 'Sollwert' vor dem Trimmen in FEM-Rechnung!"); | |||
'''''2. Definition des Problem-Typs''''' | |||
-- Definition des Problem-Typs ================================================ | |||
create(3); -- 0=magnetic|1=electrostatic|2=heatflow|3=currentflow | |||
ci_probdef("micrometers","planar",0,1e-8,d,30); | |||
-- 1e-8=Max.Fehler für Solver | |||
-- 30° =Min.Winkel für Netz | |||
'''''3. Geometrie''''' | |||
Die markanten Punkte der Geometrie sind laut folgender Skizze durchnummeriert: | |||
<div align="center"> [[Bild:Software_FEMM_-_Stromfluss_-_LUA-Script_ungetrimmt_nodes.gif]] </div> | |||
-- Geometrie (alle Abmessungen in µm!)========================================= | |||
ci_seteditmode ("nodes") -- ungetrimmtes Rechteck ************************* | |||
x01= 0; y01= 0; ci_addnode (x01,y01); | |||
x02= 0; y02= Bu; ci_addnode (x02,y02); | |||
x03= L; y03= Bu; ci_addnode (x03,y03); | |||
x04= L; y04= 0; ci_addnode (x04,y04); | |||
ci_zoomnatural(); ci_zoomout(); -- Zoom einschließlich Kanten im Bild | |||
ci_seteditmode ("segments") | |||
ci_addsegment ( x01,y01 , x02,y02 ); | |||
ci_addsegment ( x02,y02 , x03,y03 ); | |||
ci_addsegment ( x03,y03 , x04,y04 ); | |||
ci_addsegment ( x04,y04 , x01,y01 ); | |||
Version vom 24. Juli 2008, 09:36 Uhr
In der Übung (elektrostatischen Feld) haben wir Erfahrung mit der Entwicklung von LUA-Scripten gewonnen. Die vollständige Parametrisierung mit allen konstruktiv und technologisch relevanten Parametern soll auch diesmal das Ziel für den Aufbau eines scriptbasierten FEM-Modells darstellen. Die Prozess-Schritte, welche wir soeben auf dem Niveau der grafischen Bedienoberfläche ausführten, werden wir unter diesem Aspekt als LUA-Script entwickeln.
Infolge der knappen Übungszeit beschränkt sich die Script-Entwicklung wieder auf das Nachvollziehen der vorgegebenen Script-Abschnitte (Copy & Paste). Dazu öffnen wir einen geeigneten Script-Editor (z.B. Crimson-Editor) und die LUA-Console des FEMM-Programms:
- Teilnehmer der Lehrveranstaltung speichern die neue Textdatei als LaserTrimm_xx.LUA (mit xx=Teilnehmer-Nr.).
Script-Entwicklung
1. Parameter:
Wir werden weitestgehend die kompletten Dimensionierungsrechnungen in den Parameter-Abschnitt integrieren. Dabei berücksichtigen wir sofort die Abmessungen der Trimmkerbe, obwohl sie erst später im FEM-Modell benötigt werden.
Man kann die "Parameter" in zwei Gruppen einteilen:
- a) Funktionelle und technologische Parameter
- Hier kann der Modell-Nutzer seine speziellen Anforderungen an den Widerstand und die technologischen Prozessgrößen in Form von Werten vorgeben:
-- Funktionelle und technologische Parameter xx=00; -- Teilnehmer-Nr. 00 bis 30 s=25; -- Schnittbreite des Laser-Strahls [µm] Ls=500; -- aktuelle Länge L-Schnitt [µm] bz=200; -- Breite eines Zuschlags für Fertigung [µm] d=20; -- Schichtdicke in µm = Dicke 2D-Elemente RF=100; -- Nennwert Flächenwiderstand der Paste [Ohm/Quadrat] Pmax=6.2; -- max. zul. Leistungsdichte in Paste [W/cm²] RN=240; -- Nennwert nach Trimmen [Ohm] Szul=0.02; -- zulässige relative Toleranz von RN PV=0.2; -- max. Verlustleistung im Betrieb [W] SF=0.3; -- Fertigungsstreuung ungetrimmter Widerstand (rel.)
- b) Berechnete Geometrie- und Material-Parameter
- Im Unterschied zur manuellen Dimensionierung werden im Folgenden die berechneten geometrischen Größen nicht gerundet. Da dies für die Fertigung keine Bedeutung hat, werden die berechneten "krummen" Werte verwendet:
-- Berechnete Geometrie- und Material-Parameter Ru=RN*(1-SF)*(1+Szul); -- notw. Nennwert ungetrimmter Widerstand [Ohm] PWCR=Pmax*0.5; -- Leistungsdichte Worst-Case-Resistor [W/cm²] Bu= sqrt(PV*RF/(PWCR*Ru))*cm/um; -- Breite Widerstand [cm] -> [µm] L=Bu*Ru/RF; -- Länge des Widerstands [µm] BgetrWCR=0.5*Bu; -- Breite des Reststegs bei max. Trimmkerbe R0=(1-xx/100)*Ru; -- konkreter Wert ungetrimmter Widerstand [Ohm] bk=Bu*(0.05+1.05*(1-R0/RN))+bz; -- Breite der Trimmkerbe für P-Schnitt [µm] -- mit 5% Druck- und Pos.-Toleranz und Zuschlag Kappa=1/((1-xx/100)*RF*d*um);-- spez. Leitfähigkeit (konkr.Teilnehmer) [S/m] -- Kontrollausgabe auf die LUA-Console: showconsole(); -- LUA-Console öffnen, falls Script als Datei ausgeführt print ("Ru =",Ru,"[Ohm]"); print ("Bu =",Bu,"[µm]"); print ("L =",L,"[µm]"); print ("bk =",bk,"[µm]"); print ("Kappa =",Kappa,"[S/m]"); print ("R0 =",R0,"[Ohm] -> 'Sollwert' vor dem Trimmen in FEM-Rechnung!");
2. Definition des Problem-Typs
-- Definition des Problem-Typs ================================================ create(3); -- 0=magnetic|1=electrostatic|2=heatflow|3=currentflow ci_probdef("micrometers","planar",0,1e-8,d,30); -- 1e-8=Max.Fehler für Solver -- 30° =Min.Winkel für Netz
3. Geometrie
Die markanten Punkte der Geometrie sind laut folgender Skizze durchnummeriert:
-- Geometrie (alle Abmessungen in µm!)========================================= ci_seteditmode ("nodes") -- ungetrimmtes Rechteck ************************* x01= 0; y01= 0; ci_addnode (x01,y01); x02= 0; y02= Bu; ci_addnode (x02,y02); x03= L; y03= Bu; ci_addnode (x03,y03); x04= L; y04= 0; ci_addnode (x04,y04); ci_zoomnatural(); ci_zoomout(); -- Zoom einschließlich Kanten im Bild ci_seteditmode ("segments") ci_addsegment ( x01,y01 , x02,y02 ); ci_addsegment ( x02,y02 , x03,y03 ); ci_addsegment ( x03,y03 , x04,y04 ); ci_addsegment ( x04,y04 , x01,y01 );