Theory THERMODYNAMICS

A thermodynamics domain theory.

Theories included by Thermodynamics:

    Dme
       Cml
          Unary-Scalar-Functions
             Physical-Quantities
                Frame-Ontology
                   Kif-Relations
                      Kif-Sets
                      Kif-Lists
                         Kif-Numbers
                Abstract-Algebra
                   Frame-Ontology ...
             Standard-Units
                Physical-Quantities ...
          Standard-Units ...
    Cml ...

No theories include Thermodynamics.

122 classes defined:

    1-1-Control-Volume-Op-Mode
       Internally-Reversible-Adiabatic-Process
       Pump-Power-Input-Per-Mass-Approximation
    2-1-Open-Feedwater-Heater-System
    2-2-Closed-Feedwater-Heater-System
    2d-Stream-Operating-Mode
       Non-Saturated-Water-Stream-Enthalpy
       Saturated-Water-Stream-Enthalpy
       Saturated-Water-Stream-Entropy
       Saturated-Water-Stream-Specific-Volume
       2d-Stream-Mass-Flow-Rate
       2d-Stream-Enthalpy-Rate
       2d-Stream-Potential-Energy
       2d-Stream-Kinetic-Energy
    3-1-Open-Feedwater-Heater-System
    Air-Operating-Mode
       Control-Volume-Inlet-Stream-Thermodynamic-State
       Control-Volume-Outlet-Stream-Thermodynamic-State
    Boiler-System
    Compressor-System
    Control-Volume-Op-Mode
       Cycle-Heat-Input
       Cycle-Work-Output
       Control-Volume-Inlet-Stream-Ideal-Gas-Law
       Control-Volume-Outlet-Stream-Ideal-Gas-Law
       Control-Volume-Inlet-Stream-Thermodynamic-State
       Control-Volume-Outlet-Stream-Thermodynamic-State
       Control-Volume-Negligible-Pe-Change
       Control-Volume-Negligible-Ke-Change
    Earth-Bound-Model
       2d-Stream-Potential-Energy
    Extraction-Turbine-System
    Nozzle-System
    Pump-Operating-Mode
       Pump-Power-Input-Per-Mass-Approximation
    Pump-System
    Steam-Generator-With-Reheat-System
    Stream-Junction
    Substance
       Fuel
       Water
       Air
    Substance-Container
       Stream
          2d-Stream
       Control-Volume
          1-Input-Control-Volume
             1-1-Control-Volume
             1-2-Control-Volume
          1-Output-Control-Volume
             1-1-Control-Volume
             2-1-Control-Volume
             3-1-Control-Volume
          2-Input-Control-Volume
             3-Input-Control-Volume
                3-1-Control-Volume
             2-1-Control-Volume
             2-2-Control-Volume
          2-Output-Control-Volume
             1-2-Control-Volume
             2-2-Control-Volume
    System-With-Condensor
       Condensor-System
       Condensor-With-Heat-Transfer-System
    Thermal-Component-Op-Mode
       Cycle-Heat-Input
    Thermal-Cycle-Op-Mode
       Cycle-Heat-Input
       Cycle-Work-Output
    Thermal-Process
       Steady-State-Steady-Flow-Process
          Steady-Flow-Adiabatic-Process
             Steady-Flow-Isentropic-Process
             Steady-Flow-Adiabatic-Heat-Exchange
             Steady-Flow-Adiabatic-Expansion
             Steady-Flow-Adiabatic-Compression
             Steady-Flow-Throttling
             Steady-Flow-Adiabatic-Mixing
                Steady-Flow-Combustion-Process
             Steady-Flow-In-Nozzle
             Steady-Flow-In-Diffuser
          Steady-Flow-Isobaric-Process
             Steady-Flow-Isobaric-Heat-Transfer
          Steady-Flow-Isothermal-Process
          Steady-Flow-Heat-Transfer
             Steady-Flow-Isobaric-Heat-Transfer
          Steady-Flow-Expansion-Or-Compression
             Steady-Flow-Expansion
                Steady-Flow-Adiabatic-Expansion
                Steady-Flow-Throttling
                Steady-Flow-In-Nozzle
          Steady-Flow-Compression
             Steady-Flow-Adiabatic-Compression
             Steady-Flow-In-Diffuser
       Non-Steady-State-Flow-Process
    Thermal-Process-Op-Mode
       Cycle-Heat-Input
       Cycle-Work-Output
       Pump-Power-Input-Per-Mass-Approximation
    Thermal-System
       Thermal-Cycle
          Power-System-Eight-One
          Power-System-With-Reheat
          Power-System-With-Extraction-Turbines
       Thermal-Component
          Port
          1-Input-Thermal-Component
             1-1-Port-Thermal-Component
                Nozzle
                Simple-Turbine
                2-Port-Heat-Exchanger
                Compressor
                   Pump
                Pump
                Boiler
             1-2-Port-Thermal-Component
                Extraction-Turbine
          1-Output-Thermal-Component
             1-1-Port-Thermal-Component ...
             2-1-Port-Thermal-Component
                2-1-Open-Feedwater-Heater
             3-1-Port-Thermal-Component
                3-1-Open-Feedwater-Heater
          2-Input-Thermal-Component
             3-Input-Thermal-Component
                3-1-Port-Thermal-Component ...
             2-1-Port-Thermal-Component ...
             2-2-Port-Thermal-Component
                2-2-Open-Feedwater-Heater
                2-2-Closed-Feedwater-Heater
                Steam-Generator-With-Reheat
          2-Output-Thermal-Component
             1-2-Port-Thermal-Component ...
             2-2-Port-Thermal-Component ...
          Fuel-Consuming-Component
          Work-Consuming-Component
             Compressor ...
          Work-Producing-Component
             Internal-Combustion-Engine
             Turbine
                Simple-Turbine
                Extraction-Turbine
          Heating-Component
          Cooling-Component
          Rotating-Component
          Positive-Displacement-Component
             Reciprocating-Component
                Internal-Combustion-Engine
          Turbine ...
          Heat-Exchanger
             2-Port-Heat-Exchanger
             4-Port-Heat-Exchanger
             Open-Feedwater-Heater
                2-1-Open-Feedwater-Heater
                2-2-Open-Feedwater-Heater
                3-1-Open-Feedwater-Heater
             2-2-Closed-Feedwater-Heater
    Turbine-System
    Water-Operating-Mode
       Non-Saturated-Water-Stream-Enthalpy
       Saturated-Water-Stream-Enthalpy
       Saturated-Water-Stream-Entropy
       Saturated-Water-Stream-Specific-Volume

10 relations defined:

226 functions defined:

36 instances defined:

The following constants were used from included theories:

The following constants were undefined:

False True Adiabatic-Throttling State-Temperature *Dead-State*


Physical-dimension AMOUNT-DIMENSION

The SI dimension of amount, usually measured in moles.
Instance-Of: Physical-dimension

Physical-dimension CURRENT-DIMENSION

The SI dimension of electric current.
Instance-Of: Physical-dimension

Physical-dimension DIMENSIONLESS

The dimensionless dimension.
Instance-Of: Physical-dimension

Physical-dimension LENGTH-DIMENSION

The SI dimension of length.
Instance-Of: Physical-dimension

Physical-dimension LUMINOSITY-DIMENSION

The SI dimension of luminosity.
Instance-Of: Physical-dimension

Physical-dimension MASS-DIMENSION

The SI dimension of mass.
Instance-Of: Physical-dimension

Physical-dimension TEMPERATURE-DIMENSION

The SI dimension of temperature.
Instance-Of: Physical-dimension

Physical-dimension TIME-DIMENSION

The SI dimension of time.
Instance-Of: Physical-dimension

Physical-dimension MASS-RATE-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Mass-Rate-Dimension (/ Mass-Dimension Time-Dimension)) 


Physical-dimension VELOCITY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Velocity-Dimension (/ Length-Dimension Time-Dimension)) 


Physical-dimension AREA-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Area-Dimension (Expt Length-Dimension 2)) 


Physical-dimension VOLUME-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Volume-Dimension (Expt Length-Dimension 3)) 


Physical-dimension SPECIFIC-VOLUME-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Specific-Volume-Dimension (/ Volume-Dimension Mass-Dimension)) 


Physical-dimension ENERGY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Energy-Dimension
   (/ (* Mass-Dimension (Expt Length-Dimension 2)) 
      (Expt Time-Dimension 2) ))


Physical-dimension SPECIFIC-ENERGY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Specific-Energy-Dimension (/ Energy-Dimension Mass-Dimension)) 


Physical-dimension ENERGY-RATE-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Energy-Rate-Dimension (/ Energy-Dimension Time-Dimension)) 


Physical-dimension WORK-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Work-Dimension Energy-Dimension) 


Physical-dimension POWER-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Power-Dimension (/ Work-Dimension Time-Dimension)) 


Physical-dimension ENTROPY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Entropy-Dimension (/ Energy-Dimension Temperature-Dimension)) 


Physical-dimension SPECIFIC-ENTROPY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Specific-Entropy-Dimension (/ Entropy-Dimension Mass-Dimension)) 


Physical-dimension ENTROPY-RATE-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Entropy-Rate-Dimension (/ Entropy-Dimension Time-Dimension)) 


Physical-dimension PRESSURE-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Pressure-Dimension
   (/ Mass-Dimension (* Length-Dimension (Expt Time-Dimension 2))) )


Constant-quantity METER

Instance-Of: Constant-quantity
Quantity.Dimension: Length-dimension

Constant-quantity KILOGRAM

Instance-Of: Constant-quantity
Quantity.Dimension: Mass-dimension

Constant-quantity SECOND

Instance-Of: Constant-quantity
Quantity.Dimension: Time-dimension

Constant-quantity AMPERE

Instance-Of: Constant-quantity
Quantity.Dimension: Current-dimension

Constant-quantity KELVIN

Instance-Of: Constant-quantity
Quantity.Dimension: Temperature-dimension

Constant-quantity MOLE

Instance-Of: Constant-quantity
Quantity.Dimension: Amount-dimension

Constant-quantity CANDELA

Instance-Of: Constant-quantity
Quantity.Dimension: Luminosity-dimension

Physical-dimension MOLECULAR-WEIGHT-DIMENSION

the dimension of mass/mole
Instance-Of: Physical-dimension
Axioms:
(= Molecular-Weight-Dimension (/ Mass-Dimension Amount-Dimension)) 


Constant-quantity KG/MOL

Instance-Of: Constant-quantity
Quantity.Dimension: Molecular-weight-dimension
Axioms:
(= Kg/Mol (/ Kilogram Mole)) 


Physical-dimension DENSITY-DIMENSION

the dimension of mass/volume
Instance-Of: Physical-dimension
Axioms:
(= Density-Dimension (/ Mass-Dimension Volume-Dimension)) 


Constant-quantity KG/M^3

Instance-Of: Constant-quantity
Quantity.Dimension: Density-dimension
Axioms:
(= Kg/M^3 (/ Kilogram (Expt Meter 3))) 


Physical-dimension ACCELERATION-DIMENSION

the dimension of acceleration
Instance-Of: Physical-dimension
Axioms:
(= Acceleration-Dimension (/ Velocity-Dimension Time-Dimension)) 


Constant-quantity M/S^2

Instance-Of: Constant-quantity
Quantity.Dimension: Acceleration-dimension
Axioms:
(= M/S^2 (/ Meter (Expt Second 2))) 


Physical-dimension FREQUENCY-DIMENSION

Instance-Of: Physical-dimension
Axioms:
(= Frequency-Dimension (Expt Time-Dimension -1)) 


Relation MUTUAL-DEPENDENCE

mutual-dependence is an n-ary operator. The meaning is not

well-defined right now. Eg: (mutual-dependence (stream-pressure

2d-stream-1) (stream-temperature 2d-stream-1) (specific-entropy

2d-stream-1) (specific-enthalpy 2d-stream-1) (specific-internal-energy 2d-stream-1) (specific-volume

2d-stream-1)) We don't know how to compute this yet. It will be a

call to an outside routine or a table lookup.

Arity: 6

Function COMPUTE-AIR-THERMODYNAMIC-STATE

Computes the specific enthalpy from the temperature. Eg: (compute-air-thermodynamic-state (stream-temperature 2d-stream-1))

We don't know how to compute this yet. It will be a call to an

outside routine or a table lookup.

Arity: 2

Function COMPUTE-SATURATED-VAPOR-ENTHALPY

Computes the specific enthalpy of saturated vapor from the quality (0 or 1) and the pressure. Eg: (compute-saturated-vapor-entropy (stream-pressure (stream-involved ?self)) (quality (stream-involved
?self))) We don't know how to compute this yet. It will be a call to an outside routine or a table lookup.
Arity: 2

Function COMPUTE-SATURATED-VAPOR-ENTROPY

Computes the specific entropy of saturated vapor from the quality (0 or 1) and the pressure.

Eg: (compute-saturated-vapor-entropy (stream-pressure (stream-involved ?self))
(quality (stream-involved ?self)))

We don't know how to compute this yet. It will be a call to an outside routine or a table lookup.

Arity: 2

Function COMPUTE-SATURATED-VAPOR-SPECIFIC-VOLUME

Computes the specific volume of saturated vapor from the quality (0 or 1) and the pressure.

Eg: (compute-saturated-vapor-specific-volume (stream-pressure (stream-involved ?self))
(quality (stream-involved ?self)))

We don't know how to compute this yet. It will be a call to an outside routine or a table lookup.

Arity: 2

Function COMPUTE-ENTHALPY-PRESSURE-SPECIFIC-ENTROPY

Computes the enthalpy from pressure and specific entropy. We don't

compute this yet. It will be a call to an outside routine or a

table lookup.

Arity: 2

Class THERMAL-SYSTEM

thermodynamic system
Subclass-Of: Entity, Thing
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-System ?Self) 
             (And (Thermal-System ?Self) (Active ?Time Thing ?Self)) ))


Relation COMPONENT-CV

the control-volume associated with the system
Instance-Of: Connection, Relation
Arity: 2
Domain: Thermal-system
Range: Control-volume

Class THERMAL-CYCLE

a thermodynamic system involving a cycle
Subclass-Of: Entity, Thermal-system
Arity: 1
Has-Quantity-Function:
Back-work-ratio, Cycle-mass-rate, Net-heat-input-rate, Net-heat-output-rate, Net-work-output-rate, Thermal-efficiency

Slots Of Instances:

Back-Work-Ratio:
Slot-Documentation: the ratio of the pump work inut tot the work developed by the turbine
Cycle-Mass-Rate:
Slot-Documentation: the mass flow rate of the main medium flowing through the thermal cycle
Net-Heat-Input-Rate:
Slot-Documentation: the net heat input rate into the cycle from outside including only actively added heat such as heat added to the boiler but not including heat such as heat lost from the condenser
Net-Heat-Output-Rate:
Slot-Documentation: the net heat output rate of the thermal cycle
Net-Work-Output-Rate:
Slot-Documentation: the net work output rate of the thermal cycle
Thermal-Efficiency:
Slot-Documentation: thermal efficiency of the whole cycle defined as 'sum of work / heat input to the cycle'
Axioms:
(Forall (?Self ?Time) 
        (=> (Active ?Time Thermal-Cycle ?Self) 
            (= (/ (Lambda (?T) 
                          (If (= ?T ?Time) 
                              (Value-At (Net-Work-Output-Rate ?Self) 
                                        ?T)))
                  1000000 )
               (- (Lambda (?T) 
                          (If (= ?T ?Time) 
                              (Value-At (Net-Heat-Input-Rate ?Self) 
                                        ?T)))
                  (Lambda (?T) 
                          (If (= ?T ?Time) 
                              (Value-At (Net-Heat-Output-Rate ?Self) 
                                        ?T)))))))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-Cycle ?Self) 
             (And (Thermal-Cycle ?Self) 
                  (Active ?Time Thermal-System ?Self) )))

(=> (Thermal-Cycle ?Self) 
    (And (Quantity.Dimension (Net-Heat-Output-Rate ?Self) 
                             Power-Dimension)
         (Quantity.Dimension (Net-Work-Output-Rate ?Self) 
                             Power-Dimension)
         (Quantity.Dimension (Net-Heat-Input-Rate ?Self) 
                             Power-Dimension)
         (Quantity.Dimension (Thermal-Efficiency ?Self) 
                             Dimensionless)
         (Quantity.Dimension (Back-Work-Ratio ?Self) Dimensionless) 
         (Quantity.Dimension (Cycle-Mass-Rate ?Self) 
                             Mass-Rate-Dimension)))


Function NET-HEAT-OUTPUT-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Function NET-WORK-OUTPUT-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Function NET-HEAT-INPUT-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Function THERMAL-EFFICIENCY

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Function BACK-WORK-RATIO

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Function CYCLE-MASS-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-cycle
Range: Everywhere-continuous-quantity

Relation CYCLE-PROCESSES

the set of all the processes that are part of the cycle
Arity: 2
Domain: Thermal-cycle
Range: Thermal-process

Class THERMAL-PROCESS-OP-MODE

the operating modes of thermal processes
Subclass-Of: Model-fragment, Operating-mode-model
Arity: 1
Has-Participant-Function: Process-involved

Slots Of Instances:

Process-Involved:
Slot-Documentation: the thermal process involved in the operating mode
Axioms:
(Forall (?Self ?Process-Involved) 
        (<=> (And (= (Process-Involved ?Self) ?Process-Involved) 
                  (Thermal-Process-Op-Mode ?Self) )
             (And (Operating-Mode-Model ?Self) 
                  (Thermal-Process ?Process-Involved) )))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-Process-Op-Mode ?Self) 
             (And (Thermal-Process-Op-Mode ?Self) 
                  (Active ?Time Operating-Mode-Model ?Self) )))


Function PROCESS-INVOLVED

A participant function
Arity: 2
Participant-Function-Of: Thermal-process-op-mode

Class THERMAL-CYCLE-OP-MODE

the operating modes of thermal cycles
Subclass-Of: Model-fragment, Operating-mode-model
Arity: 1
Has-Participant-Function: Cycle-involved

Slots Of Instances:

Cycle-Involved:
Slot-Documentation: the thermal cycle involved in the operating mode
Axioms:
(Forall (?Self ?Cycle-Involved) 
        (<=> (And (= (Cycle-Involved ?Self) ?Cycle-Involved) 
                  (Thermal-Cycle-Op-Mode ?Self) )
             (And (Operating-Mode-Model ?Self) 
                  (Thermal-Cycle ?Cycle-Involved) )))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-Cycle-Op-Mode ?Self) 
             (And (Thermal-Cycle-Op-Mode ?Self) 
                  (Active ?Time Operating-Mode-Model ?Self) )))


Function CYCLE-INVOLVED

A participant function
Arity: 2
Participant-Function-Of: Thermal-cycle-op-mode

Class THERMAL-COMPONENT-OP-MODE

the operating modes of thermal components
Subclass-Of: Model-fragment, Operating-mode-model
Arity: 1
Has-Participant-Function: Component-involved

Slots Of Instances:

Component-Involved:
Slot-Documentation: the thermal components involved in the operating mode
Axioms:
(Forall (?Self ?Component-Involved) 
        (<=> (And (= (Component-Involved ?Self) ?Component-Involved) 
                  (Thermal-Component-Op-Mode ?Self) )
             (And (Operating-Mode-Model ?Self) 
                  (Thermal-Component ?Component-Involved) )))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-Component-Op-Mode ?Self) 
             (And (Thermal-Component-Op-Mode ?Self) 
                  (Active ?Time Operating-Mode-Model ?Self) )))


Function COMPONENT-INVOLVED

A participant function
Arity: 2
Participant-Function-Of: Thermal-component-op-mode

Class CYCLE-HEAT-INPUT

the operating mode of a thermal cycle for computing the net heat input rate
Subclass-Of:
Control-volume-op-mode, Model-fragment, Thermal-component-op-mode, Thermal-cycle-op-mode, Thermal-process-op-mode
Arity: 1
Axioms:
(Forall (?Self) 
        (<=> (Cycle-Heat-Input ?Self) 
             (And (Thermal-Process-Op-Mode ?Self) 
                  (Thermal-Cycle-Op-Mode ?Self) 
                  (Control-Volume-Op-Mode ?Self) 
                  (Thermal-Component-Op-Mode ?Self) 
                  (Process-Cv Process-Involved Cv-Involved) 
                  (Component-Cv Component-Involved Cv-Involved) 
                  (Connected-To-External-Heat-Source-P 
                      Component-Involved
                      True))))

(Forall 
    (?Self ?Time) 
    (=> (Active ?Time Cycle-Heat-Input ?Self) 
        (C+ (Lambda (?T) 
                    (If (= ?T ?Time) 
                        (Value-At (Heat-Rate (Process-Involved ?Self) )
                                  ?T)))
            (Lambda 
                (?T) 
                (If (= ?T ?Time) 
                    (Value-At (Net-Heat-Input-Rate 
                                  (Cycle-Involved ?Self) )
                              ?T))))))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Cycle-Heat-Input ?Self) 
             (And (Cycle-Heat-Input ?Self) 
                  (Active ?Time Thermal-Process-Op-Mode ?Self) 
                  (Active ?Time Thermal-Cycle-Op-Mode ?Self) 
                  (Active ?Time Control-Volume-Op-Mode ?Self) 
                  (Active ?Time Thermal-Component-Op-Mode ?Self) )))


Class CYCLE-WORK-OUTPUT

the operating mode of a thermal cycle for computing the net work output rate
Subclass-Of:
Control-volume-op-mode, Model-fragment, Thermal-cycle-op-mode, Thermal-process-op-mode
Arity: 1
Axioms:
(Forall (?Self) 
        (<=> (Cycle-Work-Output ?Self) 
             (And (Thermal-Process-Op-Mode ?Self) 
                  (Thermal-Cycle-Op-Mode ?Self) 
                  (Control-Volume-Op-Mode ?Self) 
                  (Process-Cv Process-Involved Cv-Involved) )))

(Forall 
    (?Self ?Time) 
    (=> (Active ?Time Cycle-Work-Output ?Self) 
        (C+ (Lambda (?T) 
                    (If (= ?T ?Time) 
                        (Value-At (Work-Rate (Process-Involved ?Self) )
                                  ?T)))
            (Lambda 
                (?T) 
                (If (= ?T ?Time) 
                    (Value-At 
                        (Net-Work-Output-Rate (Cycle-Involved ?Self)) 
                        ?T))))))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Cycle-Work-Output ?Self) 
             (And (Cycle-Work-Output ?Self) 
                  (Active ?Time Thermal-Process-Op-Mode ?Self) 
                  (Active ?Time Thermal-Cycle-Op-Mode ?Self) 
                  (Active ?Time Control-Volume-Op-Mode ?Self) )))


Class THERMAL-COMPONENT

a thermodynamic device
Subclass-Of: Entity, Thermal-system
Arity: 1
Has-Quantity-Function: Capacity, Connected-to-external-heat-source-p, Efficiency

Slots Of Instances:

Capacity:
Slot-Documentation: the capacity of a thermal component, which is defined differently depending on the type of the component
Connected-To-External-Heat-Source-P:
Slot-Documentation: the attribute indicating that the control volume is connected to an active external heat source
Efficiency:
Slot-Documentation: the efficiency of a thermal component, which is defined differently depending on the type of component
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Thermal-Component ?Self) 
             (And (Thermal-Component ?Self) 
                  (Active ?Time Thermal-System ?Self) )))

(=> (Thermal-Component ?Self) 
    (Quantity.Dimension (Efficiency ?Self) Dimensionless) )


Function EFFICIENCY

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-component
Range: Everywhere-continuous-quantity

Function CAPACITY

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-component
Range: Everywhere-continuous-quantity

Function CONNECTED-TO-EXTERNAL-HEAT-SOURCE-P

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Thermal-component
Range: Everywhere-continuous-quantity

Class PORT

In the thermal domain, all the ports are fluid ports.

Unlike 'terminal' in DME, a port is independent of a component.

It is a combination of a 'joint' and a 'terminal'.

Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Quantity-Function: Port-area, Port-elevation

Slots Of Instances:

Port-Area:
Slot-Documentation: the area of the cross section of the port
Port-Elevation:
Slot-Documentation: the elevation of the port with respect to some reference point
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Port ?Self) 
             (And (Port ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))

(=> (Port ?Self) 
    (And (Quantity.Dimension (Port-Area ?Self) Area-Dimension) 
         (Quantity.Dimension (Port-Elevation ?Self) Length-Dimension) ))


Function PORT-AREA

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Port
Range: Everywhere-continuous-quantity

Function PORT-ELEVATION

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Port
Range: Everywhere-continuous-quantity

Class 1-INPUT-THERMAL-COMPONENT

the class of thermal components with one inlet
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Attribute-Function: Component-inlet

Slots Of Instances:

Component-Inlet:
Slot-Documentation: the inlet port
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 1-Input-Thermal-Component ?Self) 
             (And (1-Input-Thermal-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))


Function COMPONENT-INLET

An attribute function
Arity: 2
Attribute-Function-Of: 1-input-thermal-component

Class 1-OUTPUT-THERMAL-COMPONENT

the class of thermal components with one outlet
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Attribute-Function: Component-outlet

Slots Of Instances:

Component-Outlet:
Slot-Documentation: the outlet port
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 1-Output-Thermal-Component ?Self) 
             (And (1-Output-Thermal-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))


Function COMPONENT-OUTLET

An attribute function
Arity: 2
Attribute-Function-Of: 1-output-thermal-component

Class 2-INPUT-THERMAL-COMPONENT

the class of thermal components with two inlets
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Attribute-Function: Component-inlet1, Component-inlet2

Slots Of Instances:

Component-Inlet1:
Slot-Documentation: the first inlet port
Component-Inlet2:
Slot-Documentation: the second inlet port
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 2-Input-Thermal-Component ?Self) 
             (And (2-Input-Thermal-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))


Function COMPONENT-INLET1

An attribute function
Arity: 2
Attribute-Function-Of: 2-input-thermal-component

Function COMPONENT-INLET2

An attribute function
Arity: 2
Attribute-Function-Of: 2-input-thermal-component

Class 3-INPUT-THERMAL-COMPONENT

the class of thermal components with three inlets
Subclass-Of: 2-input-thermal-component, Entity
Arity: 1
Has-Attribute-Function: Component-inlet3

Slots Of Instances:

Component-Inlet3:
Slot-Documentation: the third inlet port
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 3-Input-Thermal-Component ?Self) 
             (And (3-Input-Thermal-Component ?Self) 
                  (Active ?Time 2-Input-Thermal-Component ?Self) )))


Function COMPONENT-INLET3

An attribute function
Arity: 2
Attribute-Function-Of: 3-input-thermal-component

Class 2-OUTPUT-THERMAL-COMPONENT

the class of thermal components with two outlets
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Attribute-Function: Component-outlet1, Component-outlet2

Slots Of Instances:

Component-Outlet1:
Slot-Documentation: the first outlet port
Component-Outlet2:
Slot-Documentation: the second outlet port
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 2-Output-Thermal-Component ?Self) 
             (And (2-Output-Thermal-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))


Function COMPONENT-OUTLET1

An attribute function
Arity: 2
Attribute-Function-Of: 2-output-thermal-component

Function COMPONENT-OUTLET2

An attribute function
Arity: 2
Attribute-Function-Of: 2-output-thermal-component

Class 1-1-PORT-THERMAL-COMPONENT

The class of thermal components with one inlet and one outlet.
Subclass-Of: 1-input-thermal-component, 1-output-thermal-component, Entity
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 1-1-Port-Thermal-Component ?Self) 
             (And (1-1-Port-Thermal-Component ?Self) 
                  (Active ?Time 1-Input-Thermal-Component ?Self) 
                  (Active ?Time 1-Output-Thermal-Component ?Self) )))


Class 1-2-PORT-THERMAL-COMPONENT

The class of thermal components with one inlet and two outlets.
Subclass-Of: 1-input-thermal-component, 2-output-thermal-component, Entity
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 1-2-Port-Thermal-Component ?Self) 
             (And (1-2-Port-Thermal-Component ?Self) 
                  (Active ?Time 1-Input-Thermal-Component ?Self) 
                  (Active ?Time 2-Output-Thermal-Component ?Self) )))


Class 2-1-PORT-THERMAL-COMPONENT

the class of thermal components with two inlets and one outlet
Subclass-Of: 1-output-thermal-component, 2-input-thermal-component, Entity
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 2-1-Port-Thermal-Component ?Self) 
             (And (2-1-Port-Thermal-Component ?Self) 
                  (Active ?Time 2-Input-Thermal-Component ?Self) 
                  (Active ?Time 1-Output-Thermal-Component ?Self) )))


Class 2-2-PORT-THERMAL-COMPONENT

the class of thermal components with two inlets and two outlets
Subclass-Of: 2-input-thermal-component, 2-output-thermal-component, Entity
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 2-2-Port-Thermal-Component ?Self) 
             (And (2-2-Port-Thermal-Component ?Self) 
                  (Active ?Time 2-Input-Thermal-Component ?Self) 
                  (Active ?Time 2-Output-Thermal-Component ?Self) )))


Class 3-1-PORT-THERMAL-COMPONENT

the class of thermal components with three inlets and one outlet
Subclass-Of: 1-output-thermal-component, 3-input-thermal-component, Entity
Arity: 1
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time 3-1-Port-Thermal-Component ?Self) 
             (And (3-1-Port-Thermal-Component ?Self) 
                  (Active ?Time 3-Input-Thermal-Component ?Self) 
                  (Active ?Time 1-Output-Thermal-Component ?Self) )))


Class FUEL

the fuel used in power systems
Subclass-Of: Entity, Substance
Arity: 1
Has-Quantity-Function: Heating-value

Slots Of Instances:

Heating-Value:
Slot-Documentation: the magnitude of the enthalpy of combustion of the fuel
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Fuel ?Self) 
             (And (Fuel ?Self) (Active ?Time Substance ?Self)) ))


Function HEATING-VALUE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Fuel
Range: Everywhere-continuous-quantity

Class FUEL-CONSUMING-COMPONENT

the class of components which require fuel input
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Quantity-Function: Fuel-supply-rate, Heat-supply-rate

Slots Of Instances:

Fuel-Supply-Rate:
Slot-Documentation: the rate at which fuel is supplied to the fuel-consuming component
Heat-Supply-Rate:
Slot-Documentation: the rate at which heat is supplied to the fuel-consuming component
Axioms:
(Forall (?Self ?Time) 
        (=> (Active ?Time Fuel-Consuming-Component ?Self) 
            (= (Lambda (?T) 
                       (If (= ?T ?Time) 
                           (Value-At (Heat-Supply-Rate ?Self) ?T) ))
               (* (Lambda (?T) 
                          (If (= ?T ?Time) 
                              (Value-At (Fuel-Supply-Rate ?Self) ?T) ))
                  (Lambda (?T) 
                          (If (= ?T ?Time) 
                              (Value-At (Heating-Value Fuel) ?T) ))))))

(Forall (?Self ?Time) 
        (<=> (Active ?Time Fuel-Consuming-Component ?Self) 
             (And (Fuel-Consuming-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))

(=> (Fuel-Consuming-Component ?Self) 
    (And (Quantity.Dimension (Fuel-Supply-Rate ?Self) Mass-Dimension) 
         (Quantity.Dimension (Heat-Supply-Rate ?Self) 
                             Power-Dimension)))


Function FUEL-SUPPLY-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Fuel-consuming-component
Range: Everywhere-continuous-quantity

Function HEAT-SUPPLY-RATE

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Fuel-consuming-component
Range: Everywhere-continuous-quantity

Class WORK-CONSUMING-COMPONENT

the class of components which require work input
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Quantity-Function: Power-input

Slots Of Instances:

Power-Input:
Slot-Documentation: the power input into the work consuming component
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Work-Consuming-Component ?Self) 
             (And (Work-Consuming-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))

(=> (Work-Consuming-Component ?Self) 
    (Quantity.Dimension (Power-Input ?Self) Power-Dimension) )


Function POWER-INPUT

A quantity function
Instance-Of: Function, Quantity-function
Arity: 2
Quantity-Function-Of: Work-consuming-component
Range: Everywhere-continuous-quantity

Class WORK-PRODUCING-COMPONENT

This is the class of components which produce work output.
Subclass-Of: Entity, Thermal-component
Arity: 1
Has-Quantity-Function: Power-output

Slots Of Instances:

Power-Output:
Slot-Documentation: the power output of the work producing component
Axioms:
(Forall (?Self ?Time) 
        (<=> (Active ?Time Work-Producing-Component ?Self) 
             (And (Work-Producing-Component ?Self) 
                  (Active ?Time Thermal-Component ?Self) )))

(=> (Work-Producing-Component ?Self) 
    (Quantity.Dimension (Power-Output ?Self) Power-Dimension) )