EBSILON®Professional Online Dokumentation
EbsScript / EbsScript Interface Units / InterfaceUnit-Fluid
In diesem Thema
    InterfaceUnit-Fluid
    In diesem Thema

    InterfaceUnit-Fluid


    Diese Funktionen dienen zum Zugriff auf Stoffzusammensetzungen von Fluiden und zum Berechnen von Stoffwerten.

    Um diese Funktionen zu nutzen, muss die Unit "Fluid" in ein EbsScript eingebunden werden, in der die Stoffwertfunktionen selbst und die in diesen Funktionen verwendeten Datentypen definiert werden:

    uses @Fluid;

    Die Definitionen können über den EbsScript-Editor-Menübefehl "EbsScript" -> "Interface Unit öffnen" -> "Fluid" betrachtet werden.  Die Implementierung dieser Funktionen ist allerdings nicht in dieser Unit enthalten, sondern in EBSILON intern realisiert.

     

    Hinweis zu den Werten des Datentyps PhaseEnum (definiert in der Interface-Unit @System), der von der Stoffwertefunktion FuncPHASE_OF_PH geliefert wird:

    PHASE (P,H) : Ermittlung der Phase aus Druck und Enthalpie:  0: keine Phase berechnet
                                                                                                         1: unterkühlte Flüssigkeit
                                                                                                         2: überhitztes Gas
                                                                                                         3: 2-Phasengemisch flüssig / gasförmig
                                                                                                         4: feste Phase
                                                                                                         5: im 2-Phasengemisch fest / flüssig 
                                                                                                         6: im 2-Phasengemisch fest / gasförmig         

    Weitere Werte siehe in der Interface-Unit @System.      

    Der in vielen Funktionsaufrufen als Parameter verwendete Datentyp FluidData enthält alle für das jeweilige Fluid benötigten Daten, die je nach Fluid (fluidType)sehr unterschiedlich sein können.
    Für nähere Details schauen Sie sich die Definitionen in der Interface-Unit selbst an.

    type FluidData =
      record

       ncv : Real;                       //  net calorific value [kJ/kg]; on electric lines "ncv" is used for PHEL (Phase shift between voltage and current)

       fluidType:FluidTypeEnum;          //  composition-type

       fluidAnalysis : FluidAnalysisType;//  composition

       fluidPhaseLiq : FluidAnalysisType;//  fraction of liquid phases

       fugit:Real;                       //  fugitive portions (coal only)

       rho:Real;                         //  density

       zfac:Real;                        //  Z factor (oil only)

       coalType:CoalTypeEnum;            //  coal type (coal only)

       cpcorr:Real;                      //  ash cp correction factor

       realGasCorrection:RealGasCorrectionEnum;     //  real-gas-correction to be used

       medium:Integer;                   //  media type (2-phase fluid only)

       salt:Real;                        //  salt content (salt water only)

       fkal:Integer;                     //  media type of Kalina-fluid (1:Ammonia/Water; 2:Water/Lithium Bromide)

       xi:Real;                          //  mass fraction of refrigerant medium

       NCVCalculationMethod:NCVCalculationMethodEnum; // net calorific value calculation method

       NCVReferenceTemperature:Real;                  // 

       NCVCalculationMethodElementary:NCVCalculationMethodElementaryEnum; // net calorific value calculation method

       fluidExtension:smartptr FluidExtension;         // may contain additional data

       universalFluid:smartptr UniversalFluidType;     // may contain UniversalFluid

       nasaFluid:smartptr NASAFluidType;               // may contain NASA-Fluid

       waterSteamFormulation:SteamTableEnum;           // steam-table use
       gasFormulation:GasTableEnum;                    // gas-table used
       electric_phases:Integer;                        // number of phases (electric-lines only)

       electric_phase_shift:Real;                      // phases-shift (electric-lines only) in degrees

    end;

    Basis-Funktionen zum Zugriff auf Stoff- bzw. Fluidzusammensetzungen und Stoffdatenaufrufe                                            

    Name

    Zweck

    Argumente

    Rückgabewert

    Beispiel

    fluidGetAnalysis

    liefert die Stoffanalyse zu einem Ebsilon-Objekt (Leitung oder Bauteil 1 bzw. 33)

    1: ebsData: zu untersuchendes Ebsilon-Objekt

    2: FluidData: die gewünschte Stoffanalyse

    3:CompositionDefinedByEnum: gewünschte Art der Vorgabe (z.B. Massen- oder Volumenanteile)

    BOOLEAN:
    true: o.k.
    false: Fehler

    fluidGetAnalysis (BoundaryValue, fluidData, CompositionDefinedByVolume);
    rO2:=fluidData.fluidAnalysis[SubstanceO2];
    rCO2:=fluidData.fluidAnalysis[SubstanceCO2];

    fluidSetAnalysis

    setzt die Stoffanalyse zu einem Ebsilon-Objekt (Bauteil 1 bzw. 33)

     

    1: ebsData: zu änderndes Ebsilon-Objekt

    2: FluidData: die gewünschte Stoffanalyse

    3:CompositionDefinedByEnum: vorliegende Art der Vorgabe für die Stoffanalyse

    BOOLEAN:
    true: o.k.
    false: Fehler

    fluidSetAnalysis (BoundaryValue, fluidData, CompositionDefinedByVolume);

    fluidTranslateAnalysis

    rechnet eine Stoffanalyse von einer Darstellung in eine andere um

    1:FluidData: die gewünschte Stoffanalyse

    2:CompositionDefinedByEnum: vorliegende Art der Vorgabe

    3:CompositionDefinedByEnum: gewünschte Art der Vorgabe

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;fluidTranslateAnalysis (fluidData, CompositionDefinedByVolume, CompositionDefinedByMass);

    fluidTable

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:FluidData: die vorzugebende Stoffanalyse

    7:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;
    var fluidData:fluidData;
    Phase:PhaseEnum;
    r1,r2,rResult:real;
    r1:=1.013;
    r2:=20.0;
    fluidGetAnalysis(Air, fluidData);
    fluidTable ( rResult, Phase, r1, r2, FuncH_OF_PT, fluidData, CompositionDefinedByVolume);

    fluidTable3

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

     

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:REAL: 3. Argument für die Stoffwertfunktion

    6:FuncEnum: aufzurufende Funktion

    7:FluidData: die vorzugebende Stoffanalyse

    8:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;
    var fluidData:fluidData;
    Phase:PhaseEnum;
    r1,r2,r3,rResult:real;
    r1:=1.013;
    r2:=0.6;
    r3:=0.02;
    fluidGetAnalysis( HumidAir, fluidData); //Humid Air line
    fluidTable3 ( rResult, Phase, r1, r2, r3, FuncT_OF_PPHI, fluidData);

    fluidNormalize

    Normiert eine Materialzusammensetzung. In einer  NormalizeControl Struktur wird definiert, welche Anteile der Zusammensetzung beibehalten und welche modifiziert werden sollen.

    Man beachte, dass hier nur die FluidData-Struktur und noch nicht das Ebsilon-Objekt im Modell geändert wird.

    1: FluidData: die zu normierende Zusammensetzung

    2: CompositionDefined ByEnum: gewünschte Art der Vorgabe (z.B. Massen- oder Volumenanteile)

    3: NormalizeControl: Struktur zur Festlegung der Art der Normierung

    BOOLEAN:
    true: o.k.
    false: Fehler

    fluidGetAnalysis (BoundaryValue, fluidData, CompositionDefinedByVolume);
    fluidData.fluidAnalysis[SubstanceO2]:=0.04;
    control.action:=NormalizeFillUpSelected;
    control.selection[SubstanceCO2]:=true;
    fluidNormalize (fluidData, CompositionDefinedByVolume, control);
    fluidSetAnalyis (BoundaryValue, fluidData, CompositionDefinedByVolume);

    Zwei praktische Abkürzungen für die Sequenz fluidGetAnalysis, fluidTable:
    fluidTableObject

    Mit dieser Funktion kann man direkt eine Stoffwertfunktionen für ein Objekt aufrufen. Die Funktion erkennt automatisch, um welchen Fluid-Typ es sich handelt, und ruft dann die entsprechende Funktion auf. Sofern eine Zusammensetzung oder weitere Parameter benötigt werden, werden diese aus dem angegeben Objekt übernommen.

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:ebsData: Object

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;

    var r:real;
    phase:PhaseEnum;
    begin
       fluidTableObject ( r, phase, 1, 500, FuncH_OF_PT, Fluegas_1 );
    println (r);

    end.

    fluidTable3Object

    Mit dieser Funktion kann man direkt die Stoffwertfunktionen für ein Objekt aufrufen. Die Funktion erkennt automatisch, um welchen Fluid-Typ es sich handelt, und ruft dann die entsprechende Funktion auf. Sofern eine Zusammensetzung oder weitere Parameter benötigt werden, werden diese aus dem angegeben Objekt übernommen.

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:ebsData: Object - z. B. Leitung (Name)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;
    var   
        r1,r2,r3,rResult:real;

    begin
    r1:=1.013;
    r2:=0.6;
    r3:=0.02
    fluidTable3Object ( rResult, Phase, r1, r2, r3, FuncT_OF_PPHI, HumidAir);
    end.

     

    Weitere Funktionen für Stoffdatenaufrufe zu bestimmten Leitungstypen

    Zur Berechnung von Stoffdaten für bestimmte Leitungstypen sind zwei Sätze von Funktionen implementiert, bei denen der (obsolete) Parameter „Phase“ nicht erforderlich ist.

    Im ersten Satz wird das Berechnungsergebnis als Parameter zurückgeben, während der Rückkehrcode die Information erhält, ob die Berechnung erfolgreich war (true) oder nicht (false).

    Dieser erste Satz besteht aus folgenden Funktionen:

    fluidPropertyCall
    fluidPropertyCallAnalysis
    fluidPropertyCallFlueGas
    fluidPropertyCallWST and fluidPropertyCallWaterSteam
    fluidPropertyCallSalt
    fluidPropertyCallBinaryMixture
    fluidPropertyCallUser2Phase
    fluidPropertyCallThermoLiquid
    fluidPropertyCallThermoLiquidUser
    fluidPropertyCallHumidAir
    fluidProperty3Call (with three arguments)
    fluidProperty3CallAnalysis
    fluidProperty3CallFlueGas
    fluidProperty3CallHumidAir
    fluidProperty3CallThermoLiquidUser
    fluidProperty3CallUser2Phase
       

    Der zweite Satz ist funktionell zu benutzen, d.h. das Berechnungsergebnis wird als Rückgabewert zurückgegeben. In einem optionalen Argument kann angegeben werden,
    welcher Wert im Fehlerfall zurückgegeben werden soll. Der Standard-Fehlerwert ist -999.

    Das ist insbesondere nützlich in Textfeldern, um so berechnete Werte direkt im Modell darstellen zu können.

    Dieser zweite Satz besteht aus folgenden Funktionen:

    fluidProperty
    fluidPropertyAnalysis
    fluidPropertyFlueGas
    fluidPropertyWST and fluidPropertyWaterSteam
    fluidPropertySalt
    fluidPropertyBinaryMixture
    fluidPropertyUser2Phase
    fluidPropertyThermoLiquid
    fluidPropertyThermoLiquidUser
    fluidPropertyHumidAir
    fluidProperty3 (with three arguments)
    fluidProperty3Analysis
    fluidProperty3FlueGas
    fluidProperty3HumidAir
    fluidProperty3ThermoLiquidUser
    fluidProperty3User2Phase
          

    Der erste Funktionssatz

    Name

    Zweck

    Argumente

    Rückgabewert

    Beispiel

    fluidPropertyCall

    ruft die Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:EBSDATA: objekt - z. B. Leitungsbezeichner (Name)

    BOOLEAN:
    true: o.k.
    false: Fehler

    r1:=1.013;
    r2:=20.0;
    fluidPropertyCall( rResult, r1, r2, FuncH_OF_PT, ebsData);

    fluidPropertyCallAnalysis

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:FluidData: die gewünschte Stoffanalyse

    6:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse 

    BOOLEAN:
    true: o.k.
    false: Fehler

    r1:=1.013;
    r2:=20.0;
    fluidPropertyCallAnalysis( rResult, r1, r2, FuncH_OF_PT, fluidData, CompositionDefinedByMass);

    fluidPropertyCallFlueGas ruft eine Stoffwertfunktionen vom klassischen Typ Rauchgas auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:FluidData: die vorzugebende Stoffanalyse

    6:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse 

    BOOLEAN:
    true: o.k.
    false: Fehler
    r1:=1.013;
    r2:=20.0;
    fluidPropertyCallFlueGas ( rResult, r1, r2, FuncH_OF_PT, fluidData, CompositionDefinedByMass);

    fluidPropertyCallWST

    bzw.

    fluidPropertCallWaterSteam

    ruft eine Stoffwertfunktionen vom klassischen Typ "Wasser/Dampf" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    var      r1,r2,rResult:real;    

    begin

        r1:=1.013;
        r2:=20.0;
        fluidPropertyCallWST ( rResult,  r1,  r2, FuncH_OF_PT);   
        println (rResult);

    end.

    fluidPropertyCallSALT

    ruft eine Stoffwertfunktionen vom klassischen Typ "Salzwasser" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:REAL: salt (Anteil Salz an der
       Gesamtmasse)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var    r1,r2,rResult:real;

        begin

        r1:=1.013;

        r2:=20.0;

        fluidPropertyCallSalt ( rResult, r1, r2,   FuncH_OF_PT, 0.035);

        println (rResult);

    end.

    fluidPropertyCallBinaryMixture

    ruft eine Stoffwertfunktionen vom Typ "binäre Mischung" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die
       Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: INTEGER: Typ der binären Mischung:
       1=Ammoniak/Wasser
       2=Wasser/Lithiumbromid

    6: REAL: XI (Massenanteil des Kältemittels v. Gesamtmasse)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var   r1,r2,rResult:real;

    begin

        r1:=1.013;

        r2:=30.0;

        fluidPropertyCallBinaryMixture( rResult, r1, r2, FuncH_OF_PT, 1, 0.8);

        println (rResult);

    end.

    fluidPropertyCallUser2Phase

    ruft eine Stoffwertfunktionen vom Typ "User2Phase" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: INTEGER: Mediumtyp

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    var  r1,r2,rResult:real;

    begin

        r1:=1.013;
        r2:=20.0;

        fluidPropertyCallUser2Phase (rResult, r1, r2, FuncH_OF_PT, -1022);   
        // Ethanol

        println (rResult);

    end.

    fluidPropertyCallThermoLiquid

    ruft eine Stoffwertfunktionen  der Bibliothek für Thermoflüssigkeiten für einen vordefiniertes Fluid (Thermoöl, Salzschmelze) auf

    :REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: ThermoLiquidTypeEnum: Thermoliquid-Typ

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    var r1,r2,rResult:real;

    begin

        r1:=20;
        r2:=380.0;
        fluidPropertyCallThermoLiquid (rResult, r1, r2, FuncH_OF_PT, ThermoLiquidTypeDowtherm_A);   
        // Ethanol

        println (rResult);
    end.

    fluidPropertyCallThermoLiquidUser

    ruft eine Stoffwertfunktionen  der Bibliothek für Thermoflüssigkeiten für ein selbst definiertes Fluid auf. Die benötigten Stoffparameter sind zuvor im EbsScript zu setzen:

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    4:const fluidExtensionThermo
       liquid: FluidExtensionThermo
       liquid

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;
    var r:real;
    flAttr:FluidExtensionThermoLiquid;

    begin

    flAttr.thermoLiquidType:=ThermoLiquidTypeUserDefined;
    flAttr.mol_weight:=100;
    flAttr.t_min:=200;
    flAttr.t_max:=400;
    flAttr.viscosity:=ThermoLiquidUserDefinedViscosityUseEta;
    flAttr.cp[0]:=1.5;
    flAttr.cp[0]:=0.005;

    fluidTableThermoLiquidUser( r, 20, 380, FuncH_OF_PT, flAttr );

    println (r);
    end.  

    fluidPropertyCallHumidAir

    ruft eine Stoffwertfunktionen vom Typ "Feuchte Luft" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:REAL: XI (Spez. Wasseranteil)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var    r1,r2,rResult:real;    

    begin

        r1:=2;
        r2:=25;
        fluidPropertyCallHumidAir(rResult,r1,r2,FuncH_OF_PT, 0.005);  

        println (rResult);
    end.

    fluidProperty3Call

    (mit 3 Argumenten)

    ruft eine Stoffwertfunktionen für ein beliebiges Fluid mit 3 Argumenten auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    4:EBSDATA: objekt

    BOOLEAN:
    true: o.k.
    false: Fehler

     

     

    fluidProperty3CallAnalysis

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion (z.B phi for FuncXIW OF PTPhi; Tf for FuncXIW OF  PTTf)

    5:FuncEnum: aufzurufende Funktion

    6:FluidData: die vorgegebene Stoffanalyse

    7:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse 

    BOOLEAN:
    true: o.k.
    false: Fehler

    r1:=1.013;
    r2:=20.0;
    r3:=0,8
     fluidProperty3CallAnalysis( rResult, r1, r2, r3, FuncXIW_OF_PTPhi, fluidData, CompositionDefinedByMass);

    fluidProperty3CallFlueGas ruft  für ein vorgegebenes Rauchgas eine Stoffwertfunktion der Rauchgastafel (klassisches Fluid) auf, die 3 Argumente benötigt

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:fluidData:  die vorgegebene Stoffanalyse
    7:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse 

    BOOLEAN:
    true: o.k.
    false: Fehler
    fluidProperty3CallHumidAir ruft  für eine vorgegebene feuchte Luft eine Stoffwertfunktion der Feuchte-Luft-Tafel LibHuAirXiw auf, die 3 Argumente benötigt

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:REAL; xi: Wasser-Anteil

    BOOLEAN:
    true: o.k.
    false: Fehler
    fluidProperty3CallThermoLiquidUser ruft  für eine vorgegebenes Öl / Schmelze eine Stoffwertfunktion auf, die 3 Argumente benötigt

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:fluidData:  die vorgegebene Stoffanalyse des Öls ( der Schmelze

    BOOLEAN:
    true: o.k.
    false: Fehler

    fluidProperty3CallUser2Phase

    ruft eine Stoffwertfunktionen  vom Typ "User2Phase" auf

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:REAL: 3. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6: INTEGER: Mediumtyp

    BOOLEAN:
    true: o.k.
    false: Fehler

                   

     

     

     

     Der zweite Funktionssatz

    Name

    Zweck

    Argumente

    Rückgabewert

    Beispiel

    fluidProperty

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:EBSDATA: objekt

    5:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @Fluid;

    var

    r, rError:real;

    begin

    r:=fluidProperty(1.0135199, 370, FuncH_OF_PT, Fluegas_1);

    println (r)
    end.

    fluidPropertyAnalysis

    ruft eine Stoffwertfunktionen für ein gegebenes Fluid auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:FluidData: die gewünschte Stoffanalyse

    5:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    r1:=1.013;
    r2:=20.0;
    rResult:=fluidPropertyAnalysis( rResult, r1, r2, FuncH_OF_PT, fluidData,CompositionDefinedByMass);

    fluidPropertyWST

      bzw.

    fluidPropertyWaterSteam

    ruft eine Stoffwertfunktionen für ein Fluid vom klassischen Typ "Wasser/Dampf" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;
    var r1,r2,rResult:real;   

    begin

        r1:=1.013;    r2:=20.0;

        rResult:=fluidPropertyWST ( r1, r2, FuncH_OF_PT);  

        println (rResult);
    end.

    fluidPropertyFlueGas ruft eine Stoffwertfunktionen für ein Fluid vom  klassischen Typ "Rauchgas" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:FluidData: die vorzugebene Stoffanalyse

    5:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    fluidPropertySalt

    ruft eine Stoffwertfunktionen für ein Fluid vom klassischen Typ "Salzwasser" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:REAL: salt (Anteil Salz an der
       Gesamtmasse)

    5:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;

    var  r1,r2,rResult:real;
    begin

        r1:=1.013;
        r2:=20.0;
        rResult:= fluidPropertySalt (r1, r2, FuncH_OF_PT, 0.035);
        println (rResult);

    end.

    fluidPropertyBinaryMixture

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Binäre Mischung" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die
       Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4: INTEGER: Typ der binären Mischung:
       1=Ammoniak/Wasser
       2=Wasser/Lithiumbromid

    5: REAL: XI (Massenanteil des Kältemittels v. Gesamtmasse)

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;

    var r1,r2,rResult:real;

    begin

        r1:=1.013;
        r2:=30.0
        rResult:= fluidPropertyBinaryMixture( r1, r2, FuncH_OF_PT, 1, 0.8);
        println (rResult);

    end.

    fluidPropertyUser2Phase

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "User2Phase" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4: INTEGER: Mediumtyp

    5:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;
    var   r1,r2,rResult:real;
    begin
        r1:=1.013;
        r2:=20.0;
        rResult := fluidPropertyUser2Phaser (r1, r2, FuncH_OF_PT, -1022);   
        // Ethanol
        println (rResult);
    end.

    fluidPropertyThermoLiquid

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Thermoflüssigkeit" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4: ThermoLiquidTypeEnum: Thermoliquid-Typ

    5:REAL: return on error value (default is -999)

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;
    var  r1,r2,rResult:real;
    begin

        r1:=20;
        r2:=380.0;
        rResult := fluidPropertyThermoLiquid (r1, r2, FuncH_OF_PT, ThermoLiquidTypeDowtherm_A); 
        println (rResult);
    end.

    fluidPropertyThermoLiquidUser

    Mit dieser Funktion kann man die Bibliothek für Thermoflüssigkeiten für einen vordefiniertes Fluid (Thermoöl, Salzschmelze) aufrufen.

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:CONST: fluidExtensionThermo
       liquid: FluidExtensionThermo
       liquid

    5:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @Fluid;
    var r:real;
    flAttr:FluidExtensionThermoLiquid;

    begin
       flAttr.thermoLiquidType := ThermoLiquidTypeUserDefined;
       flAttr.mol_weight :=100;
        flAttr.t_min :=200;
        flAttr.t_max :=400;
        flAttr.viscosity:= ThermoLiquidUserDefinedViscosityUseEta;
        flAttr.cp[0] :=1.5;
        flAttr.cp[0] :=0.005;
        r:= fluidPropertyThermoLiquidUser ( 20, 380, FuncH_OF_PT, flAttr );
        println (r);
    end.

    fluidPropertyHumidAir

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Feuchte Luft" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:FuncEnum: aufzurufende Funktion

    4:REAL: XI (Spez. Wasseranteil)

    5:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

    uses @fluid;
    var  r1,r2,rResult:real;   
    begin
        r1:=2;
        r2:=25;
        rResult:= fluidPropertyHumidAir( r1, r2, FuncH_OF_PT, 0.005);  
        println (rResult);

    end.

    fluidProperty3

    (mit 3 Argumenten)

    ruft eine Stoffwertfunktionen, die drei Argumente benötigt, für ein Fluid auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:EBSDATA: objekt

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

                   

     

    fluidProperty3Analysis

    ruft eine Stoffwertfunktionen mit drei Argumenten für ein gegebenes Fluid auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5:FluidData: die gewünschte Stoffanalyse

    6:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    7:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

     

    fluidProperty3FlueGas ruft eine Stoffwertfunktionen, die drei Argumente benötigt, für ein Fluid vom klassischen Typ Rauchgas auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: fluidData: vorzugebendes Rauchgas

    6:CompositionDefinedByEnum: Art der Vorgabe der Stoffanalyse

    7:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis
    fluidProperty3HumidAir ruft eine Stoffwertfunktionen, die drei Argumente benötigt, für ein Fluid vom Typ Feuchte Luft auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: REAL: ix: Wassergehalt

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

     

    fluidProperty3User2Phase

    ruft eine Stoffwertfunktionen, die drei Argumente benötigt, für ein Fluid vom Typ "User2Phase" auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: INTEGER: Mediumtyp

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

                   

     

    fluidProperty3ThermoLiquidUser ruft eine Stoffwertfunktionen, die drei Argumente benötigt, für ein Fluid vom Typ Öl / Schmelze auf

    1:REAL: 1. Argument für die Stoffwertfunktion

    2:REAL: 2. Argument für die Stoffwertfunktion

    3:REAL: 3. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    5: FluidExtensionThermoLiquid: vorzugebendes Öl

    6:REAL: return on error value (default is -999)

    REAL: errechnetes Ergebnis

     

    Gruppe von veralteten Funktionen - stattdessen sollten die Funktionen fluidProperty(Call)... benutzt werden

    Name Zweck Argumente Rückgabewert Beispiel

    fluidTableWST

    ruft eine Stoffwertfunktionen für ein Fluid vom klassischen Typ "Wasser/Dampf" auf

     

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var   r1,r2,rResult:real;

        iphase:PhaseEnum;

    begin

        r1:=1.013;

        r2:=20.0;

        fluidTableWST( rResult, iPhase, r1, r2, FuncH_OF_PT);   

        println (rResult);

    end.

    fluidTableSalt

    ruft eine Stoffwertfunktionen für ein Fluid vom klassischen Typ "Salzwasser" auf

     

    1:REAL: errechnetes Ergebnis

    2:Phase: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6: REAL: Massenanteil Salz als Teil der Gesamtmasse)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var  r1,r2,rResult:real;

        begin

        r1:=1.013;

        r2:=20.0;

        fluidTableSalt ( rResult, r1, r2, FuncH_OF_PT, 0.01);

        println (rResult);

    end.

    fluidTableBinaryMixture

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "binäre Mischung" auf

     

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6: INTEGER: Typ der binären Mischung:
       1=Ammoniak/Wasser
       2=Wasser/Lithiumbromid

    7: REAL: Massenanteil des Kältemittels von Gesamtmasse

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var    r1,r2,rResult:real;

        iphase:PhaseEnum;

    begin

        r1:=1.013;

        r2:=-30.0;

        fluidTableBinaryMixture( rResult, iPhase, r1, r2,  FuncH_OF_PT, 1, 0.8);

        println (rResult);

    end.

    fluidTableUser2Phase

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "User2Phase" auf

     

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6: INTEGER: Mediumtyp

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;

    var  r1,r2,rResult:real;

        iphase:PhaseEnum;

    begin

        r1:=1.013;

        r2:=20.0;

        fluidTableUser2Phase( rResult, iPhase, r1, r2, FuncH_OF_PT, -1022);    // Ethanol

        println (rResult);

    end.

    fluidTableThermoLiquid

    Mit dieser Funktion kann man die Bibliothek für Thermoflüssigkeiten für einen vordefiniertes Fluid (Thermoöl, Salzschmelze) aufrufen.

    1:REAL: errechnetes Ergebnis

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6: ThermoLiquidTypeEnum: Thermoliquid-Typ

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @Fluid;

    var r:real;

    begin

    fluidTableThermoLiquid( r, 20, 380, FuncH_OF_PT,ThermoLiquidTypeDowtherm_A );

    println (r);

    end.

    fluidTableThermoLiquidUser

    Mit dieser Funktion kann man die Bibliothek für Thermoflüssigkeiten für ein selbst definiertes Fluid aufrufen. Die benötigten Stoffparameter sind zuvor im EbsScript zu setzen:

    1:REAL: errechnetes Ergebnis

    2:REAL: 1. Argument für die Stoffwertfunktion

    3:REAL: 2. Argument für die Stoffwertfunktion

    4:FuncEnum: aufzurufende Funktion

    4:const fluidExtensionThermo
       liquid: FluidExtensionThermo
       liquid

     

    uses @Fluid;
    var r:real; flAttr:FluidExtensionThermoLiquid;

    begin
       flAttr.thermoLiquidType :=ThermoLiquidTypeUserDefined;
       flAttr.mol_weight :=100;
       flAttr.t_min :=200;
       flAttr.t_max :=400;
       flAttr.viscosity := ThermoLiquidUserDefinedViscosityUseEta
       flAttr.cp[0] :=1.5;
       flAttr.cp[0] :=0.005;
       fluidTableThermoLiquidUser( r, 20, 380, FuncH_OF_PT, flAttr );
       println

    fluidTableHumidAir

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Feuchte-Luft" auf

     

    1:REAL: errechnetes Ergebnis

    2:Phase: Enum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem
    Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:Real: xi

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    var    r1,r2,rResult:real;                   
        iPhase:PhaseEnum;   

    begin
        r1:=2;
        r2:=25;
        fluidTableHumidAir( rResult ,iPhase,  r1, r2, FuncH_OF_PT, 0.005);  
        println (rResult);
    end.

    fluidGetUniversalFluid

    liefert zu einem Ebsilon-Objekt (einer Leitung oder einem Bauteil 1 bzw. 33) mit dem Fluidtyp "Universalfluid" die Daten zu diesem Universalfluid

    1: ebsData: zu untersuchendes Ebsilon-Objekt

    2: UniversalFluidType: Datenstruktur zur Aufnahme der Universalfluid-Daten

    3: UniversalCompositionDefinedByEnum: gewünschte Art der Vorgabe (z.B. Massen- oder Volumenanteile)

    BOOLEAN:
    true: o.k.
    false: Fehler

    if (fluidGetUniversalFluid (obj, universalData,
       UniversalCompositionDefinedByMass)) then

    begin
        nLibs:=length(universalData.libraries);
        for iLib:=1 to nLibs do  begin
            lib:=universalData.libraries[iLib-1];
            println("Library ",lib.library,": ",lib.fraction,"\n");
            if (lib.fraction > 1.0e-7) then begin
                nParts:=length(lib.substanceParts);
                for iPart:=1 to nParts do begin
                    part:=lib.substanceParts[iPart-1];
                    if (part.fraction > 1.0e-7) then begin
                        println ("Substance ",part.substance,
                       ": ",part.fraction);
                    end;
                end;
            end;
        end;
    end;

    fluidSetUniversalFluid

    trägt die Daten aus einer Universalfluid-Datenstruktur in ein Ebsilon-Objekt (eine Leitung oder ein Bauteil 1 bzw. 33) mit dem Fluidtyp "Universalfluid" ein

    1: ebsData: zu änderndes Ebsilon-Objekt

    2: UniversalFluidType: Datenstruktur mit den Universalfluid-Daten

    3: UniversalCompositionDefinedByEnum: verwendete Art der Vorgabe (z.B. Massen- oder Volumenanteile)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    var    universalData: UniversalFluidType;
    begin
        setLength (universalData.libraries, 2);
        universalData.libraries[0]. library :=UniversalLibraryLIBIF97;
        universalData.libraries[1]. library :=UniversalLibraryFDBR;
        universalData.libraries[0]. fraction:=0.1;  
        universalData.libraries[1]. fraction:=0.9;
        setLength(universalData.l ibraries[1].substanceParts, 2);
       universalData.libraries[1]. substanceParts[0]. substance:= UniversalSubstanceN2;
        universalData.libraries[1]. substanceParts[0]. fraction:= 0.7;               
        universalData.libraries[1]. substanceParts[1]. substance:= UniversalSubstanceO2;
       universalData.libraries[1]. substanceParts[1]. fraction:= 0.3;  
        if (fluidSetUniversalFluid (Startvalue, universalData, UniversalCompositionDefinedByMass)) then begin
            println ("ok");
        end;
    end.

    fluidTableUniversalFluid

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Universalfluid" auf

     

    1:REAL: errechnetes Ergebnis

    2:Phase: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem
    Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:FuncEnum: aufzurufende Funktion

    6:UniversalFluidType: Datenstruktur mit den Universalfluid-Daten

    7:UniversalCompositionDefinedByEnum: verwendete Art der Vorgabe (z.B. Massen- oder Volumenanteile)

    BOOLEAN:
    true: o.k.
    false: Fehler

    uses @fluid;
    varr1,r2,rResult:real;
        iphase:PhaseEnum;
        universalData:UniversalFluidType;

    begin

        setLength (universalData.libraries, 2)
        universalData.libraries[0] .library :=UniversalLibraryLIBIF97;
        universalData.libraries[1] .library :=UniversalLibraryFDBR;
        universalData.libraries[0] .fraction :=0.1;  
        universalData.libraries[1] .fraction :=0.9;
        setLength (universalData.libraries[1] .substanceParts, 2);
       universalData.libraries[1] .substanceParts[0].substance :=UniversalSubstanceN2;
        universalData.libraries[1] .substanceParts[0].fraction := 0.7; 
       universalData.libraries[1] .substanceParts[1].substance :=UniversalSubstanceO2;
       universalData.libraries[1] .substanceParts[1].fraction :=0.3;  

        r1:=1.013;
        r2:=20.0
        fluidTableUniversalFluid( rResult, iPhase, r1, r2, FuncH_OF_PT, universalData, UniversalCompositionDefinedByMass );   
        println (rResult);
    end.

    fluidTable3UniversalFluid ruft eine Stoffwertfunktionen für ein Fluid vom Typ "Universalfluid" auf Mit zusätzlichem 3. Argument wie oben

    fluidTable3User2Phase

    ruft eine Stoffwertfunktionen für ein Fluid vom Typ "User2Phase" auf

     

    1:REAL: errechnetes Ergebnis

    2:PhaseEnum: Phase wird nicht berechnet (Wert 0)
    Hinweis: Phase kann nur mit explizitem Aufruf (PHASE (P,H)) ermittelt werden.

    3:REAL: 1. Argument für die Stoffwertfunktion

    4:REAL: 2. Argument für die Stoffwertfunktion

    5:REAL: 3. Argument für die Stoffwertfunktion

    6:FuncEnum: aufzurufende Funktion

    7: INTEGER: Mediumtyp

    BOOLEAN:
    true: o.k.
    false: Fehler

                   

     

    fluidTable3ThermoLiquid wie oben Mit zusätzlichem 3. Argument wie oben
    fluidTable3ThermoLiquidUser wie oben Mit zusätzlichem 3. Argument wie oben
    fluidTable3HumidAir wie oben Mit zusätzlichem 3. Argument wie oben

    uses @fluid;

    var phase:PhaseEnum; result:real;

    begin
    fluidTable3HumidAir (result, phase, 1.1, 35.53, 28.77, FuncXIW_of_PTTf, 0.0);
    end.