Dokumentation zu NET.EXE v3.0 ***************************** Werkzeug zur Eingabe und Bearbeitung 2-dim. Netze Autor: Michael Seibt (c) DFG-Forschergruppe SPC Chemnitz, 1994,95 Bedienung ######### Aufruf ====== NET.EXE - startet das Programm, ohne eine Datei zu laden NET.EXE - startet das Programm und l„dt die Datei - (Die Angabe der Endung .Net kann entfallen.) NET.EXE ? - erzeugt eine Kurzdokumentation Speicherbedarf: Programmcode, interne Daten, Grafiktreiber - max. ca. 110 Kbyte Netz-Daten - max. ca. 370 Kbyte (370=5*64+50: - je max. 64KB fr Knoten, Kanten, Elemente, Dirichlet-, Neumann-Rb. - max. 50KB fr Materialbereichsdaten und Knotenanzeiger ) Ausschriften ============ * In der ersten Zeile erscheinen eine Beschreibung der gew„hlten Funktion bzw. Abfragen und Parametereingaben. * Am unteren Bildschirmrand erscheinen zwei Zeilen, die als Echo fr ausge- fhrte Aktionen dienen. Dabei gibt die untere und hellere Zeile Informatio- nen zur letzten, und die obere, dunklere Zeile Informationen zur vorletzten Programmaktion. Abbruch ======= Esc - beendet das Programm oder bricht eine spezielle Aktion ab * Wurden Žnderungen am Netz vorgenommen und das Programm beendet, wird nachgefragt, ob die Žnderungen gesichert werden sollen. F10 - beendet das Programm auch Erzeugen/Žndern von finiten Elementen ===================================== 1 - Knoten erzeugen * Es sind nur die entsprechenden Stellen auf dem Bildschirm anzuklicken. * Die aktuellen Koordinaten werden in der rechten oberen Bildschirmecke angezeigt. * Mit R kann die Rasterisierung an- und ausgeschaltet werden. Wenn diese aktiv ist, wird die Mouseposition auf ganzzahlige Vielfache der Raster- gr”áe gerundet. 2 - gerade Kanten erzeugen (linearer Ansatz, '2 Knoten') 3 - Parabel-Kanten erzeugen (quadratischer Ansatz, '3 Knoten') 4 - Kreis-Kanten erzeugen * Bei Kreis-Kanten mssen der Mittelpunkt des Kreises, der Anfangspunkt der Kante sowie der Winkel (in mathematisch positiver Richtung) angege- ben werden. D - Dreieck erzeugen durch Markieren der Eckknoten E - Dreieck erzeugen durch Markieren der Seitenkanten V - Viereck erzeugen durch Markieren der Eckknoten W - Viereck erzeugen durch Markieren der Seitenkanten C - Kopieren/Verschieben von Elementen O - Spiegeln von Elementen * Zuerst markiert man mit gedrckter linker Mousetaste die zu bearbeitenden Elemente. Wenn man damit fertig ist, drckt man die rechte Mousetaste und gibt dann die zwei Punkte ein, die den Verschiebungsvektor bzw. die Spie- gelungsgerade bestimmen. (Statt der rechten Mousetaste kann man auch die Tasten C bzw. O entsprechend verwenden.) M - Knoten verschieben * Der Knoten darf dabei nicht auf einen schon existierenden Knoten ver- schoben werden. * W„hrend des Verschiebens k”nnen weiterhin die Tasten zur Darstellungs- steuerung und R zum Raster-An/Ausschalten benutzt werden. X - Mittelknoten einer Kante entlang dieser verschieben * Anfangs- und Mittelknoten der Kante werden markiert. * Es ist ein Parameter aus (0,1) einzugeben (linear zur L„nge der Kante). * Bei Parabelkanten (Kanten mit quadratischem Ansatz) ist Verschieben nicht m”glich, da dieser Ansatz nur mit vier Punkten eindeutig bestimmt ist. R - Raster fr Punkteingabe an/aus T - Rastergr”áe fr x- und y-Richtung eingeben * Erkl„rung siehe bei '1 - Knoten erzeugen' Randbedingungen =============== B - Dirichlet-Rb. fr Kanten „ndern/setzen N - Neumann-Rb. fr Kanten „ndern/setzen * Es ist die entsprechende Nummer der zu bearbeitenden Rb. anzugeben. * Die enstprechende Kante ist (ber ihren Mittelknoten) anzuw„hlen. Anfangs- und Mittelknoten werden markiert. * Die Tasten A,E,M „ndern jeweils den Wert an Anfang, Ende, Mitte der Kante (Die Werte werden sofort bernommen, wenn eine Kante markiert ist.) * schaltet zwischen 'edit' und 'overwrite' um. 'overwrite' berschreibt die Werte der n„chsten angeklickten Kante. 'edit' zeigt die Werte der n„chsten angeklickten Kante an. (Diese k”nnen dann mit A,E,M ge„ndert werden.) F - Zahl der Freiheitsgrade w„hlen (maximal 25) * 'Randbedingungs-Id anpassen' bedeutet, daá wenn die Zahl der Freiheits- grade verringert wurde, die Bits fr die nicht mehr vorhandenen Frei- heitsgrade gel”scht werden, anderenfalls bleiben sie gesetzt. * Die maximale Anzahl von 25 zu bearbeitenden Freiheitsgraden kann durch Neucompilieren auf bis zu 32 erh”ht werden (mfgrd in NET.H „ndern). Dadurch reduziert sich aber die maximale Anzahl der speicherbaren Randbedingungen auf jeweils 168 fr Dirichlet- bzw. Neumann-Rb. 8 - Dirichlet-Rb. l”schen 9 - Neumann-Rb. l”schen * Es ist die Nummer des Freiheitsgrades anzugeben, dessen Werte gel”scht werden sollen. . - Block von Dirichlet-Rb. l”schen , - Block von Neumann-Rb. l”schen * Es werden alle Rb. mit Nummern zwischen den beiden eingegeben Nummern gel”scht. Materialbereiche und Knotenanzeiger =================================== # - Materialbereichsnummern fr Elemente setzen * Es ist die Nummer des Materialbereichs anzugeben (zwischen 1 und Anzahl der Materialbereiche). * Dann mssen nur noch die entsprechenden Elemente angeklickt werden. A - Anzahl der Materialbereiche und max. Anzahl an Bereichsdaten „ndern * Die Anzahl der Materialbereiche bestimmt, ob und wie viele Materialbereiche in eine Datei geschrieben werden. D.h. ist die Anzahl gleich Null, werden keine Materialbereiche geschrieben und das Format 0 verwendet. Damit gehen eventuell vorhandene (aus einer Datei geladene) Daten verloren. Die Knoten- anzeiger (zugeordneten Materialbereichsnummern) werden aber beibehalten. * Wird die Anzahl der Materialbereiche verkleinert, bleiben die Daten trotz- dem im Speicher (werden aber nicht mehr in Dateien geschrieben). Wird die Anzahl der Materialbereiche (wieder) vergr”áert, so werden evtl. vorhandene Materialbereichsbl”cke wieder aktiviert. Waren keine Bl”cke vorhanden, werden Bl”cke angeh„ngt, die mit Nullen aufgefllt sind. (Die richtigen Daten mssen dann mittels ASCII-Editor eingetragen werden.) * Wird die max. Anzahl an Materialbereichsdaten verkleinert, so werden die L„ngen der Materialbereichsbl”cke gegebenenfalls auch verkleinert. Damit sind die Daten, die nicht mehr in den Materialbereichsblock passen, ver- loren. 0 - Knotenanzeiger setzen und l”schen * Es muá die Nummer des zu setzenden Anzeigers eingegeben werden. Diese steht fr das 0-te bis 31-te Bit des eigentlichen Anzeigers, wie er in der Datei erscheint. Zum l”schen von Anzeigern ist -1 einzugeben. * Danach sind nur noch die entsprechenden Knoten anzuklicken. L”schen ======= 5 - Knoten l”schen 6 - Kanten l”schen 7 - Elemente l”schen * Knoten und Kanten werden nur gel”scht wenn keine Referenzen von Kanten bzw. Elementen auf diese existieren. * Gegebenenfalls vorhandene Randbedingungen auf einer Kante werden mit dieser gel”scht. 8 - Dirichlet-Rb. l”schen 9 - Neumann-Rb. l”schen . - Dirichlet-Rb.-Block l”schen , - Neumann-Rb.-Block l”schen * Erkl„rung unter Randbedingungen 0 - Knotenanzeiger l”schen: als Nummer muá -1 angegeben werden Dateien ======= L - Laden eines Netzes (.NET wird ggf. automatisch erg„nzt) * Wurden die letzten Žnderungen am Netz nicht gesichert, erh„lt man die M”glichkeit, das nachzuholen, denn beim Laden einer Datei werden alle Informationen berschrieben (Ein Mischen ist derzeit nicht m”glich.) S - Sichern eines Netzes (.NET wird ggf. automatisch erg„nzt) Q - An- und Abschalten des Formatanzeigers * (siehe unten: Abschnitt Žnderungen) F1,? - Hilfetext ausgeben Crtl+F1 - erzeugt eine Datei NET.DOC, die die Tastaturbelegung erl„utert Crtl+F2 - erzeugt eine Standard-Konfigurationsdatei NET.CFG (siehe unten) (Beide Dateien werden im gleichen Verzeichnis wie NET.EXE abgelegt.) Darstellung =========== Home - Darstellung des gesamten Netzes * Der Bildausschnitt wird so angepaát, daá das gesamte Netz sichtbar ist. End - Neuzeichnen des Netzes * Der gew„hlte Bildausschnitt bleibt erhalten. * Diese Funktion ist nur der Vollst„ndigkeit halber enthalten, da der Bildinhalt eigentlich nicht zerst”rt wird. Cursortasten - Verschieben des Bildinhalts auf dem Bildschirm +,PageDown - Heranzoomen/Vergr”áern -,PageUp - Wegzoomen/Verkleinern Z - Zoom mit Angabe des darzustellenden Fensters Mit nachfolgenden Tasten kann man die Sichtbarkeit der Objekte „ndern: F2 - Materialbereichsmarkierung umschalten (Nummern & F„rbung an/aus) F3 - Dirichlet-Rb. an/aus F4 - Neumann-Rb. an/aus F5 - Mittelknoten der Kanten an/aus F6 - Knoten an/aus F7 - Kanten an/aus F8 - Elemente an/aus F9 - Knotenanzeiger an/aus Farben ====== weiáe Kreise = Knoten gelbe Linien = gerade Kanten grne Linien = Parabel-Kanten trkise Linien = Kreis-Kanten rote Polygone = Dreiecke blaue Polygone = Vierecke bunte Polygone = erzeugt durch Materialbereichsmarkierung grne Zahlen = Dirichlet-Rb.-Id blaue Zahlen = Neumann-Rb.-Id rote Zahlen = Knotenanzeiger weiáe Zahlen = Materialbereichsnummern (Die Werte der Rb. erh„lt man im 'edit'-Modus beim Rb.-Erzeugen (siehe oben).) (Die Rb.-Id's sind per Vorgabe hexadezimal kodiert. Die Basis des verwendeten Zahlensystems kann aber in der Konfigurationsdatei NET.CFG ge„ndert werden. ) Prozessorzuordnung ================== P - Sortieren der Elemente, anschlieáend Tauschen mittels Mouse * Zuerst wird nach der Zahl der Prozessoren gefragt, fr die die Sortierung vorgenommen werden soll. Dann hat man die M”glichkeit, die Art der Sortie- rung zu w„hlen: - Intelligent: Mit einem Algorithmus wird versucht, jedem Prozessor ein m”glichst zusammenh„ngendes Gebiet zuzuordnen. - Modulo: Die Zuordnung erfolgt nach der Reihenfolge, in der die Elemente im Speicher bzw. der Datei stehen, wie dies auch auf dem Paral- lelrechner (zur Zeit) gehandhabt wird. - Nicht: Die (eventuell) bestehende Sortierung wird beibehalten. * Nach der Sortierung hat man die M”glichkeit, mit der Mouse die Prozessor- zuordnung je zweier Elemente zu tauschen. Dabei stehen weiterhin die Tasten zur Darstellungssteuerung zur Verfgung. U - Numerieren der Elemente * Die Zahl der Prozessoren wird gleich der Zahl der Elemente gesetzt, da die Reihenfolge der Elemente beim Abspeichern durch die zugeordnete Prozessor- nummer bestimmt wird. * Das Numerieren erfolgt durch nacheinanderfolgendes Anklicken der entspre- chenden Elemente. Mit der BackSpace-Taste kann eine falsche Numerierung widerrufen werden. (Die Tasten zur Darstellungssteuerung sind verfgbar.) Beachte: Die Prozessorzuordnung sollte direkt vor dem Speichern vorgenommen werden, da durch jegliche Žnderungen am Netz die Prozessorzuordnung ungltig wird und somit beim Abspeichern nicht bercksichtigt wird! Mouse ===== linker Mouseknopf - zum Markieren/Anklicken rechter Mouseknopf - zum Abbrechen einer Aktion Fehlermeldungen ############### * Bei Datei-Fehlern k”nnen fehlerhafte Dateinamen oder -pfade eine Ursache sein. Ein 'Fehler im NET-File' tritt auf, wenn das angegebene File nicht im verwendeten NET-File-Format vorliegt. * Bei Fehlermeldungen 'Speicher fr ... ersch”pft' ist der entsprechende Wert im Konfigurationsfile zu erh”hen, denn eine Vergr”áerung der Datenstrukturen ist w„hrend der Laufzeit des Programms nicht m”glich. * Bricht das Programm mit der Meldung 'Zuviel Speicher fr Daten angefordert' ab, so steht ihm nicht gengend Speicher zur Verfgung. Entweder wurden zu hohe Max-Werte fr die Speicheranforderung im Konfigurationsfile NET.CFG angegeben, oder es steht zu wenig DOS-Speicher zur Verfgung. * Beim Auftreten von 'nicht spezifizierten' oder 'internen' Fehlern ist ein Fehler im Programm aufgetreten, der auf einen Programmierfehler hinweist. In einem solchen Fall, der theoretisch nicht eintreten sollte, ist bitte der Autor zu benachrichtigen. Konfigurationsdatei NET.CFG ########################### Diese Datei wird erst im aktuellen Verzeichnis gesucht, wenn sie nicht gefun- den wird, wird sie im gleichen Verzeichnis gesucht, in dem auch das Programm NET.EXE steht. Ist sie auch dort nicht vorhanden, werden Standardwerte benutzt. Mit Crtl+F1 kann w„hrend des Programmslaufs eine neue Konfigurationsdatei mit Standardeinstellungen erzeugt werden. Diese werden aber erst bei einem Neustart des Programms wirksam. In der gesamten Datei werden die Groá- und Kleinschreibung, Leer- und Gleich- heitszeichen ignoriert. Kommentare beginnen mit # ; / ( ' \ und enden am der Zeile. * Angaben zur Speicheranforderung (Die Datenstrukturen werden zum Programmstart dynamisch erzeugt, sind dann aber nicht mehr vergr”áerbar. Fr Knoten, Kanten, Elemente und Randbedingungen k”nnen jeweils maximal 64 Kbyte angefordert werden. Daraus resultieren die angegebenen H”chstwerte fr die Gr”áe der einzelnen Strukturen.) GridMax = Zahl der maximal bearbeitbaren Knoten (max. 2520) EdgeMax = Zahl der maximal bearbeitbaren Kanten (max. 3640) FaceMax = Zahl der maximal bearbeitbaren Elemente (max. 1820) DiriMax = Zahl der maximal bearbeitbaren Dirichlet-Rb. (max. 214) NeumMax = Zahl der maximal bearbeitbaren Neumann-Rb. (max. 214) MatbMax = Zahl der maximal bearbeitbaren Materialbereiche (max. 100) DataMax = Zahl der maximal verwalteten Materialdaten (max. 100) * Anzeige (1) bzw. Nichtanzeige (0) von Objekten (siehe oben bei Darstellung) GridVis = Knoten (un)sichtbar EdgeVis = Kanten (un)sichtbar EMidVis = Kantenmitten (un)sichtbar FaceVis = Elemente (un)sichtbar DiriVis = Dirichlet-Rb. (un)sichtbar NeumVis = Neumann-Rb. (un)sichtbar GIndVis = Knotenanzeiger (un)sichtbar MatbVis = Materialbereichsmarkierung einstellen ( 0 = Markierung aus, 1 = Nummern, 2 = F„rbung, 3 = Nummern & F„rbung ) * Diverses Format = Standardformat beim Schreiben von Dateien ( 0 - altes Format ohne Formatanzeiger 1 - neues Format mit Formatanzeiger ) FhGrade = Anzahl der bearbeiteten Freiheitsgrade (Die Datenstrukturen k”nnen maximal 25 Freiheitsgrade aufnehmen, die Zahl FhGrade hat nur Einfluá darauf, wieviele davon benutzt werden. Man kann FhGrade auch w„hrend der Laufzeit des Programms „ndern.) MatBer = Anzahl der bearbeiteten Materialbereiche (Die Datenstrukturen k”nnen maximal MatbMax Materialbereiche aufnehmen, die Zahl MatBer hat nur Einfluá darauf, wieviele Materialbereiche in einer neuen Datei angelegt werden. Man kann MatBer auch w„hrend der Laufzeit des Programms „ndern.) MaxDataLen = Anzahl der max. verwalteten Materialbereichsdaten (Die Datenstrukturen k”nnen maximal DataMax Materialbereichsdaten je Materialbereich aufnehmen, die Zahl MaxDataLen hat nur Einfluá darauf, wieviele Materialbereichsdaten in einer neuen Datei angelegt werden. Man kann MaxDataLen auch w„hrend der Laufzeit des Programms „ndern.) NProc = Anzahl der Prozessoren (fr Umnumerieren der Elemente) Tolerance = Ist das Abstandsquadrat zweier Knoten kleiner dieser Zahl, so werden diese als identisch angesehen. XSnap = Gr”áe des Rasters in x-Richtung YSnap = Gr”áe des Rasters in y-Richtung Snap = Flag, ob die Rasterisierung (in)aktiv ist, kann mit R w„hrend der Laufzeit des Programms umgeschaltet werden Zoom = Gr”áe des Polygons fr die Markierung der Elemente bezglich der Originalgr”áe des Elements. (Es wird eine Stauchung mit dem Schwer- punkt des Elements als Zentrum und dem Zoom-Faktor durchgefhrt.) Radix = Basis des Zahlensystems fr den Randbedingungs-Id beim Anzeigen. EditModus = Voreinstellung fr den Modus 'overwrite' (0) bzw. 'edit' (1) bei der Eingabe der Randbedingungen. * Und hier ist noch die Standardkonfigurationsdatei eingefgt: ------------------------------ hier trennen ----------------------------------- # Konfigurationsfile von NET.EXE v3.0 # (muá im aktuellen oder NET.EXE-Verzeichnis stehen) # # Groá-/Kleinschreibung und Leer- und Gleichheitszeichen werden ignoriert # Kommentare mit: # ; / ( ' \ # Angaben zur Speicheranforderung GridMax 2500 ; max. Anz. von Knoten (ó2520) EdgeMax 2000 ; max. Anz. von Kanten (ó3640) FaceMax 1600 ; max. Anz. von Elementen (ó1820) DiriMax 200 ; max. Anz. von Dirichlet-Rb. (ó 214) NeumMax 50 ; max. Anz. von Neumann-Rb. (ó 214) MatbMax 20 ; max. Anz. von Materialber. (ó 100) DataMax 20 ; max. Anz. von Materialdaten (ó 100) # Anzeige (1) bzw. Nichtanzeige (0) von Objekten GridVis 1 ; Knoten (un)sichtbar EdgeVis 1 ; Kanten (un)sichtbar EMidVis 1 ; Kantenmitten (un)sichtbar FaceVis 1 ; Elemente (un)sichtbar DiriVis 1 ; Dirichlet-Rb. (un)sichtbar NeumVis 1 ; Neumann-Rb. (un)sichtbar GIndVis 1 ; Knotenanzeiger (un)sichtbar MatbVis 3 ; Materialber.-Nummern (un)sichtbar ; ( MatbVis: 0 = aus, 1 = Nummern, 2 = F„rbung, 3 = Nummern und F„rbung ) # Standardformat beim Schreiben: ohne (0) bzw. mit (1) Formatanzeiger Format 1 # Anzahl der bearbeiteten Freiheitsgrade (maximal 25) FhGrade 3 # standardm„áige Anzahl von Materialbereichen (maximal MatbMax) MatBer 5 # standardm„áige Anzahl von Materialbereichsdaten (maximal DataMax) MaxDataLen 3 # Anzahl der Prozessoren (fr Umnumerieren der Elemente) NProc 64 # Diverses Tolerance 0.000 025 (= 0.005ý) ; fr Gleichsetzung von Knoten XSnap 0.5 ; Mouse-X-Raster YSnap 0.5 ; Mouse-Y-Raster Snap 1 ; Mouse-Raster (in)aktiv Zoom 0.5 ; Gr”áe fr Markierung der Elemente # Randbedingungs-Bearbeitung Radix 16 ; Basis des Zahlensystems fr ID-Code EditModus 1 ; 0=šberschreiben, 1=Edit ------------------------------ hier trennen ----------------------------------- Žnderungen von NET.EXE v2.3 zu NET.EXE v3.0 ########################################### - Das Dateiformat wurde erg„nzt: - Die erste Zeile kann jetzt einen Formatanzeiger enthalten: 0 = Datei im alten Format aber mit Knotenanzeigern, 1 = Datei, die Knotenanzeiger und Materialbereichsdaten enth„lt. Dateien ohne Formatanzeiger werden erkannt und korrekt gelesen. Dateien k”nnen mit und ohne Formatanzeiger geschrieben werden, die Standardeinstellung wird in der Konfigurationsdatei festgelegt. (Es kann also eingestellt werden, daá neu gespeicherte Dateien automa- tisch einen Formatanzeiger erhalten, (auch) wenn die Anzahl der Materialbereiche Null ist oder eine Datei ohne Formatanzeiger geladen wurde.) Der Formatanzeiger wird automatisch erzeugt, wenn die Anzahl der Materialbereiche gr”áer Null ist oder Knotenanzeiger gesetzt wurden. Das Erzeugen des Formatanzeigers kann sonst aber auch manuell zur Laufzeit (de)aktiviert werden. - Knotenzeilen in Dateien neuen Formats (d.h. mit Formatanzeiger) enthalten einen Knotenanzeiger, dieser muá Null oder eine Zweierpotenz (ó2^31) sein. Diese Knotenanzeiger werden in alle Dateien mit Formatanzeiger geschrie- ben, aber nicht in Dateien alten Formats, d.h. ohne Formatanzeiger. - Die letzte Zeile "0.0, 0.0, 0.0" wird nicht mehr erzeugt. - Das Programm untersttzt die Behandlung von Materialbereichen und Knoten- anzeigern (siehe entspr. Abschnitt weiter oben). (Die Konfigurationsdatei wurde fr die zugeh”rigen Einstellungen angepaát.) - Damit bearbeitet NET.EXE v3.0 Dateien des alten Formats genau so wie NET.EXE v2.3, wenn in der Konfigurationsdatei FORMAT 0, MATBER 0, MATBVIS 0 steht. (Bis auf die fehlende letzte Zeile "0.0, 0.0, 0.0", die nicht mehr ben”tigt wird.)