## FCSys.Regions.PEMs

Proton exchange membranes

### Information

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

### Package Content

Name | Description
--- | ---
PEM | Proton exchange membrane
DuPontN112 | DuPontTM Nafion® N-112
DuPontN115 | DuPontTM Nafion® N-115
DuPontN117 | DuPontTM Nafion® N-117
DuPontNE1110 | DuPontTM Nafion® NE-1110
DuPontNE1135 | DuPontTM Nafion® NE-1135
DuPontNRE211 | DuPontTM Nafion® NRE-1110
DuPontNRE212 | DuPontTM Nafion® NRE-1110

## FCSys.Regions.PEMs.PEM

Proton exchange membrane

### Information

This model represents the proton exchange membrane of a PEMFC. The x axis extends from the anode to the cathode. By default, the cross-sectional area in the yz plane is 50 cm2.

The transport of protons includes inertance or inductance (i.e., translational momentum is stored) in the x direction in the subregions with index (x = 1, y > 1, z > 1). This is for numerical reasons, although in reality there is inductance.

Assumptions:

1. There are no pores in the PEM. All H2O is absorbed into the ionomer itself.
2. There is no cross-over of the reactant gases.
3. There is no cross-over of the reactant gases.

For more information, please see the Region model.

Extends from Region (Base model for a 3D array of subregions).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
replaceable model Subregion | FCSys.Subregions.SubregionIo… | Base subregion model
Geometry
Length | L_x[:] | {100}*U.um | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransX | true | X
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
replaceable model Subregion | Base subregion model
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model PEM "Proton exchange membrane"
      // extends FCSys.Icons.Names.Top4;

      // Note:  Extensions of PEM should be placed directly in the PEMs
      // package rather than subpackages (e.g., by manufacturer) so that
      // __Dymola_choicesFromPackage can be used.  Dymola 7.4 launches the
      // parameter dialogs too slowly when __Dymola_choicesAllMatching is
      // used.

      extends Region(
        L_x={100}*U.um,
        L_y={8}*U.cm,
        L_z={6.25}*U.cm,
        final inclTransX=true,
        inclTransY=false,
        inclTransZ=false,
        redeclare replaceable model Subregion = FCSys.Subregions.SubregionIonomer (
              ionomer(
              'inclSO3-'=true,
              'inclH+'=true,
              inclH2O=true,
              'SO3-'(final mu=0,final epsilon=1),
              'H+'(initEnergy=Init.none, sigma=40*U.S/U.m),
              H2O(initEnergy=Init.none,upstreamX=false))),
        subregions(ionomer('H+'(consTransX={{{if x > 1 or (y == 1 and z == 1) then
                  ConsTrans.steady else ConsTrans.dynamic for z in 1:n_z} for y in 1
                  :n_y} for x in 1:n_x}))));

    protected
      Q.Current I_states_1[:](
        each stateSelect=StateSelect.always,
        each start=0,
        each fixed=true) = subregions[1, 2:n_y, 1].ionomer.'H+'.I[1] if n_y > 1
        "Forced states, set #1";
      Q.Current I_states_2[:, :](
        each stateSelect=StateSelect.always,
        each start=0,
        each fixed=true) = subregions[1, :, 2:n_z].ionomer.'H+'.I[1] if n_z > 1
        "Forced states, set #2";
      // Note:  These variables avoid dynamic state selection in Dymola 2014.

      outer Conditions.Environment environment "Environmental conditions";

    end PEM;

## FCSys.Regions.PEMs.DuPontN112

DuPontTM Nafion® N-112

### Information

The default properties are based on [DuPont2004N].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {51*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontN112 "DuPontTM Nafion® N-112"
      extends PEM(L_x={51*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004N]:
      //     Density:  (100 g/m2)/(51 um) = 1.9608 g/cm3

    end DuPontN112;

## FCSys.Regions.PEMs.DuPontN115

DuPontTM Nafion® N-115

### Information

The default properties are based on [DuPont2004N].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {127*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontN115 "DuPontTM Nafion® N-115"
      extends PEM(L_x={127*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004N] and [DuPont2005]:
      //     Density:  (250 g/m2)/(127 um) = 1.9685 g/cm3

    end DuPontN115;

## FCSys.Regions.PEMs.DuPontN117

DuPontTM Nafion® N-117

### Information

The default properties are based on [DuPont2004N].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {183*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontN117 "DuPontTM Nafion® N-117"
      extends PEM(L_x={183*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004N] and [DuPont2005]:
      //     Density:  (360 g/m2)/(183 um) = 1.9672 g/cm3

    end DuPontN117;

## FCSys.Regions.PEMs.DuPontNE1110

DuPontTM Nafion® NE-1110

### Information

The default properties are based on [DuPont2004N].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {254*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontNE1110
      "DuPontTM Nafion® NE-1110"
      extends PEM(L_x={254*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004N] and [DuPont2005]:
      //     Density:  (500 g/m2)/(254 um) = 1.9685 g/cm3

    end DuPontNE1110;

## FCSys.Regions.PEMs.DuPontNE1135

DuPontTM Nafion® NE-1135

### Information

The default properties are based on [DuPont2004N].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {89*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontNE1135
      "DuPontTM Nafion® NE-1135"
      extends PEM(L_x={89*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004N] and [DuPont2005]:
      //     Density:  (190 g/m2)/(89 um) = 2.1348 g/cm3

    end DuPontNE1135;

## FCSys.Regions.PEMs.DuPontNRE211

DuPontTM Nafion® NRE-1110

### Information

The default properties are based on [DuPont2004N], except that the default value of protonic conductivity (σ = `0.083*U.S/U.cm`) is for the DuPontTM Nafion® N and NE series [DuPont2004N]. It is not listed for DuPontTM Nafion® NRE-211 in [DuPont2004NRE].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {25.4*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontNRE211
      "DuPontTM Nafion® NRE-1110"
      extends PEM(L_x={25.4*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004NRE]:
      //     Density:  (50 g/m2)/(25.4 um) = 1.9685 g/cm3

    end DuPontNRE211;

## FCSys.Regions.PEMs.DuPontNRE212

DuPontTM Nafion® NRE-1110

### Information

The default properties are based on [DuPont2004N], except that the default value of protonic conductivity (σ = `0.083*U.S/U.cm`) is for the DuPontTM Nafion® N and NE series [DuPont2004N]. It is not listed for DuPontTM Nafion® NRE-212 in [DuPont2004NRE].

For more information, please see the PEM model.

Extends from PEM (Proton exchange membrane).

### Parameters

Type | Name | Default | Description
--- | --- | --- | ---
Geometry
Length | L_x[:] | {50.8*U.um} | Lengths along the x axis [L]
Length | L_y[:] | {8}*U.cm | Lengths along the y axis [L]
Length | L_z[:] | {6.25}*U.cm | Lengths across the z axis [L]
Assumptions
Included transport axes
Boolean | inclTransY | false | Y
Boolean | inclTransZ | false | Z

### Connectors

Type | Name | Description
--- | --- | ---
BoundaryBus | xNegative[n_y, n_z] | Negative boundary along the x axis
BoundaryBus | xPositive[n_y, n_z] | Positive boundary along the x axis
BoundaryBus | yNegative[n_x, n_z] | Negative boundary along the y axis
BoundaryBus | yPositive[n_x, n_z] | Positive boundary along the y axis
BoundaryBus | zNegative[n_x, n_y] | Negative boundary along the z axis
BoundaryBus | zPositive[n_x, n_y] | Positive boundary along the z axis

### Modelica definition

    model DuPontNRE212
      "DuPontTM Nafion® NRE-1110"
      extends PEM(L_x={50.8*U.um},Subregion(ionomer('H+'(sigma=0.083*U.S/U.cm))));
      // Additional properties not yet incorporated [DuPont2004NRE]:
      //     Density:  (100 g/m2)/(50.8 um) = 1.9685 g/cm3

    end DuPontNRE212;