Difference IfcDistributionPort / IfcPort

Hello there,

I have a question regarding IFCPORT / IFCDISTRIBUTIONPORT.
I describe the Ports of a FlowFitting with IFCDistributionport
And the Ports of an Object like a Energyconversiondevice (Chiller etc.) with IFCPORT

I can describe the relationship between IFCPORTs and IFCDISTRIBUTIONPORTs with IfcRelConnectsPorts

So what is the difference between IfcPort and IfcDistributionPort?
Can i use IfcPort for FlowFittings and IfcDistributionPort for describing Ports of Objects that aren’t flow fittings?

What are the differences between thes types of Ports?

Thank you very Much in advance.

From my reading of the standard, IfcPort is an abstract supertype of IfcDistributionPort. You should not instantiate it. IfcDistributionPort is the only concrete subtype, but there may be more in the future. Though you can not use IfcPort when you create a model instance, you can use it when you write a software and want to handle all (current and future) subtypes of IfcPort, that is when your software is only interested in the relationships (to element or other ports), not the additional attributes of the IfcDistributionPort.