=============================== DefineMainStreamOfUnitOperation =============================== .. rubric:: Description A stream that flows through a unit operation is declared along with its functional parts. These parts are the input stream, output stream, and the stream in between that participates in the unit operation. .. rubric:: Definition The main stream (x1) of a unit operation (x2) is defined. .. image:: DefineMainStreamOfUnitOperation.svg :: DefineMainStreamOfUnitOperation(x1, x2) <-> edm:ClassOfStream(x1) & ClassOfActivity(x2) & exists u1 exists u2 exists u3( edm:ClassOfStream(u1) & edm:ClassOfStream(u2) & edm:ClassOfStream(u3) & aix:StreamHasFunctionalPart(x1, u1) & aix:StreamHasFunctionalPart(x1, u2) & aix:StreamHasFunctionalPart(x1, u3) & aix:StreamIsInputOfUnitOperation(u1, x2) & aix:StreamParticipatesInUnitOperation(u2, x2) & aix:StreamIsOutputOfUnitOperation(u3, x2)) . .. rubric:: Roles 1. hasMainStream 2. hasUnitOperation .. rubric:: Restrictions * Role filler of hasMainStream must have entity type EdmClassOfStream. * Role filler of hasUnitOperation must have entity type ClassOfActivity. * Role filler of hasMainStream must be used as the role filler of hasStream with respect to the :doc:`../StreamHasFunctionalPart/index` pattern. * Role filler of hasUnitOperation must be used as the role filler of hasUnitOperation with respect to the :doc:`../StreamIsInputOfUnitOperation/index` pattern. * Role filler of hasUnitOperation must be used as the role filler of hasUnitOperation with respect to the :doc:`../StreamParticipatesInUnitOperation/index` pattern. * Role filler of hasUnitOperation must be used as the role filler of hasUnitOperation with respect to the :doc:`../StreamIsOutputOfUnitOperation/index` pattern.