Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en...

61
Handleiding voor de programmatuur voor de berekening van uitwendig van druk voorziene gaslagers Citation for published version (APA): Spierenburgh, S. J. (1993). Handleiding voor de programmatuur voor de berekening van uitwendig van druk voorziene gaslagers. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA1484). Technische Universiteit Eindhoven. Document status and date: Gepubliceerd: 01/01/1993 Document Version: Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 09. Sep. 2020

Transcript of Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en...

Page 1: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Handleiding voor de programmatuur voor de berekening vanuitwendig van druk voorziene gaslagersCitation for published version (APA):Spierenburgh, S. J. (1993). Handleiding voor de programmatuur voor de berekening van uitwendig van drukvoorziene gaslagers. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol.WPA1484). Technische Universiteit Eindhoven.

Document status and date:Gepubliceerd: 01/01/1993

Document Version:Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne

Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.

Download date: 09. Sep. 2020

Page 2: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Technische Universiteit Eindhoven, Faculteit der Werktuigbouwkunde,

Vakgroep Produktietechnologie en -Automatisering

Handleiding voor de programmatuur voor de berekening van uitwendig van druk voorziene gaslagers.

Onder.zoeksopdracht S.J. Spierenburgh, januari 1993, WPA-rapport 1484

Begeleider : prof. dr. ir. P.H.J. Scheltekens

Page 3: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Voorwoord

V oor U ligt de gebruikershandleiding voor de programmatuur ter ontwerp van uitwendig van druk voorziene gaslagers. In de engelse terminologie worden deze aangeduid als Externally Pressurized Gas Bearings (EPG Bearings). Aan dit soort gaslagers wordt vaak gemakshalve gerefereerd als "luchtlagers". Ook in de tekst van deze handleiding en in de programmatuur zal ter verkorting meestal van luchtlagers gesproken worden, mede omdat lucht het meest geijkte medium is voor een uitwendig van druk voorzien gaslager.

De programmatuur heeft als belangrijkste onderdelen de programma's DES (van DESign) en PADSCI (Clrcular PADS). Dit zijn de programma's waarin de feitelijke calculaties worden uitgevoerd. Deze programma's zijn in FORTRAN met behulp van SEPRAN geschreven door dr. ir. J.M. Wang, om voor eigen gebruik te dienen. Om ook constructeurs en anderen ten dienste te zijn, zijn er bij deze programma's gebruiksvriendelijke invoerprogramma's geschreven. Deze programma's zijn genaamd CALGO, (DYN-)COPA, en PREDES. Zij zijn geschreven in Turbo Pascal 5.0 door S.J. Spierenburgh. De handleiding richt zich op het gebruik van de programmatuur. Voor formules en fundamentele informatie betreffende uitwendig van druk voorziene gaslagers wordt verwezen naar de literatuur. In de programmatuur en in de tekst van deze handleiding komen engelse termen voor die gebruikelijk zijn in de computertaal. Uitleg van deze termen kan verkregen worden door een goede computerhandleiding te raadplegen. De gebruikte engelse termen met betrekking tot EPG Bearings worden in deze handleiding vertaald en/o{ omschreven. U zult bemerken dat deze handleiding grotendeels overbodig is, wanneer U bekend bent met de programmatuur.

Eindhoven januari 1993, S.J. Spierenburgh

1

Page 4: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Inhoud

1. Inleiding

2. Opbouw van de programmatuur

2.1 Taak van de verschillende programma • s 2.2 Overzicht van alle files

3. Installatie

3.1 Systeemeisen aan de computer 3.2 Installeren van de programmatuur op harddisk

3.2.1 Configuration-file 3.2.2 Voorbeelden van contiguration-file 3.2.3 Op de harddisk plaatsen van programma•s 3.2.4 Installatie van DBOS en compiler

4. CALGO

4.1 Algemeen 4.2 Gebruik

5. COPA

5.1 Algemeen 5.2 Gebruik

5.2.1 Betekenis controleparameters

6. DYNCOPA

6.1 Algemeen 6.2 Gebruik

6.2.1 Betekenis controleparameters

7. PREDES

7.1 Algemeen 7.2 Gebruik

7 .2.1 Keuze van het type luchtlager 7.2.2 Invoer van operatieparameters 7.2.3 Invoer van draagvlakparameters 7.2.4 Invoer van de eigenschappen van het gas (lucht) 7.2.5 Optionele invoer : secundaire parameters

8. DES

8.1 Algemeen

2

4

5

5 5

8

8 8 8 9 11 11

14

14 14

15

15 15 15

16

16 16 16

18

18 18 18 21 22 23 23

24

24

Page 5: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

8.2 Gebruik 24

9. PADSCI 25

9.1 Algemeen 25

10. Uitvoer en presentatie van resultaten 26

10.1 Algemeen 26 10.2 In geval van statische calculatie 26 10.3 In geval van dynamische calculatie 27

11. Foutmeldingen 28

12. Uteratuur 30

3

Page 6: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

1. Inleiding

De in deze handleiding beschreven programmatuur dient ter berekening van uitwendig van druk voorziene gaslagers. Aangezien lucht het meest toepasselijke medium is, wordt vaak van luchtlagers gesproken. De in deze handleiding beschreven aërostatische lagers kenmerken zich door hun cirkulaire lagéroppervlak, waarin zich êên of meerdere resttictors bevinden. Deze luchtlagers kunnen goed toegepast worden voor vlakke geleiding in precisiemachi­nes. Luchtlagergeleidingen kenmerken zich door de lage wrijving (want luchtwrijving), de afwezigheid van het stick-slip effect (dus goede positioneerbaarheid) en het schone milieu (luchtomgeving ten opzichte van olieomgeving bij hydrostatische geleidingen). De berekening van de in deze handleiding gepresenteerde luchtlagers berust op de theorie

zoals beschreven in het proefschrift van Dr. Ir. J.M. Wang [1]. Bij berekening van de drukopbouw onder een luchtlager wordt uitgegaan van een gemodificeerde, 2-dimensionale Reynoldsvergelijking waarbij specifieke randvoorwaarden worden opgesteld. Zoals in dit proefschrift besproken kunnen in de programmatuur berekeningen worden uitgevoerd waarbij de drukverdeling onder het luchtlager wordt bepaald bij variatie van de spleet­hoogte (working gap height) tussen luchtlager en oppervlak (van de geleiding). De integratie van deze drukverdeling over het luchtlageroppervlak resulteert in de lagerdraag­kracht (load capacity). De hier gepresenteerde programmatuur kenmerkt zich doordat ook invloeden van lagerkan­teling, oppervlakte-onnauwkeurigheden en snelheden kunnen worden meegenomen in de berekening. De luchtlagers kunnen met deze programmatuur zowel statisch als dynamisch worden doorgerekend. In hoofdstuk 10 staat beschreven welke uitvoer te verkrijgen is met de programmatuur. Voor de invoer van geometrische gegevens van het luchtlager dient PREDES (hoofdstuk 7). Om te kunnen bepalen welke geometrische parameters van het luchtlager zijn gedefi­nieerd, zijn er in dit hoofdstuk afbeeldingen van te kiezen luchtlagers met bijbehorende parameters toegevoegd. Deze afbeeldingen zijn ook op te vragen in het programma PREDES zelf. De vorm van de resttictor bij sommige van de luchtlagers zal direct opvallen : er zijn luchtlagers met bi- en triconische resttictor. Zoals vermeld in [1], blijken luchtlagers met een triconische resttictor in vergelijking tot luchtlagers met parallelle en biconische resttictors over veel betere eigenschappen te beschikken betreffende de aspecten : hoge belastbaarheid, hoge stijfheid, stabiliteit over een groot gebied, minder gevoelig voor kanteling, oppervlakte-onnauwkeurigheden, snelheid en temperatuursdalin­gen. In hoofdstuk 7. PREDES staan voor veel geometrische parameters richtlijnen gegeven voor in te voeren grootten. De in de bijlage geplaatste grafieken kunnen daarbij mede als richtlijn dienen. De hoofdstukken 4 tot en met 7 beschrijven de programma's die te maken hebben met de invoer van gegevens. Het overzicht van de benodigde programma's staat in paragraaf 2.1 te beschreven.

4

Page 7: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

2. Opbouw van de programmatuur

2.1 Taak van de verschillende programma's

Het programma DES, dat de statische calculatie van het luchtlager uitvoert, is het hart van de programmatuur. De overige programma's staan ten dienste van DES (COPA, DYNCO­PA,PREDES) of hebben DES nodig voor de dynamische calculatie van het luchtlager (PADSCI).

invoer gegevens

statische calculatie luchtlager

DES

eventuele dynamische calculatie van het luchtlager

PAD SCI

De voor calculatie benodigde gegevens omtrent de geometrie van het luchtlager, de gasconstanten, en de omgevingscondi­ties worden middels PREDES (pre-DES) toegevoerd. Er zijn twee programma's die middels ,ÇQntrölemrameters ervoor zorgen dat DES (en ook PADSCI, in geval van een dynamische calculatie) de berekende resultaten in de gewenste vorm genereert : - COPA, in geval van een statische calcu­latie

UITVOER - DYNCOPA, in geval van een dynami­sche calculatie.

Afbeelding 1 De hiervoor genoemde programma's zijn in principe elk afzonderlijk te doorlopen. Dit is gemakkelijk om na te gaan hoe elk

programma afzonderlijk functioneert. Ook kan hierdoor bijvoorbeeld, indien steeds dezelfde presentatie van de uitvoer gewenst is, het doorlopen van COPA dan wel DYN­COPA overgeslagen worden. Wel dient erop gelet te worden dat DES gebruik maakt van aanwezige files van (DYN-)COPA en PREDES, die dus niet veranderen als deze pro­gramma's niet doorlopen worden bij een nieuwe berekening. Om de gehele programmatuur echt gebruiksvriendelijk te maken is er de beschikking over een soort menu-gestuurd programma, CALGO (Calculation Going On) genaamd.

2.2 Overzicht van alle files

De inhoud van de data-files (*.dat) en van de configuratie-file (calsys.cfg) is zichtbaar te maken met behulp van een editor of het DOS-commando TYPE (bijvoorbeeld TYPE DYSTAT.DAT)

CALGO: CALGO.EXE: executable file, d.w.z. het programma CALGO zelf CALSYS.CFG : configuratie-file, zie 2.2.1 DYSTAT.DAT: data-file, bevat l.OOOOOOOOOOOOOOE+OOOO indien gekozen is

voor een statische calculatie en 2.00000000000000E+OOOO indien gekozen is voor een dynamische calculatie. Deze file wordt zowel door PREDES als DES gebruikt om zich aan te passen aan statische dan wel dynamische cal­culatie.

COPA: COPA.EXE: executable file

5

Page 8: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

CALSYS.CFG :configuratie-file, zie Z.Z.1 DYSTAT.DAT : zie onder CALGO CUPA.DAT: deze data-file moet bij het aanroepen van COPA.EXE middels

CALSYS.CFG te vinden zijn op de harddisk. Deze data-file bevat de invoer in COPA van de voorgaande keer. Inhoud : 1e regel :bevat 1 bij keuze A (ASCIT data-files), Z bij

keuze B (data-files voor PCPLOT) ze regel : bevat eerste (positieve en even) getal van calculatiepun­

ten (van keuze B) 3e regel : bevat tweede (positieve en even) getal van calculatiepun­

ten (van keuze B) 4e regel : bevat 1 bij keuze A (drukverdeling-file), Z bij

keuze B (drukverdeling met coördinaten in file), 3 bij keuze C (geen dru.kverdeling-file)

COPAST.DAT : data-file die door DES.EXE wordt ingelezen. Bevat na het doorlopen van COPA dezelfde informatie als CUPA.DAT, alleen in uniforme vorm.

TEN.DAT: data-file die bij het aanroepen van COPA.EXE te vinden moet zijn op de harddisk via CALSYS.CFG . Deze data-file bevat twee regels met het getal 10 om de getallen voor de calculatiepunten standaard op 10 te zetten.

DYNCOPA : DYNCOPA.EXE : executable file CALSYS.CFG : configuratie-file, zie Z.Z.1 DYSTAT.DAT : zie onder CALGO DYNCUPA.DAT: deze data-file moet bij het aanroepen van

DYNCOP A.EXE middels CALSYS.CFG te traceren zijn op de harddisk. Deze data-file bevat de invoer in DYNCOPA van de voorafgaande keer. Inhoud: 1 e regel : bevat 1 bij keuze A (ASCII data-files),

Z bij keuze B (data-files voor PCPLOT), 3 bij keuze C (file met parameters voor elementen-

1

model van stijfheid gasfilm), 4 bij keuze D (combinatie keuze A & C)

ze regel : bevat eerste (positieve en even) getal van cal­culatiepunten (van keuze B)

3e regel : bevat tweede (positieve en even) getal van cal­culatiepunten (van keuze B)

4e regel : bevat 1 bij keuze A (drukverdeling-file), Z bij keuze B (dru.kverdeling met coördinaten in file), 3 bij keuze C (geen drukverdeling-file)

DYCOPA.DAT: data-file die door DES.EXE wordt ingelezen. Bevat na het doorlopen van DYNCOPA dezelfde informatie als DYNCUPA.DAT, alleen in uniforme vorm.

TEN.DAT: data-file die bij het aanroepen van DYNCOPA.EXE te vinden moet zijn op de harddisk via CALSYS.CFG . Deze data-fi1e bevat twee regels met het getal 10 om de getallen voor de calculatiepunten standaard op 10 te zetten.

6

Page 9: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

PREDES : PREDES.EXE : executable file CALSYS.CFG: configuratie-file, zie 2.2.1 DYSTAT.DAT: deze data-file moet bij het aanroepen van PREDES.EXE

middels CALSYS.CFG te vinden zijn op de harddisk. Zie verder onder CALGO

PREDRS.DAT: data-file met tekst en getallen betreffende de in PREDES ingevoerde gegevens.

PRODRS.DAT : deze data-file moet bij het aanroepen van PREDES.EXE middels CALSYS.CFG te traceren zijn op de harddisk. Deze data-file bevat gegevens van de voorgaande keer dat PREDES gebruikt is. Na het doorlopen van PREDES bevat PRODRS.DAT dezelfde getallen als PREDES.DAT, alleen zonder verklaring van de getallen met tekst.

PRIDES.DAT: data-file met tekst en getallen betreffende de optionele invoer (secundaire parameters) in PREDES.

PRUDES.DAT : data-file die door DES.EXE wordt ingelezen. Bevat na het doorlopen van PREDES dezelfde getallen als PRODRS.DAT en PRIDES.DAT samen, alleen in uniforme vorm.

PRADES.DAT: deze data-file moet bij het aanroepen van PREDES.EXE middels CALSYS.CFG te vinden zijn op de harddisk. Deze data-file bevat standaard elf regels met alleen een nul. Dit om alle secundaire parameters bij het aanroepen van PREDES op nul te stellen. Indien standaard andere waarden gewenst zijn, kan dit middels een editor via deze file ge­realiseerd worden.

LUCRT.DAT : deze data-file moet bij het aanroepen van PREDES.EXE te vinden zijn op de harddisk middels CALSYS.CFG . Deze data­file bevat drie benodigde constanten van lucht.

*.BGI: Turbo Pascal aangehorige files, die de verschillende grafische kaarten (als VGA, EGA) ondersteunen in de grafische mode.

*.CHR :Turbo Pascal aangehorige files, die de lettertekens in de grafische mode goed weergeven. Als deze files niet aanwezig zijn, worden de standaard lettertekens in de grafische mode (onder "help") verkregen.

DES: DES.EXE: executable file DBOS.EXE : executable file die aangeroepen wordt vóór calculatie in DES

PADSCI: PADSCI.EXE: executable file

7

Page 10: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

3. Installatie

3.1 Systeemeisen aan de computer

*De computer dient IBM-compatible te zijn. *De computer dient toegerust te zijn met een 80386 processor (zie 2.2.4) * Er moet op de harddisk voor ongeveer 45 Mb aan ruimte aanwezig zijn :

- voor de SEPRAN en FI'N77-compiler programmatuur ongeveer 20 Mb - voor ruimte voor swap (zie 2.2.4) ongeveer 20 Mb (indien 4 Mb RAM; des te meer

Mb RAM aanwezig is, des te minder ruimte op de harddisk is nodig) - voor de programmatuur voor de berekening van het luchtlager is ongeveer 5 Mb nodig

* De berekeningen in DES en P ADSCI vereisen een 80387 aan de computer gelieerde co-processor.

* Een MSDOS versie 3.0 of hoger dient geïnstalleerd te zijn * Een EGA, VGA of geavanceerdere kaart met daarbij een kleurenmonitor verdient de

voorkeur : alle invoerprogramma's hebben kleurenschermen, en de "help"-functie in PREDES maakt gebruik van de grafische mode.

* Er mag geen weite-protectie op de harddisk zijn aangebracht : er wordt door de pro­gramma • s veelvuldig naar de harddisk geschreven.

*Laat in het achtergrondgeheugen van de computer zo min mogelijk andere programma's resident zijn.

3.2 Installeren van de programmatuur op harddisk

3.2.1 Contiguration-file

Voor een flexibele plaatsing van alle programma's op de harddisk is er een file genaamd CALSYS.CFG (Calculation System.Configuration). Met een editor kunnen. aan de hand van de voorbeelden onder 2.2.2, naar eigen keus de directories worden aangegeven waarin de programma's zich bevinden. Algemeen betekenen de regels van de file CALSYS.CFG : Drive:\Directory\ : path van CALGO Drive:\Directory\COPA.EXE : path van COPA met programma Drive:\Directory\DYNCOPA.EXE : path van DYNCOPA met programma Drive:\Directory\ : path van PREDES PREDES.EXE : programma PREDES Drive:\Directory\ : path voor files m.b.t. grafische mode (*.BGI,*.CHR) Drive:\Directory\DBOS.EXE : path van DBOS met programma Drive:\Directory\ : path van DES en PADSCI DES.EXE : programma DES P ADSCI.EXE : programma PADSCI Drive:\Directory\ : path van data-files DYSTAT.DAT : data-file PREDES.DAT : data-file PRUDES.DAT : data-file PRODES.DAT : data-file PRIDES.DAT : data-file PRADES.DAT :data-file LUCRT.DAT : data-file

8

Page 11: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

CUPA.DAT COPAST.DAT DYNCUPA.DAT DYCOPA.DAT TEN.DAT

: data-file : data-file : data-file : data-file : data-file

Let op: de file CALSYS.CFG mag niet met één of meerdere blanco regels beginnen noch mag er zich ergens tussen de tekstregels een blanco regel bevinden, omdat dan deze file onjuist door de programma's wordt ingelezen en geïnterpreteerd.

In de hiervoor beschreven regels van CALSYS.CFG staat het woord Drive voor de drive waarop een programma zich bevindt, en staat Directory voor de directory-lx>omstructuur waar een programma zich bevindt. Onder 2.2.2 verduidelijken enkele voorbeelden met uitleg dit.

Opmerkingen : *Het is het best om DES.EXE, PADSCI.EXE en DBOS.EXE onder dezelfde directory te

plaatsen : - DES heeft DBOS nodig - DES plaatst de aangemaakte data-files die P ADSCI gebruikt altijd onder de

eigen directory. *De files betreffende de grafische mode, zijnde *.BGI en *.CHR, worden alleen door

PREDES gebruikt. Het is dus gemakkelijk deze onder de directory van PREDES te plaatsen.

3.2.2 Voorbeelden van configuration-file

1. GESCHEIDEN STRUCTUUR OP HARDDISK

De inhoud van CALSYS.CFG is dan bijvoorbeeld : C:\bearing\ C:\bearing\copa \copa.exe C:\bearing\dyncopa \dyncopa.exe C:\bearing\predes\ predes.exe C:\bearing\predes\ C:\bearing\calcul\dbos.exe C:\bearing\calcul\ des.exe padsci.exe C:\bearing\data\ *.dat

Verklaring : op drive C bevindt zich de directory " hearing", bevattende het programma CALGO, de subdirectory "copa" met het programma COPA, de subdirectory "dyncopa" met het programma DYNCOPA, de subdirectory "predes" met het programma PREDES en de bijbehorende files *.BGI en *.CHR, de subdirectory "calcul" met de programma's DBOS, DES en PADSCI, en de subdirectory "data" met data-files.

9

Page 12: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

2. ALLE PROGRAMMA'S BIJ ELKAAR

De inhoud van CALSYS.CFG is dan bijvoorbeeld: C:\bearing\ C:\bearing\copa.exe C:\bearing\dyncopa.exe C:\bearing\ predes.exe C:\bearing\ C:\bearing\dbos.exe C:\bearing\ des.exe padsci.exe C:\bearing\ *.dat

Verklaring : op drive C bevinden alle programma's met bijbehorende files zich onder de directory genaamd "hearing". Het voordeel hiervan is, dat alle files in één directory terug te vinden zijn, zodat niet de harddisk afgezocht hoeft te worden naar een specifieke file.

3. MIX

CALSYS.CFG bevat in dit geval bijvoorbeeld : C:\bearing\ C:\bearing\copa \copa.exe C:\bearing\copa \dyncopa.exe C:\bearing\copa \ predes.exe D:\addbear\ D:\addbear\dbos.exe C:\bearing\des\ des.exe padsci.exe B:\opslag\ *.dat

Verklaring : op drive C bevindt zich de directory "hearing", bevattende het programma CALGO, de subdirectory "copa" met de controleparameter-programma's COPA en DYNCOPA en het gegevensinvoer-programma PREDES, en de subdirectory "des" met de calculatieprogramma's DES en PADSCI. Op drive D bevindt zich de directory "addbear" met DOOS, de files *.BGI en *.CHR, ofwel alle files ter ondersteuning van de hoofdpro­gramma's. Tot slot bevindt zich op drive B (floppy-drive) de directory "opslag" met daarin alle data-files van PREDES en (DYN-)COPA (niet van DES of PADSCI, die bevinden zich onder C:\bearing\des\). Om data-opslag op drive B mogelijk te maken, dient er zich een diskette met daarop de directory "opslag" te bevinden in diskdrive B. Deze diskette mag niet write-protected zijn. Het voordeel van een dergelijke werkwijze is dat gemakke­lijk data-files op diskettes geplaatst kunnen worden om invoergegevens te bewaren.

10

Page 13: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

3.2.3 Op de harddisk plaatsen van programma's

De programma's en bijbehorende files moeten op de harddisk geplaatst worden in overeenstemming met de configuratie-file CALSYS.CFG . Allereerst moeten daartoe directories (en subdirectories) op de drive(s) aangemaakt worden; zie hiervoor een computerhandleiding.

Als voorbeeld wordt nu voorbeeld 1. van 2.2.2 genomen : Op drive C is de directory "hearing" aanwezig met de subdirectories "copa", "dyncopa". "predes", "calcul", en "data". Naar C:\bearing\ moeten CALGO.EXE en CALSYS.CFG gekopieerd worden. Naar C:\bearing\copa\ moeten nu gekopieerd worden COPA.EXE en CALSYS.CFG . Naar C:\bearing\dyncopa\ worden gekopieerd DYNCOPA.EXE en CALSYS.CFG, evenzo worden naar C:\bearing\predes\ gekopieerd PREDES.EXE, CALSYS.CFG, *.BGI, en *.CHR. Naar C:\bearing\calcul\ moeten DBOS.EXE, DES.EXE, en PADSCI.EXE gekopieerd worden. Tot slot moeten onder C:\bearing\data\ tenminste de data-files CUPA.DAT, DYNCUPA.DAT, PRODES.DAT, PRADES.DAT, TEN.DAT en LUCRT.DAT aanwezig zijn. Ook het plaatsen van DYSTAT.DAT onder deze subdirectory is zeer aan te raden alvorens de programmatuur te starten. Aangezien zowel CALGO als COPA, DYNCOPA en PREDES gebruik maken van CALSYS.CFG, moet CALSYS.CFG voor al deze programma's vindbaar zijn. Dit is het gemakkelijkst te realiseren door CALSYS.CFG naar elk van de directories waar deze programma's zich bevinden, te kopiëren. Alvorens de programrnatuur te kunnen starten dient de voor sepran benodigde compiler geïnstalleerd te zijn, en dient DBOS deze te kunnen vinden. Hoe dit in zijn werk gaat staat beschreven onder paragraaf 2.2.4 "Installatie van DBOS en cornpilery".

3.2.4 Installatie van DBOS en compiler

Om de in SEPRAN geschreven programma's DES en PADSCI op de computer te kunnen gebruiken, dient de SEPRAN compiler genaamd FTN77/386 resident te zijn in het achter­grondgeheugen (Noot : de situatie is vergelijkbaar met in GWBASIC geschreven program­ma's : eerst dient GWBASIC opgeroepen te zijn alvorens onder GWBASIC programma's kunnen worden gedraaid}. DBOS vormt de directe ondersteuning voor DES en PADSCI en DBOS hoeft alleen maar opgeroepen te worden (dit gebeurt automatisch via CALGO en/of PREDES) om DES en PADSCI te kunnen laten werken, maar DES en PADSCI moeten wel alle files behorend bij SEPRAN kunnen vinden op de harddisk. Hiertoe dient SEPRAN correct geïnstalleerd te worden op de harddisk, zie [2]. Voor de installatie van DBOS is er het programma CONFIGDB. Met dit programma kan ook worden aangegeven waar zich 20 Mb vrije ruimte bevindt voor Swap-vectors, hetgeen betekent dat deze ruimte tijdelijk gebruikt wordt voor opslag van variabelen/resultaten van de berekeningen in DES en PADSCI. Deze vrije ruimte kan een gebied van een harddisk zijn (bijvoorbeeld drive D:\), een RAM-memory, of zelfs een (20 Mb) tapestreamer. De voorkeur gaat uit naar een RAM-memory (van 20 Mb) vanwege de snelle efficiënte toegankelijkheid. Na afloop van berekening in DES en P ADSCI wordt deze ruimte weer leeg gemaakt door alles te wissen : dat de vrije ruimte ook daadwerkelijk gebruik wordt, wordt dus niet opgemerkt. Als men DES en PADSCI op een andere computer dan een 80386 pc wil gebruiken, dan zal men daarvoor beschikking moeten hebben over een daartoe geëigende sepran/fortran

11

Page 14: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

compiler : FTN77/386 functioneert alleen bij een 80386 computer. Indien er sprake is van een ander type computer dienen de Sepran/Fortran files DES.FOR en PADSCI.FOR gecompileerd te worden met een daartoe geëigende compiler. Ook deze compiler dient resident te zijn in het geheugen tijdens gebruik van DES en P ADSCI. De voor de compiler FTN77/386 benodigde files kunnen ergens willekeurig bij elkaar op een harddisk geplaatst worden, alleen dient de installatie van DBOS overeen te stemmen met deze plaatsing. Het installatieprogramma voor DBOS, CONFIGDB.EXE, werkt als volgt: Alleerst dienen de files CONFIGDB.EXE, DBOS.CFG, DBOS.EXE, DBOS.Lffi, DBOS_RES.COM, DBOS_SET.COM, KILL_DBO.COM, en LIBRARIE.DIR geplaatst te worden onder de gewenste subdirectory. Daarna kunnen, indien nodig, de DOS-files AU­TOEXEC.BAT en CONFIG.SYS aangepast worden. Een mogelijke tekst voor de batch-file AUTOEXEC.BAT is : SHELL=C:\DOS\COMMAND.COM lP /E:480 BUFFERS=20 FILES=35 Raadpleeg hiervoor ook een DOS-handleiding. Een mogelijke tekst voor CONFIG.SYS is (waarbij rekening is gehouden met de plaatsing van SEPRAN en FTN77/386) : @ SET PA TH =C:\;C:\DOS;C:\DBOS;C:\SEPRAN; @ SET PROMPT=$P$G @ SET SPDISK=C: {Sepran-specificatie} @ SET SPHOME=o/oSPDISK%\SEPRAN { Sepran-specificatie} @ SET FTHOME=C:\DBOS {FTN77/386-specificatie} Raadpleeg ook hiervoor wederom een DOS-handleiding. Nu moet DBOS worden aangeroepen met: DBOS <enter>. Vervolgens kan het DBOS-installatie programma worden opgestart met: CONFIGDB <en­ter>. Er zal dan een keuzemenu verschijnen met zeven mogelijkheden : a) The paging mechanism b) The default high resolution screen for grapbics c) Define the action of DBOS when a program aborts d) Select the help/debug/configdb window colour scheme e) Select European ebameters f) Miscellaneous g) Save configuration information and exit Optie a) is van wezenlijk belang voor de installatie. Bij keuze van a) zal daarna gevraagd worden : Paging to disk enabled(y/n). Als er inderdaad genoeg vrije ruimte op harddisk is kan < y > geselecteerd worden. Vervolgens zal gevraagd worden of er een gespecificeerde partitie aanwezig is. Als er een diskdrive met genoeg vrije ruimte is zonder dat er zich andere programma's op deze drive bevinden, dan is dit het geval en kan < y > geselecteerd worden; bij selectie van < n > moet er op een drive genoeg ruimte aanwezig zijn tussen andere programma's, en wordt een file aangemaakt voor de benodigde gereserveerde ruimte tijdens de berekening. In dit laatste geval wordt ook gevraagd om het path en de file-name behorend bij deze gereserveerde ruimte. Bijvoorbeeld kan worden ingegeven : C:\SW AP\SW APFILE . Na selectie van g) uit het keuzemenu wordt, na twee maal op <enter> gedrukt te hebben, de configuratie opgeslagen in DBOS.CFG . Als laatste dient de LIBRARIE.DIR met een editor de paths en filenarnes te beschrijven van files genaamd *.LIB . Na het opnieuw opstarten van de computer zal bij het aanroe­pen van DBOS uit de mededelingen blijken dat de installatie correct is uitgevoerd.

12

Page 15: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Voor het eventueel compileren of aanpassen van de Sepran/Fortran files DES.FOR en P ADSCI.FOR kan [2] worden geraadpleegd. V oor het wijzigen of compileren van de Turbo-Pascal files kan [3] worden geraadpleegd. In de bijlage bevindt zich alle tekst van de benodigde Turbo-Pascal files met verklarende tekst tussen {}. De aangeroepen units OPCRT, CRT, en OPSTRING zijn standaard aangehorige units van Turbo-Pascal versie 5.0 .

13

Page 16: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

4. CALGO

4.1 Algemeen

CALGO is het programma dat helpt om snel en overzichtelijk alle overige programma•s te doorlopen. Dit programma koppelt (DYN-)COPA, PREDES, DES en PADSCI op een correcte manier aan elkaar. Het is niet noodzakelijk om CALGO te gebruiken, maar het is waarschijnlijk wel handig om dit wel te doen. CALGO lijkt op programma's voor menusturing (als WINDOWS), maar is meer een 'organizer' : CALGO regelt de doorstro­ming door de programma's benodigd voor berekening. Voor een statische calculatie van het luchtlager is de gebruikelijke volgorde COPA­PREDES-DES. Voor een dynamische calculatie is dit DYNCOPA-PREDES-DES-PADSCI. In deze ketens is het mogelijk tussendoor terug te keren naar CALGO om de invoer te herzien of de gehele calculatie af te breken.

4.2 Gebruik

Na het opstarten van CALGO (d.m.v. CALGO.EXE <enter>), verschijnt een keuzevraag : Wilt een statische of dynamische calculatie ? Bij het intoetsen van <S> verschijnt het keuzemenu voor de statische calculatie, bij het intoetsen van <D> dat voor de dynamische calculatie. Beide menu's werken hetzelfde, alleen staat er in het ene geval COPA waar in het andere geval DYNCOPA staat. De statische en dynamische calculatie verlopen nagenoeg analoog, derhalve zal er hier beperkt worden tot het geval van statische calculatie. Bij de keuze van optie 1 van het keuzemenu. door het indrukken van < 1 >. zullen achtereenvolgens COPA, PREDES en DES doorlopen worden (mits niet tussendoor een programma voortijdig verlaten wordt). In geval van optie 2 worden a11een PREDES en DES doorlopen, en bij optie 3 alleen DES. Optie 4 en 5 spreken voor zich. Voor het kunnen doorlopen van de keten COPA-PREDES-DES maakt CALGO gebruik van de configuratie-file CALSYS.CFG om de afzonderlijke programma's te kunnen traceren en op te kunnen starten. CALGO maakt zelf één data-file aan, DYSTAT.DAT, om de keuze voor statische of dynamische calculatie vast te leggen. Het hoeft immers niet zo te zijn dat COPA of DYNCOPA doorlopen wordt, zodat de keuze voor statische of dynamische calculatie ook in CALGO vast moet liggen.

14

Page 17: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

5. COPA

5.1 Algemeen

Met behulp van het programma COP A worden de controleparameters in geval van een statische calculatie van het luchtlager vastgelegd. Het opstarten van COP A in plaats van DYNCOPA impliceert derhalve ook een keuze voor statische calculatie. Deze keuze wordt door COPA vastgelegd in DYSTAT.DAT, welke data-file door PREDES en DES ingelezen wordt. De controleparameters zijn voor DES van belang om de uitvoer van de berekende getalwaarden in de gewenste vorm in files op te slaan.

5.2 Gebruik

Na het opstarten van COPA verschijnen de controleparameter-instellingen van de vooraf­gaande keer (na het doorlopen van de intro-schermen). Indien dezelfde instellingen weer gewenst zijn kan op < Y > gedrukt worden, als er een verandering gewenst is kan dit door <N> in te drukken en daarna de gewenste keuzen (zie 4.2.1) te maken. Dit kan herhaald worden tot de gewenste controleparameters op het scherm staan. Tussendoor kan de 'help'-functie geraadpleegd worden door <H> in te toetsen.

5.2.1 Betekenis controleparameters

De eerste keuze onder COPA is de mogelijke uitvoer na calculatie in DES : A. ASCII data-files, en B. Specific data-files voor grapbic presentation in PCPLOT. De keuze voor A behelst de aanmaak door DES van de ASCII data-file LOADFLOW bevattende de getallen voor de load, moment en bijbehorende werking gap height en de flow rate. Indien voor A gekozen wordt kan verder worden gekozen uit : A. ASCII data-file met waarden van locale druk, B. ASCII data-file met waarden van locale druk en bijbehorende coördinaten, of C. geen data-file met drukverdeling. Bij keuze hier voor A of B wordt een data-file aangemaakt genaamd PRESTATIC (pressure distribution file) die naar keuze (via A of B) alleen de drukverdeling bevat of ook de bijbehorende coördinaten. Indien bij de eerste keuze voor B is gekozen, zal daarna om calculatiepunten gevraagd worden. Deze waarden bepalen het raster waarin het cirkeloppervlak onder het luchtlager verdeeld wordt, waarbij de knooppunten de calculatiepunten voor de drukverdeling zijn. Het is geschikt om de waarden van de calculatiepunten tussen 6 x 6 en 10 x 10 te nemen (even getallen). Standaard wordt voor de getallen 10 ingelezen door COPA De uitvoer na DES bij keuze voor B zijn files genaamd *.?0? , welke in te lezen zijn door het program­ma PCPLOT, die daarmee grafische plots van de drukverdeling kan laten zien. In tegenstelling tot de grafische files van keuze A zijn deze files niet universeel bruikbaar, maar alleen bruikbaar in PCPLOT. De contrOleparameters worden weggeschreven in de files COPAST.DAT en CUPADAT (zie onder 1.2).

15

Page 18: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

6. DYNCOPA

6.1 Algemeen

Met behulp van het programma DYNCOPA worden de controleparameters in geval van een dynamische calculatie van het luchtlager vastgelegd. Het opstarten van DYNCOPA in plaats van COPA impliceert derhalve ook een keuze voor dynamische calculatie. Deze keuze wordt door DYNCOPA vastgelegd in DYSTAT.DAT, welke data-file door PREDES en DES ingelezen wordt. De controleparameters zijn voor DES van belang om de uitvoer van de berekende getalwaarden in de gewenste vorm in files op te slaan.

6.2 Gebruik

Na het opstarten van DYNCOPA verschijnen de controleparameter-instellingen van de voorafgaande keer (na het doorlopen van de intro-schennen). Indien dezelfde instellingen weer gewenst zijn kan op < Y > gedrukt worden, als er een verandering gewenst is kan dit door < N > in te drukken en daarna de gewenste instellingen (zie 5.2.1) te realiseren. Dit kan herhaald worden tot de gewenste instellingen op het scherm staan. De 'help' -functie van DYNCOPA kan tussendoor geraadpleegd worden door <H> in te drukken.

6.2.1 Betekenis controleparameters

De eerste keuze onder DYNCOPA is de mogelijke uitvoer na calculatie door DES : A. ASCII data-files, B. Specific DATA-files voor grapbic presentation in PCPLOT, C. ASCII data-file containing parameters for an element model of the gas film stiffness, en D. Combinatie van optie A & C. De keuze voor A behelst de aanmaak na calculatie van de ASCII data-files LOADDYNM, bevattende gegevens m.b.t. de dynamische load ofwel de frequentie, het reële deel van de load en het imaginaire deel van de load, en OUTPUTDT, bevattende de load en working gap height van de bijbehorende statische calculatie. Indien voor A gekozen wordt kan verder worden gekozen uit : A. ASCII data-file met waarden van de locale druk, B. ASCII data-file met waarden van locale druk en bijbehorende coördinaten, of C. geen data-file met drukverdeling. Bij de keuze hier voor A of B wordt een data-file aangemaakt genaamd PRESTA TIC, die naar keuze (via A of B) alleen de drukverdeling bevat of ook de bijbehorende coördinaten.

Indien bij de eerste keuze voor B is gekozen, zal daarna om calculatiepunten gevraagd worden. Deze waarden bepalen de verdeling van het cirkeloppervlak onder het luchtlager, waarbij de knooppunten van het ontstane raster de calculatiepunten voor de drukverdeling zijn. Het is geschikt om de waarden van de calculatiepunten tussen 6 x 6 en 10 x 10 (even getallen) te nemen. Standaard wordt voor de getallen 10 ingelezen door DYNCOPA. De uitvoer na calculatie bij keuze B bestaat uit files genaamd *· ?0?, welke in te lezen zijn door het programma PCPLOT, die daarmee grafische plots van de drukverdeling kan laten zien. In tegenstelling tot de grafische files die bij keuze A verkregen kunnen worden, zijn deze files niet universeel bruikbaar, maar alleen bruikbaar in PCPLOT. Indien bij de eerste keuze voor C is gekozen, zal na calculatie een file met de naam

16

Page 19: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

EGASFILM gegenereerd worden. Deze ASCII data-file bevat parameters (KO, Kl, K2 voor stijfheid en Dl, D2 voor demping) voor een elementenmodel van de stijfheid van de gas film. Voor het gebruik van deze parameters zie [1]. Indien bij de eerste keuze voor D is gekozen, ontstaan de onder keuze A en keuze C te realiseren files na calculatie. De controleparameters worden weggeschreven in de files genaamd DYCOPA.DAT en DYNCUPA.DAT (zie onder 1.2).

17

Page 20: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

7. PREDES

7.1 Algemeen

Met behulp van het programma PREDES worden de verschillende gegevens ingevoerd en opgeslagen in data-files. Deze data-files worden daarna ingelezen door DES voor calculatie van het gespecificeerde luchtlager. In PREDES kunnen worden ingevoerd het type luchtlager (zie 6.2.1), de operatieparameters (zie 6.2.2), de draagvlakparameters (zie 6.2.3), de eigenschappen van het gas (zie 6.2.4), en de secundaire parameters (zie 6.2.4).

7.2 Gebruik

In PREDES kan op (bijna) elk gewenst moment de 'help' -functie worden opgevraagd met < H >. Ook is het mogelijk PREDES zonder te gaan berekenen te verlaten door, na het kiezen van het type luchtlager, optie 6 te kiezen d.m.v. <6>. In dat geval wordt hetgeen ingevoerd bewaard in de data-files behorend bij PREDES (zie 2.1). PREDES kan via een minder nette (en daarom niet in het programma zelf aangegeven) manier worden verlaten door <Esc> (Escape) of <Q> (Quit) in te drukken. In dit geval worden de ingevoerde gegevens niet opgeslagen in data-files, zodat de gegevens van de voorafgaande keer worden ingelezen bij het volgende keer gebruiken van PREDES. In PREDES kunnen op elke gewenste wijze getallen worden ingevoerd mits in acht wordt genomen dat het getal uit maximaal 16 karakters bestaat. Enkele voorbeelden van mogelijke getallen : 1.23456 778e-1 0 1.23456778E-10 0.0000000000003 2342345e-20 Let op : 1,2 is géén getal (de komma is niet hetzelfde als de decimale punt voor PRE­DES). Er wordt binnen PREDES gecheckt of de invoer daadwerkelijk een getal is, en of ingevoerde getallen niet onzinnig zijn. Ook al vindt PREDES een ingevoerd getal onzinnig (te merken aan een rood window met een waarschuwing), dan nog kan besloten worden het betreffende getal niet aan te passen en toch met de berekening onder optie 5 (na het kiezen van het type luchtlager) te willen starten. Hiertoe moet wel een paar keer hardnek­kig op < 5 > gedrukt worden om de waarschuwing te laten verdwijnen. De marges voor de getallen zijn zeer ruim genomen, zodat als er een waarschuwing volgt, het bijna zeker is dat er geen of onzinnige resultaten uit de berekening volgen. Om errors in DES te vermijden, is het dus goed de waarschuwingen ter harte te nemen. Omgekeerd wil het niet zeggen dat als er geen waarschuwingen optreden, de berekening in DES (zinnige) resultaten oplevert.

7.2.1 Keuze van het type luchtlager

Voordat daadwerkelijk gegevens in PREDES kunnen worden ingevoerd, dient het type luchtlager in het eerste keuzescherm te worden ingevoerd door < 1 >, < 2 > , < 3 >, < 4 >, of < 5 > in te toetsen. Deze luchtlagertypen zijn terug te vinden onder optie 2 van de 'help'­functie. De mogelijk te specificeren luchtlagers zijn :

18

Page 21: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Onderaanzicht

D Pad Diameter d Rastrieter diameter

(diameter uitstreemepenlng) Hw Werking gap height

(spleethoogte tussen lager en oppervlak)

Afbeelding 2 Keuze 1 : Luchtlager met één restrictie, niet-conisch

Onderaanzicht

D Pad Diameter d Restrlctor diameter

(diameter ultstroemopening) Hw : Werking gap helght

(spleethoogte tussen lager en oppervlak)

D1 1st characterlstlc diameter H1 : 1st charac. gap ditterenee

Afbeelding 3 Keuze 2 : Luchtlager met één restrictie, bi-conisch

19

Page 22: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Onderaanzicht:

Zijaanzicht Doorsnede A-A

·-j;,~:s:i,s:,~

D : Pad Diameter d : Restrlctor diameter

(diameter uitstroomopening) Hw : Working gap height

(spleethoogte tussen lager en oppervlak)

D1 : 1st characterlstlc diameter D2 : 2nd characterlstlc diameter H1 : 1st charac. gap ditterenee H2 : 2nd charac. gap ditterenee

Afbeelding 4 Keuze 3 : Luchtlager met één restrictie, tri-conisch

Onderaanzicht

ZiJaanzicht Doorsnede A-A

D : Pad Diameter d : Restrlctor diameter

(diameter uitstroomopening) Hw : Werking gap helght

(spleethoogte tussen lager en oppervlak)

hd : hoogte groef wd : groef breedte

Afbeelding 5 Keuze 4 : Luchtlager met vier restricties, met groef

20

Page 23: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Onderaanzicht;

Zijaanzicht Doorsnede A-A

D : Pad Diameter d : Rastrieter diameter

(diameter uitstroomopening) Hw : Werking gap helght

(spleethoogte tussen lager en oppervlak)

Afbeelding 6 Keuze 5 : Luchtlager met vier restricties. zonder groef

Het is mogelijk het lettertype van deze grafische plaatjes te vervangen door het standaard lettertype door alle files genaamd *.CHR te verwijderen. Na keuze van het gewenste type luchtlager verschijnt een volgend keuzescherm. waarbij gekozen kan worden uit verschillende soorten gegevensinvoer. De invoerkeuzes worden onder 6.2.2 t/m 6.2.5 besproken. De keuze voor het lagertype valt alleen te herzien door PREDES te verlaten en opnieuw op te roepen. De berekening vindt plaats door. na alle gegevens naar wens te hebben ingevoerd. keuze 5. "berekening met (veranderde) gege­vens" te nemen door <S> in te toetsen.

7.2.2 Invoer van operatieparameters

Er wordt na het intoetsen van < 1 > gevraagd getallen in te voeren voor de volgende operatieparameters : Toevoerdruk PO : de van buitenaf aan het luchtlager toegevoerde druk. Deze druk is hoger

dan de omgevingsdruk. Deze druk dient ingevoerd te worden in Pascal. Richtwaarde voor PO : 4e5 Pa.

Omgevingsdruk Pe :de druk van de het luchtlager omgevende ruimte (kamer). Deze druk dient ingevoerd te worden in Pascal. De omgevingsdruk bedraagt meestal rond leS Pa.

Kamertemperatuur TO : de temperatuur van de ruimte waarin het lager zich bevindt. De waarde van de kamertemperatuur dient in Kelvin te worden ingevoerd. Richtwaarde voor TO: 293 K.

21

Page 24: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Working gap height range Hw (in geval van statische calculatie) : de range van spleetaf­standen tussen luchtlager en 'vaste wereld' waarvoor de statische calculatie moet worden uitgevoerd. De waarden van de getallen van de range dienen ingegeven te worden in meter. De beginwaarde van de range dient kleiner te zijn dan de eindwaarde. Richtwaarde voor range Hw: O.Se-6 à 2e-6 m.

Working gap height Hw (in geval van dynamische calculatie) : de spleetafstand tussen luchtlager en 'vaste wereld' waarvoor een dynamische calculatie wordt uitgevoerd. De waarde van de spleetafstand dient ingegeven te worden in meter. Richtwaarde Hw : le-6 m.

Start frequentie (in geval van dynamische calculatie) : de frequentie die bij de dynamische calculatie als beginwaarde wordt genomen. De startfrequentie dient opgegeven te worden in Herz.

Frequentiestapgrootte (in geval van dynamische calculatie) : de grootte van de stappen in de frequentie waarmee de dynamische calculatie plaatsvindt De frequentiestapgrootte dient opgegeven te worden in Herz.

Amplitude of dynamic gap (in geval van dynamische calculatie) : de amplitude van de dynamische spleethoogte. De grootte van deze amplitude moet in meter worden ingegeven. Richtwaarde HD :kleiner dan le-6 m.

Hearing motion velocity Vx : de bewegingssnelheid van het luchtlager in de x-richting (horizontaal). De bewegingssnelheid behoort ingevoerd te worden in de eenheid meter per seconde. Meestal zal Vx gelijk aan nul zijn of gelijk aan nul genomen kunnen worden.

Bearing motion velocity Vy : de bewegingssnelheid van het luchtlager in dey-richting (verticaal). De bewegingssnelheid behoort ingevoerd te worden in de eenheid meter per seconde. Meestal zal Vy gelijk aan nul zijn of gelijk aan nul genomen kunnen worden.

7.2.3 Invoer van draagvlakparameters

Er wordt na het intoetsen van < 2 > gevraagd om de waarden voor de volgende draagvlak­parameters in te geven (zie ook de afbeeldingen onder 6.2.1) : Pad diameter : de diameter van het draagvlak van het luchtlager, ofwel de grootste

diameter met betrekking tot het luchtlager: de buitendiameter. De eenheid is meter. Richtwaarde voor D : 60e-3 m.

Restcictor diameter : de diameter van de retrictie(s)/uitstroomopening(en) van het luchtla­ger. De eenheid is meter. Richtwaarde voord : O.Se-3 m.

1 e karakteristieke diameter (in geval van lagerkeuze 2 of 3) : grootste diameter van de (laatste) conus volgend na de restrictor. De eenheid is meter. Richtwaarde Dl : 50e-3m.

1 e karakteristieke gap difference (voor lagerkeuze 2 of 3) : spleethoogte van de (laatste) conus na de restcictor. De eenheid is meter. Richtwaarde Hl : Se-6 m.

2e karakteristieke diameter (in geval van lagerkeuze 3) : grootste diameter van de conus volgend na de restcictor en voorafgaand aan de conus met als grootste diameter D 1. De eenheid is meter. Richtwaarde voor D2 : 25e-3 m.

2e karakteristieke gap difference (voor lagerkeuze 3) : spleethoogte van de conus volgend na de restrictor. De eenheid is meter. Richtwaarde H2 : 4e-6 m.

Breedte van de groef (in geval van lagerkeuze 4) : de breedte van de groef/sleuf waarin de restrietars zich bevinden. De eenheid is meter.

Hoogte van de groef (voor lagerkeuze 4) : de hoogte/diepte van de groef waarin de restrietars zich bevinden.

22

Page 25: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

7.2.4 Invoer van de eigenschappen van het gas (lucht)

Na het intoetsen van < 3 > wordt gevraagd om de volgende eigenschappen van het gas in te geven: Gas constante : de constante van het gas. De eenheid is Joule per kilogram-Kelvin.

Richtwaarde voor R : 288 J/kgK (R van lucht). Viscositeit : de dynamische viscositeit van het gas. De eenheid is Newton-seconde per

vierkante meter. Richtwaarde voor 1-t : 1.835e-5 Ns/m2 <~-t van lucht). Heat ratio : de coëfficiënt van de dynamische expansie van het gas. De heat ratio is

dimensieloos. Richtwaarde voor k : 1.404 (k van lucht).

Standaard kunnen deze eigenschappen van lucht (via LUCHT.DAT) worden opgeroepen door het intoetsen van < L > <enter>.

7.2.5 Optionele invoer: secundaire parameters

Aan alle secundaire parameters wordt bij het opstarten van PREDES de waarde nul toegekend. De betreffende data-file is PRADES.DAT . Voor theoretische fundamentatie rond keuze l."Invoer parameters betreffende de golving van het oppervlak" en keuze 2. "Invoer parameters betreffende de kanteling van het luchtlager" kan [1] worden geraadpleegd. In te voeren parameters bij keuze 1. : De golving is opgebouwd gedacht uit maximaal drie sinusoïden met amplituden Al, A2, A3 in te geven in meter, golflengten Ll, L2, L3 in te geven in meter, en initiële fasen cf>l, ci>2, ei> 3 in te geven in radialen. In te voeren parameters bij keuze 2. : Kantelhoek : de hoek die het lager maakt met een rechte lijn evenwijdig aan het opper­

vlak, zijnde 'vaste wereld'. De kantelhoek dient in radialen ingegeven te worden. De kantelhoek ei> is gelijk aan Ht/r, waarbij r de radius van het luchtlager is, ofwel l/2*D.

Kantelverhouding : dit is de verhouding van de toe- of afname spleethoogte verkregen door kanteling van het luchtlager tot de spleethoogte zonder kanteling. Anders geformu­leerd : kantelverhouding=Ht/Hw. Deze verhouding kan nooit groter zijn dan 1 of

kleiner dan -1, want dan zou het luchtlager zich in de ondergrond willen drukken. De kantelverhouding is dimensieloos.

23

Page 26: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

8. DES

8.1 Algemeen

DES is het programma dat de statische calculatie uitvoert. DES kan vanuit PREDES worden aangeroepen door optie 5 van het tweede keuzescherm te kiezen, en kan vanuit CALGO worden aangeroepen door keuze van optie 3. Het is voor DES benodigd dat de Sepran/Fortran compiler tesamen met DBOS op de correcte wijze is geïnstalleerd, zie hiervoor 2.2.4. De presentatie van de berekeningen hangt af van de in (DYN-)COPA ingegeven contröleparameters, zie 4.2.1 en 5.2.1. Voor theoretische achtergronden en formules wordt verwezen naar [1].

8.2. Gebruik

Mochten er foutmeldingen optreden tijdens de berekeningen dan kan de file genaamd SEPRAN.OUT geraadpleegd worden om de plaats van de fout te detecteren. In bijna alle gevallen kan echter in eerste instantie beter hoofdstuk 9 "Foutmeldingen" geraadpleegd worden, omdat foutmeldingen in de meeste gevallen samenhangen met het niet kunnen vinden van in de programma's (DYN-)COPA en PREDES ingevoerde gegevens.

24

Page 27: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

9. PADSCI

9.1 Algemeen

P ADSCI is het programma dat, met behulp van de uitkomsten van de statische calculatie van het luchtlager door DES, de dynamische calculatie van het luchtlager verzorgt. De presentatie van de berekeningen van de dynamische calculatie is afhankelijk van de in DYNCOPA ingevoerde contróleparameters, zie 5.2.1. In geval van dynamische calculatie wordt P ADSCI automatisch na DES opgeroepen, mits DES is opgeroepen vanuit PREDES of CALGO. Was dit niet het geval, dan zal onder DOS zelf PADSCI moeten worden opgeroepen met P ADSCI.EXE .

25

Page 28: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

10. Uitvoer en presentatie van resultaten

10.1 Algemeen

In paragraaf 10.2 en 10.3 worden achtereenvolgens de vorm en de presentatie van resultaten bij een statische en dynamische calculatie besproken. De hierna te bespreken uitvoerfiles worden gekozen met (DYN-)COPA. De hoofdstukken 5 en 6 beschrijven het gebruik van respectievelijk COP A (bij statische calculatie) en DYNCOP A (bij dynamische calculatie). De meest geëigende manieren voor het presenteren van resultaten zijn het plotten van elementen- en drukverdelingen in het programma PCPLOT (behorende bij SEPRAN), het maken van curven in MATLAB (zoals de grafieken in de bijlage), en het tonen in DOS van de getallenreeksen.

10.2 In geval van statische calculatie

Met behulp van met COPA vastgelegde gegevens kunnen in geval van statische calculatie de volgende data-files worden aangemaakt : LOADFLOW: bevat getallen betreffende de load en moment behorende bij een specifieke

working gap height (ingevoerd in PREDES). Deze data-file is als volgt opgebouwd:

load moment Hw

-- -- --

-- -- --

PRESA TIC : bevat getallen betreffende de drukverdeling onder het luchtlager met daarbij eventueel de bijbehorende coördinaten (afhankelijk van de keuze in COPA) :

p(x,y) x -<:OOrd. y-roörd.

- - - - - -

- - - - - -

SEPPLOT. * : bevat informatie betreffende de elementen- en drukverdeling in een voor PCPLOT gewenste vorm.

De files genaamd LOADFLOW en PRESATIC zijn op te vragen in DOS (commando TYPE of met gebruikmaking van een editor). Deze files zijn ook geschikt om in te laden in MATLAB om grafieken te maken van bijvoorbeeld de load tegen de working gap height. In de bijlage worden dergelijke grafieken getoond. De betreffende commando's in MATLAB zijn : load : voor het inladen van de gewenste file met de zich daarin bevindende getallen plot : voor het plotten van grafieken; raadpleeg de help van MATLAB voor de gewenste

(matrix)vorm van de in de grafiek uit te zetten waarden.

De files genaamd SEPPLOT. * kunnen direkt door PCPLOT worden ingelezen, waarna bij de keuze voor plotten de elementenverdeling verschijnt of de drukverdeling onder het luchtlageroppervlak afhankelijk van de ingelezen SEPPLOT -file.

26

Page 29: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

10.3 In geval van dynamische caluiatie

Met behulp van met DYNCOPA vastgelegde gegevens kunnen in geval van dynamische calculatie de volgende data-files worden aangemaakt : LOADDYNM : bevat getallen betreffende het reële deel en het imaginaire deel van de

dynamische laad met de daarbij behorende frequentie :

Re{load} hn{load} frequentie

-- -- --

-- -- --

OUTPUIDT: bevat twee getallen betreffende de laad en de working gap height in evenwichtstand :

load Hw

PRESA TIC : bevat getallen betreffende de drukverdeling onder het luchtlager met daarbij eventueel de bijbehorende coördinaten (afhankelijk van de keuze in DYNCOPA):

p(x,y) x-coörd. y-coörd.

-- -- ---- - - --

SEPPLOT. * : bevat informatie betreffende de elementen- en drukverdeling in een voor PCPLOT gewenste vorm.

EGASFILM :bevat parameters (KO, Kl, K2 voor stijfheid en Dl, D2 voor demping) voor een elementenmodel van de stijfheid bij gerelateerde working gap height. Voor gebruik van de parameters zie [1]. De vorm van de file is :

Hw KO KI K2 Dl 02

-- -- - - -- --

De files genaamd LOADDYNM, OUTPUIDT, PRESATIC, en EGASFILM zijn op te vragen in DOS (commando TYPE of met gebruikmaking van een editor). Deze files zijn ook geschikt om in te laden in MATLAB om grafieken te kunnen maken van bijvoorbeeld de stijfheid uitgezet tegen de frequentie. In de bijlage worden dergelijke grafieken getoond. De betreffende commando's in MATLAB zijn: laad : voor het inladen van de gewenste file met de zich daarin bevindende getallen plot : voor het plotten van grafieken; raadpleeg de help van MATLAB voor de gewenste

(matrix)vorm van de in de grafiek uit te zetten waarden.

De files genaamd SEPPLOT. * kunnen direkt door PCPLOT worden ingelezen, waarna bij de keuze voor plotten de elementenverdeling verschijnt of de drukverdeling onder het luchtlageroppervlak afhankelijk van de ingelezen SEPPLOT -file.

27

Page 30: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

11. Foutmeldingen

Algemeen voorkomende foutmeldingen in de programmatuur voor de calculatie van EPG hearings zijn onderstaand weergegeven :

Probleem

Programma wil niet opstarten

Programma wil niet opstarten vanuit een ander programma (CALGO of PREDES)

Programma geeft foutmelding bij het verlaten van het pro­gramma

Mogelijke oorzaak en oplossing

- Het programma zoekt bij het opstarten naar data­files, om ze vervolgens in te kunnen lezen. De data­files kunnen dus onvindbaar zijn of verkeerde informa­tie bevatten. Oplossingen : Kijk welke data-files door het betreffende programma worden ingelezen (zie 1.2). controleer of CALSYS.CFG onder de (sub-)directory van het programma aanwezig is, controleer of de informatie in CALSYS.CFG overeenstemt met de situatie op de harddisk (zie 2.2.1, 2.2.2, en 2.2.3), en controleer of de vonn/inhoud van de data-files klopt (zie 1.2), maak zonodig een data-file aan met de ge­wenste naam en voer daar naar gelang getallen in (maak bijvoorbeeld een data-file met 20 regels met op elke regel een 0). - Er is niet genoeg geheugen vrij in het achtergrondge­heugen van de computer. of (in geval van DES) de compiler is niet goed met DBOS geïnstalleerd. Oplos­singen : Maak geheugenruimte vrij door residente programma • s uit het achtergrondgeheugen te verwijde­ren. Kijk of DBOS goed geïnstalleerd is naar de situa­tie op de harddisk betreffende de FfN77/386-compiler.

- Het programma is niet vindbaar voor het andere programma, of het programma werkt niet (zie vorige foutmelding). Oplossing : Kijk of de situatie in CALSYS.CFG overeenstemt met de situatie op de harddisk (zie 2.2.1, 2.2.2, en 2.2.3). Mocht dit over­eenstemmen probeer dan het programma afzonderlijk onder DOS te draaien. Kijk hiervoor ook bij de vorige foutmelding.

- Bij het verlaten van het programma probeert deze de ingevoerde gegevens op te slaan op de in CALSYS.­CFG (zie 2.2.1, 2.2.2. en 2.2.3) aangegeven plaats. Deze plaats kan niet aanwezig zijn, de disk kan write­protected zijn of er kan te weinig ruimte op de disk zijn. Oplossingen : Maak een path voor de data-files overeenkomstig de configuratie-file CALSYS.CFG (zie 2.2.3), of pas CALSYS.CFG aan aan de situatie op de (hard)disk (zie 2.2.1 en 2.2.2). Verwijder de writepro­tectie van de disk. Maak ruimte vrij op de harddisk.

28

Page 31: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

De 'help' -functie van PREDES levert geen grafische plaatjes

- PREDES kan de bij de grafische mode behorende files *.BGI en *.CHR niet vinden. Oplossing : Kijk of de informatie in CALSYS.CFG overeenstemt met de situatie op de harddisk (zie 2.2.1, 2.2.2, en 2.2.3). - De grafische mode wordt niet door de grafische kaart van de computer ondersteund. Oplossing : Probeer een bij de grafische kaart van de computer passende *.BGI file te vinden. De *.BGI files worden bij Turbo Pascal meegeleverd.

29

Page 32: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

12. Literatuur

[1] J.M. Wang, "Design of Gas Bearing Systems for Precision Applications" , TUE proefschrift, ISBN 90-386-0112-3

[2] Guus Segal, "Sepran User Manual" , ingenieursbureau sepra, Leidschendam

[3] Turbo Pascal, "Reference Guide" , version 5.0, Barland International, Scotts Valley

30

Page 33: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

~~~~ m ®rmilul1&11fi~ wm1 mro ~ ~ ~~

Page 34: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

900

800

700 '

'

' ' - 600 ' z ' ->. ' ' - ' 'ö ' ' ' a. 500 ' ' '

~ "0

.s 400

300

200

100 5

' ' .

'

' ' ' ' ' ' ' '

'

'. '·

FEM calculation:

10

-- conical gap sha~ OC/DO=l.O .. OP.timi~èa bi-conical gap shape - tn-corucal g~p sha~ -~ optimized fri~conica] gap shape

Parameters:

diameter: 00=60 mm pressure: P=O.S MPa

15 20

Working gap height (urn)

25

Page 35: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

..§ z :E tl) tl) C)

.E :: Cii

3 .9

ISO DD= 60 mm, hw=5 urn, P=0.6 MPa, d=0.5 mm

100 -------------------------------------------------------__ .... ___

50 - parallel -- bi-conical -- tri-conical

0 0 50 100 150 200 250 300 350 400

frequency (Hz)

2s~----~--~D~D_=~6~0~mm~.~h~w-=~5~um~.P~=~0~.6~M~P~a.~d~=~0.~5~mTm~--~----~ - para e -- bi-conical

20 . -- tri -conical .• .. , .. , ... . • ---- ... _ ------15 /

' -- -=:-::-:-:::-:-:-~::-::-:::-::-:::-::-::::-::-----------... __ ..... __ _ _____

.,.. ___ ... _

50 100 150 200 250 300 350 400

frequency (Hz)

Page 36: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26
Page 37: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

lile: CALGO.PAS last modilied : 18-01-1993 16:18:28 page: 1 PROGRAM CalculationGoinqOn; )

( •organizer• CALGO voor proqranmatuur EPGB Bearinqs If (Ch•f49) or (Ch•f50) or (Ch•l51) then begin

Uses DOS,CRT,OPstriog,OPCtt,CalGoU;

VAR Ch : Char; <DPA, DYN<DPA, PREDES, EXEF, DBOS, DES, PADSCI, DATA, CALOO, DOES, PPADSCI, XPREDES, PPREDES : strin9; Dynstat : strinq(16); Dynstatl : float; 1 1 1.1. 1 U.J: 1 .1..1..1.1: 1 J : 'reKt; OI : Boolean;

BEGIH

llindcw(1,1,80, 25) ;'l'eltBackGround(O) ;ClrScr; llindcw(2, 2, 79,24) ;'l'extBackCrounc!(7) ;ClrScr; llindcw(3, 3, 78,23) ;'l'extBackCround(l I ;ClrScr;

Asaiqo(y, 'calsys .cfg' I; (file reading 'calsys .cfg•) reset(y); readln(y,CALOOI;

DATAF, DYSTAT,

readln(y,<DPA) ;readlo(y,DYN<DPA) ;readln(y,XPREDES) ;readln(y,PREDES); readln(y) ;readln(y,DBOS) ;readln(y,EXEF); readln(y,DES) ;readln(y,PADSCI) ;readln(y,DATAF); readln (y ,DYSTAT) l close(y);

RBPEAT BiddenOuaor; llindcw(16, 7 ,65,19) l 'l'extBackCround(l I; TextColor(15); ClrScrr Writeln ( "); Writeln(''); llr!teln("); Writeln ( "); llr!telo(• Wilt U een Statiache of Dynan!sche calculatie '); llr!teln(' van het luchtlager 7'); Writeln(''); Writeln( "); llr!telo(' <S> : Statische calculatie'); llr!teln(' <D> : Dynu!ache calculatie'); O'I:•Readley; If (Ch•l83) or (Ch•l115) or (Ch•l68) or (Ch•l100) then Beqin If (Ch•l83) or (Ch•l115) then begin dynstat:•l49; end; If (Ch•l68) or (Ch•l100) then begin dynstat:•l50; end; Ol:•Str2Real(dynatat,dynatat1); (Un!forn maken getal)

DATA:•DATAF+DYSTAT; (aangeven path en file • opalaan data aldaar) aaaiqo(I,DATA) l revrite(l): vr!teln(x,dynatatl); cloae(x);

DATA:•WF•DYSTAT; assign(xx,DA.TA); revri te(u:); vr!teln(u,dynatatl); cloae(xx):

DATA: •CALGO•DYB'J'AT; aaaiqo(nx,DATA); revrite(xxx); vr!teln(ux,dynatatl); cloae(xnl;

DATA: •lPREDES+DYSTAT; aaaiqo(un,DATA); revri te(xn:x); vriteln(zxn:,dynatat1); cloae (11n:):

If (Ch•l83) Or (Ch•l115) then Begin

(keuze statische calculatie)

EerateMenu;

REPEAT O'I:•ReadJ.ey; lf (Ch•l49) or (Ch•l50) or (Ch•l51) or (Ch•l52) then Begin If (Ch•l49) or (Ch•ISOJ or (Ch•IS1) then begin !f (Ch•l49) then

begin (uitvoeren proqranna COPAl SvapVecton; Exec(COPA,") l SWapVeetors;

end: !f (Ch•l49) or (Ch•ISO) then

begin PPRED!S: •lPREDP.S+PR.EDES; SVapVecton; Exec ( PPREDES, ' ' ) ; SVapVecton;

end; !f (Ch•IS 1) then

begin SVapVecton; Exec(DBOS, "); SVapVectors; DDES:•EXEF•DES; SwapVeeton; Exec(DDES, ''); SVapVectora: Vriteln('Einde DES, druk <toetu'): Ch: •Readley;

end; EersteMenu;

end; End Ebe begin

FoutMeld; end;

UHTIL (Ch•l52) or (Ch•l53); End;

If (Ch•l68) or (Ch•llOO) then Begin

'l'VeedeMenu;

REPEAT O'I:•ReadKey;

(keuze dynan:ische calculatie)

If (Ch•l49) or (Ch•l50) or (Ch•IS1) or (Ch•l52) then Begin

if (Ch•l49) then begin SWapVeetors; Elcec(DYNCOPA, "); SWapVeetors;

end; !f (Ch•l49) or (Ch•l50) then

begin PPREDES: •XPREDES+ PREDES; SvapVectors; Exec(PPREDFS, ''); SwapVeetors;

end; !f (Ch•f51) then

begin SWapVeetors; Exec(OBOS, ''); SvapVectors; DDFS:•EXEF+DES; SvapVectors; Elcec(DDES, "); SvapVectors; llriteln('Einde DES, druk <toets>'); Ch: •ReadXey; SWapVeetors; PPADSCI: •EXEF+PADSCI; Elcec(PPADSCI, "); BvapVector&; lfriteln('Einde PADSCI, druk <toets•'); dl: •ReadJ.ey;

end; TveedeMenu;

end; End El se begin

PoutMeld; end;

UHTIL (Ch•l52) or (Ch•l53); End;

End El se Beqin llindov(35,20,SS, 22); TextBaclCround(O); TextColor(lS); ClrScr; llr!teln("); Wr!teln(' Drul <S> of

End;

UHTIL (Ch•IS3);

Windov(l, 1 ,80,25) ;TextBack.Ground(O) ;TextCOlor (15) ;ClrScr; NolliWilCUrsor; Exit;

E!fD.

Page 38: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

UIIIT CalCo\1; (unit bij CalGoJ

interface

var Ch : cbar;

proe>ldure Beratellenu; proe>ldure ~u; procedure FoutHeld; impl_"tation

Uaes Crt,OPCrt;

PliOCl!D\lliE FoutHeld; Be<Jln lfindow(16,19,6S,19) 1 1U:ta.ckGround(O) I 1U:tColor(15) 1 ClrScr; GotoXY(1, 1) I

file: CALGOU.PAS last modified: 19-01-1993 13:17:00 page: 1

Write(' Druk toet&,,., <2l, <3), <hof <5> in"); End; (proc. FoutHeld)

l'IIOCI!IlUIIE Bentellenu; Begin

Hido:leoCurllor; l'illllow(1,1,80,25)l 1U:tli&CkGround(O) 1 ClrScr; llillllow(2,2, 79,24) 1 -tB&CkCround(7) I Clrsor: l'indow(l,l, 7!,23); '1U:ta.okGround( 1 l ; Clrsor; l'illllow(16, 7,65,19); '1U:talckGr011nd(l) I 1U:tColor ( 1 l : ClrScr; Writeln('"); llriteln(• Maak Uw keuze uil onderstunde moqelljkheden '); llr!teln("ll writeln(")) writeln(' 1. DQorlocp eerst O)PA en daarna de overige'); Writeln(" progrUtt& 11&'); writeln( • 2. Sla COPA over en begin met PR!OES 'I; llriteln(• l. Sla COPA en PR!OES over en start DES'); wr!teln(' 4. ca terug 1114r keuze voor Statische of'l: writeln(• Dynaaloche coleulatie') 1 Writeln(' 5. Qult I !1<1 terug naar DOS');

End; (proo. Ben tellenu)

PBOCBDUill 'J'weedeMenu t Be<J!n al do:leoCurll or; Windov(1,1 ,!0,25); TeatBookCround(O); ClrSCr; llindow(2,2, 79,24) 1 TertBackC,..,.."d(7): CltScrl I'!Dàow(l,l, 78,23); '1U:tlllokGr011nd(1); ClrScr: llindow(16, 7,65,19); TeltBackGround (l); TeatColor (1); ClrSCr; llriteln("l: llr!teln(• Maak Uw keuze ult onderstaande moqelljkheden '); Writeln(11 )1 lltiteln("); llr!teln(• 1. Doorloop eerst D'lliCOI'A en daarna de'); Writeln{' overige prcqr4lftlua"); Wrlteln(• 2. Sla DYIICOPA over en begin mot PREOES'); Wr!teln(' 3. Sla DYIICOPA en PR!OES over en start DES•J; Wtlteln(' 4, Cl terug nur keuze voor Statlaohe of•); llrlteln(' Oynmlsche colculatle'); Wrlteln(• 5. Qult I qa terug naar llOS'h

End;(proo. ,.,..,..._"u)

Page 39: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: INTROD.PAS last modilied: 20-o1-1993 09:28:32 UNIT Introd; {Unit voor {DYN-)COPA)

interface

USES O!T ,OPCrt;

VAR I : lnteqer; lh : cha.r;

procedure leeskey; procedure intro; Implemen la tlon

PROCEDURE LeesKey; Be<jln llhlle KeyPressed do beqin

lh: •Readley: end;

Blld;

PROCEDURE intro;

BilGIN ClrScr~ lllndov{1. 1 ,80, 25); TeltColor (0); TestBackGround(1); ClrScr~ For 1:•0 to 7 do Writeln(' '); llrlteln('

') ~ llrlteln(' ');

llrlteln(' '); llrlteln(' llrl teln(' '): llrlteln(' 'h llrlteln(' '); llrlteln(' '); llrlteln(' 'll CotoXY(10,15);

TextColor(14);

');

Writeln('PrOC)rm for calculation of El:ternally Pressurized Gas Bearinqs'); llrltoln(' ');

lllndov(1,1, 3,25); TextB.IckGround(7); ClrSCr;

lllndov(78, 1,80,25); TextB.IckGround(7); ClrSCr;

lllndov(1. 1 ,80,3); TestB.IckGround ( 7) ; ClrSCr;

lllndov(1,23,80, 25); TextB.IckGround(7); ClrSCr;

lllndov(1,1,2,25); TestBackGround(1); ClrScr:

lllndov(79,1,80,25); TextB.IckGround(1); ClrScr;

lllndov(1,1,80,2); Te x tB.IckGround ( 1 ) ; ClrSCr;

lllndov(1,24,80, 25); TeatBackGround ( 1 ) ; ClrScr;

lllndov(3,3, 78,4); TextColor(O); Tea tB.IckGround ( 7) ; llrlteln(' EINDHOVEN UNIVERSITY OF TECHHOLOCY / SECTION PRECISION ENGINEER

INC ')J

MiddenCursor; lh: •ReadKey; Leesley;

Wlndov(3,5, 77,20); TestB.IckGround(1); CotoXY(14,5); TextColor(14); Wri teln( 'Dele prOC)raanatuur ia onderverdeeld in : '); CotoXY(4,5); Writeln('(l)PA : invoer controlparameters voor DES bij statische calculatie'); CotoXY(4, 7); Writeln('DYHCOPA : invoer controlparanetera voor DES bij dynmische calculatie

'); CotoXY(4,9); Writeln('PREDES : invoer luchtlaqerpa.rameters voor DFS'); CotoXY(4,11); Wrlteln('DES : statlache calculatie van luchtlaqer volgens specificatie'); CotoXY(4,13); Writeln('PADSCl : dynamische calculatie van luchtlager volgens specificatie'); CotoXY(66,11); TextColor(O): Writeln(' '); lh:•ReadKey; Leesley;

Wlndov(5,5, 77 ,20); ClrSCr; TestColor(10); CotoXY(21,14); Wrlteln(' Faculteit Werktulqbouvkunde'); CotoXY(21 '15); Writeln(' 5ectie Precision Enqineerinq'); CotoXY(21,16): Writeln('Prof. dr. ir. P.H.J. Schellek.ens');

Window(4,4,9,6); Te x tB.IckGround ( 3) : Clrscr:

Window(12,4, 77 ,6); ClrScr;

Wlndow(4,20,9,22); ClrScr;

Wlndow(72,20, 77, 22): ClrScr;

Wlndow(4,4, 7 ,5); Te• tBackGround ( 7) : ClrScr;

Window(74 ,4, 77 ,5); ClrScr;

lllndow(4 ,21, 7 ,22); ClrScr;

lllndow(74, 21,77 ,22); ClrScr;

lllndov(4,4,5,1): TextBackGround(J); ClrScr;

lllndow(76,4, 77, I); ClrScr;

Window(4, 22,5,22); ClrScr;

llindov(76,22, 77 ,22); ClrScr;

Window(79,24,80,25}; TestBackGround(1); TextColor(1); ClrScr;

lllndow(1,1,2,25); TextBackGround(O}; ClrSCr;

Wlndow(79, 1,80, 25); Clrscr;

Window(l, 24 ,80, 25); Clrscr;

wlndow(1, 1 ,80,2); ClrScr;

lllndow(10, 7, 73, 16): Textsack.Ground(1); TextColor(10); Clrscr; CotoXY(22,4): llr!teln( 'S.J. Splerenburgh'); CotoXY(22,6); llr!teln('dr. Ir. J.M. Wang'); CotoXY(20,2); llr!te('L'); delay(150); Write('a'); delay(150); vrite('y'}; delay(150); wr!te('-'); delay(150); Write( 'o'); delay(150); Write('u'); delay(150): Write('t '); delay(150); Write('& '); delay(150); Writè('R'}; delay(150); llr!te( 'e'); delay(150); Write('a'); delay(150); llr!te('l '): delay(150): llr!te( 'I'); delay(150); Write('s'); delay(150); write('a'); delay(150); Write('t'}; delay(150); llr!te('l '); delay(150): Write('e '); delay(150); llr!te(': '): delay(150); GotoXY(22,4); TestColor (23); wr!teln(•s.J. Splerenburgh'); delay(700); GotoXY(2l,l); TextColor(lO); llr!teln( 'S.J. Splerenburgh'); GotoXY(22,6): TextColor (23); llr!teln('dr. Ir. J.M. llanq•); delay(700); GotoXY(22,6); Te•tColor(lO); Writeln('dr. ir. J.M. Wanq'); Window(1, 1, 80,25): Te x tBac<Ground ( 0) : TextColor(15): 1:•0; Repeat begin

delLine; Delay(lOO): 1:•i+1;

end; Unt!l 1•26; ClrSCr; LeesKey;

END; (proc. intro)

END.

page: 1

Page 40: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: COPA.PAS last modified: 22-G1-1993 09:29:18 page: 1 PROGIW! COntrolPar...,terinputPredesignllear!ngs; (COPA)

USES OOS,CIIT,Ol'11tr!og,OPCrt,COpahelp,SCopa,lntrod;

VAR f,ff,9tCJ9f9'J9,1J999tX,J,ZZ,2:ZZ,'ZlU : text; dynstat1 : float; a,dynstat : string[16J; DATA, DATAt, BX.BF, DYS'fAT, CUPA, COPAST, CALGO" lPREDES, TEM :strin9: aO : float;

BBGlH (Hoofdprograma)

intro;

ueigD(K,'a.alsys.cfq'); {oproepen+ inleaen configuratie en andere files) reeet(K)l readln(x,CALOO); readlD(K)I readlnC•J; readln(x,IPIUIDES); readlnlxl; readln(x); readln(l) 1 readln(I,I!XEF); readlntxh readln(l); readln (I, DATI\l'} ; readln(x,DYSTAT); readln(x); readln!•ll readln(x); readln(l); read.ln(x); readln{x): readln {x,CUI'A) 1 readln(x,COPAST) 1 read.lo!•J; read.lni•J; readln(x,'!'EH)t cl-(x);

OA'JA: •DATA1t0JPA; UligD(f,DA'fA); reset!fl; readln(f ,datt); readln(f); reodln(f); readln(f,coort); close!fl;

OA'lA:•DA'JAF+TEK; auigD(ff,DATA) I reaet(ffl; readln(H,dru1); readln(ff,dru2J; close(ffl;

![ (datt•U9) then begin dat;•l65

end; lf cdatt•nOJ then begin dat:•l66

end;

I[ (coort•U9l then beqin eoor:•I6S

end i ![ {ooort•ISO) then beqin coor:•166

end; lf (coort•l51l then beq!n coor:•l67

end;

RJ!l>EAT llonulCilraor; 0>: •ReadKey;

(()tzettten...van 1 naar A, 2 naar B etc.)

IE (0>•1104) or (0>•10) then 0>:•172; ('h'-toets wordt 'H'-toets)

lf (0>•178) or (0>•1110) or(Ol•I69J or (0>•11211 then BECIM !f (0>•178) or (0>•1110) then begin ciovoeq stntsehem;

end; Bil!)

l!LS2 BEClN 'l'e•tCOlor (15); !f 0>•172 then ( 'help'-oproepl be9ln hulp; st&rtschem~

end else (l!rror ..,.sage) be9in window(10,11 ,32,13); vriteln(' !rror : '); vr!teln(' Druk. Y, Hof H in '); W!ndow(U,3,10,4); 'l'extBackGround(O); 'l'exlCOlor(l~);

end; Bil!);

1f {dat•J65) then be9in datt:•U9;

end; If (dat•l66) then beq!n datt:•ISO;

end;

If (coor•IUl then beq!n ooort:•l-49;

end; lf (coor•l66) then beq!n coort:•f50;

end;

{ Ciazet ten van ~ naar 1, B naar 2 etc.}

lf (<:<><>r•l67) then begin <:<><>rt:•l51;

end;

011 :•Str2ReaHdru1,drut1); {Qn>etten •string•-getal naar unifom·getal) OK2:•Str2Real(dru2,drut2) I OKl:•str2Real(datt,datt1); OU:•Str2Real(<:<><>rt,eoor1);

If (drut1<2) and (dat•l66) er (drut2<2) and (dat•f66) or (drut1>96) and !dat•166) or (drut2>98) and !dat•f66) then begin

FoutDet; 0>: •ReadKey; N011MlCUrsor; StartScbem:

end;

UN'l'IL !0>•169) or !0>•1121) ;

(Bovenstaande is errorHooi proofl niet neer wranderen van atruetuur dus)

DATA: •DATI\l'+COPAST; U&igD (g,DATA) l revr!te(g); vriteln{g,datt1); wr!teln(g,drutl) 1 vrlleln (g,drut2); vri teln (q,coorl); close(g);

DATA: •EXEP+COPAST; asaigD (gg,DA1A); revrlte (gq); vr!teln(gq,datt1); vr!teln(gq,drut 1); vr! teln(gq,drut2); vrlteln(gq,coor1l; close(ggl;

DA'l'A: •CA.LGO+COPAS'r; l .. igD t999 ,DATA); revrite(q99); vritelnCm,dattll; vri teln(qgq,drut 1); wr!teln(qqq,drut2); writeln(qqq,coor1): close(ggq);

DATA: •XPR!li)EStCOPAST; usiqn (99CJ9,DATA); revrite(gggq) I vr!teln(9999,datt1); vr! teln(9999,drut 1 J; vr!teln!9999,drutl); wr!teln(9999,coor1 J; close ( 9999) ;

DATA: •DATAI'+CUPA; usigD Cf ,DATA); revrite(f); vriteln!f ,datt); vr! teln(f,dru1) 1 vrltelntf,dru2); writeln(f,coort); close!f);

dynstat:•1491(D!t betekent voor predes : statische analyse) OK5:•Str2Real(dynatat,dynstat 1); DATA:•J>ATAF•DY'S"tAT; aaaiqn{z.,DATA); revri te ( z.) ; wrlteln(z,dynstat1); close(%);

DATA:•f!X.U'+DYS'l'A'l'; assiqn(U,DATA); revrite(n); vrlteln(u,dynstat1); close Cu);

DATA; •CALGJ+OYSTAT; assignhn,DA'lA); revrite{zaa); vrileln(znfdynstat1); close(nz);

DATA:•XPREDE.S•DYS"t~'r; assiqn(zuz.,DATA); revrUehnz); \i'riteln\zuz,dynstatl}; close(n:u);

LeesKey; Windov(1,1 ,80,2Sl; Te x tBackGround ( 0) ; Clrscr; EXit;

END.

Page 41: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

UIIIT Scopa; (unit containing procedures for COPA)

loterface

USES CRT ,OPCrt ,OPstring,CopaHelp,Scop;

VAR

datt,clru1 ,clru2,coor :string(8); clrut1 ,drut2,datt1 ,coor1 :float; drutt1 ,clrutt2 :lnteqer; Ol,dat,coort :char; 011 ,Ol2,0K3,0K4 ,OitS,OI6 :Dool eon;

procedure startschem; procedure foutelet; procedure cinvoer ~ ial>lementation

PROCEDORE startschem;

BBCIJl Window(1, 1 ,80,25); 'I'UtBaclGround(4); TextColor(14); ClrScn Window(37 ,2,80,4); 'I'UtBaclGround(O); 'I'UtColor(15): wr!teln(' Accepteert u deze instellingen ? Wr!teln( • (Y/N)

Window(2,2,1l,3); TextBaclGround(O); TeltColor(15); Writeln( • H. Help ');

Window(37,4,80,25); TeltBackGround(4): TeltColor(1); Wr!teln(' Statische calculatie Luchtlager Writeln(' TeltColor (1 4);

file: SCOPA.PAS

'); ');

'); ');

Writeln('lloqelijke uitvoer n.t calculatie is '); ');

for grapbic presen-'); Writeln( 'A. ASCll data-files writelo('B. Specific data-files Writeln(' totion in PCPLOT Write('De huidige instelling ia Write(dat);

'); : '); 'l'extColor(l);

TeltColor(14): Writeln(' Writeln(' Writeln(' Writeln('

If dat•l66 then beqin Write('Huidiqe aantal calculatiepunten voor de Write('drukverdelin<JS plot ia : '); TeltColor(1); Write(clru1); TeltColor(14); Write(' X ') J TeltColor(1); Write(clru2); TextColor(14);

end;

If dat•l65 then be<Jin

') ') ') ')

');

Writeln('ASCII data-file met clrulverdeling : ') Wr!teln ('A. Alleen vaarden van de locale druk ') wr!teln('B. waarden van de locale druk en de bijbe- ') Writeln(' horende co rdir>aten ') Writeln('C, Geen data-file met drukverdeling maken ') Write('De huidige instelling is : '); Te1tColor ( 1l ; write(coor);

eDel;

Window(10,2J,80,24); TeltBackGround(4); TeltColor(1): Writeln(' CON'nlOL PARAMETER INPUT FOR I!ANTED OUTPUT AFJ'ER CALCULATION ');

Window(42,3,80,4); TeltBackGround(O); TeltColor(15);

EIID; (Procedure startachem)

PROCEDURE foutdet;

BEGIN Window(l, 1 ,80,25); TeltBackGround ( 4); TeltColor(H); ClrScr; Window(J7,2,80,4); TeltBackGround(O); TeltColor(15); Writeln(' Accepteert U deze instellingen 1 '); Writeln(' (Y/N) ');

Window(2,2,1l,3); TeltBackGround(O); TeltColor(15); writeln(' H. Help ');

Window(J7,4,80,25); TeltBackGround ( 4); TeltColor(1); Writeln(' Statische calculatie Luchtlager Writeln(' TeltColor(14);

'); ');

Writeln('lloqelijle uitvoer na calculatie is '); ');

for qraphic presen-') ; Writeln('A. ASCII data-files Writeln('B. Specific data-files Writeln(' totion in PCPLOT Write('De huidige instelling is : '): Te1tColor ( 1); wrlte(dat); TeltColor(14); Writeln(' Writeln(' Writeln(' Writeln('

If dat•l66 then

');

') ') ') ')

last modilied : 22-Q1-1993 09:34:06 page : 1 be<Jin Write('Huidiqe aantal calculatiepunten voor de '); Write( •drulverdelinqs plot is : '); TextColor(1); Write(dru1): TextColor( 14); Write(' X '); Tex tColor( 1 ) ; Write(dru2); TextColor(14);

end;

If dat•l65 then be<Jin Writeln('ASCII data-file net drukverdeling : ') Wrlteln('A. Alleen vaarden van de locale druk ') Writeln('B, Waarden van de locale druk en de bijbe- ') Writeln(' horende co rdinaten ') Writeln('C. Geen dsta-Hle met drukverdeling malen ') Write('De huidiqe instelling is : '); TextColor(1); Write(coor);

end;

Windov(10,23,80,24); TextBaclGround(4) ;TextColor (1): Writeln (' CON'nlOL PARAMETER INPUT FOR WANTED OUTPUT AFl'ER CALCULATION ');

Wlndov(2, 20,57,24) ;TextBackGround(O) ;TextColor(1 1); HiddenCursor; Writeln(' '); Writeln(' Druk op een toets ... ') Writeln(' warning : calculatiepunten liggen niet tussen 2 en 98 ') Writeln(' ')

EHD; (Procedure FoutenDetectie)

PROCEDURE cinvoer; (invoer-procedure)

BBC IN Window(1, 1 ,80, 25); TeltBaclGround(l); TertColor(14); Clrscr; Window(l7,2,80,4); TeltBaclGround(O); TeltColor(15); Writeln{' Wijzigen van de instellinqen '); Writeln(' <Return) :Accept <Any key) : Chanqe ');

Window(2,2, ll, l); TeltBackGround (0) ; 7eltColor(15); Writeln( • H. Help ');

Window(37,4,80,25); TextB&ck.Ground(4); Te1tColor ( 1); Writeln(' Statische calculatie Luchtlager '); Writeln (' '); TeltColor(14); Writeln('Moqelijle uitvoer na calculatie is ') Writeln('A. ASCII dsta-fileo ') Writeln('B. Specific data-files for grapbic presen-') Writeln(' talion in PCPLOT •) Write('De huidige instelling ia : '); TeltColor(1); Write(dst);

REPEAT O'l:•readltey; lf Ch•l104 then Ch:•l72; lf Chof72 then be<Jin if Ch•lll then beqin

DelLine; GotoXY(l, 7); TektColor(14): Write('De huidige instelling is '); Te1tColor ( 1) ; Write(dst);

end el se

beqin DelLine; GotoXY(l, 7); TertColor ( 14) : Write( 'De huidige instelling is '); TeltColor(l); Repeat ReadLn(dat); lf dat•197 then beqin dat:•l65; end el&e

if dst•198 \hen beqin dst:•l66; end;

DelLine; if (dat•l65) or (dat•l66) then beqin

GotoXY(1 '7); DelLine; TextColor(14); write('De huidige instelling is '); Te1tColor(1); vri te(dat);

end else

beqin DelLine; GotoXY(1. 7); TextColor(H); Write('De huidige instelling is Error: Voer A of 8 in '); TextColor ( 1) ;

end; Until (dat•l65) or (dst•l66)

end; end el se Begin (hulpschemoproep • afhandeling) hulp; startscherm; Scinvoereen; GotoXY(1, 7); DelLine: TextColor(H); Write('De huidige instelling is '); TextColor ( 1) ; Write{dat);

End; UNTIL Chol72;

Page 42: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file : SCOPA.PAS last modilied : 22-o1-1993 09:34:06

TextColor(14); (nu volgt soortqelijk invoerpreeede als voorgaande, alleen com paoter neergezet)

If clat•f66 then begin

14);

Wlndow(37, 15,80,25); TextBackGround(4); TextColor(14); Write('Huidiqe aantal calculatiepunten voor de '); wr!te('drukverdelinqs plot is : '); TextColor (1); Wrlte(dru1); Repeat Ch :•readkey;lf Ch•f104 then Ch:•f72;

lf Ch<>f72 then begin lf Ch•fll then begin Wlndov(37, 17 ,80,25); DelL!ne;GotoXY(l, 1); TextColor(

Wr!te( •drukverdelinqs plot is : '); TextColor(1); Wr!te(drul); 'lutColor(14);Wrlte(' X ')l'lutColor(1);Wrlte(dru2); end else

begin W!Ddow(37, 16,80,25) ;DelL!ne;GotoXY(l, 1) ;TextColor(H); Wrlte('drukverdelinqs plot is : ') ;TextColor(l); Repeat ReadLo(dru1) ;OitS:•Str21nt(dru1 ,drutt 1); lf (DOt OltS) or (odd(drutt1)) then begin DelL!ne; OelL!ne; GotoXY(1,1); 'lutColor(14); wr!te('drukverdelinqs plot is : Error : Voer geheelen even getal in : '); 'lutColor(l) ;end; liDtil (OitS) and (not odd(drutt1)) ;GotoXY(1, 1) ;OelL!ne;Tex

tColor(14);

l;

14);

Wr!te(•clrukverdelill9B plot is: •); TextColor(1);Wrlte(dru1); TextColor(14);Wr!te(• I •);Te•tColor(l); Repeat Readln(dru2); Ol6:•Str2Int (drul,druttl); lf (DOt Ol6) or (odd(druttl)) then begin DelL!ne; GotoXY(1,1); TextColor(14

Wr!te( •drukverdelill9B plot la : •) ;TextColor (1); Wrlte(drul); Te•tColor(14); Wr!te(• X '); Wr!te(' Error :voer geheel en even getal in : '); TextColor(1); end; Until (OK6) and (not odd(drutt2)); end;end else

Begin hulp;atartschem; Wlndov(1,16,80,25) ;TeltBackGround(4); Te•tColor(14) ;ClrScr; GotoXY(37, 1) ;OelL!ne;TextColor (14); wrlte( 'drukverdelinqs plot !o : '); TeltColor(l); Wrlte(dru1); end; Until Chof72; end;

If clat•f65 tben begin Wlndov(37, 15,80,25) ;TeltBackGround(4) ;Te~tColor(14); Wrlteln('ASCII data-file ..,t drukverdeling : '); Wrlteln('A. Alleen vaarden van de locale druk '); Wrlteln('B. Waarden van de locale druk en de bljbe· '); Writeln(' borende co rdinaten '); Wrlteln('C. Geen data-file ~~et drukverdeling maken '); Wrlte('Oe huidige lnstellinq is : '); TeltColor(1); Wrlte(coor);

Repeat Ch :•readkey;H Ch•f104 then Ch:•l72; lf Ch<>f72 then begin lf Ch•l13 then begin W!ndov(37,20,80,25); OelL!ne;GotoXY(l,l); TeltColor(

Wrlte('De huidige instelling is : '); Te•tColor(1); Write(coor); end else

begin Wlndov(37 ,20,80,25) ;OelL!ne;GotOXY(1,1) ;TextColor(14); Wrlte('Oe huidige instelling is : ');TeltColor(1); Repeat ReadLo(coor) ;lf coor•f97 then begin coor:•l65; end else lf coor•l98 then begin coor:•l66;end else lf coor•f99 then begin coor:•l67; end; oelL!ne; lf (coor•f65) or (coor•f66) or (coor•f67) then begin vrlte(coor); end else begin OelL!ne; GotoXY(1 ,1); Te<tColor(14); Wrlte('Oe huidige lnstelllnq la : Error: Voer A, Bof C in: •); 'lutColor (1) ;end; until (coor•l65) or (coor•l66) or (coor•J67) ;end;end else

Begin bulp;atartschem;W!Ddow(1,20,80,25) ;Te<tBackGround(4); Te•tColor(14) ;ClrScr; GotoXY(37, 1) ;OelL!ne;TextColor(14); Wrlte(•oe huidige lnotelllnq la : •); Te•tColor(1); Wrlte(coor); enth Until Ou ,172; end;

Wlndov(10,23,80,24); Te<tBackGround(4) ;Te•tColor(l); Wrl teln (' COII'lllOL PAIWIB"I'ER INPUT POR WAHTf!D OUTPUT APTER CALCULATION ') ;

Wlndov(42,3,80,4) ;Te<tBackGround(O) ;TeltColor(15);

END; (Procedure clnvoer)

I!!ND.

page: 2

Page 43: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

UNIT Scop; (Unit for CopaHelp I Scopa)

interface procedure SCinvoereen; implemen talion

Uses Crt,Opstring;

Var datt,clru,coor : string(16); drut : float; Ch,dat,coort : char~ OK : Boolean;

PROCEDURE SCinvoereen:

BEGIN W!ndow(1,1,80, 25); TestBackGround(4); TestColor(14); Clrscr; Window(l7 ,2,80,4); TestBackGround(O); TestColor(15l;

lile: SCOP.PAS last modilied: 19..01-1993 13:09:54

Writeln(' Wijzigen van de instellingen '); Writeln(' <Return> : Accept <Any Key> : Change ');

Window(2,2,13,3); TestBackGround(O); TestColor(15l; Writeln(' H. Help ');

Window(37 ,4,80,25); 'l'eltBackGround(4); TestColor ( 1 l ; Writeln(' Statische calculatie Luchtlager '); Writeln(' 'I; Test Co lor ( 14); Writeln('Mogelijke uitvoer na calculatie is ') Writeln('A. ASCII data-files ') Writeln('B. Specific data-files for graphic presen-') Writeln(' lation In PCPLOT 'l Wr!te('Oe huidige Instelling Is : 'l: 'l'e•tColor(1); Wr!te(datl:

END; (procedure SCinvoereen: schena opniev opbouwen na runnen 'help'}

END,

page: 1

Page 44: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

UNIT CopaHelp; (Unit voor CXlPA) file: COPAHELP.PAS last modilied : 21..01-1993 17:15:34

End; (proc. schermdrie) page: 1

interface

VAR Ch: Chaq j : inteqer; m : text:

procedure hulp; procedure hulpstartschenn; procedure schermeen; procedure achemtwee; procedure achermdrie; procedure schenavier; !mplementat!on

Uses Crt,OPCrt,SCop;

PROCEDURB bulpstartschenn; Beqin vindov(2,4,50,25); TextBackGround(9); TextColor(10); vriteln(' vriteln(' lies uit de volgende mogelijkheden vriteln(' vriteln(' vriteln(' vriteln(' vriteln(' vriteln(• vriteln( • vr!teln( • vriteln( • vriteln(' vriteln(' writeln(' vriteln(' vriteln( • vriteln(' vriteln(' vriteln(' vriteln(' vriteln(•

o. Exit help 1. Al- infomalie 2. Infomalie ASCII data-files 3. Infomalie apec!fic data-files for

graphic presenlotion in PCPLC7 4. Quit I qa teruq naar DOS

End; (proc. hulpstartscherm)

PROC!l)URE schermeen: Beqin

windov(2, 4 ,50,25); 'l'ertBackGround ( 9) ; 'l'ertColor ( 1 0);

') •) ') ') ') ') •) ') •) ') •) ') •) ') ') ') ') ') ') ') ')

vr!teln(' '); vriteln(' Het proqranma vaar U zich nu in bevindt slaat "): vr!teln(• door U ingevoerde 9"9"Vens op in de files ge· '); vriteln(' naamd "C?PA*.DAT". Deze file met qeqevens '); vr!teln(' wordt met files van het proqrama "PREDES" '); vriteln(' inqelezen door het proqranma "DES" , waarna "); vr!teln(' berekening van het door u gekozen luchtlager- '); vriteln(' type volgt met de door u ingevoerde specifica- •); vr!teln( • ties. (atat!ache calculatie) '); vriteln(' De prog:ri.IDI"a "COPA", "PREDES" en "DES" zijn '); vriteln( • met elkaar gekoppeld in het proqrama "CALGO". '); vriteln(' Voor infomatie over hetgeen in te voeren in '); vriteln(' dit prOCJruna "COPA" kunt U de andere paqina"s '); vr!teln(' van deze HELP raadplegen. '); vriteln(' '); writeln(' De prOCJruaa''a "COPA" en "PREDES" zijn qeschre-'); vr!teln( • ven in Turbo-Pascal docr S.J. Spierenburgh. •); vriteln(' Het proqriiDI "DES" is -chreven in Sepran/ •); vriteln(' Fortran door dr. ir. J.M. Wanq. '); vriteln(' Sectie Precision Enqineerinq TUE '); vriteln(' prof. dr. ir. P.H.J. SChellekeos ');

End;{proc. schemeen)

PROCEDURE schermtwee; Beqin vindov(2,4,50, 25); 'l'ertBackGround(9); 'l'ertColor(10); vr!teln(' ') vriteln(' Bij een keuze voor A. "ASCll DATA-files" , '} vriteln(' ui er n& berekening door het proqrOillll "DES" ') vr!teln(' een data-file genaand "LOADf'LOW" aangemaakt •) vriteln(' worden. ') vr!teln(' Deze data-file bevat de volqende geqevens : ') vr!teln(' 1. !.<>ad (belastinq van het luchtlager) ') vriteln(• 2. Moment ') vr!teln(' 3. work!ng gap height hw (afstand tussen lager ') vr!teln(• en oppervlak) ') vriteln(' 4. Flow rate (volumestroora van het qas) ') vr!teln( • Deze file kunt U onder DOS opvragen, bij voor· •) vr!teln(' beeld door in te tikken : TYPE LOADFLOII <enter>') vr!teln(' ') writeln(• ') 'l'ertColor ( 11); writeln(' Bij i.euze voor A. kan daarna qekozen worden 'l vriteln(' voor de aanmaak van een ASCll drukverdelin95~ ') vriteln(' file "PRESTATlC"", waarin zich de waarden voor ') vriteln(' de locale druk bevinden en eventueel de bijbe· ') vr!te In ( • behorende co rdi na ten. • ) vr!teln(• ')

End;(proc. schemtwee)

PROCEDURB schermdrie; Beqin

vindov(2,4,S0,2S); TertBackGround(9); 'l'ertColor(10); writeln(' ') vriteln(' Dij een keuze voor D. "Specific data-files for ') vritelD(' qraphic presentation in PCPI.DJ'", zullen er na ') vr!teln(' berekeninq in het proqranaa "DES" data-files ') vriteln(' qenaand "*.010" aanqenaai.t worden. ') vriteln(' Deze files zijn niet universeel bruikbaar, ') vriteln{' maar kunnen alleen door PCPI.DJ' ingelezen wor- ') writeln(' den. ') vriteln(' Bij een keuze voor B zal qevraaqd worden om ') writeln(' waarden voor de calculatiepunten. •) writeln(' Deze vaarden bepalen een rasterindelinq van •) vriteln(' het cirkeloppervlak van het luchtlaqer, waar~ ') writeln{' bij de knooppunten de punten van calculatie ') vriteln(' van de locale druk zijn. Er ontstaat dus een ") vr!teln(' drukverdeling over het cirkeloppervlak. •) vriteln(' De vaarden voor de calculatiepunten dienen ') vriteln( • even (en dua ook gehele) positieve getallen te •) vriteln(' zijn. Deze waarden worden standaard op 10 qe- ') vriteln(' zet. Aanbevolen zijn waarden tussen 6 X 6 en ') vr!teln(' 10 X 10. ') vriteln(' ')

PROCEDURE schermvier; Beqin window(2,4,S0,25); TextBackGround(9); TextColor(10); writeln{' ') writeln(' Het proqranma "COPA" i.ent geen echte optie om ') writeln(' het proqranma te verlaten. ') writeln(' "'COPA" kan op een juiste manier verlaten vor- ') writeln(' den door, na de contr leparameters zoals ge- ') writeln(' wenst ingesteld te hebben, op <Y) te drukken; '} vriteln(• dit houdt dan in dat U de dan gepresenteerde ') writeln{' contr leparameters accepteert voor het vervolq ') writeln(' van de statische calculatie. ') vriteln(' ') vriteln ( • •) writeln ( • •) writeln(' ') vr!teln(' ') vr!teln(' •) writeln(' ') writeln(' ') writeln(' ') writeln(' ') writeln{' ')

End; {proc. schermvier)

PIWCEDURE hulp; Beqin Repeat

hulpstartscberm; HiddenCursor; Ch: •Readkey; If Ch•f49 then beqin schermeen; Ch:•Readley; end else If Ch•f50 then beqin schemtwee; Ch:•Reaclley; end else If Ch•fS1 then beqin schermdrie; Ch:•Readley; end else lf Ch•IS2 then becjin schemvier; Ch:•ReadJ.ey: end;

Unt!l (Ch•l48) or (Ch•f79) or (Ch•f71) or (Ch•f27) ; Hormal Cursor; End;

END.

Page 45: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

PliOGIW! ControlPar....,terlnputPredesl<j!lllearini)Sl file: DYNCOPA.PAS last modilied: 22..01-1993 09:38:50 page: 1

end;

US!:S OOS,CR'1,01'11trin<j,OI'Crt ,DyC'chelp,DynScopa,lntrod;

VAR f,ff,g,gq,qqq,gm,x,t,u,zzz,zan : text~

a,dynatat : atrln<J(16) 1 DATA, DATAF, I!Xl!l', DYEnAT, D'!MCUPA, DYCOPA, CALGJ, XPREDES, TEN :strinq ; dynatat1 : float; aD : float;

BilGIN (Hoofdprogr."...)

intro; (Introductie schermen van unit 'introd')

-lqn(z, •calsys.efq'); (aanroepen eeofiquratlon file•inleun) roset(xl; reodln(x,CALGJ); reodln(z); ....oln(z); reodln(z,XPREDESJ; reodln(z); reodln(z); reodln{zl; ....oln(z,I!Xl!l'l; ....oln(rJ; readln(r); readln(z,DATAF); readln(r,DYEnAT); readln(z); readln(xl; ....oln(z); readln(a); readln(z); ....oln(r); readlnlzl; readlnl•l; readln(z,O'!MCUPA); readln(z,DYCOPA); readln 1•, TEN): close !x);

DATA: •DATAF+DYMCU'PA; asalqn(f,DATA); reset(f); readln(f,dattl; readln(f); reodlnlfl; readln(f ,coort); close(f);

DATA: •DATAF+TEN; ualqn(ff,DATA); resetlffl; rudln(ff,dru1); readln(ff,dru2); elose{ff);

lf {datt•l49) then bo<Ji• dat:•I6S

end; lf (datt•ISOl then begin dat:•l66

end; lf (datt•fSl) then boqln dat :•167

end; If (datt•f52) boqln dat:•l68

eod;

lf {coort•l49) boqln coor:•l65

end; lf (coort•ISO) begin coor:•l66

end; lf (coort•IS1) boqln coor:•f67

end;

st•rtache.m~

liEPBAT Mom&lCUraor; Ch:·-<!Key;

then

then

then

then

(DUetten van 1 naar A, 2 naar B etc.)

lf !Ch•l104l or !Ch•IOJ then Ch:•l72; ( 'h'-toeto wordt 'H'·toet•l

lF !Ch•l78) or (Ch•l110) or!Ch•l89) or {Ch•l121) then BilGIN if (Ch•f78) or (Ch•l110l then boqln cinvoer; StartSchem;

end; IIICD BLSB boqln 'l'el<tColor(1S); 1 f Ch•l72 then boqin hulp; atartachena;

end else boqln vlndow(l0,11,32,1ll; writeln(" Error : •}; wrHeln(' Druk Y, Kof H in '}; Wlndow(l2, 3, 80,1);

end; IIICD;

If (dat•l65) then boqln datt:•ll9

end; lf (dat•l66) then boqln datt:•f50

end; lf (dat•f67) then boqin datt:•l51

(OUetten van A naar 1, B naar 2 etc.)

lf (dat•ló8l then begin datt:•f52

end; If (coor•ló5) then begin coort:•l49 end~

lf (coor•f66) then begin coort:•f50;

end; lf (coor•f67) then begin coort:•l51:

end;

Ol1:•Str2-l(dru1,drut1l; {Qnaetten van •strln<J'·qetallen naar un!fome qet allen)

OK2:•Str:tl!eol(dru2,drut2); OIO:•Str~l(datt,datt1): OU :•Str2-l (coort,coor1);

If (drut1<1) ""d (dat•l66) or (drut2<1) and (dat•f66) or (drut1>99) ""d (dat•f66) or (drut2>99) and (dat•f66) then begin

Fout.DetJ Ch:•Readley; HOrmal cursor; Start Scherm;

end;

llN'l'lL (Ch•f89) or (Ch•f121l ;

(8ovenstunde is errorlfool proofl niet l':l:ll&&r veranderen van atructuur dus)

DATA:•DA'l'APtllYCOPA: !Opslaq ln<JOVOOrde ecntrolepar....,ters) asaiqn (q,DATA)l revrite(q); writeln(q,datt1); writeln(g,drutl); vrlteln(q,drut2); writeln(q,eoorl); close(g);

DATA:•EXEFtDYCOPA; aaalqn (qq,DATA); r..,rlte!qq); writeln(qq,datt1); writeln(qq,drut1); vr!teln(qq,drut2); wr! teln(qg,coor1); close{qq);

DA'I'A:oCALGJ•llYCOPA; UII<Jn {99'J,DATA) J r..,rite (qqq) J wrHeln(qq9,dattll; wrl teln 1999 ,drut 1); wrl teln 1999 ,drut2); writeln(qqg,coor1 I; elose(qqq);

DA'I'A:•XPREDES+DYOlPA; ass!qn (gqqq,DATA); rewrite(qqqq); vr!teln(gqqq ,datt 1); wrltéln(qqqq,drut1 l; vriteln!qqqq,drut2); writeln(qqqq,coor1); close!qqqql;

DATA:•DATAPtDYl!C1/PA; assiqn (f,DATA); r ... rlte(fl; writeln(f,dattl; vriteln(f,d.ru1); writeln(f,d.ru2}; wrlteln( f,coort); close(f);

dynstat:•ISO; (dit hetekent voor predes : dynlllllsche analyse) OK5:•Str2Real(dynatat ,dynstatl); DATA: •DATAFtDYS'l'AT; assiqn (z,OA'l'AJ; rewrité(Z): .. rlteln(z,dynstat1); close(z);

DATA: •EXEhDYS'l'Ai; assign (n,DATA); revrite{zz); vriteln(n,dynatatl}: cl05e(n:):

DATA~ •CALCO+DYS1AT: usign (:nz,DATA); revrite(t:u); vr1teln(:nz,dynstat.1) ~ close(>n);

DATA: •XPRttlES•OYS'rAT; assiqn (zz:n,DATA); revrite(nn): vri téln(znz,dynatat1); close(zzu);

Leesttey; Wlndow(1,1,80,2S); Te•tBackGround{Ol; ClrScr; E•it;

EKD.

Page 46: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file : DYNSCOPA.PAS last modilied : 22-431-1993 09:37:04 page: 1

UliiT DynScopa; {Unit voor COPAl

Interface

USES CRT,OPCrt,OPatri~,DyCoHelp,DynScop;

VAR

dot t ,drul ,dru2,coor :atrl~[8) 1 drut 1,drut2,dott1 ,ooor1 :float; drutt1,drutt2 :!nteqer; Cb,datfcoort :ch&r; Ol1,01l,OIO,Ol,,OKS,Ol6 :Boolean;

procedu.re start.scbem; procedure foutdet; procedure clnvcer; illpl-.tatlon

PJlOODURB staruchem;

l!lllllJI ll!ndcot(1,1,80,2Sl; TestBackGround ( 4) ; TestCOlorl14l; ClrScr;

Windcot(37 ,2,80,4); 'l'o>xtl!ackCround{O) ; 'l'estCOlor(15); llriteln(' ACcepteert u de•e lnatelllnqen ? Wr!teln(• (Y/Ml

Wlndcot(Z, 2,1 J, J); Textl!ackGround(O); 'l'estCOlor(15); Wr!t•ln(' H. Help ');

llindcot()7,4,80,2S) 1 TextBackGroundUl; TutCOlorlll; llriteln(• Dynmlacbe calculatie Lucbtlager 'h Wrlteln( • ') 1 TextCOlor(U) 1 llrlteln('Mogel!jke uitvoer na calculatie la '); Wr!teln('A. ASCII dota-files '); Writeln(•B. Specific data·files for qraphic presen-'); Writeln(• lation In PCPLOT '); Writeln('C. Data-file containinq par...,ters for an '); llrlteln(• el.....,t IlOdel of tbe gas filn st!fft>Ks'l; llriteln('D. Combinatie van optie A & C '); llrite('De huidiqe !natellinq is : 'll TextColor{1)1 llr!te(datl; 'l'o>xtCOlor (H); Wrlteln(' '); llrlteln(' 'l; If dot•l66 tben beqin Write('Huidlge aantal calculatiepunten voor de '); Write( 'àrukverdell095 plot is : '); TestCOlor(ll; Write{drul); TeatCOlor(U); lltite(' X '}; TextCOlor{l); llrite(dru2l; TextCOior(H);

end; If (dot•16S) or (àat•l68) then beqin Writeln('ASCli dota-file 11et drukverdeling : ') Wr!teln( 'A. Alleen waarden van de locale druk •) Writeln('B. Iloarden van de locale druk en de bl1be· ') llr!teln(' borende co rdinaten ') Writeln(•c. Geen dst•·flle ~~et drukverdelinq rMken ') Wrlte('De hu!d!qe lnstell!nq la : '); TextColor 111 : Wrl te(ooor);

end;

Wlndcot(10, 23, 80,24); 'l'estl!ackCrounà ( 4} ; TeatColor (1); Writeln(' COII'!ROL PARAIIE'rER IHP\11' !'OR WA!I'!IlD wrPUT AF'l'!lP. CALCIJLATIOII ');

W!ndcot(42, 3,80,4) I Textl!aekCround(O); 'l'o>ztCOlor(IS);

END; (Procedure slartschem)

PIIOCEDI/Rll foutdel;

B!lÇlH lllnàow(1,1,80,2S); TextBackCrounà(4); TextCOlor (14); Clr&cr:

lllndcot{J?. 2, 80,4); Testl!ackGround(O): TextCOlor(lS)I llriteln(' ACcepteert u deze !natelllnqen ? '); llrlteln(' (Y/11) ');

llindow(2,2,1l, 3); Textl!aclCround(Ol; 'l'o>xtCOior (1 S l ; Wrlteln(' H. Help ');

Windcot(37, 4 ,80,25); Testl!ackCrounà(4); Te1tColor (1 l; Wr!teln(' Dy"""lache Cllculatle Lucbtlaqer •): llrlteln(' 'l; 'l'o>xtCOlor(l4); lrlteln( 'Mogelijke uitvoer ns cal®lat!e is 'l; Writeln{'A. ASCll data-files '); Writ&ln( 'B. Speclflc data-files for grapbie presen- '); Writeln(' tation in PCPLOl' '); Wrlteln( •c. Data· file contaln!nq par..,.ters for an '); Writeln(' el..,.nt IlOdel of the qso f!ln st!ffnesa'); Wrlteln(•D. Combinatie van optie A & C '); wrlte( 'De huidige lnoteU!~ is : 'l; 'l'o>xtCOlorl1l; Wrlte(dat); TeltCOlor(14); llr!teln(• 'I;

llrlteln(' '); If dat•l66 then be9in llrlte( •auidlge aantal calculatiepunten voor de '); llrite('drukverdel!n9S plot is : '); TextCOlorlll; Wr! te (dru1); TextCOlor (H); Wr!te(• X '); TextCOlor(l )I llrlte(dru2); TextCOlor(Hl;

end: If (dat•I6S) or (dat•l68) then be9in llr!teln('ASCII data-file lllE!t drukverdeli~ : ') llriteln('A. Alleen waarden van de locale druk ') llrlteln('B. waarden van de locale druk en de bljbe- •) Wrlteln(' borende co rd!naten ') Wr!teln('C. Geen data-file lllE!t drukverdel!~ IlOken ') llrlte('lle buldlge lnstell!~ Is : '); Te•tC0lor(1); llrlte(coorl;

end;

Window(10,23,80,24); TextBaekGround(4) ;TextCOlor(l); Wr!teln(' CO!f!:ROL PA!W!lmlR IHP\11' !'OR IIAHTIID OUTPUT AF'l'!lQ CALCIJLATIOII ');

llindow(2,20,57 ,24); TextBackCround{OJ; 'l'o>•tCOlor (11); HlàdenCu.rsor; Vriteln ( • Wr!teln< • Druk op een toets llr!teln(' warninq : calculatiepunten llqgen niet Writeln('

') ')

tussen 2 en 98 ') ')

END; {Procedure Foutenlletect!e}

PROCEDUR.E' cinvoer:

BEGIN Winàow(1,1,80,25); Te•tBackCrounà(4); TextCOlor(H); ClrScr;

llinàow(37,2,80,4); TextBackCround(O); TextCOior(15); Writeln(' lijdgen van de instellinqen •); llr!teln(• <Return> : Accept <Any Key> : Cbange •);

llindow(2,2,13,l); 'l'o>ltBackCround(O); TeltCOlor(1Sl; Writeln(' H. Help '};

lllnàow(37 ,4 ,80,25); 'l'extl!ackCround(4); TeltCOlor {1); llr!teln(' Dynal111sche calculatie Luchtlager '}; Writeln(' 'h TeatCOlor(H); Wr!teln('Mogèl!jke uitvoer na calculatie lo •); llriteln('A. ASCII data·files '}; llriteln( 'B. Spec!flc data-files for grapbic presen·'l; llrlteln{' talion in PCPLOT •); Writeln('C, Data-file containinq par....,tero fot an •); llriteln(' el...",t node! of the gu film sliff"""s'); llrlteln{'D. Conbinatle van optie A & C '); Vrlte('lle huidige Instelling is ; '); TextCOior ( ll ; llrite(dat); Repeal

Cb :•readkey; if Cb•l104 lhen Cb:•l72; if Cb<> J72 then beqin lf Cb•l13 then be9in DelLine;GotoXY(1,10); TextCOlor{14); llr!te('De buidige i!Uitell!nq la : '); TextCOlor(l); llr!te(dotl; end else

be9in DeiLine;GotoXY(I,lO) ;TextCOlor(l4); llrite('De huidige !~U~telllnq is: 'l;TextCOlor(l}; Repaal Reaàtn(dal);lf dot•l97 then be9!n dat:•f6S; end else lf dat•l98 then be9in dot:•l66; end else lf dat•l99 then be9ln dot:•f67; end else if àst•f100 then beqin àat:•l68; end;De!Line; if {dst•f6S) or !dat•f66) or (dat•ló7l or (dat•f68) then be9in COtoXY(1,10)

;Deltine;

Hl;

TextCOlor(14)1vrite('De huidige i!Uitelllnq is : ');TextCOlor{1); wri te (dat) :end elae be9ln DelL!ne; GotoXY(1,10); TeltCOlor(H); llrite( 'De huidige i~U~lellinq is : Error: Voer A, B,C of D in : '); TextCOlor(l) ;end; Uillil (dat•f65l or (dat•f66) or {dat•f67) or (dot•l68) ;end;enà else

Beqln hulp;startschem;Sclnvoereen;GotoXY(l, 10) ;lleJLlneiTeXtCOlodHl; Wrlte{'lle huidige lnstellinq Is : •); TextCOlor (1); llrlte(dat}; end; Uiltil Cb<>l72;

'l'extCOlor(14); lf àst•f66 tben be9ln llindow(37, 16,80,25); TextBackCround(4); TextCOlor (11) 1 llr!te{'Huldige aantal calculatiepunten voor de '); lltite('drukverdeli09S plot Is : '); TextCOlor(1); Write(drulll

!!epeat Cb :•rHöey;lf Cb•l104 tben Cb:•l721 if Cb<>l72 then be9ln lf Cb•lll then beqln W!nàow(37,17,80,25); DelLine;GotoXY(1,1); Te•tColor{

llrite('drukverdelings plot i& : '); TextCOlor(1}; Write{dru1J; Textcolor(H);IIrite(' x ');TextCOior(1l;llrite(dru2); end else

be9!n lllndcot(l7 ,17 ,80,25);lle!Line;GotoXY(1,1) ;TextCOlor(14); Wr!te('drukverdel!ngs plot Is : ');Textcolor(ll; Repeat Readtn(drul) ;OKS: •Str2Jnt (dru1,drutt1); !f (not OlS) or !odd!drutll)l tben beqln Del~ine1 DelLinè; GotOXY(1,1); TextCOior(14); Write(•druky.,ràell09S plot Is : Error :Voer geheeleneven getal In : '); TeztCOlor(ll;end; Unt!l (OlS) and (nol odà(drutt1));GotoXY(1,1);llelLine;Tex

tCOior(14); Write(;drukverdelinqs plot i& : '); TextCOlor(1);Write(drul); 'l'o>ztCOior(H);Wr!te(' X 'l;TeztCOlor(l); Repeat Readln(drul);Ol6:•Str2lnt(d

ru2 1 d.rutt2):

); H (not 056) or (oàà(drutt2)) then be9ln DelLioe; GotOXY(l,1J; TextCOlor(H

Write( 'drukverdelinqs plot Is : ') ;TextCOlor(1); llr!te(drull; Textcolor(14); Wrlte(' x '); Write(; E.rror: Voer geheel en even getal in: 1 }; 7ertColor{1); end; Untll {OU) and (not odà(drutt2)); end;end else

Beqln hulp;startseherm; Windo>t(1,17 ,80,2Sl ;Te•tBaclGroundlll 1 TextCOlor (14) :ClrScr; GotoXY( 37, 1) ;DelLine;Te•tCOlor ( 14) 1

Page 47: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

14);

n

) I

file: DYNSCOPA.PAS last modilied: 22-Q1-1993 09:37:04 Mrite('drukverdelin<jS plot is : 'll 'l'extColor(1); Mrite(dru1); end; Until Ch< >172; end; lf (dat•I6Sl or (dat•l68l tben beqin Mindov(l7 ,16,80,25) ;'l'extBaekGround(4l;TextColor{14); llrlteln('ASCll data-file met drukverdeling : '); Mrlteln( 'A. Alleen vaarden van de locale druk 'll llrlteln('B. Maarden van de localo druk en de b!jbe- '); llrlteln(' horende oo rdinaten '); llr!telo('C, Geen data-file met drukverdeling maken 'l; llrlte('De huidige illltelling is : 'l; TextColor(1); llrlte{ooor);

Repeat Ch :•readltey;if Ch•l104 tben Ch:•f72; lf Ch< •172 then beqin lf Ch•11l tben beqin Window(37,21,80,25); DelLine;GotoXY(1, 1l; 'l'extColor(

llrlto( 'De huidige !nstellln<j is : 'l; TextColor(l); Wr!te{ooorl: end else

beq!n ll!ndow(37 ,21,80,25) ;DelLine;GotoXY(l,l) ;'l'extColor(l4): Wr!te('De bu!dige instelling is : 'l ;7extColor(1); Repe&t I!UdLc(ooor) ;if ooor•f97 tben beqin eoor:•16S; end olse if eoor•U! tbeo beqin eoor:•t66; end elae !f ooor•t99 tben beqin eoor:•f67;enó; DelL!ne; !f (eoor•f65) or (eoor•f66) or (eoor•f67) tben beq!

GotoXY(1,1); 'l'extColor(H):Wr!te('De huidige !nstellin9' ia : 'l:Texteolor(l

llrlte(ooorl; end else beq!n DelL!ne;GotoXY(l,1l;TextColor(14); wr!te('De huidige Instelling i& : Error: Voer A, B of c in : 'l; 'l'extColor (1)1ench Uotil (eoor•l65) or (eoor•f66l or (eoor•f67) ;ond;end else

Belj'in bulp:startsebem;Window(l,21,80,2SJ ;TextBackGround(t); 'l'eltColor(U);ClrScr; GotoXY(37 ,1) ;DelL!ne;TextColorCI4l; Write('lle buldiiJ'! iutellin9' Is : '); 7extColor(l); Wr!te(eoor); end; Uiltil Ch<>l72;end;

Wiodow(10,23,80,24) I 'l'extllackCround(4l;'l'eltColor(1); Writeln(' <XIli'IROL PAlWIETER l!IPII'l' 1'011 IIAN'rED Oli'I'PUT AF'I'ER CALCULATJO!I ');

Window(42,3,80,4);'l'extBackGround(0) ;TextColor (15);

I!ND; {Procedure oinvoer)

page: 2

Page 48: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

Ulfl7 llynScopl (Unit for Copa!!elp & 5copo l

interface procedure Sclnvoereen1 lmplement•tlon

Olies Crt,Opstrlng;

var datt,dru,oocr : strlng[l6l: drut : float; Ch,ût,coort : ehar; OK : Boolean;

PROCEDURE Scinvoereen;

ll!mN ltlndaoo(1,1,80,l5); ore.tBackGround ( 4) ; 'h>•tColor (14); ClrScr; Wlndaoo(37,l,80,41; r..tllackGround(Ol I -tColor(151;

file: DYNSCOP.PAS last modified: 19-01-1993 21:12:24 page: 1

Writeln(' Wljliqen van dot !nstelllnqen 'l; llrlteln(' <Return> : Accept <Arly ley> : Chantje 'lt

Windaoo(l,2,1l,ll; 'h>xt.BaekGround(Ol; 'h>xtColor05ll Wr!teln(' H. !!elp 'J;

ltlndaoo(l7,4,80,25) l 7elt.BackGround ( 41 ; 7UtColor (I) 1 Wrlteln(' !iyr~M.lache Clleulatht Lucblla'l"r '11 Wrlteln( • 'I I 7UtC:Olor(W; Wrlteln('Mogelijke uitvoer na ealeulatie is : ') Wrlt•ln(•A. toseli data-files ') llrlteln(•B. Speciflc data-files for grapbic pr."en-'1 Wrlteln( • tation ln PCPLO'I' ') Wrlteln(•C. data-file eontain!ng paratoeters for an ') wrlteln(' element JIIOdel of the qas film stiffness•) Wrlteln( •D. Ccooblnat!e van optie A & C 'J llrlte('De huldlqe Instelling is : '); 'h>rtC:Olor (IJ ; Write(dat);

ENI); (proe. SCinvoereenl

ENI).

Page 49: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: DYCOHELP.PAS last modilied : 22-o1-1993 13:57:50 page: 1 UIIIT DyCoHelp; (Unit voor DYIICOPA)

interface

VAR OI: CharJ j : integer; ra : text;

procedure hulp; procedure hulps tartschem; procedure achemeen; procedure achemtwee; procedure schemdrie; procedure schermvier; procedure schemvi j f; i~Ç~l-.tation

Oaes Crt,OPCrt,DynSccp;

PROCBDURB hulpstartscherm; lleqin vinclow(2,4,50,25); TextlllclGround(9); TextColor (10) l writeln(' ') writeln(' lies uit de volgende III)CJelijlheden ') writeln(' ') writeln(' ') writeln(' 0. Exit help ') writeln(' 1. Alq-.e informatie ') writeln(' 2, Informatie ASCII data-files ') writeln(' J. Informatie specific data-files for ') writeln(' grapbic presentation in PCPLO'l' ') writeln(' 4. Informatie ASCII data-file containing ') writeln(' paraJEters for an element IlOdel of the ') writeln(' gas film stiffness ') writeln(' 5. Quit I qa terug naar OOS ') writeln(' ') writeln(' ') writeln(' ') vriteln(' ') writeln(' ') writeln(' ') writeln(' ') writeln(' ')

Bnd; (proc. hulpatartschem)

PROCEDURE achemeen; Beqin winclow(2,4,50,25); TextBaclCround ( 9) ; TextColor(10); vriteln(' ') vriteln(' Het proqraiDI vaar u zich nu in bevindt slaat ') writeln(' door u ingevoerde gegevens op in de files ge- ') writeln(' naamd "DY7C7PA0 .DA'I"'. Deze file met qeqevens ') writeln(' wordt met files van het proqr1111111 "PRED~" in- ') vriteln(' qelezen door het proqranma "DES" , waarna bere-') writeln(' lening van het door u gekozen luchtlagertype ') writeln(' volgt met de door U ingevoerde specificaties. ') writeln(' (waarna dynMlsche calculatie in PADSCI) ') vriteln(' De proqranna''s "'DYHO>PA", "PREDES", "DES" en ') writeln(' "PADSCI" zijn met elkaar gekoppeld in proqr&ll- ') vriteln(' 111 "C'.ALGO". Voor info11111tie over hetgeen in te ') writeln(' voeren d.it proqra11111 "DYHO>PA" kunt U de ande ... ') vriteln(' re pagina"• van deze HELP raadple4Jen. ') writelo(' ') vriteln(' De prOC)ranna!'a "'JYMM)PA" en "PRFJ>ES" zijn ge- ' writeln(' schreven in TurboPascal door S.J. spierenburgh. ') vriteln(' De proqrUIIII."B "'DU" en "PADSCl" zijn qeschre-') writeln(' ven in Sepran/Portran door dr. ir. J.M. !lang. ') writeln(' vakgroep Precision Engineering TOE ') writeln(' prof. dr, ir. P.H.J. SChellelens ')

End; (proc. schermeen)

PROCEDURE schemtwee; Beqin

winclow(2,4,50,25); TertlllclGround (9); TextColor(lO); writeln(' ') vriteln(' Bij een keuze voor A."ASCll data-files", zul- ') writeln(' len na calculatie de ASCII data-files genaamd ') writeln(' "LOADDYIOI" bevattende gegevens n.b.t. dynami- ') vriteln(' eche load, en "OU"J'PUTDT" aanqemaakt worden. ') writeln(' "OU"J'PUTDT" bevat gegevens van de bijbehorende ') writeln(' statische calculatie. ') writeln(' ') vriteln(' Deze files kunt U onder DOS opvraqen, bijvoor- '} writeln( • beeld door in te tikken 'I'YPE LOADD\'MM <enter>') writeln(' ') writeln(' ') TertColor(ll); writeln(' Bij keuze voor A (of D) kan daarna gekozen wor- ') vriteln(' den voor de aarnaak van een ASCII drukverde- ') writeln(' lingsfile "PRESTATie", waarin zich de waarden ') writeln(' voor de locale druk bevinden en eventueel de ') wrlteln(' bijbehorende co rdinaten. ') writeln(' ') writeln(' ') vriteln(' ') writeln(' ')

End; (proc. schermtweel

PROCEDURE schemdrie; Beqin window(2,4 ,50, 25); TextBackCround(9); TertColor ( 1 0); vriteln(' ') vriteln(' Bij een k.euze voor B."Specific data-files for ') vriteln(' gnphic presentation in PCPLCT", zullen er na ') vriteln(' berekeninq dilla-files qenaand "•.070" aanqe- ') writeln(' muU worden. ') writeln(' Deze files zijn niet universeel bruikbaar, ') vriteln(' 111ar kunnen alleen door PCPLCT ingelezen wor- ') writeln(' den. ') vriteln(' Bij een k.euae voor B zal gevraagd worden 0111 ')

vriteln(' waarden voor de calculatiepunten. ') vri teln(' Deze vaarden bepalen een rasterindelinq van ') writeln(' het cirleloppervlal van het luchtlager, waar- ') writeln(' bij de knooppunten de punten van calculatie ') vriteln(' van de locele druk. zijn. &r ontstaat dus een ') writeln(' drukverdeling over het cirkeloppervlak. ') writeln(' De waarden voor de calculatiepunten dienen ') vriteln(' even (en dus ook. gehele) positieve qetallen te ') vriteln(' zijn. Deze waarden worden standaard op 10 ge- ') vriteln(' zet. Aanbevolen zijn vaarden tussen 6 X 6 en ') writeln(' 10 X 10. ') vriteln(' ')

End; (proc. acherndrle)

PROCEDURE schermvier; Beqin

window(2,4,50,2S); TextBaclGround(9); TextColor (1 0); vriteln(' ') writeln{' Bij een k.euze voor c. "ACII data-file contai· ') writeln(' ning parameters for an element IlOdel of the ') writeln{' qas film stiffness", zal er na calculatie een ') writeln(' file genaamd "EGASFI!J!" aang.,..akt worden. ') writeln(' Deze data-file bevat parameters (KO, Kl, 12 ') writeln(' voor stijfheid en Dl, D2 voor denping) voor ') writeln(' een elenentenmodel van de stijfheid van de gas-') writeln(' film. ') writeln(' Voor het qebruik. van deze paraneters wordt ver-') writeln(' wezen naar de bij de proqranraatuur behorende ') writeln(' handleiding. ') vriteln(' De inhoud van de file kan onder DOS worden op- ') writeln(' gevraagd door bijvoorbeeld in te tikken ') writeln(' TYPE ECASFILM <enter> ') vriteln(' ') writeln(' ') writeln(' ') writeln(' ') vriteln{' ')

End; {proc. schemvier)

PROCEDURE schermvijf; Beqin window(2,4,50,25); TextBaclGround(9); TextColor(10); writeln(' ') writeln(' Het programma "DYIICOPA" kent geen echte optie ') vriteln(' en bet proqranaa te verlaten. ') vriteln(' "DYNCOPA" kan op een juiste manier verlaten ') writeln(' worden door, na de contr leparameters zoals ge-') writeln(' wenst ingesteld te hebben, op <Y> te drukken; ') writeln(' dirhoudt dan in dat U de dan gepresenteerde ') vriteln(' contr leparameters accepteert voor het vervolg ') writeln(' van de statische calculatie. ') writeln(' ') writeln(' '} writeln(' '} writeln(' ') writeln(' ') writeln (' ') writeln(' ') vriteln(' ') writeln(' ') writeln (' ') writeln(' ') writeln(' ')

End; {proc. schemvijf)

PROCEDURE hulp; Beqin

Repeat hulpstartschem; HiddenCUrsor; Ch: •Readkey; If 0.•149 then begin schermeen; O.:•ReadKey; end else If 0'1•150 then beqin schemtvee; 0\:•ReadX.ey; end else If 0.•151 then begin schemdrie; 0\:•ReadKey; end else lf 0'1•152 then begin schel11Yier; 0\:•ReadX.ey; end elae If 0.•153 then begin achemvijf; 0\:•ReadKey; end;

Until (0.•148) or (0.•179) or (0.•171) or (01•127) ; NomalCUrsor; End;

EIID.

Page 50: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: PREDES.PAS last modilied: 22-Q1-1993 14:04:52 page: 1 PROGRAM PredesignBearinqs; (PREDES HOOIDPROGRA!tiA) end;

USES DOS, CRT, OPs trinq ,OPCrt, Hulpfunctie, Suni t, Graf is eh;

VAR f,q,l,n,v,v,w,ww,vwwv,I,Z,n : text; DATA, DATAF, EXEF, DES, PADSC'l, DYS"rAT, PREDES, PRUDFS, PRODES, PRIDES, PRADI!'3, LlJOn', OBOS, DOES, PPADSCI, XPREDES, CALCO : &trinq; a : atrinq(16); ao : float;

BBGIH (Roofdproqrlllllll)

ulign(x,'calsys.cfg'); (oproepen+ inlezen confiquratiefile e.a.) reoet(1); readln(x,CALOO); readln(1); readln(l); readln(I,IPREDES); readln(1); readln(1); read.ln(x,OBOS}; read.ln(x,EXEP): readln(I,DES); readln(I,PADSCI); readln(I,DATAP); readln(I,DYSTAT); readln(I,PBEDES); readln(I,PRUDES); readl n (I, PRODES) ; readln(I,PRIDES); readln(I,PRAOES); readln(I,LOO!T); close(l);

DATA: •DATAP+DYSTAT; uoiqn(zz,DATA); reaet(zz); readln(zz,dynstatl); close(n);

lf dynstatl>l then beqin dynstat:•l50; (dynamische situatie)

end elae bocJin

dynstat:•l49 (statische situatie) end;

KiddenCursor; atartachem: On •Readley J lf (Ch•llll) or (Ch•l81) then Begin Jfol'llllCuraor; El!t;

end elae

DATA: •OATAP+PRODES; uliqn(q,OATA); reaet(g); readln(g,a); readln(q,PO); readln(q,Pe); readln(q,TO); readln(q,Hv); readln(g,Hw); readln(g,Fl); readln(q,ciF); readln(q,HD); reodln(g,VX); readln(q,V}'J; readln(g,OO); readln(g,d); readln(q,Ol); readln(g,02); readln(q,wd); readln(q,Hl); readln(q,H2); readln(q,hdO); readln(q,R); readln(q,IIU); readln(q,k); close(g);

DATA: •DA.1'AF+ PRADES; usiqn(v,OATA); reset(v); readln(v,Al); readln(v,A2); readln(v,Al); readln(v,Ll); readln(v,L2); readln(v,LJ); readln(v,fil); readln(v,f!2); readln!v,f!J); rudln{v,th); readln(v,rO); close(v);

DA.TA:•DA'l'AF•LUOrr; uoiqn(I,OATA); reset (1); readln(l,Rl); readln(I,IIU!); readln(l,kl); close(!);

introschena;

REPEAT

Ch:•Readlley; Jf (Ch•llOC) or (Ch•IO) then Ch:•l72; ('h'-toets wordt 'H'·toets)

IF (Ch•l49) or (Ch•l50) or (Ch•l51) or (Ch•l52) or (0\•153) then BEGIN if (Ch•l49) then (laqertype 1 gekozen) beqin &:•149;01 :•148;02:•148;wd: •148;H1 :•148;Hl: •148;hd0:•118: eeratekeuzeschena;

end;

!f (Ch•l50) then (laqertype 2) bocJin a: •150;02: •148 ;wd: •148; H2: •148; hdO: •148; eentekeuzeschena;

if (Ch•l51 l then (laqertype 3) beqin a:•l51 ;hd0:•148;wd:•l48; eerstekeuzeschena;

end;

!f (Ch•l52) then (laqertype C) beqin a: •152 ;Dl: •148;02: •148;81 : •148;H2: •148; eers tekeuzeschem;

end;

if (Ch•I5J) then (laqertype 5) beqin a:•ISJ ;01 :•148;02:•148;wd:•I48;H1 :•148;H2: •148;hd0: •148; eerstekeuzeschem;

end;

END ELSE

Begin TextColor(15); if Ch•l72 then beqin

hulp; end;

if (Ch•l27) or (Ch•l81) or (Ch•ll 13) then beqin

HiddenCursor; vindow(20, 10,50, 15); TeltBackGround ( 4); wr!teln ( • --------------------------L ') vr!teln('l Wilt U het proqraJIIII& I') writeln( 't verlaten 7 <Y/N> t ') wri teln(' -------------------------- ') OI: •Readkey; If (Ch•l121) or (Ch•l89) then beqin HormalCursor; window(l, 1 ,80,25); TeltBackGround(O); TeltColor(15); ClrScr; Exit;

end el se beqin

introscherm end;

end el se

beqin HiddenCUrsor; vindow(20,10,50, 15); Wr!teln( • --------------------------L ') writeln('t Error : t') writeln('t Druk H,1,2,),4 of~ in t') wr!teln( • -------------------------- •)

end;

End;

Unt!l (Ch•l49) or (Ch•l50) or (Ch•l51) or (Ch•l52) or (Ch•l53)

(Bovenstaande la errorlfool proofl niet meer veranderen van structuur dus)

REPEAT

Ch: •Readlley; Norma !Cursor; Jf (Ch•l104) or (Ch•IO) then Ch:•l72;

lf (Ch•l49) or (Ch•l50) or (Ch•l51) or (Ch•l52) or (Ch•l53) or (Ch•l5l) then

BEGIN Window(20, 1 0,60, 15); TextBackGround(ll); ClrScr;

if (Ch•l49) then beqin eers tinvoerscherm; eersteinvoerschem;

end;

if (Ch•l50) and (a•l49) then beqin eerst invoerscherm; tveedeinvoerachemeen;

end;

if (Ch•l50) and (a•l50) then bocJin eerst invoerscherm; tweedeinvoerschermt vee;

end;

if (Ch•f50) and (&•151) then beqin eerst invoerscherm; t weedeinvoerschemdr ie;

end;

if (Ch•l50) and (a•l52) then beqin

eentinvoerscherm; tweedeinvoerschermvier;

end;

if (Ch•l50) and (a•l53) then beqin eerst invoerscherm; tveedej nvoerschemvij f;

end;

if (Ch•f51) then beqin eerstinvoerscherm; derdeinvoerscherm;

end;

if (Ch•l52) then begin eerst invoerscherm;

Page 51: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: PREDES.PAS last modilied: 22..01-1993 14:04:52 page: 2 vierdel....,.,,..,chem;

e~~d;

eeratekeu•eschem;

OK:o&tr:meal (PO,P01l; {Qizetten •str!ng·'qetallen naar un!fnme 90tallen) Ol:.Str2Real(Pe,Pe1) 1 OK:.Str:IR.Hl (70,~1); OK:.Str:IR.Hl (IIW,IIw1); OK:•Str:IR.Hl (llw,llw1); Olt:•Str:IR.Hl (F1,F11); OK:•Str:IRMl(d7,ciF1); OK:•Str:IR.Hl(I!D,HD1l; OI:•Str:IR.Hl(Vlt,Vlt1); OK:o&tr:IR.Hl(Vy,Vy1); OK:•Str:IR.Hl (00,001); OK:•Str:IR.Hl (d,ddl) I Ol:o&tr:IR.Hl(D1,D11); Ol:.Str:IR.Hl(D2,D21); Ol:•Str:IR.Hl(81,811); Ol:.Str:IR.Hl (82,821 J I OK:•Str:IRMl(bdO,hd01l; OI:•Str:IR.Hl{vd,vd1) 1 OI:.Str2Real (l!,R1) 1 Ol:o&tr:IR.Hl(.,,.,l); Ol:•Str:IR.Hl{k,k1) 1 Ol:•Str:IR.Hl (A1,A11); OK:-Btr:IR.Hl(Al,Al1) l Ol:•Str:IR.Hl(Al,Al1); Ol:.Str:IR.Hl(L1,L11) I Ol:•Str:IR.Hl(L2,L21 J; Ol:.Str:IR.Hl (LJ,L31); 01:-Btr:IR.Hl (f! 1, fi 11 J 1 OK:.Str:IR.Hl(fi2, f!21); OII-Btr2Real (fU,f!31 l; Ol:•Str:IR.Hl(th,th1); Ol:oStr:med(rO,r11); OI: •Str:IRMl(a,aO) l

Windov(2,4,S1,24) I {l!rtot·!De$8&9f1S) '1eitBackGround ( 4) ; '1eJ:tColor(1S); H!ddeno.rsor; wr! teln( • •• ····································-·-····-· L 'l Wr!teln('l Druk OP een toets I') wr!teln('l I'J lf P01<Pe1 then be<)'!n vr!teln('l warn!nq: toev<>erdtuk leger dan ""'9"VInqsdruk I'); writeln(" _____ .................................. .,..,..,. ______ ·--------------- , } ;

0\:•Jle.adltey; end;

If ~1<0 then begin vr!teln('l warn!ng : ...,....!nqste~~~peratuur ander ~olute t'l: wr!teln('l nulpunt t•); vr!teln(' ••••••••••••••••••••••••••••••••••••••••••••••• '); Ch:•lleadltey;

end; lf (1M<0) or (llwl<O) or (llw1>•0.0001) or (Rw1>•0.0001) then

be<Jio vrlteln('l worninq : vork!nq gap he!9ht te 9root of •e<J•·I'J; vrlteln('l tief I'); vriteln{" .......................................................................... .., ______ .. __ ');

Ch:•lleadley; end; lf (llw1>11w1l then begin vrlteln( 'I Wllrnlnq : vorklog gap he!ght•tanqe be<)'!nt met t'll vr!teln('t een 90t1l groter dan de eindwaarde I') I wri teln (' .... ~ ................ _ ............................... ." ........ ------------.... ');

Ch: •RHdley I end; lf P11 <0 then

be<)'in vr!teln( '* Marn!nq : negatieve startfrequentie I'); vriteln(' ••••••••••••••••••••••••••••••••••••••••••••••• '); Ol:•llead.Key;

end; lf ciF1•0 then be<Jin vr!teln('lllatn!nq: neqat!eve frequentie stapqrootte I'); wrlteln (' ••••••••••••••••• ••• •••• ••• •• ••••• •••••• • • • •• • • 'l; Ch: •IIHdJ.ey I

end; lf (I!D1<0) Of (I!D1>0.001) then be<j'in vr!teln('l Muninq : '"'PIItudé of dynaAic qap te qroot I') wrlteln('t of negatief I') wrlteln(' ····--· ••••••••••••• ••••• •• ............. • ••• ••• ') Ch:•RH<l!ey;

end; lf (dd1•0) or (D01•0) then be<J!n writeln('l llarn!nq: d!.,..ter(s) nul l'll wr!teln(' ········-----·----------·················-····· '); 0\: •RNdley :end; lf (dd1<0) or (001<0) or (Dll<O) or (D21<0) tnen be<Jin vrlteln('l warn!nq : d!...,ter(s) negatief I'); wtiteln( ~ -----------------· ....................... " .... ~ • ---- .. - • .......... "' ') t Ch:•Readley;end; If (dd1>001 l then begin vrltelnl'l llarn!nq : d!...,ter d groter dan o I'); vr!teln(' ····························---············--.. '); Ch:•RNdley;end; lf (a•ISO) or (a•l51) then be<j'!n lf (D11>001) Of (DI1<dd1) then be<j'!n vriteln('t llarn!nq : di...,ter Dl groter danDof kleiner l'); vrlteln('l dan d I'); v:riteln{ # ........................ ". ................................... - -- --------- ... ,.,",._ •);

Ch:•RHdley1end1 I f (1111 < •0) then beg! n wrlteln('l lfl.rn!nq : hooqte Hl kleiner of 90lljk aan nul I'); vriteln( • ••••••• ••••••••• •••••••• •••• ···------- •• • • •• • • • •) I Ch: •Read.ley ;end;énd; lf a•fSl then begin H (D21 >1l11) or (D21>1l01) then be<)'!n vtlteln('l llarn!nq ; dl.,..ter D2 groter danDof Dl t'); writeln(' ····································-----·····- '); Ch: •Re.adXéy :end: lf !D21<dd1) then be<)'in vr!teln('l Marn!nq : d!.,..ter D2 kleiner dan d I'); wr!teln(' ····························-··············--·· 'l; Ou•llead!ey;end; Jf (H21 <•0) then be<Jin wrlteln('lllarn!nq: hooqte H2 kleiner of 90lljk aan nul t'J; writeln(' ······--······· • ••• •• • • • • • • ---- ···---- ••••••••• ·); Ch: •Re.edJ.eyJend;end; If a•fS2 then begin If (hd01 <0) then be<)'ln wrlteln('l Warn!nq: bd negatief t•); wri teln(' " ............ -- .... ---" .......... - -------- -ff ................ -~ ............. #);

Ch:•Read~eylen<l;

If (wd1 <0) then be<j'ln writeln( 'I Warnlnq : wd neqatief I') 1 vriteln(' __ .. _ _. .... _,.,._,. ________ * __________ _,.., .............. ________ .t);

Ch:•Readhyïend~ lf (wd1 <dd1) then be<)'in vriteln('l Wllrninq : wd kleiner dan d I'); vri teln (' ......... _,. .. ..-..-.............................................................................. '):

Ch: •Re~uBey;end;end; lf R1 <0 then be<Jin vriteln('l Warninq : 9UCOilStante negatief I') 1 vri teln (' ...................................................................................... ,.. .......... " '):

Cb:•R.NdJ'ey;end; If lll.l1 < 0 then be<j'!n vriteln('l 11arnin9 : viscositeit negatief I'); wr1 teln(' .................................................................................................. _ ') t <2l:•Readley;end; lf k1 <0 then be<)'ln vr!teln('l Warn!nq: heat ratio negat!of I'); vriteln(' ·······························--·····--······· ')I Cb:.•R.ea~ey:end; If (A11<0) or (A21<0) or (Al1<0) then be<j'in vriteln('l warninq : ~litude(s) neqat!ef 1'1; vri tel a(' ...................... --·---- ... - ........................................................ '); Cb:•ReadXey;end; If (r11<·1) ar (r11>1) tben be<Jin vriteln( 'I Warninq : Door een kantelverltcudinq 9roter I') vritelnl'* dan 1 of kleiner dan ·1 boort het I') vr!telnl'l lager zich in het oppervlak I') vri teln (' ••••••••••••••••••••••••••••••••••••••••••••••• •) Ch:•ReadJ.ey1end1

M!ndov(1.1 ,80,2S); 'l'extBackGround(11); T<oxtCOlor(3); ClrScr; eerstekeuzescherm;

EIID

ELS!

be<)'!n T<oxtCOlorl15l; !f 0!•172 then begin

hulp; end;

!f (Ch•f2'l or CCh•l81 l or 10!•1113) !hen be<j'ln H!ddenCutliOr; w!ndov(20, 10,50, 15); 'l'extBackGround(4); vr!teln(' ••• ••••••• ••• •••••• ••• • • ··l 'l wr!teln('l Wilt U het pr09r...". I') vr!teln{'l verlaten ? <Y/K> I') vr!leln ( • • ••••• •••••••••••••••••••• •) Ch:•Readkey; If (Ch•l121) ar (Ch•f89J then be<j'in Homalcursor; w!ndov(l, 1,80,25); 'l"extBackGround(OJ; 'l"extCOlor(1Sl; ClrScr; l!x!t;

end else

be<J!n eerstekeu:z.eschena

end; end

el se be<j'in H iddenCUraor: wlndovl20, 10,50, lS); wr!teln(' ··········--··············L') writeln{'t Error ; t') vriteln(•t Druk H,1,2,l,4 4 S of 6 in t•) wr!teln(' .......................... ')

end; end;

UM'l!L (Ch•IS)) Of (Ch•f54) ;

DATA:•DATAI'ti'R!DES; (opslaq Ingevoerde _..,) uo!qn (f,DATA); rewr!te(f) 1 vriteln(f, 'type of hearin9•',a); vr!teln(f, • '); vriteln(f, 'supply pres P0• 1 ,PO); wdteln(f,'envirorvnent. pres Pe• .. ,Pe}; vriteln((,"roora temp T0•',10}; wr!teln(f, '""rk!nq gap heiqhl 1!11•' ,!Iw); wr1teln(f 1 "WorkirNJ qap--ra"9f! end HW•' ,HW); writeln(ft 'start frequency F1•' ,F1) i vr!teln!f,•frequencystep dfo' ,dl'); writeln(f,'amplit. dynamic 9ap HD•',HD); writeln(ft'bearlncJ fiiOtion velocity Vx•',Vx): w:riteln(f,'bearinCJ fiiOtion velocity Vy•',Vy): writeln(f.' '}: vr:Heln(f, #paddia.m.D•' .,00); vriteln(f, 'Restrictor dia. d•' ,O); vr!teln(f, 'le char.d!M lll•' ,Dl); writeln(f, '2e char .dl.., 1l2•' ,D2); wrilelnlf, •qroef breedte wd•' ,wd); vr!teln(f,•1e char.qap diff Hl•',Hl); vriteln(f,'2e cbar.qap diff H2•',H2); vti teln (f, 'qroefhooqte hd•' ,hdO); writeln(f;" 'h vriteln(f; '9ASCOnstant R•' ,ll); vriteln(ft 'viscosity •' ,mu); vriteln(f, 'heat ratio k•' ,k) r

close(!);

DATA: •DATAF+PRIDES; a.ssign (z,DATA}; rewrite(t}; writeln(z, 'Anrplitude A1• '~A1); vriteln(z, ·~lllude A2•' ,Al); vriteln{zj "Aalplilude Al•' ,Al); vriteln (t,'Golflengte L1•' ,Lt); writeln(z, 'Golflengte L2•~ fL2); vriteln (2, 'Golflenqte L)•~ ,L3); vritttln(2t'lnitiele fa:se•k,fi1) vriteln(z, 'ln!t!ele fase•' ,f!2l writeln(z,'lnitiele fase••,fil) writeln{z, "lantelhoek.•', th); writeln(z~ 'tilt ratio•', rl)); close(z);

Page 52: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

assiqn (g,DATA); rewr!te(g); wr!teln(g,a); wr!teln(g,PO); wr!teln(q,Pe); wr!teln(g,TO); wr!teln(g,IIW); wr!teln(q,Hww); wr!teln(g,Pl); wr!teln(g,dP); wr!teln(g,IID); wr!teln(q,VX); wr!teln(g,Vy); wr!teln(q,DO); wr!teln(q,à); wr!teln(q,Dll; wr!teln(q,D2); wr!teln(g,wà); wr!leln(g,Rl); wr!leln(g,H2); wr!teln(g,hàO); wrileln(q,R); wr!teln(q,lal); wr!leln(g,k);

close(g);

DA'PA: •DATAPt PRUDBS; us!qn (w,DATA); rewr!te(w); wr!teln (w,aO); writeln(w,POl); wr!teln(w,Pel); wr!teln(w,TOl); wr!teln(w,Hwl); wr!teln(w,Rwl); wr!teln(w,Pll); wr!teln(w,c!Pl); wr!teln(w,I!Dl); wr!teln(w,VXl); wr!teln(w,Vyl); wr!teln(w,DOl); wr!teln(w,ddl); wr!teln(w,Dl 1); wr!teln(w,D21); wr!teln(w,wàl); wr!teln(w,Hll); wr!teln(w,H21); wr!teln(w,bdOl); wr!teln(w,Rl); wr!teln (w ,IIUl); wr!teln(w,kl); wr!teln(w,All); wr!teln(w,A21); wr!teln(w,All); wr!teln(w,Lll); wr!teln(w,L21); wr!teln(w,Lll); wr!teln(w,f! 11); wr!teln(w,f!21); wr!teln(w,flll); wr!teln(w,thl); writeln(w,r11); clnse(w);

DA'J'A:•DEP•PRUDES; ua!qn (w,DATA); rewr!le(wl; wr!teln(w,aO); wr!teln(w,POl); wr!teln(w,Pel); wr!teln(w,TOl); writeln(w,Hvl); wr!teln(w,Hwwl); wr!teln(w,Pll); writeln(w,dPl); wr!teln(w,I!Dl); wr!leln(w,VXl); wr!teln (w, Vyl ) J wr!teln(w,DOl); wr!teln(w,ddl); wr!teln(w,Dll); wr!teln(w,D21); wr!leln(w,wàl); wr!leln(w,Hll); wr!teln(w,H21); wr!teln(w,hd01); writeln(w,Rl); writeln(w,r.Jl); writeln(w,k.l); wr!teln(W,All); wr!teln(w,A21); wr!teln(w,All); writeln(w,Lll): wr!teln(w, L21); writeln(w,Lll); wr!teln(w,f!ll); wr!teln(w,f!21); wr!leln (w, f!ll); writeln(w,thl); writeln(w,rll); close(w);

DATA:•lPREDES•PRUDES; ua!qn (ww,DATA); rewr!le(ww); writeln(ww,aO); wr!teln(ww,POl); writeln(ww,Pel}; writeln(ww,1'01); writeln(ww,Hw1); wr!leln(ww,Rwl); writeln(ww,F11); wr!teln(ww,dPl); writeln(ww,HDl); wri teln (ww, Vxl); writeln(ww,Vyl); wri teln (ww ,DOl); writeln(ww,ddl); writeln(ww,Dll); wr!teln(ww,D21); writeln(ww,wdl); writeln(ww,Hll); writeln(ww,H21); writeln(ww,hd01); writeln(ww,Rl); writeln(ww,r.Jl); writeln(ww, kl); wr!leln(ww,All) wr!leln (ww,A21) wr!teln(ww,All)

file: PREDES.PAS last modilied: 22-o1-1993 14:04:52 writeln(ww,L11); vriteln(ww,L21); vriteln(ww,Lll); writeln(ww,fi11); wr!leln(ww,f!21); wr!teln(ww,fill); wr!teln(ww,thl); vriteln(ww,r11); close(ww);

DATA: •CALGO+ PRUDES; ass!qn (-,DATA); rewrile (www); vriteln(vww,aO}; wr!teln (www, POl); wr!teln(www,Pel); wr!teln(www,TOl); vri teln (vww, Hvl ) ; vriteln(vww,Hwl); vriteln(wwww,Fll): wr!teln(www,c!Pl); vriteln(wwww,HDl); vri teln (vww, VIl); wr!teln (www, Vyl); wr!teln (www ,DOl); vriteln(wwww,ddl); wr!teln(www,Dll); wr!teln(www,D21); wr!teln(www,wàl); wr!teln(www,Hll); wr!teln(www,H21); wr!teln(www,bdOl); vriteln(wwww,Rl); vriteln(www,mul); wr!teln(www,kl); vriteln(www,All); writeln(wwww,All); wr!teln(www,A31); wr!teln(www,Lll); vriteln(www,L21); vriteln(vww,Lll); vriteln(www,fi 11); vriteln(wwww,fi21); vriteln(wwww, fill); wr!teln(www,thl); vriteln(wwww,rl 1); close(www);

Hormal CUrsor; lf (Ch•l54) then beq!n

w!ndow(l, 1 ,80, 25); TextBackCround ( 0) ; TextColor(15); ClrScr; Exil

end;

page: 3

lf (Ch•l53) then (optie 'berekening') beq!n window(l, 1 ,80,25); TexlBickCround(O); TextColor(15); ClrScr; w!ndow(20,5, 60, 20); TexlBickCround(l); SWapVeetors; Exec(DBOS,"): {Uitvoeren p.roqranna DBOS) swapVectors; ODES: •EXEP+DES; SWapVeetors; E&ec(DO!'.S, "); SWapVectors; Writeln('!ind.e DES, d..ruk. <toets,'); Ch:•readltey; lf Dynstal•ISO lhen beq!n Swapveetors; PPADSCl: •EXEF+ PADSCI; Exec(PPAOSCI, "); swapveetors; Writeln('Einde PADSCI, d..ruk <toets,'); Ch:•readkey;

end; w!ndow( 1,1 ,80, 25); TextBackCround(O); TexlColor(15); ClrScr;

end;

END •

Page 53: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: SUNIT.PAS last modilied: 22..01-1993 13:48:06 1extColor (15);

page: 1

UNI1 Sunit; (Unit contalnlnq procedures for PREDES}

Interface

USES 011,0Patrlnq,Rulpfunctle,Graflsch;

PO,Pe, 70, Hv ,Bw, Fl ,dP ,BD, ft, Vy ,DO,d,D1 ,D2, Hl ,H2, hdO,vd.,R,IIU,k,Rl ,mul, kl ,s, Al ,A2,Al,L1 ,L2,L3, f1 1, fU, fll, th,rO:strlnq[16}; POl ,Pel ,101 ,Hwl ,Bwl ,F11 ,dP1 ,HD1 ,VX1, Yy1 ,001 ,dd1 ,011,021 ,Rll ,H21 ,hdOl ,vd1, Rl ,1a11 ,k1 ,All ,A21 ,All ,L1 1 ,L21 ,L31 ,fl 11, fl21, fl31, tb1 ,r1 1 ,dynstat1 :float; OI, dfllllt&t : char; ('dYJIIItat• bepaalt of statische of dynamische analyse}

OI :Boolean;

procedure atartscherm; procedure lntroschem; procedure eeratekeuzeachem; procedure eentlnvoenchem; procedure eerateinvoenchem; procedure twedelnvoenchemeen; procedure twedeiDYOerlchemtvee; procedure twedelnvoenchenodrle; procedure twedelnvoenchenwler; procedure twedeiDYOerlche1'111'lljf; procedure derdelnvoerachem; procedure derdeiDYOerlchemeen; procedure derdeiDYOerlchemtvee; procedure vlerdelnvoerochem; procedure vlerdelnvoenchemeen; procedure vlerdelnvoenchemtvee; lqll.,.ntatlon

PROCEDURE atartschem;

BBClil ClrScr; Wlndov(1, 1 ,80,25); 1e•tBackGround(O); 1extColor(15); ClrScr:

Wlndov(23,8,57, 17); 1extB&ckCround(4); Wrlteln(' ·······························L') Wrlteln('$ PREDES wordt nu _.tart I') Wrlteln('$ I') If dynstat•l49 then beojin Writeln( '* Statische Situatle I');

end; If dynsta t•l50 then beojin Writeln('l Dyn&~~lache Situatle I');

end; Wrlteln('l I') Wrlteln('$ <Q> : qult I') Wrlteln('$ <Any ley> : continue $') Wr!teln(' ••••••••••••••••••••••••••••••• ')

END; (Procedure atartachem}

PROCEDUR! introschem;

BBC IN

Wlndov(1, 1 ,80,25); 11KtB&ckCround(1 1); ClrScr;

Wlndov(51,2,80,3); 11•tBackGround(O); 11KtColor(15); Wr!teln('Maak Uw keuze uit lagertype :•);

Wlndov(2,2,13,3); 11xtB&ckGround(0); 11xtColor(15); Wrlteln(' H. Help');

Wlndov(53,5,80,9); 11KtBackGround (7); 11xtColor ( 11); Wr!teln(' ') Wrlteln(• 1. Lagertype 1 ') Wr!teln(' ')

wlndov(53, 9,80,13); 11xtB&ckGround(7); T .. teolor(11); Writeln(' Wrlteln(• 2. Lagertype 2 Wrlteln('

Wlndov(53, 1 3,80, 1 7); 11•tBackGround(7); 11xtColor ( 1 1); Writeln(' Wrlteln(' 3. Lagertype 3 Wrlteln('

Wlndov(53,17 ,80,21); 11KtB&ckGround(7); 11KtColor ( 11); Wr!teln(' Writeln(' 4. Lagertype 4 Wr!teln('

Wlndov(53, 21 ,80,25); 11•tB&ckGround(7); 1extColor(1 1); Writeln{' Wr!teln(' 5. Lagertype 5 Writeln('

END: {Procedure introschem)

PROCEDURE eerstekeuzescherm;

B!ICIN Windov(1, 1 ,80, 2S); 11KtBackCround(1 1): 11xtColor(3); Clrscn

Wlndov(51 ,2,80, 7); TextBackGround(O);

') ') ')

') ') ')

') ') ')

') ') ')

Wrlteln(' Maak Uw keuze

Wlndov(2,2,13,3); 1eXtBackGround(O): 1eXtColor(15); Wrlteln(' H. Help ');

Wlndov(53, 4,80,8); 1eXtBackGround(7); 1extColor(1 1); Writeln(' 1. Invoer operatie- '); Writeln(' parameters '); Wrlteln(' __________ ');

Wlndov(53,8,80, 12); 1extBackGround(7); TextColor(1 1); Writeln(' 2. lnvoer draaqvlak.- '); Wri teln (' parameters ') ; Wrlteln(' ');

W!ndov(53, 12,80, 16); 11•tBackGround(7); TextColor(1 1); Writeln(' 3. Invoer eiqenschappen '); Wrlteln(' van het gas (lucht) '); Writeln(' ');

Wlndov(53, 16,80,20); 1extBackGround(7); 11KtColor(1 1); Wrlteln(' 4. Optionele Invoer : '); Writeln(' secundaire parameters'); Writeln(' ');

Wlndov(53,20,80,23); 11•tB&ckGround(2): 11•tColor(1 1); Wrlteln(' 5. Berekening met (ver· '); Writeln(' anderde) qeqevens ');

Wlndov(53,23,80,25); TextBackGround (2); 1extColor(11);

Wrlteln (' 6. Qult I ga teruq naar '); Writeln(' DOS ');

END; (eerstek.euzescherm)

PROCEDURE eerstinvoerschem;

B!ICIN W!ndco<(51 ,2,80,8); 11xtsackGround(0); T .. teolor(15);

'>:

Writeln(' Voer Uv CJec)evens in ');

Wlndov(51 ,4, 79,25): Te•tB&ckGround(15); 11xtColor(1); Writeln{' Wrlteln(' Writeln(' Wrlteln(' Writeln(' Wri teln (' Wr!teln(' Writeln(' Wrlteln(' Wrlteln(' writeln(' Writeln(' Wrlteln(' Wrlteln(' Writeln(' Writeln(' Writeln(' Wr!teln(' Writeln(' Writeln(' Writeln(' Writeln('

KND; {Procedure eerstinvoerschem)

PROCEDURE eersteinvoerscherm;

B!ICIH

Wlndov(51 ,2,80,8); 11xtB&ckGround(0); 1extColor(15); Writeln(' Voer Uv qeqevens in

Windov(51 ,4, 79,25); TextBackCround(15); 11xtColor(1); Wri teln (''enter> : accept value Writeln('< H • : help funclie Writeln('<any k.ey> : new value Wrlteln (' Wr!teln('Toevoerdruk (Pa} : Wrlte( 'PO•', PO) l Repeat 01 : • readkey; if 01•1104 then 01: •172: if OI< ,172 then begin if 01•113 then beojin

De)Line; GotoXY(1,6); Write)n("PO•' ,PO);

end el se

beojin DelLine; GoloXY(1,6); Wr!te( 'PO•') l Repeat ReedLn(PO); OK:•Str2Real (PO, P01); lf nol OK then beojin

'); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); '); ');

');

')

') ') ') ')

Page 54: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: SUNIT.PAS last mOdified : 22-GH993 13:48:06 page: 2 De!Line; GoloXY(l ,6) I llrile('PO• Error: Voer getal in:•):

end; Uillil OK; GotoXY (1 ,6); De!Line; llritelnl'~·· .~l;

end; end

elee beqin

bulpinvoer; GoloXY(l ,6) I DelLIM; Write('PO•' ,PO);

end; Uiltil Ch<>l72;

rgeaet) (nu wlgen zelfde soort lnvoerprocedes, alleen CC!IIpacter nee

V)~

llrileln('tmgevinp<lruk [Pa) : 'll llrite{'Pe•' ,Pe); Ilopelt Ch :•readley;if Ch•l104 then Ch:•l72; lf 0.<>172 tben beqlo lf Ch•l1l tben beqin DelL!ne;GotoXY!l ,8) ;llriteln{ 'Pe•' ,Pe) ;end elae

beqln DelLiee;GoloXY(1 ,8) :Write( 'Pe•'l ;llépelt ReadLniPel; OK:•6tr2aeal(Pe,Pe1l; if nol OK then be<J!n DelL!ne; GotoXYO ,8) 1 llrlte('Peo BI' !'OI' I Voer getal in:•) ;end; Unlll OK;GotoXY(l ,8) ;DelL!ne; llriteln('Peo' ,PeJ;end;end else

lle9in bulplnvoer;GotoXY(1,8);DelLine;llri te('Pe•' ,Pel; end; Uotil Ch<>l72;

Wrileln('....,rt-atuur [IJ : •): llrlte(''I'O•','I'Ol; Ilopeil OI :•readley;!f 01•1104 then 01:•172; 1f 01<>172 tben be<Jin 1f 01•113 tben beqin DelL!ne;GotoXY(1,10) ;llrileln( ''1'0•' ,'1'0) ;end else

beqln DelLine;GoloXY(l, 10) ;wrile( ''1'0•') ;Repeal l!Nd!.n('I'O); Ol:•Str2aeal('I'O,'I'01); if nol OI then be<J!n De!Llne; GotoXY(1 ,10); llrite(''I'O• Error: Voer getal In:') ;end; Until OK; GotoXY(1,10l ;DelL!ne;llriteln(''I'O•' ,'1'0) ;end;end else

lle«Jln hulphwoer;GotoXY(l, 10) ;DelLine;llrite("l'O•', TOl; end; Untll 01<>172;

lf dynstat•l49 then be<Jin F1:•148; dF:•I48; HD:•I48; llriteln('llnrklng 'I"P hei<Jht-ronge '):

Vdteln('[a}; Hv-[',Hw,' .. '); llrite(' ',HW,')');llépelt OI :•readkey;lf Ch•l104 then 01:•172; 1f Ch<>l72 then be<Jln lf 01•113 then beq!n DelLine;GotoXY!1,12);Writeln('(m): Hv•(',Hv,'- •J; Writeln(' ',Hwv.'l'):end else

begin DelL1ne;GotoXY(1,12);De!Llne;Wrlte('(ll] : Hvo(');llépelt ReadLn(Hw); Ol:•Str2aeal(Hw,Hwll; 1f notOKthen begin De!Line; GotoXY(l,U); llrlte('(ll): Hv-! Error: Voer <Jetol ln:');end; Untll OK;GotoXY(1,12); De!Line;llriteln('(rt] : Hv-(',Hw,' • ');llrite(' ');llépelt Read!.n(Hw

OK:•Str2aeal(HW,IIW1); 1f not OK then beq!n DeiL!ne;GotoXY(l, 13); Wr1te("lrror! Voer getal in:*);Dd; Until 0,_; GotoXY(l, 1)) ;DeiLine; Writeln(' ',ttw,')");end;enO else

lle«Jin hulpinvoer:GotOXY(1,12l ;DelLlne; Wdteln('(Jt]: Hv•(",HW,' .. "); Wr1te(" ',ttw, "l ');

end; Unt!l 01<>172; llrlteln('Beorlng 110ti0<1 wloclty ');

Write('(ll/al : Y'l•' ,Y'l); Repeat OI :•readl.ey;!f 01•1104 then 01:•172; 1f Ch<>l72 then begin 1f Ch•lll then beq!n DeiLine;GotoXY(l,lS);Wrlteln!'lm/sl: Vx•',Vx); end elae

beqin DelLlne;GotoXY(l, 15) ;llrlte(' (11/a) : Vx•') ;llépelt aeadLn(Y'l); Ol:aStr2Real(Vx, Y'l1); lf not Olt then beqln DelL!ne; GotoXY(1,15); write('(ll/1) : Yz• Brror: voer getal!n:');end; Untll OK; GotoXY(1,15) ;DelL!ne;Writeln('lll/s) : Vx•' ,Vx);

end;end else lle«Jln hulplnvoer;GotoXY(1,1Sl;DelLine;Wrlte(•[m/s) : Vx•',Vx); end; Uiltil 0.<>172;

llrlteln( 'Belring 110Uon wlocity •J; llrlte('(ll/sl : Vy•',Yy); Repeat OI :•rndl.ey;lf 01•1104 then Ch:•l72; if Ch<>l72 then be<Jin lf 01•111 then be<Jln DelL!ne;GotoXY(l, 17) ;Wrlteln(• [m/s) : Vy••, Yy); end eloe

begin DelLine;GotOXY(1,17J;Wrlte(•[m/•l: Yy••);Repeat ReadLn(YyJ; Ol:aStr2lte<~l!Yy,Vyl); if notOKthen be<Jln DeiLine; GotOXY(1,17); llrite(•[ll/sl : Yy• Error: Voer <Jetalln:•);end; Unt!l OX; GotOXYI1,17) ;DeiLine;Wrl teln(' (11/sl : Vy••, Vy);

end;end el•e lle«Jln hulplnvoer;GotOXY(1,17) ;DelLine;Wrlte(' (m/s) Vy•', Vy); end: Unt!l 01<>172;

end else beqln llrlteln('llork!ng 'I"P hel<Jht (a] : ');

llrlte('Hvo' ,Hw); Ilopelt OI :•r .. dkey;lf 01•1104 then 01:•172; 1f Ch<>l72 then beqln lf 01•113 then be<Jln DelLine;GotoXY(l, 12) ;Writeln( 'Hif'' ,Hv) ;end else

beqln DelL!ne;GotoXY (1 , 12) ;Vrite ( 'Hw• •) ; Repea t Read!.n (Hw) ; OK:aStr2aeal!Hv,Hwl); lf notOkthen be<Jln DelL!ne; GotoXYI1,12); llrite('Hvo Error> Voer getal ln:')lend; UnUl OK; GotoXY(1 1 12) ;DelLineJWri teln('Hw•' ;HW);

ttw: •Hv;end;end elae lle«J!n hulplnvoer;GotOXY(1,12) ;DeiLine;llrlte( 'Hvo' ,Hw); end; unu1 01<>172;

Writeln( 'Start frequentie [Hz) : 'l: Wrlte('fl•' ,F1): Repeat OI :•te<~dl.ey; 1f 01•1104 then 01:•172; 1f 01<>172 tben beqln lf 01•113 then beqln DelLine;GotOXY(l,H);Wrlteln{'Fl•',Fl);end eloe

be<Jin DeiLlne;GotoXYI1,14) ;llrlte(•Fl• ') ;Repeat Read!.n(Fl l; OI:•Str2Real(Fl,P11); lf not OK then be<Jln DelL!ne; GotoXY(1,14); llrite('Yl• Error: Voer <jelal ln:');end; Untll OI; GotoXY(1, U) ;DelLine;VrHeln( 'F1•' ,F1) :end~end el se

lle«Jin hulplnvoer;GotoXY(l,ll) ;DelLine;Wrlte('fl•', Pl); emb Until 0\<>172;

wrltelo('Frequentiestapqrootte (H•l : 'l: llrlte('dF•' ,dFl; Ilopelt OI :•re<~dl.ey;lf 01•1104 lhen 01:•172; 1f Chof72 then beqln lf Ol•fll then be<Jin DelL!ne;GotoXY(1,16) ;wrlteln( 'dF•' ,dF) ;end el se

be<Jin DeiL!ne;GotoXY(1,16) ;llrlte( •dF•' l ;llépelt ReadLn(dF); OI:•Str2aeal(dF,dF1); if not OI then be<Jin DelL!ne; GotoXY(1,16); Write('dF• &rror: Voer getal in:'};end: until ~; GotoXY(l, U ine;Writeln('dP•" ,dPl ;end;end elae

lle«Jln r;GotoXY(1,16) ;DelLine;llrlte( 'dF•' ,dF); end; ) Cho 172;

llrlteln('AIIplitude of dynamic 'I"P ')I llr!te{'[m) : HDo' ,liD); Repeat Ch :•readkey;if 01•1104 then Ch:•l72: 1f 01<>172 then begin lf Ol•lll then beqln De!Llne;GotoXY(1,18l ;Writeln{' (m) : liD•' ,fll)); end else

begin DelLine;GotoXY(1, 18l :wrlte( • (mJ : fll)•'l ;Repeat ReadLn(HD); OK:•Str2Rea}(HD,HD1) 1 if net 0~ then becjin De!Line; GotoXYI1,18); Mrite('(ra) : HD• Error: Voer getal in:')iéndi Until OX; GotoXY(1,18);DeiLlne;Writeln('(m): HD•',HD); end;end else

BecJin hulpinvoer;CotOXY(1,18);DelL!ne;llrite('(ml: HD•',HDJ; end; Unt!l 01<>172;

VrHeln('Bearinq fi!Otion velocity '); llrlte(•[!l/s) : Yx•',Vx); Repeat OI :•r .. dkey;!f Ch•l104 then Ch:•ln; lf 01<>172 then begin

1f Ch•l13 then beqin DelL!ne;GotoXY(1,20);11rileln('[m/sJ : VX•',Vx); end else

becjin DelLine;GotoXY(1,20);Write(•(m/s) : Vx•'l!Repeat llead!.n(Vx); OK:•Str2Reai(VX,Vx1)1 !f notOKthen begin DelL!ne; GotoXY(1,20); llrite('[m/s) : VX• &rror: Voer getalin:•);end; unt!l OK; GotoXY(1,20J;DelLine;llriteln('(ll/s]: Vx•',Vx);

end;end else BecJ!n bulpin..,.r;GotOXY(1 ,20) ;De!Line;llrite( '(m/s) : Yz•' ,VX); end; Until Ch< >112;

llriteln('Belring motion velocity '); Wrlte(•(ll/a) : Vy••,Vy); Repeat Ch :•rudl.ey;lf Ch•l104 then Ch:•l72; 1f 01<>172 then begin lf Ch•l13 then becjln DelL!ne;GoloXY(1,22);11riteln('[m/sJ : Yy•',Vf)l end else

be<Jin DelLine;GotoXY(1,22);11r!te('(a/s] : Vy•');Repeat ReadLn(Vy); Ol:•Str2l!eal(Vy,Yyl); if notOKthen beqln DelLlne; GotoXY(1,21); Wrlte('(ll/s] : Yy• Error: Voer getalin:•);end: Untll OK; GotoXY(l ,22) ;DelL!ne;Wrlte!n( • [m/sl : Vy•' ,Vy);

end;end elae BecJln hulplnvoer;GotoXY(1,22) ;De!Llne;llrite( • [m/sl : Yy•' ,Yyl; end; Until Ch<>l72; end;

Textl!ackCr®nd(11); TextColor!Jl; (cursor onzichtbaar) ClrScr;

lllm; (Procedure eersteinvoerachem)

Pl!OOlDU1Ul t-lnvoerschel110e!ll

BEGIN ll!ndow(51,2,80,8); TextllackGround(O); TextColor(lS); Writeln(' Voer uw gegevens in

llindow!51,4, 79,25); TextBackGround(15); TextColor(l);

');

Writeln('<enter> : accept value '); llrite!n(' < H • : help functie '); Writeln('<any key> : """ value '); Writeln{' '); Writeln('Pad diameter (10] : '): Write('D•',OO); Repeat Ch :•readkey;lf Ch•l104 then Ch:•l72; if Chol72 then be<Jin lf 01•11) then be<Jin De!Line;GotOXY(l ,6) ;Wrlteln ( 'D•' ,00) ;end else beqln De!Llne;GotoXY (1 ,6) ;Wr!te ( 'D• ') ;Repeat ReadLn (DO); OK:•Str2Real(D0,001); 1f nolOKthen becjln De!Line; GotoXY(1,6); Write('D• Error: Voer qetal 1n:');end; Until 01.; GotoXY(l ,6) ;DelLllle;lfrit•ln { 'D• •, 00): end;end else lle«Jin hulplnvoer;GotoXY(1,6) ;DelLine;Wrlte( •D•' ,00); end; Until 01<>172;

Wrlteln('Restrlctor dl...,ler (m] : '); Wrlte('d•' ,d); Repeat Ch :•readl.ey;lf 01•1101 then 01:•172; lf Ch<>l72 then begin lf Ch•lll then begin DelLlne;GotoXY(1,8) ;Wrlteln ( •d•' ,d) ;end else

begin DelLlne;GotoXY(1,8) ;Wrlte( 'd•') ;Bapeat ReadLn(d); OK:•Str2aeal (d,ddll; if nol OK then begin De!Llne; GotoXY(1,8); llrUe('d• Error: Voer getal In: 'l ;end; Until OK; GotoXY!1,8) ;De!Line;llri teln('d•' ,dJ:

end;end else BecJin hulpinvoer;GotoXY!1,8) ;DelL!ne;llrite( 'd•' ,d); end; Untll 01<>172;

TextBackGround(11); TextColor ( 3) ; (cursor onzichtbaar l ClrScr;

lllm; (Procedure t-lnvoerschemeen)

DEC!H Wlndow(51,2,80,8); Textllackcround!O); TextColor (15): tiJdteln(# Voer uw CJe9evens in

lllndow(S1,4, 79,25); 'h!xtBackCround(lS); 'l'extColor(l):

');

Vriteln('<enten : accept value ~}; Writeln('< H • : help functie '); Writeln(' .:any ley) : nev value '); Writeln( t ');

Wrlteln('~d dl...,ter (m) : 'l: llrlte('D•',OO); llépelt OI :•readkey;lf 01•1104 then 01:•172; 1f Chol72 then becjin

lf 01•113 then begin DelL!ne;GotoXY(1,6);Writeln('D•',D0l;end else be<Jin De!Line;GotoXY(1,6) ;Write( 'D• ') ;Repeat ReadLn(OO); OK:•Str2Real(D0,D01); !f nolOKthen begin DelL!ne; GotoXY(1,6); Write('D• &rror: voer getal in:•);end; Until OK; GotoXY(l ,6) ;DelLine;Wrlteln( 'D•' ,00) ;end;end el se

lle«Jin hulplnvoer;GotoXYI1,6l ;De!Llne;Write( '0•' ,DO): end; Uiltil Chol72;

Wrlteln('Restrlctor dl-ter (1>] : '); Wrlte('d•',d); Repeat OI :•readkey;lf Ch•l104 then 01:•172; lf Ch<>l72 then beqln lf 01•11) then begin DelLine;GotoXY(1,8) ;Wr!teln ( 'd•' ,dl ;end el se

beqin DelL1ne;GotOXY(1,8) ;Write( 'd• ') ;llépelt ReadLn(d); OK:•Str2l!eal(d,ddl); if netOKthen begin DelLine; GotoXY(1,8l; llrlte ( 'd• Error: voer getal in: •) ;end; Unti I OK; GotOXY(1 ,8) ;DelLine;Write:lri('d• ',d> ;end;end el se

lle«Jin hulp!n..,.r;GotoXY(1,8) ;DeiL!ne;Wrlte( 'd•' ,dl; end; Until Ch< >172;

llriteln('le tarakterlotleke di...,ter '); llr!te('(m) : Ol•',Dl); llépelt OI :•readkey;lf 01•1101 then 01:•172; if 01<>172 then begin lf Ol•lll then begin DeiL!ne;GotoXY(1,10);11rlteln('(m) : D1•',01); end "loe

beq!n DelL!ne;GotOXY(1,10) ;Write(•(m) : Dl•') ;Repeat ReadLn(Dl); OI:•Str2Real(l)1 ,011); 1f oot OK then begin DeiLine; GotoXY(1,10); Mrite{'(tll) : 01• Error: Voer getal in:') ;end; Until OJt~ GotoXY(l, 10) ;DelLine;l!riteln(' (m) : Dl•' ,Dl) ;end;end else

lle«Jin hulpinvoer;GotoXY(1,10);DelL!ne;Write('(1l]: 01•',01); end; Until Ch< >112:

llr!teln('lste urakt. gap difference '); Vdte('(m) : H1•' ,H1); Repeat Ch :•readk.ey;if Oi•l104 then Ch:•l72; lf 01<>172 then begin lf Ol•lll then he<Jln DelLine;CotoXY(1,12) ;llrlteln ( • [n) : Hl•' ,Hl): end else

begin DelLlne;GotoXY(1,12);11rlte('{m): Hl•');Repeat ReadLn(Hl); OK:•Str2Real\Hl,H11); if nolOKthen becj!n DelLine: GotoXY(1,12); Vrite['(m) : Hl• Error: voer qetal in;');end; Until OK; CotoXY{1.l2);DelLine;wrHeln('(1'11): Hl•~,Hl);end;end ebe

Beqin hulpinvoer;CotoXY0,12) ;Dell..ine~'ffrHe(" [m) : Hl•' ,Hl); endj Until O\oJ12}

Te•tBac<CrO\lnd(ll); Te•tColor!3l: {cursor ondchtbaar) ClrSCr;

Page 55: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file : SUNIT.PAS last modilied : 22-G1-1993 13:48:06 page: 3 EliD; {Procedure tweede!nvoenchermt""")

PBOCI!DURB tweedelnvoencllel"lldrit>;

Bl!GIH llndow(51 ,2,80,8); Te•tBackGround(O); TextColor{15); lfrlteln(' Voer Uw_.."... in: ');

Window(Sl,., 79,25); 'l'ut.JI&ckGround ( 1 5) ; 'l'utColor (1) ; llrlteln('<enter> : accept value '); llrlteln('< 8 • : help functie '); Wrltelo{ • <any l<ey• : new v•lue •); Wrlteln(• '); Writoln(''-d dl...,ter [11) : '); llrlte('D•' ,DO): llepHt Cb :•ra.d).ey;H Cb•l104 then Ch:•l72;

I f Cb<> 172 then be<Jln if 0•113 lhen be<jln DelL!ne;GolQXY(1,6);Wrlteln('D•',D0);end else

be<Jln DelL!no;GotoXY(1,6) ;llrlte('D•') ;Repeat RudLn(DO); OI:•BlrU..l(DO,DOl); lf nol Ol lhen be<Jin DelLlne; GotoXY(l ,6) 1. llrite('Do Error: Voer <JI!t.ll In:') ;end; Uotll Ol; GotoXY(I,6) ;DelL!ne;llrltelo( 'D• • ,DO) ;ead;end else

DecJin bulpinwer;GoloXY(l ,6) ;DelLine;llrlte('D•' ,DO); el>d; Unlil 0<>17~;

llrltelo('lleolrictor di...,ter (11) : '); llrile('d•',d); llepHt Cb :•ra.d).ey;if Ch•l104 then Cb:•l72; if 0< >172 lhen be9iD if Cb•fll lhen be<jlD De1Line;GotoXY(1,8) ;llriteln('d•' ,d) ;end else

be9in DelLine;GotoXY(1,8) ;llrlte( •d•'l ;RePNt RudLn(d); Ol:•StrU..l(d,ddl); 1f not OI then be<Jln DelLine; GotoXY(1,8); llrlte('d• Error: Voer <JI!lal ln:•);ead; Until Ol; GotoXY(1,8) ;Dell.ine;llrlteln( 'd•' ,d) ;end;end else

DecJin hulpinwer;GotoXY(l ,8) ;DelL!ne;llrlte('d•' ,d); el>d; Unt!l Cbol72;

llriteln('le urakterlatiete di .... ter '); llrlte( • [11) : Dl•' ,Dl); llepHt a> :•ra.dkey;if Ch•l104 then Ch:•f72; lf a>of72 then beqln lf Ch•lll then beq!n DelLlne;GoloXY(l,lO);llrlteln(•[m) : 01•',!)1); end eloo

be<Jin DelLine;GotoXY(1,10);Wrlte('(m) : Dl•');Repeat ReadLn(D1); OI:•Str:liiNl(Dl,Dll); if not OI then begin DelLlne; GotoXY(1,10); llrlte('{a) : Dl• Error: Voer <JI!lal ln:•);end; UDtll 0~; OotoXY(l,10) ;DelLine;llr!teln(• [11) : 1>1•' ,Dl) ;end;end else

Begin bulplnwer;GotoXY(1, 10) ;DelLlne;llrlte( '{n} : D1•' ,!)1); end; untll 0<>172;

llrlteln('2e wakterlatiete dllliOter •); llrlte( • [11] : DZ•' ,D2); llepHt Ch :•ra.dkey;if Ch•l104 then Ch:•172; !f Ch<>l72 tnea be<Jin !f 0•113 then be<Jln DelL!ne;GotoXY(l, 12l;llriteln('[n) : D2•' ,02); end elae

be<Jin DelLine;GotoXY(l, 12) ;lfr!te('[ll) : D2•'l ;RePNt ReadLn(D2); OI:•StrU..l(D2,D21); lf not OI then be<Jin DelLlne; OotoXY(1,12l: llrite('(a) : D2• Error: Voer qetal in:•);end; Untll OI; OotoXYI1,12) ;DelLinè;llrlleln('(ll} : D2•' ,D2) ;end; end else

Beg' In hulpinvoer;GotoXY(l, 12) ;OelL!ne;llrlte('["J : D2•' ,D2); end; Untll 0<>172;

Wrlteln('1ate katakt. qap dlfferenee '); llrlte('{ll} : Hl•',Hl); llepHt Ch :•r.-d).ey;lf Cb•l104 then 0:•172; !f 0<>172 lhen be<jln lf Cb•lll then be<Jln De!Llne;OotoXY(1,14l ;llrlteln(' [n) : Hl• ',Hl); end else

be<jln DelL!ne;OotoXY(1,14l:llr!te('[a) : H1•'l1Rei>NL ReadLn(Hll: OI:•StrU..l(Hl,Kll); if nol OI then begin DelL!ne; OotoXY(1,14); llrlte('[ll] : Hl• Error: Voer <JI!t.ll in: 'l ;end; Until OI; OotoXY(1,14);0elL!ne;llrlleln(•[a) : Rl•',Hll;end;end eloe

DecJin hulplnvoenOotoXY(1,14);DelLlne;lfrlte('[ml : Hl•',Hll; end; Unt!l 0<>112;

llr!teln('2e urakt. !fliP dlff. (11) : ')I lfrlte('H2•',82); llepHl Cb :•rNdkey;!f 0•1104 then 0:•172; !f Cb<>l72 !f 0•113 lhen 1Line;OotoXY(1,16) ;Wrlteln( 'H2•' ,H2) ;end else

beq!n DelLine;Oo 6! ;lfrite( 'H2•') :Repeat ReadLn!H2); OI:•Str2Real(H2,821 ll lf not OI then begin DelLlne; OotoXY(l ,16); llrlte('82• Brror: Voer qet•l ln:');end; Until OI; GotoXY(l,16) ;DelL!ne;llriteln('H2•' ,H2) ;end;end else

Beg'ln bulpinvoer;GoloXY(l ,16)1De1Line;llrlte('H2•' ,H2); end; until Cb<>l7l;

TeltBackGround(ll) 1 TestColor(l); {cunor ona!chtbaar) ClrSer;

EliD; (Procedure twoedelnvoerschel"lldrlel

PBOCI!DURB twoede!nvoerschemvler;

B!XliN lllndov(51,~, 80,8); TextlllckGround{O); TextColor{15); Wrlteln(' Voer Uw gegevens !n ');

llindow(51,4, 79,25); TeXt.JI&ckCround(lS); TelttColor (1) : Wrlteln( '<enter• : accept value ') llriteln( '• H • : help functie ') Wrlteln('<any l<ey• : nov value 'l llrlteln(' ') llriteln('Pad d!...,ter [11) : ') Write( 'D-.~ ,l>C): llepHt

Cb :•rudkey; lf Ch•f104 then Cb:•f72; if Cb<>l72 then begin lf 0•113 lhen begin DelLlne; OotoXY(1,6); Writeln('D• ~,DO);

end elae

be<Jin DelLine; OotoXY(l ,6): Write('D•'); llepHt ReadLn(DO); OI:•Str2ae.l (DO,D01); lf not OI then be<Jin DelLine; GotoXY(1,6) l Write(~o- Error: Voer qetal in:'): end;

Until OI; OotoXY(1,6l; DelL!ne;

llriteln('D•' ,DO); end:

end else

be<Jin hulpinvoer; OotoXY(1,6); DelLine: Write{'D•' ,DO);

end; untll Ch<>l72; (zelfde procedes volqen hierna) llr!teln( 'ltè!trictor dl..,.,ter !ml : 'l; Write('d•' ,d}: Repeat Ch :•readkey;if Ch•l104 then Ch:•f72;

!f Ch<>l72 then begin if Ch•l13 then begin De!Line;GotoXY(1,8hllriteln( 'd•' ,dl ;end else

beqln DelLine;GotoXY(l ,8) ;Wrlte( 'd•') ;Repeat ae.dLn (d)! OX:•Str211eol(d,dd1); lf not OX then be<jln De!Lino; OotoXY(l,8); lfrlte( 'd• Brror: Voer qetal in:') ;end; U. til OI; GotoXY(l ,8) ;De!Line;llriteln('cl•' ,dJ ;end;end else

DecJin hulpinvoer;OotoXY(1,8) ;DelL!ne;llrlte('d•' ,d); end; until Chol72;

llrlteln('Breedte van de ')'roef {m) : '); Wrlte(•wd•' ,wd); Rei>Nl a> :•read).ey;if Ch•l104 then Cb:•l72; if 0<>172 then begin !f Ch•fll lhen be<Jin De!Llne;GotoXYI1,10) ;Vrlteln( •wd•' ,lid); end el&e

begin OelLioe;GotoXY(l, 10) ;llrlte('wd•') ;Repeat lleadLn(wd); OI:•Str2RN1 (wd,wdl); !f not 01 then be<Jin De!Line; OotoXY(l, 10); llrlte('wd• Error: Voer <JI!lal ln:•J;end; Untll OI; OotoXY(l, lOl ;De!Line;llriteln{'wd•' ,lid) ;end;end elae

Begin bulplnvoer;OotoXY(1,10) ;De!Llne;llrlte( 'wd•' ,lid) 1 end; Unt!l 0<>172;

llrlteln('HooCJte ve de qroef {m] : '); llrlte('hd•' ,hdO); Re~>Nt Ch :•readkey;if 0•1104 then Ch:•l?2; !f a>ot72 tben begin lf 0•113 then begin OelL!ne;OotoXY{l, 12) ;llr!te!n{ 'hd•' ,hdO); end elae

be<Jin OelLine;GoloXYCl ,1l) ;Vrlte( 'hd• ') ;Repeat ReadLn(hdO); OI:•Str2Real(hd0,hd01); lf not OI then be<Jin DelL!ne; GotoXY{1,12); Wrlte('hd• !lrror: Voer qetal !n:');end; Untll OI; GotoXY (1, 12) ;OelL!ne;llr!teln ( 'hd• • ,hdO) ;end;end else

Begin hulpinvoer;OotoXY{l, 12) ;DelLlne;llrlte('hd•' ,hdO); end; Untll Cho 172;

TextBackGround ( 11) ; TextColot(l); {cursor onzichtbaar) ClrScr;

EliD; (Procedure tweedelnvoerschemvler)

PiloeEDURE tweedeinvoerochenavij f;

Bl!GIN ll!ndow{51 ,2,80,8); TextBackGround(O); TextColor (15); Wrlleln(' Voer Uv gO<JI!VOns In ');

lllndow(51,4, 79,25!; TextllackGround(15); TextColor {1); Writeln('<enten : accept value '}; lfrlteln('< H • :help functie •); Writeln( 1 <any keyJ : new value "); llrlteln( • 'l; llrlteln('Pld cli..,.ter [m) : 'I; Write('D•' 100); Rapeat Cb :•read.U:y;H 01•1104 then Ch:•l12;

!f 0<>172 then be<Jln !f 0•111 then begin OelLlne;GotoXY(1 ,6) ;llrlteln( 'D•' ,DO) ;end ebe

begin OelL!ne;OoloXY(l ,6) ;llrlte('D•'l ;Repeat -dLn(DO); OI:•StrU..l(DO,DOl); lf not OI then begin DelLlne; GotoXY{1,6); Write('D• Error: Voer getal in:.~):end; UnUl Ol; OotoXY(l,6) ;DelLine;lfrlteln ('Do' ,DO) ;end;end else

Begin hulplnvoer;GotoXY(l,6) :De!Llne;llrite{ 'D•' ,DO): end; untll Ch<>l72;

Writeln('lleotrlctor dl..,.ter [m] : '); llrlte(•d•',dl; Repeal a> :•ra.dkey;lf Cb•l104 then Ch!•l72; lf Ch< >172 then begin lf Cb•f13 then be<jln OelL!ne;OotoXY(l,8);Wrlteln('d•',d);end else

begin DelLine;OotoXY!1,8) ;llrile( 'd•'l ;Repeat ae.dLn (dl; OK:•Str2lleol(d,ddll; if not OK then be<jln DelLine; OotoXY(1,8); Write('d• Error: Voer getal in:');end: UntU 01: OotoXY(l ,8) ;De1Llne;Wrlteln('d•' ,dl ;end;end else

Begin hulplnvoer;OotoXY(l ,8} ;DelLlne;Wrlte ( 'd•' ,dl; end; 1/ntil 0<>172;

TeXtBockGround ( 11 ) ; TextColor(l); (cursor onzlchtbau) ClrSer;

END: {Procedure tweedeinvoerschermvijf)

PROCEDUllt derdeinvoerscherm; {default•air}

Bl!GJN Wlndov(51, 2,60,8); TextBackGround(O); TextColor!15); Writeln(' Voer Uv t}e(Jevens in ')i

llindov(51,4, 79,25); TextBackGround (15) ; TextColor(l); s:•U: Writeln("4enten : accept value '); Writeln("' H , : help functie '); writeln(' < L • : vaarden voor lucht ~); Writeln('<any Uy• : nev val~.~e '); Wrlteln( • •); wrlteln{ 'Cü cooahnte [J/kgl) : '); llrlte('R•' ,R); Repeat at :•readkey; lf Ch•l104 then Ch:•l72; H (CI\•176) or (Ch•f108) then be<J!n eentinvoerschem; derd.einvoeracbemtwee; &:•11:

end; if Ch<>l72 then begin lf Cb•l13 then begin OelL!ne;GotoXY(l, 7) ;Wrileln( 'R•' ,Rl ;end el&e

lf s<>ll then be<Jln DelL!ne;GotoXY(1,7) ;llrlte('R•') ;Repeat ReadLn(R); Ol:•Str2Jieal{R,R1l; if nol OK then beq!n DelL!ne; GotoXY(l, 7); Write("R• Error: YOèr getal in:') i end.: Until Olf CotoXY{l, 7) ;DelLine;Wrlteln( 'R• 'tR) ;end;end elae DecJin hulplnvoer;OotoXY(1, 7) ;DelLine;llrlte('ll•' ,11);

end; Untll Chol72; H s<>ll then begin

Wrlteln('Vlscoslte!t {Ns/m'2l : '); Mrite(' •' #mu); Repe•t Ch :•readkey;if Ch•f104 then Ch:•f72;

Page 56: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: SUNIT.PAS last modified: 22-o1-1993 13:48:06 page: 4 if (Cb•l76) or (Cb•l108) then be<Jin eerstinvoerscllem; derdei~cllemt-r s:•11; end: if Cb<>l72 then be<Jin !f Cb•f1l then be<Jin DelLine;GotOXY(1,9);11rHeln(• •',llll);end else

if o<>ll then be<Jin Deli.!ne;GotOXY(1,9);1fr!te(• •') ;Repeat Reád!.n(..,); Ol:•Str2Reál(I!IU,IIU1)1 lf DOt OJ then be<Jin DelL!ne; GotOXY(1,9); lfrite(' •B:rror: Vc6:r get411n:');eod; UntU Ol; GotOXY(1,9) ;DelLine;llriteln(' •' ,IIU) ;end;end else Jlel;!n bulplnvoerrGotOXY(I,9) ;DelLine;lfr!te(' •' ,mu);

end: Until Cbof72; lf a<>f1 then be<Jin llr!teln('Heat ratio [-) : ');

llrite('k•' ,k); llepeat Cb :•readkey;lf Cb•f104 then Cb:•l72; 1f (Cb•l76) or (Cb•f108) then be<J!n eerstinvoerschem; derdelnvcerscllemt-; a:•f1; end; if Chol72 then be<Jin if Ch•llJ then be<Jin DelLine;GotOXY(1,11);1friteln('k•',k);end else

if 1<>11 theo be<Jin De1Line;Got0XY(1, 11) ;Wr!te('k•') ;Repeat ReadLn(k); Ol:•Str2Reál(k,k1); lf not Olt then be<Jin DelLine; GotOXY(1,11); llr!te(•k• Error: Voer getal !n:•);end; Untll Ol; GotOXY(l, 11) ;DelLine;lltiteln(•k•' ,k) ;end;end else BecJin bulplnvoer;GotOXY(1,11) ;Del!.lne;llrite( 'k• ',k);

end; Until Cl\<>172; TatllockGround(ll) ; TatC.:.lor(l); end:eod; ClrScrr

PIIOCBIIUIIll derdeinvoerscllemeen; {default•alr)

BilGIN lfindow(51,2,80,8); TatBackGrouod(O) I TatC.:.lor ( 15 l ; llr!teln{' Voer uv gegevens in : •):

llindow(51,1, 79,25); 'l'extllockGrouod{15l 1 'l'extC.:.lor(1);

Writeln('<enter> : accept value '); Writeln('< 8 • :help functie '); lfriteln I' <-.y key• : ,_ volue 'l: lfriteln( • '): lfr!teln('Gu COlliltante [J/lo.ql) : ');

Write('R•' ,R) I Repeat Ch :•readkey;if Ch•f101 then Ch:•f72; !f Ch<>l72 then be<Jin lf Ch•fll then be<Jin DelLine;GotOXY(l ,6) ;llr!teln( 'R•' ,R) ;end else

be<J!n DelLine;Got.oXY(l ,6) ;write('R•') ;Bepeat Reád!.n(R); Ol:•Str2Real(R,R1); lf not OI then be<Jin DelLine; GotOXY(l ,6); lfrlte('R• Error: Voer 901tal ln:');end; Untll Ol; GotOXY(l ,6) ;DelLine;Writeln( 'R•' ,R);end;end el se llel;in hulpinvoer;GotOXY(l ,6) ;DelL!ne;llrlte('R•' ,Rl;

end; Untll Ch<>f72; lfrlteln('VIaooa!teit (Ha/a•2J : ');

lfrite(' •' ,llll)l Repeat Ch :•readkey;lf Ch•l104 then Cl\:•172; if Ch<>l72 then be<Jin lf Ch•l1l then be<Jin DelLine;GotOXY(I ,8) ;llrlteln(' •' ,mu);eod else

be<Jin DelLine;GotOXY(l ,8) ;Wrlte(• •') ;Repeat Reád!.n(IIU) I Ol:oStr2Real(IIU,IIUlll 1f notOKthen be<Jin DelLine; GotOXY(1,6); Mr:lte(' • &rror: Voer getal in: '):ench Until Olf GotOXY(1 ,8) ;DelL!ne;lfr!teln(' •' ,..,) ;end:end elae llel;in hulplnvaer;GotOXY(1,8) ;DelLine;Wrlte(' •' ,!lU);

end; Untll Ch<>f72; Wrlteln('Hwt ntlo [J/ l : ');

llritel'k•',kl: Repeat Ch :•readkey;if Cl\•1104 then Ch:•l72; 1f Ch<>f72 then be<Jin lf Ch•fll then be<J!n DelLine;GotOXY(l, 10) ;llr!teln( 'k•' ,k) ;end else

be<J!n DelL!ne;GotOXY(I, 10) ;wr!te( 'k•'l ;Repeat Reád!.n(k); Olt:•Str2Real(k,k1) I if not OI then be<Jin llelLine; GotOXY(1, 10) I lfr!te('k• Error: Voer getal ln:•);end; Untll Ol; GotoXY(1,10) ;DelL!M;IIriteln('k•' ,k) ;end;end else llel;!n hulplnvoer;GotOXY(l, 10) ;Del!.lne;Wrlte ( 'k•', kl 1

end; Untll Ch<>l72;

EIID; (Proceclure derdelnvoerachemeen)

PIIOCBIIUIIll àerdelnvoerscllemt-;

BilGIJl llindow(S1,2,80,8) I 'l'UtBackGrouod (0 l ; TatC.:.lor(IS) 1 Writeln(' voer l1w qeqeven.s in ');

lllndow(51,4, 79,25) 1 'l'extBackGrouod(lS) 1 'l'extC.:.lor(l); Vriteln('<enter> :accept valua '); Writeln(' '}; lfriteln('Gu COlliltante (J/lo.ql) : '); writeln('a•' ,al); R:•Rl; Writeln('V!scoa!telt [Ns/r2l 'll Writeln(" •',IIUl); -..u...ull llr!teln('lleat ratio l-1 : 'll Wrlteln( 'k•' ,kl); lt:•klt lfrlteln(' ') lfr!teln(' Als u Ilovenataande stan· ') llr!teln(' daardvurden voor lucht •) Wrlteln( • vilt 90bruiken bij hereke- ') writeln(. n!ng, drul dan op <lll!TURll•.,) llriteln(' !!ruk anders op een andere ') lfr!teln(' toets. ') llindow(51,21, 79,25); TwxtllaclGrouod(7); 'J'extC.:.lor(7) 1 Clr5cr; Ch:•Readl!ey; If Ch<>fll then be<J!n eeratinvoe.rachem; derde!MI!>Orsche"""""l Wlndow(1, 1 ,80,25) I 'l'extllackGrouod ( 1111 ClrScr; eerstek.euzescbena;

end elae be<Jln llindow(l, 1,80,25) 1 TatBackGrouod ( 11) t CltSCt; eentekeuzeacbem;

end;

PROCEDt1RB vierd.einvoerschem;

BEGIN lflndow(51, 2,80,8); '!'extllackGround(O); '!'extC.:.lor(15) 1 Writeln( 1 Maak 11W keuze : ');

lflndow(51 ,4, 79,2S); TextllackGrouod(15); TextC.:.lor(1); lfrlteln(' lftiteln('< H • : help functie lfriteln(• lfr!teln('

'h '); '>i "); '); llrileln('

lfriteln(' lfr!teln(' lfrlteln(' Wr!teln ('

1. Invoer par....,ters he· 'l; treffende de qolv!ng van•); het oppervlak ') 1

Wr!teln(' 2. Invoer parameters he· lfriteln(' treffende de kanteliii<J Wr!teln(' van het luchtla901r ll!ndow(51, 21, 79,25); TextllackGround(7); TextC.:.lor(7); Clr5c:r; Repeat

Ch :•readkey; !f Ch•f104 then Ch:•l72;

'); '): '): ');

lf (Ch•l49) or (Ch•f50) then be<J!n eerstlnvoersehem; if (Ch•f49) then vierdeinvoeracllemeen elae vierdelnvoersehemtwee end; !f Ch•l72 then be<Jin bulp!nvoervier; end;

untll Chnl72; TextsackGround(11) 1 TextC.:.lor(Jl; {cursor on>lcht.baarl ClrScr;

l!IID; (Proceclure vierdelnvoerscheml

PROCP!DUR.E vierdeinvoers<:hermeen;

BEGIN Wlndow(Sl, 2,80, 8); TextBackGround(O); TextC.:.lor(1Sl; Writeln( 1 Voer Uv ~vena in ');

llindow(51 ,4, 79,25) 1 '!'extllackGround(15); 'l'extC.:.lor ( 1 ) ; Wt1teln( 1 <enten : accept value '); wrlteln('< H • : help functie '); Wr1teln{'tany key• : new value ;) ; Vriteln(' 'll wrlteln('AIIplitudes (m) : '); llrite('AI•',Alll Repeat Ch :•readkey;if Ch•f104 then Ch:•l72;

lf Ch<>l72 then be<j!n lf Cb•fll then be<Jin DelLine;GctOXY(l ,6) tWrlteln( 'Al•' ,Al) ;eod el se

be<Jin DelL!ne;GotOXY(l ,6)111rite( 'Al•') ;Repeat ReádLn(A1l; OI:•Str2Reo.l (A1 ,All) t lf nol OI then be<J!n DelL!ne; GotOXY(1,6); Wrlte('A1• Error: Voer getal ln:•J;end; Untll OI; GotOXY(1,6) ;DelLine;llrlteln('Al•' ,Alllendlend elae

Jlel;ln hulpinvoer;GotOXY(I ,6) ;DelL!ne;llrlte('Al•' ,Al); end; Unt!l Cl\<>1721

Writo('A2•',A2); Repeat Ch :•readkey;lf Ch•f104 then Cl\:•1721 1f Cb<>l72 then be<Jin lf Ch•fll then be<Jin DelLine;GotOXY(1, 7) ;Wr!teln('A2•' ,A2) ;end ela"

be<Jin DelLine;GotOXY(1, 7) ;lfrite('A2•') ;RepHt Read!.n(A2)1 OI:•Str2Reál!A2,A21) 1 if not Ol then be<Jin DelL!ne; GotOXY(1, 7); lfrite( 'A2• Error: Voer 901tal in: •) ;end; Unt!l OI; Gotort(1, 7) ;DelLIM;Vr!teln('A2•' ,A2) ;end;end else

Begin hulp!nvoer;GotOXY(1, 7) ;DelLine;llrite( •A2•' ,A2); end; Until Ch<>l72; lfr!te('A.l•',Al); Repeat Ch :•rNdkey;if Cl\•1104 then Cl\:•172; lf Ch<>f72 then be<Jin lf Cb•IIJ then be<Jin DelLine;GotOXY(1 ,8) ;Writeln('Al•' ,A.l);end else

be<Jin DelLine;GotOXY(l ,8) ;lfrlte('A.l•') ;Repeat ReadLn(Al): Olt:•Str2RNl(Al,All); lf not OI then be<Jin DelLine; GotoXY(1 ,8); llrite('Al• !.rror: Voer 90tal in:•);end; Until OI; Got0%\'(1 ,fU ;DelL1ne;Writeln{ 'Al•' ,Al) ;end;end else

!lel; in hulpinvoer;GotOXY(I ,8) ;llelLine;Wrlte( 'Al•' ,All; end; Until Ch<>l72;

wrlteln('Gclflenqtea !m) : '); Write('L1•' ,L1); Repeat Ch :•readkey;!f Ch•f104 then Cl\:•172; lf Ch< •112 then be<Jln lf Ch•lll then be<Jln DelLine;GctOXY(1,10);Writeln('L1•',L1l;end else

be<Jin DelLine;GctOXY!I, 10) ;llrlte( 'Ll•') ;Repeat ReadLn(Ll); OX:•Str2Real(L1,L11); lf not Ol then be<Jin DelLine; GotOXY0,10); Write('L1• Error: Voer ()etal 1n:');end; Until Olt~ GotoXY(l,. 10) ;DrelLine;Mriteln( "Ll•" ,L1) ;end;end el se

Begin hulplnvoer;GotOXY(1,10l;DelLine;llr!te{'L1•', L 1); eod; Unt!l Ch<>f72;

Wrlte('Ll•' ,Ll); Repeat Ch :•rNdkey;!f Ch•l104 then Ch:•f72; lf Ch<>l72 then be<Jin !f Ch•fll then be<Jin llelLine;GctOXY(1, 11) ;llriteln('Ll•' ,L2l;end else

be<Jln DelLine;GotOXY(l, 11) ;lfrlte( 'L2• ') ;Reput ReadLn(L2); OI:•Str2Reál(L2,L21); if not Ol then be<Jin DelLine; GctOXY(1,11); llrlle('L2• Error: -r getal in:');end; Until OI; OotoXYO, 11) ;DelLine;Writeln{ 'L2•' ,L2) ;end;end ~lse

Beqin hulpinvoer ;GotoXY ( 1, 11) ïDelLine;Wri te ( "Ll• ", L2): end; until Ch<>l72;

lfrlte( 'Ll•' ,Ll); Repeat Ch : •readkey;lf Cb•l104 then Ch:•f72; lf Ch<>l12 then be<jln lf Ch•llJ then be<Jin DelLine;GotOXY(l, 12) ;Wrltelnt 'Ll•' ,LJ) ;ood oloe

be<Jin DelLine;GctOXY(l, 12) ;Wrlte( 'Ll•') ;Repeat Read!.n(LJ); Ol:•Str2Real(Ll,Lll); 1f not OI then be<Jin llelLine; GotOXY(1,12l; Write('Ll• Error: Voer getal 1n: 1 );end; 1Jntil Olt; GotOXY(1,12) ;DelLine;Wrlleln('Ll•' ,Ll) ;end; end el se

Begin bulpinvoer;GotOXY(1, Ul ;DelLine;Wr!te( 'Ll•' ,LJ); end: Until Ch' >172;

lfriteln('Inlti le fuen (red! : 'll Wrile('Ll•' ,fi1)1 Repeat Cb :•readkey;lf Ch•l104 then Ch:•f72; if Ch<>l72 then be<J!n if Ch•l1l tben be<j!n DelL!ne;GctOXY(1, 11) ;lfritelnt•Ll•' ,f11l; end else

be<Jin llelLine;GctoXY(l, 14) ;lfrite( 'tl•') ;Repeat Read!.n(f! 1); OI:•Str2Real(fl1,fi11); HnotOlthen be<Jin DelLine; Golort0,14); Mrite{'t1• &rror: Voer qetal 1n:');endi until OK; Gotort{l, H) ;DelL!ne;Writeln( '!.1•' ,f11) ;end;end elae

Be<;Jin hulplnvoer;GotOXY(l, H) ;DelLine;lfrlte('!.l•' ,flll; eod; Untll Ch<>f72;

wrlte('t2•',fl2); Repeal Ch :•readkey;lf Ch•f104 then Ch:•f72; if Ch< >172 then be<Jin lf Ch•IIJ then be<jin DelLine;GotOXY(I, 15) ;Wrlteln('L2•' ,f!2); end else

be<J!n DelLine;GctoXY(l, 15) ;Wr!te('t2•') ;Repeat ReadLn(f!2); Olt:•Str2Real(fl2,fl21); 1f not Olt lhen be<Jin DelLI""; GctOlY(1,1S); Wr1te('L2• Error:. voer qetal 1n:');end; Until Ol; GctoXY(1,15) ;DelLine;Wrlteln( 'L2•', fi2) ;end;end else

Beqin hulpinvoer;GotoXY(1, 15) ;DelL1ne;Write{'t.2• ', fi2): end: Unt.il Ch< •112;

Page 57: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: SUNIT.PAS last modified: 22-G1-1993 13:48:06 Mr!te('L3•• ,f13); Repeat Ch :•readkey;if Ch•II04 then Ch:•l72; if Ch<>l72 then beiJin if Ch•l1 3 then beiJin DelL!ne;OotOX\'(1, 16) ;Wri telO( '1.3••, f!3) : end elae

beiJin DelLine;OotOXY(1, 16) ;Mr!te( •1.3•') ;Repeat ReadLn(fi3); Ol:•Str2Real(f!l,fi31); if notOKthen beiJin DelLine; OotOX\'(1,16); llrite('Ll• l!rror: Voer getal in:•);end; llntil Ol; OotOXY(1, 16) ;DelLine;llritelnC 't.3•' ,Hl) ;end;end else

Beqin hulpin-r;CotOXY(1,16) ;DelLine;Mrite( 'tl•' ,fill: end; Uiltil Ch<>f72;

'l'eltllackeround ( 11 ) ; 'l'extColor(l); (wroor onlichtb .. r) ClrScr;

EIID; (Procedure twedein11Gerschenol

PIIOCEDUliB vierdein-rachemtwee;

BI!Glll Mindow(51 ,2,80,8) l 'l'eltBackeroundCOl; 'l'eltColor(15) 1 llriteln(• voer uw gegevens in : ');

llindow(51, 4, 79,25); 'l'eltBacketouod(15l; 'l'ellColor(1); llrHelnC••eoter> : 4Ceept value '); llriteln('< B • : belp fUDCtie '); llriteln('<any key> : - value '); llrileln(' •); llr!teln('lantelhoek [rad) : 'll llrite('8o',th); Repeat Ch :•readkey;!f Ch•l104 then Ch:•f72; if CIH>f72 thea begin

H Ch•fU then beiJin DelLiDO;OotOXY(1,6);Mr!teln{'0-',th);end elst beiJin DelLine;CotOXY(1,6) ;llrite('0>') ;Repeat aeodLn(thl 1 Ol:•Str2RNI (tb, tb1) 1 if nol Ol then beiJin DelL!ne; ColOXY(1,6); llrit"('8o l!rror: Voer getal in:') ;ud1 Uillil OK; CotOXY(1,6);DelL!ne;llrlteln ( '"" •, tb) ;end;end els"

Beqin hulp!nvoer;CotOXY(1,6) ;DelLine;Mrite(•e-• ,thl; end; Uiltil Ch<>f72;

llriteln ( 'llntelverboudifl'iJ !·l : •): llriteln('Verboudifl'iJ extra hoogte door'); llr!teln('kantelon lol opiHlhoogt" : •);

llrite('r&tioa' ,rO) 1 Repeat Ch :•readkey;!f Ch•f104 tben Ch:•l72; !f Ch"l72 then be<j!n if Ch•f13 then beiJin DelLine!GolOXY(1,10);Mr!teln('raUo•' ,rOl ;end else

be<]!n DelLiDO!ColoXY(1,10l ;llrit•(•ratioo•J ;llepeat l!eadLn(rO) 1 Ol:•Str2Real(rO,r11) 1 !f nol Ol then begin DeiLine; CotOX\'(1,10!; llr!tel'rat!o• l!rror: Voer getal in:') ;GoloXY(1,11) ;end; llnt!l OK; CotOX\'(1,10) ;DelL!ne;Writ.,ln(•ratioa' ,rO):end;end else

Beqin hulpinvoer ;CotoXY (1 , 10 J; Del Line!llr!te ( • ra Uo- •, rOl 1 end; Uiltil Ch<>I7Z;

'l'ext~ckeround(11) 1 'l'ellColor(lJ; {cursor onzichtbaar) ClrScr:

EIID; {Procedure vierdeinvoerochemtwee)

end.

page: 5

Page 58: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: HULPFUNC.PAS last modilied: 19-01-1993 14:03:56 page: 1 UIIIT hulpfunctie: (UIIIT van PREDBS)

interface

VAR Ou Olar: qrDriver,qrMode,ErrCode : int~er; DATA, D.\TAP, BGI : str!n9; 11,1 : text;

procedure hulp: procedure hulp!nvoer: procedure bulp!nvoerv!er; procedlue hulpje: procedlue hulpotartschem: procedure ochemeen: procedure IIChemtvee: procedure schenadr!e; procedure ochemv!er: procedure IIChemv!ertvee: procedure schermrij f: procedure llchemles: illplmenta ti on

U... Gnpb,Crt,OPCrt,Graf!ocb:

PllllCBDURB bulpotartscbem: Beq!n

v!odov(2,4,50,25): 'l'eltBaclGround(9): 'l'eltColor(10): vr!teln(' ') wr!teln(' lies uit de vol9ende 11109'!1ijlheden ') vriteln(' ') vr!teln(' ') vr!teln(' 0. Bllit belp ') wr!teln(' 1. Alqeaene !nfo11111tie ') wr!teln(' 2. De typen lucbtlaqen ') wr!teln(' 3. GebNik van leusescbenaen ') wr!teln(' 4. Gebl'\l!l van !nvoencbenaen ') vr!teln(' 5. Berelen!nq 110t (wranderde) geqevens ') vr!teln(' 6. Qu!t I 9a teru9 naar DOS ') vr!teln(' ') vriteln(' ') vr!teln(' ') vr!teln(' ') vr!teln (' ') wr!teln(' ') vriteln(' ') vr!teln(' ') vriteln(' ') vr!teln(' ')

Bnd; (proc. hulpztartscherm)

PROCEDURE schermeen; Beq!n v!odov(2,4,50,25) 1 TertBaclGround(9): TertColor(10): vr!teln(' ') vr!teln(' Het proqr.- vaar U zich nu in bevindt slaat ') vr! teln (' door U !nqeyoerde qeqevena op in de f! les 9e- ') vr!teln(' naand PR7DES.DAT • Deze files met geqevena ') wr!teln(' worden !nqelezen door het proqr..- "DBS" , ') vriteln(' waarna berekenirMJ van het door U qekozen ') wr!teln(' lucbtlaqertype vol9t met de door u !nqevoerde ') vr!teln(' qeqevens. Dit resulteert voor die speelfiele ') vr!teln(' invoer in vaarden van de loadcapac!ty (belas- ') wr!teln(' tinq), ot!ffneoo (stijfheid), en de flov rate ') vr!teln(' (voluoaestrOCD). ') vriteln(' Ql te bepalen wat 0 precies moel invoeren, ') writeln(' kunt u de andere pacJina"s van deze HELP raad-vr!teln(' pleqen. ') vr!teln(' ') vriteln(' Het prOC)ranna "PREDI!:S" ia C)e&chreven in Turbo- '} vr!teln(' Pascal door S.J. ~!erenburqh. ') vr!teln(' Het proqr.- "DES is qeachreven in Sepran I ') vriteln(' Fortran door dr. ir. J.M. Wan9. ') vriteln(' Sectie Preciaion En9ineerin9 1UE '} vr!teln(' prof. dr. Ir. P.H.J, Schellekens •)

End; (proc. schermeen)

PROCEDURE achemtvee; Beq!n v!odov(2,4,50,25) 1 TextBackGround(9): TertColor (10); vr!teln(' ') vr!teln(' ') vriteln(' Maak uv keuze uit onderstaand la9eroverzicht ') vr!teln(' ') vriteln(' 1. l..ll)ertype 1 la9er met n restrictie, ') vriteln(' niet-conisch ') vr!toln(' ') vriteln(' 2. La9ertype 2 lager met n restrictie, '} writeln(' bi-conisch ') writeln(' ') vr!teln(' 3. Lagertype 3 laqer met n restrictie, ') vriteln(' tri-conisch ') writeln(' ') vr!teln(' 4. Laqertype 4 laqer met vier restricties, ') vriteln(' met 9roef ') writeln(' ') vriteln(' 5. l..lgertype 5 laqer met vier restricties, ') vriteln(' aonder 9roef ') vr!teln(' ')

Bnd; (proc. schermtveel

PllllCBDURB schemdr!e: Beq!n

window(2,4,50,2S): TextBaclGround(9); TertColor(10); vriteln(' ') vriteln(' Het prOI)rann& "PR!DES" kent twee k.euzescher- ') vriteln(' men : het eerste keuzescherm waarbij het type ') vriteln(' luchtlager moet worden gekozen, en het tweede ') vriteln(' k.euzeachem vaarbij qeqevena kunnen worden in- ') vriteln{' gevoerd (k.euae l, 2, 3, en 4), de berek.enin9 ') vriteln(' met de qeqevena kan worden CJeStart (keuze 5), '} writeln(' of kan worden terul)qek.eerd naar DOS (keuze 6). '} vriteln(' Raadpleeq voor infonutte eNer deze keuzes an- ') writeln(' dere pagina"& van deze HELP • vriteln(' ') writeln(' Het maken van een keuze bij een van de keuze- ') vriteln(' schermen 9ebeurt door de met UV keuze corre- ') vriteln(' sponderende toets op het toetsenbord in te ') vriteln(' drullen • Bij het eerste k.euzeschem resul- ') writeln(' teert het indrukken van toets <h dus in de ') writeln{' keuze voor la9ertype 1 • De keuze van het type '} vriteln(' la9er kan alleen veranderd worden door het '} vriteln(' prOtjraiiiM "PREDES" te verlaten en daarna op- ')

vriteln(' nieuw te starten (zie hiervoor onder k.euze '); vriteln(' 6. "Qult I 9a teru9 naar DOS" van deze HELP) '):

End: (proc. scherndr!e)

PROCEDURE schermvier; Beq!n window(2,4,50,25); TextBaclGround(9); TextColor(10); vriteln(' ') writeln(' Het progranma "PREDES" k.ent vier invoerscher- ') writeln(' men, die onder het tweede k.euzeschem kunnen ') writeln(' worden opgeroepen door, naar gelang U vilt, ') writeln(' toets <1•, <2>, <3>, of <4> in te d.rullen. ') wrlteln (' ') vritelD(' In een invoerscherm verschijnt eea variabele ') writeln(' met een daaraan (eerder) toeqek.ende waarde , ') vrlteln(' !nqelezen uit een file PR1DBS.DAT • ') writeln(' Wilt U deze waarde handhaven, dan hoeft alleen ') vriteln(' de <RE'ruRN>•toets ingedruk.t te worden, waarna ') vr!teln(' de invoerprocedure zich herhaalt met de vol- ') writeln(' gende variabele • ') vrlteln(' Wilt U deze vaarde vijz!9en, dan hoeft alleen ') vrlteln(' een v!lleleur!qe toets !n9edrult te worden ') vriteln(' (met uitzondering van de dtE'nfiUh- en •H,.... ') vr!telo(' toets), waarna de 9ewenste qetalvaarde lan ') wr!teln(' worden !nqevoerd door het 9etal in te t!Uen ') vr!teln(' ') wr!teln(' <BimlRII> - volqende pa9!na ')

End; (proc. schemv!er)

PROCEDURE schemviertvee; Beq!n v!odov(2,4,50,25); TextBaclGround(9): TextColor (1 0); vriteln(' en daarna op •R!TURH) te drukken • ') vriteln(' Het in te voeren qetal 11119 bestaan uit !II.Xi· ') vr!teln(' 111al 16 c!jfersltelens. ') vr!teln(' enderataande qatallen zijn dus toeqestaan ') vr!teln(' 1234567890123456 ') vr!teln(' 1.23456789012E15 ') vr!teln(' 1,2345678901e-15 ') writeln(' De onder de invoerschermen inqevoerde vaarden ') vr!teln(' worden opqesla9en in de files PR1DBS.DAT • ') vr!teln(' Mocht U niets !nqevoerd hebben, 111ar meteen ') vriteln(' qelozen hebben voor 5."8erelen!nq met (veran- ') vriteln(' derde) «JeqeVens" , dan worden de waarden CJe- ') vr!teln(' bru!H die al in deze files stonden. ') writeln(' Bij een invoerscherm is de HELP-functie in ') writeln(' veel 9evallen opvraa9baar door <H, in te druk.- ') vriteln(' ken. ') writeln(' Het invoerscherm onder ]."Invoer eigenschappen ') vriteln(' van het 9as (lucht)" lont als extra dat de ') writeln(' standaardvaarden voor lucht worden in9elezen ') writeln(' en op het schem gezet, als op toets <L) wordt ') vr!teln(' 9edruH. (betreffende file : LUCH'l'.OAT) ')

End; (proc. sche1111Viertvee)

PROCEDURE schemvijf; Beq!n v!odov(2,4,50,25); TextBaclGround(9); TextColor ( 1 0): writeln(' ') vr!teln(' Nadat de betreffende vaarden zijn !n9evoerd ') writeln(' zoals beschreven onder k.euze 4. van het HELP· ') vriteln(' Dlel'lu, kan worden 9ekozen voor keuze s."Berek.e· ') writeln(' nin9 met (veranderde) 9~evens" van het tweede ') writeln(' k.euzeschenn. De ingevoerde vaarden worden dan ') vriteln(' opqeslaqen in de files PR1DBS.DAT , die voor ') vriteln(' berelen!nq worden !nqelezen door het proqr1111111 ') vr!teln(' "DBS" (voor statische calculatie). ') writeln(' Zijn qeen vaarden iJl9eYOerd, dan leest •or.s" ') vr!teln(' de aanvez!qe, onqev!jz!qde files PR1DBS.DAT in ') writeln(' voor berekening. Indien gekozen is voor een ') writeln(' dynamische calculatie wordt "PADSCI" na '"DF.S" ') wr!teln(• doorlopen. ') vriteln(' De berek.enin9 in "DES" resulteert voor het qe- ') writeln(' kozen type laqer in waarden VIn de loadcapa- ') vr!teln(' city (belast!nq), de st!ffness (stijfheid), en ') vrileln(' de flow ra te (volumestroom). ') writeln(' ') vriteln{' De berek.enin9 kan worden af(jebrok.en met behulp ') writeln(' van <Ctrh·<break• of <Ctrh-<Alt)·<Deh ')

Bnd: (proc. schermv!jf)

PROCEDURE schemzes; Beq!n

window(2,C ,50,25); TertBaclGround(9): TextColor(10): writeln(' ') writeln(' en teru9 te 9aan naar DOS moet U 2.ich in het 'l vr!teln(' tweede leuzescherm bevinden, Door hier de ') vriteln(' toets <6) in te drullen verlaat U het prOCJrant- ') writeln(' ma "PREDP.S" en komt u in OOS terecht. ') writeln(' Als U zich in het eerste k.euzeschem bevindt, ') writeln(' dan belandt U in het tveede keuzescherm (nodi9 ') writeln(' en '"PREDES" te kunnen verlaten} door een type ') writeln(' laqer te kiezen . Hiervoor hoeft slechts toets ') writeln(' toets d>, ~2), <3>, <h of <S) ingedrukt te ') writeln{' worden. ') writeln(' Bevindt U zich in een invoerscherm (bijvoor· ') writeln(' beeld onder 1. "invoer operatieparameters'"), ') writeln(' dan moeten eerst alle gevraa9de parametera on- •} writeln(' der dat invoerschem in9evoerd z.ijn, waarna ') writeln{' vanzelf het tweede k.euzeschem verschijnt. •) vr!teln(' Bent U al met de berelen!n9 bez!9 (leuze 5 van ') vr!teln(' het tweede keuzezcherm) dan bevindt U zich in ') wr!teln(' het proqr."... "DES", dat lan worden afqerond ') wr!teln(' door de bereleninq uit te laten lopen of ') writeln(• kan worden onderbroken met <Ctrb-<Break.•. ')

End; (proc. schemv!j f)

PROCEDURE hulp; beqin hulpje; TextBack.Ground ( 3) ; TextColor(3); ClrScr;

end;

PROCEDURE hulpinvoer; beqin hulpje; TextBack.Ground(l 1); ClrScr; w!ndov(51 ,4, 79,25); TextBack.Ground( 1 S) ;

Page 59: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

TextColor(1); end;

PROCEDURE hulplnvoervler; be9ln hulpje; Tel<UIIc~Ground(11); Clrscr; vlndov(51,4, 79,25); Tel<tBac~Ground(15); TextColor(1);

end;

PROCEDURE hulpje; var BufPtr : Pointer;

lle9i• BiddenCursor; Repelt

bulpstartschem; OI:•RMdley;

If 01•150 then be9ln schemtvee; OI:•RMclley;

file: HULPFUNC.PAS last modilied: 19-{)1-1993 14:03:56

If (01•149) or (01•150) or (01•151) or (01•152) or (01•153) then be91•

lf oot Savelllndov(1, 1, 5creenvldth, 5creenHelght, True, Bufptr) then Brit; (Grafische JDOde /TextJDOde afhandelen

uaiqn(x, 'calaya.cfl)'): reoet(x); readlo(x) ;readln(x) ;readln(x) ;readln (x) ;readln(x) ;readln(x,BGI); grDrlver:•Detect; (VGA 640*480) lnltGrapb(grDrlver ,grllode,BGI); BrrCode: •GraphResult; vriteln(!.rrCode); SetLlneStyle(SOlldln, O,Nomllldth); lf &rrCode • grol then be9ln (Grafische plaatjes lagers)

lf (01•149) then be9lo lagereenqraf; end; lf (01•150) then be9ln lagertweegraf; end; lf (01•151) then be9ln lagerdrlegraf; end; lf (01•152) then be9ln lagervlergraf; end; lf (01•153) then be9ln lagervljfgraf; end; end else be9ln llrlteln('Graphlcs error : • ,GraphErrorMsg(ErrCode)); end;

CloseGrapb; Restorelllndov(1, 1, 5creenvldth, 5creenhelght, True, BufPtr); Hiddeneursor; end:

end elae

lf 01•149 then be9lo schemeen; ~: •Readley;

end elae

If 01•151 then be9ln schemdrle; 01: •RNdley;

end elae

If 01•152 then be9ln achel'IIVier; OI:•RMdley; lf (01•113) then be9ln achenwiertwee; OI: •Readley;

end end elae

If 01•153 then be9ln achemvljf; 01.: •Reldley;

end elae

If 01•154 then be9ln achenues; OI: •Reaclley;

end;

Untll (01•148) or (01•179) or (01•181) or (01•111 3) or (01•171) or (01•127) No nulCUrsor;

Bnd; (proc. hulpje)

BRD.

page: 2

Page 60: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: GRAASCH.PAS last modified: 19-{)1-1993 17:10:06 page: 1 U'III'f grafiseb; {grafische UNIT van •help'-functie van PREDES)

interface

uses Graph,Crt,OPStrlng ;

var t tlr Y : integer; Ou char; OK: Boolean1

prCICOC!ure lagereenqraf 1 prCICOC!ure lagertwee<Jraf1 procedure lagerdriegrof 1 procedure lagerviergraf; prCICOC!ure lagerv!jfgraf;

!Dpl_..tatlon

Procedure Getllax; (voor elk type beeldschem/graflscbe wrt unifomeren van de graflocbe plaatjes)

be4jln X:•Getllad; Y:-GetM11Y1

etld;

Procedure "''_line(a,b,c,d : lnt-r); be4jln

llne(l'Cilnd(a/640*1) ,round(b/480*Yl, round(c/640*1) ,round(d/480*Ylll

etld;

PrCICOC!ure "''_clrcle(a,b,c : Int-rh be4Jin clrclelround(a/640*1), round(b/UO*Yl,

round(c/640*1));

PrCICOC!ure"'' outtextxy(a,b : lnt-r; s : string); begin -OUtTextXY(round(a/641l*X) ,round(b/480"Y) ,s);

etld;

Proeedure f1l'{ sellextatyle(a,b,c : word!; be4jln -c : • round (c/480"YI: SetTextStyle(a,b,c);

etld;

I'I10CI:D!lllB lagereenqraf; Be9ln Gel*x; SetColor 1121;

• 4'rlri lne (0,0,639,0) >"Y_llne(O,O,O, 4 79) ;my_l ine(O, 419, 639,4 79) ;my_Jine (639,0,639

(kader); (ouatl!jnen :) lll!'_llne(~O,J37 ,250,337) ;lly_line(50,337 ,55,334) ;my_l!ne(50,337 ,55,340): lll!'_llne(250,3l7,245,ll4) llll!'_line(250,3J7 ,245,340); (~~&at lijn 0) lll!'_llne(1H,324, 156,324) ;ny_llne(144,324, 148,321) ;my_llne(144 ,324,148,)27); lll!'_llne(156,324, 152,321 );lll!'_l!ne(l56,324, 152,327); (naatlljn dl lll!'_llnel255,314 ,255, HOIIIII!'_llne(255 ,314,258,319) :"Y_llne (255, 314, 252, 319); 111!' llne(255,340,258,ll511111!' llne(255,340,252,335); (naatlljn Hw) SeÎColor(11) 1 -llll'_aettextatyle(Defaul tFont,HorhDir,l); 111!' outtertxy(155,328, 'D'l; lll!':outtutxy(146,315, 'd'); "''_OUttellxy(2S7,324, 'llw') l lll!'_oettextatyle(saneSer!fl'ont,HoriiDlr ,111 "Y_OUttertly(J30,100, 'D : Pad Dl~~~eter'); 111!' outteztxy(330, 122, 'd : Restrlctor dl...,ter'll lll!':outtextxy(330, 142,' (dilllet"r ultotr-nlnql '); llll'_outtu:txy(JJO, 164, 'llv : IIOrklnq gap helght '); lll!'_outtextxy(l30, 184, • (apleetboo<jt" tusaen la'l"r'); "''outtextxy{l30,204, • en oppervlak) 'l; SetColoriHl; ny clrcle(150, 120,1001; "1'-c!rele(lSO, 120,61; 111!')1ne(S0,267, 250,267); lll!'_l!ne(S0,314 ,250, 314); ny_llne{S0,267 ,50,311); lll!'_llne(250,267 ,250,314); lll!'_line(S0,295, 1 44,295); ny_llne(50,279,156, 279); 111!'_1lne(H4,295, 144 ,314); my_l!ne(156,279,156,311); ,.y_l!ne(30,H0,270,340l 1 fer t:•O te 24 do RY llne(30+10•t,H0,25+11l*t,3451; t:•t+l; SetColer{7) 1 -111!' H!le(25,287 ,50,287); "Y-1 !oe(50,287 ,45,2841; lll!')lne150,287 ,4S,290); SetColor(H) 1 SetlineStyle(Centert.n, 0, llomll!dthl: lll!'_line(40,120,260,120); SetllneStyle(!lUhedLn, 0, Momtlldthl: "'' llne(150,267, 150,314)1 "Y:aettextotyle(DefaultFont,HorhDir ,1)1 SetColor(13); lll!'_outtertxy(3S,119, 'l'l llll!'_outtexUy(262,119, 'A'): my_outtextxy(100,3, .. Onderaanzicht 1 );

111!' outtextxy(49,2S5, 'Zljaandcht Doorsnede A-A'): SetColor(7) 1 111!' outtextxy(5,291,'lucht'l; CIIÏ•llM<Rey; If ICII•183) er (Ch•l1151 or (Ch•l72l or {Ch•l104l then begin "''_settextatyle{GothleFont,HorlzDir, 4): "Y_OUtt .. try(510, 430, •Splinter•): my_•ettextatyle(SmillFont ,Hor! •Dir ,5): my_outtertry(587 ,432, '1992'1; Cll:•llMdXey;

etld; End; (procedure lagereenqrtf)

I'I10CI:D!lllB laqert-uf; Be<;ln

GelMn:; S..tColor (12): 111!' 11ne(0,0,639,0) ;my_llne{O,O,O, 479) ;My_Une(O, 479,639,479) ó"Y_IIne(639,0,639

,n9r; {kader); {,..atl!jnen :) my llne(50,337 ,250,337) I"Y_Iine{SO,l37,55,334) I"Y_IIne(50,Jl7 ,55,3401; "Y)ine(2SO,ll7,245,3l4) llll!'_llne(250,337 ,245,340) 1 (lllatlljn DJ "''_llne(144,304, 156,304) I"Y_IIM(144, 304,148,301) I"Y_llne(l 41, 301,148,307); my l!ne(156,304, 152,3011 ;ny_llne{156, 304 ,152,3071; (maatlijn d) "Y)ine(255,314,255,l40) ;ny_llne!255, 314 ,258,319) I"Y_llne(255,l14, 252, )19); lll!'_line!255,340,258, llSl ;my_llne(2SS, HO, 252,ll5) 1 (maatlijn Hw} lll!'_llne(255,306,255, 3Hl 1111!'_llne{2SS,306,258, l09l ;my_line!255,306, 252,309); my line(255,314,258,l11);"Y l!ne!2SS,l14,252,l11); (,..atlljn Hl) 10y)lne(70, 325,230, 325) ;my_Tlne(70, 325,75,321) ;my_line(70, 325, 75,329); my_llne(2l0,325,225, 321) ;my_llne{2J0,325,225,l29l; (maatlijn Dl) SetColer (11); "''_settextstyle(DefaultFont,HorizDir, 1); llll'_outtextxy(145,328, 'D') IIII!'_OUt textxy(146,29S, 'd'); rti'j_outtextxy(14S,J17 { '01 ') ;fftf_outtextxy(257, )24, 'Hw') :my_outt.extxy(2S7 1 lOB, 'H1

'); my settextstyle(sanss.>rlfFont,HorlzDir, 1); my-outtextxy(330, 100, •o : Pad Diameter•); my:eutt .. txy(330,122,'d : Restrlctor dl~~~eter•); my_outtextxy(330,142,' (diameter ultstrocnopenlnq) '); my_outtextxy{330,164,'Hw: 11or1r.lng qap beigbt'); my_outtextxy (330,184, • ( spleethoogte tussen lager•); llll'_outtextxy(ll0,201,' en oppervlak)'); my outtextxy(330,226,'D1 1st character!stlc dlllll!eter'); m(euttextxy(330,248, •Hl 1st charac. gap d!fference•); S..tColor ( 14 l ; my_clrcle(!SO, 120,100): ~>y_c!rcle(150, 120,6): "''_clrcle(150, 120,80}; ny line(50,267,250,267); 111!' 1ine(50,314,250,3H); 111!' line(50,267,50,314); ny:line(250,267 ,250,314) 1 ..Y_Iine(50,295,144 ,295): ,.Y_llne(50,279, 156,279); 111!' line(111,295, 144, 306); ny 1ine(156, 279,156, 306); "'' llne(70,314, 144,306); my -line(230,3H, 156, 306); 111!'-line(J0,310,270,HO) 1 -for t:•O te 24 do lll!'_line!30+10*t,JI0,25+10*t,H5J; t:•t+1; S..tColor(7); my_llne(25,287,50,287): lll!'_llne!50,287 ,45,284}: 111!' llne(S0,287,45,290); SetColor(14); SetlineStyle(CenterLn, 0, llotmWidthl; 111!' llne(40,120,260,120): s.>tllneStyle(DuhedLn, o, llol'lllllldtbl 1 "''_llne(150,267,150,3Hll ny settHtstyle(Defaultl'ont,HOrlzDir ,1): SetColor(ll) 1 "''_outtextxy(35,119, 'A') I"Y_outtextry(262, 119, 'A'J; lll!'_outtertxy (100,3, 'Onderaanzicht'); 111!'_ outtextxy ( 49,255, 'Zl junlicht Iloersnode A-A' ll SetColor (7) 1 my outtertxy(5,291,'lucht•); Cb!•Readley; If {Ch•l83) or (Ch•l115) or (Ch•f72) or (Ch•f101) tben be4jln "''_settextatyle (GotblcFonl ,HorhD!r ,41; my_outtextxy(51 O, 430, 'Splinter') 1 my _settextstyle(SnallPont, HorlzDir ,5): my outtext.y(587,432,•19t2')1 CIIÏ•llMdXey;

end: l!nd; {procedure laqert"""'lraf)

PROC!IDilRE lagerdrlegnf; Be9ln

<:etMax; S..tColor(U); my llne(0,0,639,0) i"'' line(0,0,0,479) :~ay llne(0,479,639,479) 1"1' l!ne(6J9,0,639

,n9r, - - -(kader}; (naatlijnen :) "''_line(50,337 ,250,337llmy_l!ne(50,337 ,55,334) ;my_l!ne(50, 337,55,340): "Y_line(250,337,245,3J4) ;my_llne(2S0,337 ,245,340); {naatlljn Dl my line(144,295,156,295) lllll' llne(144,29S,148,292) ;my llne(1H, 295,148,298); 111!') ine(l56,295, 152,2921 llll!':llne(156,295,152,2981; (iaat lijn dl my_llne(25S, 314,255, 340) i"Y_llne (255, 314,258, 319) 1"Y_Ilne(2SS, 314,252, 319); "''_llne(255,340,258,335) ;my_llne(255,340,2S2,335); (naatlljn Hw) "''_llne (255, 307,255, 314) ;my_llne!255, 307,258, 309) ;my_Jine(2SS,307, 252,309); my_line(2SS,314,258,312) ;my llne(255,314,252,312); (maatlijn Hl) lll!'_llne(25S,295,255, 307) ;my) lno(2SS,295, 258, 298) lmy_llne(2SS,29S,2S2,298): my_line(255,307 ,258,304) ;my l!ne(255,307 ,252,304); (naatlljn H2l "''_line(70, 325,230,325) l"''_I!ne(70,325, 75,321) ;my_line(70,32S, 75,329); my_l!ne(230, 325,225,3211 l"Y_llne(230, 325,225,329): (111atl!jn Dl) my Jlne(126, 307, 171,307) 1"1' llne(126,307 ,131 ,3!1) ;ny l!ne{126,307 ,131,303): lll!':line(174 ,307 ,169, 303) :"Y:line(174,307 ,169,311) 1 (iaatlljn D2) SetColor011 1 ny_settext&tyle(DefaultFOnt,Hori:oDir, 1); my_outtextsy(l45,328, •n•) ;my_ out tertry(146,286, •d•) ;lly_outtextxy(257 ,297, 'H2')

I ') ",_outtextxy(145,317, 'Dl') ;my_outtextxy(257, 324, '!Iw'! ;my_outtextxyi257,J08, 'Hl

~ outteKtxy(HS,299,'D2'): llll':sett.,xtstyle(Sen&Serl fFont,HorizDir, 1); my_outtezt~:yUlO, 100, 'D : Pad Dianeter') t "''_outtextxy(330, 122,•d : Restrlctor d!....,ter'l; "''_outtextxy(llO, 142,' (dl .... ter u!tstr""""'penlnq) '); "''_outtertry(J30,164,'Rw : llorklnq qap helgbt')l llll'_OUttextxy(ll0,184, • (spleetboo<jte tussen laqer•); lll!'_outteltxy(330,204,' en oppervlak)') 1 my outt.extxy(lJ0.226,'D1 1st ch.araeteristic diaJt~~eter'); lll!':outtextxy(JJO, 248, 'D2 2nd cbaracteristlc dl011eter•): my outtextxy(J30,270, 'Hl 1st charac. gap d!fferenee•); "Y:outtextxy(3J0,292, 'H2 2nd charac. gap d!fference'); S..tColor(14); 111!' clrcle(150,120,100); my -circle(150, 120,6): "Y-circle(150,120,80l; 111!' -clrcle(150,120,24); my)lne(50,267 ,250,267): "''_line(50,J14, 250,3141; "Y_IIne{S0,267 ,50,3141; my line{250,267,2S0,314); my line(50,295,141,295); ny l!ne(50,279, 156,279) my)lne(156,279,156,295) l"Y_Iine(144,295,126,307) I"Y_Iine(15&, 295,174,307) my_llne(70,314, 126, 307); ny llne(230, 314,174,307); my_l!ne {30, 340, 270,340) for t:•O to 24 do my_llne!30•1G•t,l40,25•10•t,34SJ: t:•t•l; S..tColor ( 7) : my_line(25,287 ,50, 287); my_llne!SO, 287, 45,281); my_llne{SO, 287, IS, 290); S..tColor(14l; S..tl ineStyle(CenterLn, o, Homtlidth); my_llne(40,120,260,120); SetllneStyle(DashedLn, 0, llomllldthl; "''Hne(150,267,1S0,311); "Y:•ettextstyle!DefaultFont,HorlzDir ,1) 1 S..tColor(13); !lf_OUttests:y{lS, 119, ~A') :my_outtellUy(262~ \19, 'A'); my_out testxy(100,3, "Onderaanzicht'); my_outtextxy(49,255, 'Zijaanlicht Doorsnede A-A'): SetColor (7) ; my_outtextxy(5, 291, 'lucht'); Ch:•Reaciky1 lf (CII•f83) or {CII•I115l er (Ol•f72) or {Ch•f104l then be4j!n "'' settexutyle (Gothlcfont,HorhDir ,4): ~ü>ut textxy(S10,UO, 'Splinter'): my_settext•ty!e(SmaiiFont ,HorlzDir ,5); my_outtextxy!S87 ,432,•1992'); Ch: •keadJ.ey; end;

End;(procedure lagerdrie<jraf)

pl{OCEI.)URE lagervie-rqraf; Be<jln CetMax; S..tColor( 12) ; 111y I ine(0,0,6)9, 0) ;my_llne{O,O,O, 479) ;my_l!ne(O, 479,639, 479) ;my_!lne {6)9,0,639

,n9r1 (kader); (maatlijnen :) 111y_l !ne(20,460, 320, 460) ;my_l!ne{20,460,25,46l) ;my_llne!20, 460, 25,457); my_l!ne(l20,460,l15,463) 1"Y_llnell20,460,l1~,457); (!Uatlljn D)

Page 61: Handleiding voor de programmatuur voor de berekening van ...9.1 Algemeen 25 10. Uitvoer en presentatie van resultaten 26 10.1 Algemeen 26 10.2 In geval van statische calculatie 26

file: GRAFISCH.PAS last modilied : 19-01-1993 17:10:06

);

);

r.y l!ne(325, 433,325, 463) ;my l!ne(32S, 433,328, 438) ;my l!ne (325, 433,322, 438) ; my)!ne(32S,463,328,4S8) ;r.y)!ne(325,463,322,458); (iiiaatl!jn Hv) my_l!ne(325,410,325,433) ;my_l!ne(325,410, 328,415) ;my_l!ne(325,410, 322,415); my_l!ne(325, 433,328,428) ;my l!ne(325, 433,322, 428); (maatlijn hd) my l!ne(87 ,410, 97 ,410) ;my_1Tne(243,410, 253,410) ;my_l!ne(87, 410,90,41 2); r.y1!ne(87 ,410,90,408) ;my l!ne(97, 410,94,4 12) ;my l!ne(97 ,410,94 ,408); my-l!ne(243,410,246,412) ;iiy l!ne(243, 410, 246,408Ï;my l!ne(253,410,250, 41 2); my-l!no(253,410,250,408); (iiiaatl!jnen d) -my -l!ne(82,446, 102,446) ;my l!ne(238,446, 258,446) ;my l!ne(82,446,85, 443); r.y-l!ne(82,446,85, 449) ;my T!ne(102, 446, 99,449) ;my 1Tne(102,446, 99, 443); r.y)!ne(2J8,446,241 ,443) ;ÏÏy_line(238,446, 241 ,449)Ïmy_l!ne(258,446, 255,449); r.y_l!ne(258,446,255,443); (maatlijnen vel) setColor ( 1 1 ) ; r.y_settextatyle(DefaultFont,HorlzDir, 1); r.y_outtextxy(170,448, 'D') ;my_outtextxy(89, 398, 'd') ;my_outtextxy (245,398, 'd'); my_outtextsy(86,4.35, 'vd.') :ll)'_outtextxy{242, US, 'wd') ;my_outtextxy(327 ,441, 'Hw'

my_outtextxy(327 ,418, 'hd'l; my_aettoxtotyle(SoDSSerlfFont,HorlzDir, 1); r.y outtextxy(350, 100, 'D : Pad Diameter•); r.y:outtextxy(350, 122, 'd : Restrlctor diameter'); r.y outtextxy(350,142, • (diameter u!tstroomopening) 'l; r.y:outtextxy(350, 164, 'llv : llork.lng qap he!ght '); r.y_outtoxtxy(350, 184, • (spleethooqte tussen lager'); r.y_outtextxy(350,204,' en oppervl.U) '); r.y_outtextxy(350,226, 'hd : hoogte groef'); r.y_outtextxy(350,248, 'vd : groef breedte'); SetColor(14l; r.y_circle(170,170, 150); r.y_circle(170,170, 119) ;r.y clrcle(170,170, 101); r.y_circle(92, 92,5) ;my_clrële(248, 92,5) ;my _cl rele (248, 248, 5) ;my_circle (92, 248,5

r.y l!ne(20,350,320,350); r.y l!ne(20,433,320,433); my l!ne(20,350,20,433); my -l!ne(320, 350, 320,433); rif l!ne(10,463, 350,463); (cÖntour) fói t:•O to 34 do my l!ne(10+1o•t,463,5+10*t,468); t:•t+1; my_l!ne(20,370,275,l,.O) 1 my_l!ne(275, 370,275, 390); my line(275, 390, 253,390); my l!ne(243,390,97,390);my l!ne(87,390,20,390l; my 1Tne(87,390,87,410); my-l!ne(97,390,97,410); my T!ne(243,390,243,410); rrii l!ne(253,390,253,410); my -l!ne(82,433,82,410); my 11ne(102,433, 102,410); my-l!ne(238,433,238,410); my)lne(258,433,258,410); iiy_l!ne(82,410,87 ,410); my)lne(97, 410, 102,410); my l!ne(238,410,243,410); my l!ne(253 ,410,258, 410); (!Üchtqanqenstelsel) -seteolor (7) 1 my_l!ne(15, 383,50,383); my_l!ne(50, 383,45,387); my_l!ne(50,383,45,379); SetColor ( 14) ; Betl!neStyle(CenterLn, 0, Nomllfldth) I my_l!ne(25,92,315,92); setl!neStyle(DuhedLn, 0, NomMidth); my_l!ne(170,350,170,433); my aettextstyle(DefaultPont,HorlzDir, 1); SetColor(13); my outtextxy(20,92, 'A') ;ay outtextxy(320, 92, 'A'); ll)':outtextxy(118,2, 'OnderaÏnzichl '); ay_outtextxy(69,339, 'Zijunzlcht Doorsnede A-A'); SetColor (7); 11)' outtextxy(2,372,'lucht'); Ch 'i' •Readley; If (Ch•l83) or (Ch•l115) or (Ch•l72) or (Ch•l104) then begin ay aettextatyle(GothlcPont,HorlzDir ,4); r.y:outtextxy(510,430, 'Splinter'); ay aettextstyle(SIIll!Pont,HorlzDir, 5); ay-outtOKtxy(587 ,432, '1992') I Ch ï •Readltey;

end; Bnd;

PROCEDUIIB lagervijfgraf; Beqln

GetMax: SetColor (1 2) ; r.y line (0, 0, 639, 0) ;my l!ne (0, 0, 0, 479) ;my l!ne (0, 479,639,4 79) ;my line (639, 0, 639

,n9T: - - -

);

(kader); (maatlijnen :) my_line(20, 460,320,460) ;ay_l!ne(20, 460,25, 463) ;my_line(20, 460,25, 457); my_llne(320,460,315,463) ;r.y_llne(320, 460,315, 457); (maatlijn D) ay_l!ne(325,433, 325,463) ;my_llne (325, 433, 328,438) ;my_llne(l25, 433, 322,438); ay_llne(325,463,328,458);my llne(325,46l,322,458); (maatlijn Hv) r.y_llne(87, 410,97 ,410) ;my_1Tne(243,410,253,410) ;my llne(87 ,410, 90,41 2); my_llne(87, 410, 90,408) ;r.y_llne(97 ,41 0, 94,412) ;my 1Tne(97 ,410, 94 ,408); my_llne(243,410, 246,41 2) ;ay_llne(243, 410,246, 408Ï;my_llne(253,410,250, 412); ay llne(253,410,250,408); (maatlijnen d) 5etColor(1 1) I ay_settextatyle(DefaultPont,HorlzDir ,1) I my_outtextxy(l70,448, 'D') ;my_outtextxy(89, 398, 'd') ;my_outtextxy (245,398, 'd'): my_outtextxy(327 ,441, 'Hv'); my settextotyle(SonaSerlfFont,HorlzDir, 1); my:outtexhy(350, 100, 'D : Pad Diameter'); ay outtext•y(350, 122, 'd : Restrlctor diameter'); ay-outtestxy(350,142, • (diameter ultstroomopening) '); my-outtextxy(350,164,'Hv: Worklnq qap helght'); my:outtextxy(lSO, 184, 1 (spleethooqte tussen la9er•); my outte•txy(350,204,' en oppervlak)'); setColor(14); ay clrcle(170,170, 150); my:clrcle(92, 92, 5) ;ay_clrcle(248, 92, 5) ;my_ clrcle(248, 248, 5) ;my_clrcle (92, 248,5

ay llne(20,350,320,350); my llne(20,433,320,433); my llne(20,350,20,433); r.y-llne(320,350, 320, 433); rif line(10,463, 350,463); (cÖntour) fo"i t:•O to 34 do my line(10+'10•t,463,S+lO•t,468); t:•t+1; ay llne(20,370,275,l,.Ol; ay llne(275,370,275,390); my line(275,390,253,390); ay -llne(243,390, 97, 390); my -llne(87, 390,20,390); my 1Tne(87, 390,87, 433); ay)lne(97, 390,97 ,433); my_Tine(243, 390,243, 433); my_llne(253, 390, 253,433); (luchtqangenstelsel) seteolor (7): my line(15,383,50,383); ay -llne(50, 383, 45,387); my)lne(50, 383, 45,379); SetColor(14); 5etllneStyle(CenterLn, 0, Nol"111111dth) I ay llne(25,92,315,92); 5etllneStyle(DashedLn, 0, Nol"111111dth); my llne(170,350, 170,433); my -aettextstyle(DefaultPont,Horh.Dir, 1); 5etColor(1 3); my_outtextxy(20,92, 'A 1

) ;my_outtextxy(320, 92, 'A'); my_outtextxy(118,2, 'Onderunzicht 1 );

my_outtextxy(69,339, 'Zijaanzicht Doorsnede A-A'); setColor(7); ay_outtextxy(2, 372, 'lucht'); Ch: •Readltey I lf (Ch•l83) or (Ch•l115) or (Ch•l72) or (Ch•l10'l then begin

my aettextstyle(GothicPont,HorizDir,4); my -outtextxy(S10,430, 'Splinter'); ay -settextstyle(SIIIol!Font, HorlzDir, 5); my:outtexhy(587, 432, '1992'); Ch:•ReadKey;

end; End;

END.

page: 2