## FCSys.Conditions.ByConnector.Chemical

Conditions for an Chemical connector

### Information

Extends from Modelica.Icons.Package (Icon for standard packages).

### Package Content

Name | Description
--- | ---
Potential | Specify chemical potential (measure current)
Current | Specify current (measure chemical potential)
Partial | Base model for a material condition

## FCSys.Conditions.ByConnector.Chemical.Potential

Specify chemical potential (measure current)

### Information

Extends from Partial (Base model for a material condition).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Specification of material condition
Boolean | internal | true | Use internal specification
RealExpression | set | redeclare Modelica.Blocks.So… | Source of internal specification
Properties upon outflow
Velocity | phi[Axis] | {0,0,0} | Velocity [L/T]
PotentialAbsolute | sT | 3000*U.K | Product of specific entropy and temperature [L2.M/(N.T2)]
Assumptions
Included transport axes
Boolean | inclTransX | true | X
Boolean | inclTransY | true | Y
Boolean | inclTransZ | true | Z
Measurement
RealOutput | y | chemical.Ndot | Measurement expression

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | u | Value of specified condition
Chemical | chemical | Connector for a species of a chemical reaction
Measurement
output RealOutput | y | Measurement expression

### Modelica definition

    model Potential "Specify chemical potential (measure current)"
      extends Partial(final y=chemical.Ndot);

    equation
      chemical.g = u_final;

    end Potential;

## FCSys.Conditions.ByConnector.Chemical.Current

Specify current (measure chemical potential)

### Information

Extends from Partial (Base model for a material condition).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Specification of material condition
Boolean | internal | true | Use internal specification
RealExpression | set | redeclare Modelica.Blocks.So… | Source of internal specification
Properties upon outflow
Velocity | phi[Axis] | {0,0,0} | Velocity [L/T]
PotentialAbsolute | sT | 3000*U.K | Product of specific entropy and temperature [L2.M/(N.T2)]
Assumptions
Included transport axes
Boolean | inclTransX | true | X
Boolean | inclTransY | true | Y
Boolean | inclTransZ | true | Z
Measurement
RealOutput | y | chemical.g | Measurement expression

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | u | Value of specified condition
Chemical | chemical | Connector for a species of a chemical reaction
Measurement
output RealOutput | y | Measurement expression

### Modelica definition

    model Current "Specify current (measure chemical potential)"
      extends Partial(final y=chemical.g);

    equation
      chemical.Ndot = u_final;

    end Current;

## FCSys.Conditions.ByConnector.Chemical.Partial

Base model for a material condition

### Information

Extends from FCSys.Icons.Conditions.SingleShort (Short icon for a single-connector boundary condition).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Specification of material condition
Boolean | internal | true | Use internal specification
RealExpression | set | redeclare Modelica.Blocks.So… | Source of internal specification
Properties upon outflow
Velocity | phi[Axis] | {0,0,0} | Velocity [L/T]
PotentialAbsolute | sT | 3000*U.K | Product of specific entropy and temperature [L2.M/(N.T2)]
Assumptions
Included transport axes
Boolean | inclTransX | true | X
Boolean | inclTransY | true | Y
Boolean | inclTransZ | true | Z
Measurement
RealOutput | y |  | Measurement expression

### Connectors

Type | Name | Description
--- | --- | ---
input RealInput | u | Value of specified condition
Chemical | chemical | Connector for a species of a chemical reaction
Measurement
output RealOutput | y | Measurement expression

### Modelica definition

    partial model Partial "Base model for a material condition"
      import Modelica.Math.BooleanVectors.countTrue;
      import Modelica.Math.BooleanVectors.index;
      extends FCSys.Icons.Conditions.SingleShort;

      parameter Boolean internal=true "Use internal specification";

      replaceable Modelica.Blocks.Sources.RealExpression set if internal
        constrainedby Modelica.Blocks.Interfaces.SO
        "Source of internal specification";

      // Properties upon outflow
      parameter Q.Velocity phi[Axis]={0,0,0} "Velocity";
      parameter Q.PotentialAbsolute sT=3000*U.K
        "Product of specific entropy and temperature";

      // Included components of translational momentum
      parameter Boolean inclTransX=true "X";
      parameter Boolean inclTransY=true "Y";
      parameter Boolean inclTransZ=true "Z";

      Connectors.RealInput u if not internal "Value of specified condition";

      Connectors.RealOutput y "Measurement expression";
      output Q.Velocity phi_actual[n_trans]=actualStream(chemical.phi)
        "Velocity of the actual stream";
      output Q.Potential sT_actual=actualStream(chemical.sT)
        "Specific entropy-temperature product of the actual stream";
      Connectors.Chemical chemical(n_trans=n_trans)
        "Connector for a species of a chemical reaction";

    protected
      final parameter Integer n_trans=countTrue({inclTransX,inclTransY,inclTransZ})
        "Number of components of translational momentum";
      final parameter Integer cartTrans[n_trans]=index({inclTransX,inclTransY,
          inclTransZ})
        "Cartesian-axis indices of the components of translational momentum";
      Connectors.RealOutputInternal u_final "Final value of specified condition";

    equation
      chemical.phi = phi[cartTrans];
      chemical.sT = sT;

      connect(set.y, u_final);

      connect(u, u_final);
    end Partial;