modelFixed
Fixed properties
Extends from Ion (Base model for an ion).
Information
Assumptions:
- The generalized resistivities (η, θ) are fixed (e.g., independent of thermodynamic state).
- The electrochemical reaction rate is governed by the electrons. Therefore, the specific exchange current is zero (τ′ = 0) for protons.
- The conductivity is mapped to the mobility of the protons by assuming that the mobility of the substrate (e.g., C19HF37O5S-) is zero.
The default electrical conductivity (σ = 8.3*U.S/U.m)
is for DuPontTM Nafion® N-112 [DuPontN112].
This is for the interaction between H+ and the solid; it does not include the additional voltage loss
due to electro-osmotic drag (with H2O).
The default thermal resistivity (θ = U.m*U.K/(0.1661*U.W)) is of H gas
(rather than H+) at 300 K from [Schetz1996, p. 139].
Table 1 lists the properties at other temperatures.
T/U.K |
η |
θ*U.W |
|---|---|---|
| 200 | 1/3.8e-6 | 1/0.1197 |
| 300 | 1/5.3e-6 | 1/0.1661 |
| 400 | 1/6.7e-6 | 1/0.2094 |
| 500 | 1/8.1e-6 | 1/0.2507 |
| 600 | 1/9.3e-6 | 1/0.2906 |
| 700 | 1/10.6e-6 | 1/0.3292 |
| 800 | 1/11.8e-6 | 1/0.3670 |
| 900 | 1/13.0e-6 | 1/0.4040 |
| 1000 | 1/14.2e-6 | 1/0.4403 |
| 1100 | 1/15.3e-6 | 1/0.4761 |
| 1200 | 1/16.5e-6 | 1/0.5114 |
| 1300 | 1/17.6e-6 | 1/0.5462 |
| 1400 | 1/18.7e-6 | 1/0.5807 |
| 1500 | 1/19.8e-6 | 1/0.6149 |
| 1600 | 1/20.9e-6 | 1/0.6487 |
| 1700 | 1/22.0e-6 | 1/0.6823 |
| 1800 | 1/23.1e-6 | 1/0.7156 |
| 1900 | 1/24.2e-6 | 1/0.7488 |
| 2000 | 1/25.2e-6 | 1/0.7817 |
| 2100 | 1/26.3e-6 | 1/0.8144 |
| 2200 | 1/27.3e-6 | 1/0.8470 |
| 2300 | 1/28.4e-6 | 1/0.8794 |
| 2400 | 1/29.4e-6 | 1/0.9117 |
| 2500 | 1/30.5e-6 | 1/0.9438 |
| 2600 | 1/31.5e-6 | 1/0.9758 |
| 2700 | 1/32.5e-6 | 1/1.0077 |
| 2800 | 1/33.6e-6 | 1/1.0395 |
| 2900 | 1/34.6e-6 | 1/1.0711 |
| 3000 | 1/35.6e-6 | 1/1.1027 |
| 3100 | 1/36.6e-6 | 1/1.1347 |
| 3200 | 1/37.7e-6 | 1/1.1664 |
| 3300 | 1/38.7e-6 | 1/1.1978 |
| 3400 | 1/39.7e-6 | 1/1.2288 |
| 3500 | 1/40.7e-6 | 1/1.2592 |
| 3600 | 1/41.6e-6 | 1/1.2884 |
| 3700 | 1/42.5e-6 | 1/1.3171 |
| 3800 | 1/43.4e-6 | 1/1.3455 |
| 3900 | 1/44.4e-6 | 1/1.3735 |
| 4000 | 1/45.2e-6 | 1/1.4012 |
| 4100 | 1/46.1e-6 | 1/1.4290 |
| 4200 | 1/47.0e-6 | 1/1.4566 |
| 4300 | 1/47.9e-6 | 1/1.4842 |
| 4400 | 1/48.8e-6 | 1/1.5116 |
| 4500 | 1/49.7e-6 | 1/1.5389 |
| 4600 | 1/50.6e-6 | 1/1.5661 |
| 4700 | 1/51.5e-6 | 1/1.5933 |
| 4800 | 1/52.3e-6 | 1/1.6204 |
| 4900 | 1/53.2e-6 | 1/1.6477 |
| 5000 | 1/54.1e-6 | 1/1.6750 |
For more information, please see the Species model.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | n_intra (from Species) | 0 | Number of exchange connections within the phase |
| Integer | n_inter (from Species) | 0 | Number of exchange connections with other phases |
| Initialization | |||
| Init | initMaterial (from Fluid) | Init.pressure | Method of initializing the material state |
| Init | initEnergy (from Fluid) | Init.temperature | Method of initializing the thermal state |
| Q.Amount | N_IC (from Species) | Initial amount of material | |
| Q.Density | rho_IC (from Species) | Initial density | |
| Q.Volume | V_IC (from Species) | Initial volume | |
| Q.PressureAbsolute | p_IC (from Species) | Initial pressure | |
| Q.TemperatureAbsolute | T_IC (from Species) | Initial temperature | |
| Q.Potential | h_IC (from Species) | Initial specific enthalpy | |
| Q.Potential | g_IC (from Species) | Initial Gibbs potential | |
| Assumptions | |||
| Integer | n_trans (from Species) | 1 | Number of transport axes |
| Integer | n_chem (from Fluid) | 0 | Number of reaction and phase change processes |
| Independence factors | |||
| Q.NumberAbsolute[n_intra,n_trans] | k_intra_Phi (from Species) | ones(n_intra, n_trans) | For translational exchange among species within the phase |
| Q.NumberAbsolute[n_intra] | k_intra_Q (from Species) | ones(n_intra) | For thermal exchange among species within the phase |
| Assumptions › Formulation of the conservation equations | |||
| ConsThermo | consMaterial (from Fluid) | ConsThermo.dynamic | Material |
| Boolean | consRot (from Fluid) | false | Conserve rotational momentum |
| ConsTrans | consTransX (from Fluid) | ConsTrans.dynamic | X-axis translational momentum |
| ConsTrans | consTransY (from Fluid) | ConsTrans.dynamic | Y-axis translational momentum |
| ConsTrans | consTransZ (from Fluid) | ConsTrans.dynamic | Z-axis translational momentum |
| ConsThermo | consEnergy (from Fluid) | ConsThermo.dynamic | Energy |
| Assumptions › Axes with upstream discretization | |||
| Boolean | upstreamX (from Fluid) | true | X |
| Boolean | upstreamY (from Fluid) | true | Y |
| Boolean | upstreamZ (from Fluid) | true | Z |
| Assumptions › Flow conditions | |||
| Boolean | approxVelocity (from Fluid) | true | Calculate normal boundary velocities assuming uniform density |
| Q.NumberAbsolute[Axis] | Nu_Phi (from Fluid) | {4, 4, 4} | Translational Nusselt numbers |
| Q.NumberAbsolute | Nu_Q (from Fluid) | 1 | Thermal Nusselt number |
| Advanced | |||
| Q.Amount | N0 (from Fluid) | 0 | Nominal amount of material to prevent depletion |
| Material properties | |||
| Q.ConductivityElectrical | sigma (from Ion) | Data.mu()/Data.v_Tp() | Electrical conductivity |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Connectors.Intra[n_intra] | intra (from Species) | Connectors to exchange translational momentum and energy within the phase | |
| Connectors.Inter[n_inter] | inter (from Species) | Connectors to exchange translational momentum and energy with all other species | |
| Connectors.Dalton | dalton (from Species) | Connector for additivity of pressure | |
| Connectors.Boundary[n_trans,Side] | boundaries (from Fluid) | Connectors for transport | |
| Connectors.Chemical[n_chem] | chemical (from Fluid) | Connector for reactions and phase change |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Q.Mobility | mu (from Species) | Data.mu(T, v) | Mobility |
| Q.TimeAbsolute | nu (from Species) | Data.nu(T, v) | Thermal independity |
| Q.Amount | N (from Species) | Amount of material | |
| Q.TemperatureAbsolute | T (from Species) | Temperature | |
| Q.Velocity[n_trans] | phi (from Species) | Velocity | |
| Q.PressureAbsolute | p (from Species) | Pressure | |
| Q.Potential | g (from Species) | Specific Gibbs energy | |
| Q.Mass | M (from Species) | Mass | |
| Q.VolumeSpecific | v (from Species) | Specific volume | |
| Q.Potential | h (from Species) | Specific enthalpy | |
| Q.NumberAbsolute | s (from Species) | Specific entropy | |
| Q.Density | rho (from Species) | 1/v | Density |
| Q.MassVolumic | mrho (from Species) | Data.m*rho | Volumic mass |
| Q.Amount | S (from Species) | N*s | Entropy |
| Q.CapacityThermalSpecific | c_p (from Species) | Data.c_p(T, p) | Isobaric specific heat capacity |
| Q.CapacityThermalSpecific | c_v (from Species) | Data.c_v(T, p) | Isochoric specific heat capacity |
| Q.PressureReciprocal | beta (from Species) | Data.beta(T, p) | Isothermal compressibility |
| Q.TimeAbsolute[n_intra,n_trans] | tau_PhiE_intra (from Species) | {Data.m*mu*k_intra_Phi[i, :] for i in 1:n_intra} | Time constants for translational intra-phase exchange |
| Q.TimeAbsolute[n_inter,n_trans] | tau_PhiE_inter (from Species) | {Data.m*mu*k_inter_Phi[i, :] for i in 1:n_inter} | Time constants for translational inter-phase exchange |
| Q.TimeAbsolute[n_intra] | tau_QE_intra (from Species) | c_p*nu*k_intra_Q | Time constants for thermal intra-phase exchange |
| Q.TimeAbsolute[n_inter] | tau_QE_inter (from Species) | c_p*nu*k_inter_Q | Time constants for thermal inter-phase exchange |
| Q.Force[n_trans] | f_DE (from Species) | sum(intra[i].mPhidot for i in 1:n_intra) + sum(inter[i].mPhidot for i in 1:n_inter) | Friction from other configurations (diffusive exchange) |
| Q.Power | Edot_DE (from Species) | sum(intra[i].phi*intra[i].mPhidot for i in 1:n_intra) + sum(inter[i].phi*inter[i].mPhidot for i in 1:n_inter) + sum(intra.Qdot) + sum(inter.Qdot) | Rate of diffusion of energy from other configurations |
| Q.Continuity | zeta (from Fluid) | Data.zeta(T, v) | Continuity |
| Q.Fluidity | eta (from Fluid) | Data.eta(T, v) | Fluidity |
| Q.ResistivityThermal | theta (from Fluid) | Data.theta(T, v) | Thermal resistivity |
| Q.TimeAbsolute[n_chem] | tauprime (from Fluid) | zeros(n_chem) | Specific exchange currents |
| Q.Length[:] | kL (from Fluid) | L[cartTrans] | Effective transport length |
| Q.Current[n_trans] | I (from Fluid) | Current | |
| Q.Velocity[n_trans,Side] | phi_boundaries (from Fluid) | Normal velocities at the boundaries | |
| Q.Force[n_trans] | f (from Fluid) | Total normal translational force on pairs of boundaries | |
| Q.Force[n_trans] | minusDeltaf (from Fluid) | Dynamic and nonequilibrium compression forces | |
| Q.Density[n_trans,Side] | rho_boundaries (from Fluid) | fill(1, n_trans, 2)./Data.v_Tp(boundaries.T, boundaries.p) | Densities at the boundaries |
| Q.VolumeRate[n_trans,Side] | Vdot_boundaries (from Fluid) | boundaries.Ndot./rho_boundaries | Volume flow rates into the boundaries |
| Q.PressureAbsolute[n_trans] | q (from Fluid) | (Data.m/2)*phi.*I./Aprime | Dynamic pressure |
| Q.Velocity[n_chem,n_trans] | phi_chemical (from Fluid) | actualStream(chemical.phi) | Velocity of the chemical streams |
| Q.PotentialAbsolute[n_chem] | sT_chemical (from Fluid) | actualStream(chemical.sT) | Specific entropy-temperature product of the chemical streams |
| Q.Temperature[n_trans] | DeltaT (from Fluid) | Delta(boundaries.T) | Differences in temperatures across the boundaries |
| Q.Pressure[n_trans] | Deltap (from Fluid) | Delta(boundaries.p) | Differences in pressures across the boundaries |
| Q.Power[n_trans,Side] | Hprimedot (from Fluid) | (Data.h(boundaries.T, boundaries.p) + Data.m*phi_boundaries.^2/2).*boundaries.Ndot | Flow rates of enthalpy + kinetic energy into the boundaries |
| Q.Potential[n_trans,Side] | g_boundaries (from Fluid) | Data.g(boundaries.T, boundaries.p) | Gibbs potentials at the boundaries |
| Q.Potential[n_trans] | Deltag (from Fluid) | Delta(g_boundaries) | Differences in Gibbs potentials across the boundaries |
| Q.TimeAbsolute[n_trans] | tau_NT (from Fluid) | fill(zeta*beta*N, n_trans)./(2*Aprime) | Time constants for material transport |
| Q.TimeAbsolute[n_trans] | tau_PhiT (from Fluid) | M*eta*kL./(2*Nu_Phi[cartTrans].*Aprime) | Time constants for transverse translational transport |
| Q.TimeAbsolute[n_trans] | tau_QT (from Fluid) | (N*c_v*theta/(2*Nu_Q))*kL./Aprime | Time constants for thermal transport |
| Q.Number[n_trans] | Pe_N (from Fluid) | tau_NT.*I/N | Material Peclet numbers |
| Q.Number[n_trans] | Pe_Phi (from Fluid) | tau_PhiT.*I/N | Translational Peclet numbers |
| Q.Number[n_trans] | Pe_Q (from Fluid) | tau_QT.*I/N | Thermal Peclet numbers |
| Q.Force[n_trans,n_trans] | mphiI (from Fluid) | outerProduct(I, Data.m*phi) | Bulk rate of translational advection (1st index: transport axis, 2nd index: translational component) |
| Q.VolumeRate[n_trans] | Vdot (from Fluid) | v*I | Bulk volumetric flow rate |
| Q.Power[n_trans] | hI (from Fluid) | h*I | Bulk enthalpy flow rate |
| Q.Force[n_trans] | Ma (from Fluid) | M*(der(phi)/U.s + environment.a[cartTrans]) + N*Data.z*environment.E[cartTrans] | Acceleration force (including acceleration due to body forces) |
| Q.Force[n_trans] | f_thermo (from Fluid) | -Delta(boundaries.p).*Aprime | Thermodynamic force |
| Q.Force[n_trans] | f_AE (from Fluid) | Data.m*sum((actualStream(chemical[i].phi) - phi)*chemical[i].Ndot for i in 1:n_chem) | Acceleration force due to advective exchange |
| Q.Force[n_trans] | f_AT (from Fluid) | {sum(((if i == j then phi_boundaries[j, :] else boundaries[j, :].phi[cartWrap(cartTrans[i] - cartTrans[j])]) - {phi[i], phi[i]})*boundaries[j, :].Ndot*Data.m for j in 1:n_trans) for i in 1:n_trans} | Acceleration force due to advective transport |
| Q.Force[n_trans] | f_DT (from Fluid) | {sum(sum(if i == j then {0, 0} else boundaries[j, :].mPhidot[cartWrap(cartTrans[i] - cartTrans[j])]) for j in 1:n_trans) for i in 1:n_trans} | Shear force from other subregions (diffusive transport) |
| Q.Power | Ndere (from Fluid) | (N*T*der(Data.s(T, p)) + M*phi*der(phi))/U.s | Rate of energy storage (internal and kinetic) and boundary work at constant mass |
| Q.Power | Edot_AE (from Fluid) | sum((chemical[i].g + actualStream(chemical[i].sT) - h + (actualStream(chemical[i].phi)*actualStream(chemical[i].phi) - phi*phi)*Data.m/2)*chemical[i].Ndot for i in 1:n_chem) | Relative rate of energy (internal, flow, and kinetic) due to reactions and phase change |
| Q.Power | Edot_AT (from Fluid) | sum((Data.h(boundaries[i, :].T, boundaries[i, :].p) - {h, h} + (phi_boundaries[i, :].^2 + sum(boundaries[i, :].phi[orient].^2 for orient in Orient) - fill(phi*phi, 2))*(Data.m/2))*boundaries[i, :].Ndot for i in 1:n_trans) | Relative rate of energy (internal, flow, and kinetic) due to advective transport |
| Q.Power | Edot_DT (from Fluid) | sum(sum(boundaries[i, :].phi[orient]*boundaries[i, :].mPhidot[orient] for orient in Orient) for i in 1:n_trans) + sum(boundaries.Qdot) | Rate of diffusion of energy from other subregions |