DETCHEM SOC Driver

This document describes the configuration directives that are available for use with the DETCHEM SOC driver.

The DETCHEM SOC code performs steady-state simulations of solid oxide cells in 1-D button cell or 2-D planar cell configuration. The modeling methology is based on the conservation of mass, momentum, energy and charge, and combines the various internal transport phenomena with electrochemical reactions, as well as the heterogeneous surface chemistry occurring at the fuel electrode. A modified Butler-Volmer approach is used to describe the multi-step charge transfer mechanism. Further, a detailed 42-step mechanism is deployed for the thermo-catalytic chemistry.

In a button cell, the inlet gas streams in normally to the cell components and mass transport can be assumed 1-D along the thickness, similar to a stagnation flow. In contrast, the gas flow in a planar cell is parallel to the cell components, i.e. perpendicular to the diffusion through the membrance-electrode assembly. A 2-D modeling approach is required and mandates additional input parameters. Therefore, either the button or planar cell CaRMeN input file needs to be utilized and for each of them an example is given below.

SI units are used exclusively throughout the program. Be sure to convert all values before importing data into CaRMeN. When referring to chemical species, use the correct capitalization, i.e. Ar instead of AR. Not doing so will lead to simulation errors since the species names will not be recognized.

Driver Name

This driver is available under the name detchem_soc.

Output Resources

This driver outputs tabular data resources

  • mole_fractions

Parameters

The following parameters are available. First case is a 1-D isothermal button cell and second a 2-D adiabatic planar cell simulation.


# First case: steady-state isothermal 1-D button cell simulation

type: button_cell

general:
  # steam reforming mechanism on Ni surface is solved
  surface_chemistry: true
  # the distributed charge transfer model is not used (defalt: interfacial charge transfer model)
  distributed_charge_transfer: false
  # the fuel electrode is not an ideal counter electrode, i.e. not a half cell comprising of cathode and electrolyte only
  reference_anode: false
  # the air electrode is not an ideal counter electrode, i.e. not a half cell comprising of anode and electrolyte only
  reference_cathode: false

sections:
  air_channel:
    height: 1.0e-3 # in m
  cathode:
  # number of cells in y-direction in cathode, must be an integer
    radial_discretization_points: 20
    height: 43.0e-6 # in m
  # height of the functional layer near the electrolyte (default: 0)
    functional_layer_height: 10.0e-6
  # electronic and ionic conductivity of cathode = A*exp(-Ea/(RT))*pO2^pO2m. If it's a composite, then the more electronically conductive material must be material 1.
  # If these values are not provided, then the code uses conductivity of LSM as material 1 and YSZ as material 2.
    electrical_properties:
      material_1:
        electronic:
          pre_factor: 1.0e5
          activation_barrier: 10.0e3 # in J/mol
          pressure_exponent: -0.25
        ionic:
          pre_factor: 1.0e3
          activation_barrier: 100.0e3 # in J/mol
          pressure_exponent: -0.25
      material_2:
        electronic:
          pre_factor: 1.0e2
          activation_barrier: 100e3 # in J/mol
          pressure_exponent: -0.25
        ionic:
          pre_factor: 1.0e5
          activation_barrier: 50.0e3 # in J/mol
          pressure_exponent: -0.25
  # Only porosity, particle diameter and volume fraction must be provided obligatorily. The rest can either be user-defined, or is calculated by the code.
    micro_structural_properties:
      functional_layer:
        porosity: 0.3
      # specify porosity gradient of the cathode. If positive, electrode is more porous towards the electrolyte and less porous towards the air channel (default: 0).
        porosity_gradient: 0
      # specify tortuosity of material 1 and 2 in cathode functional layer
        tortuosity_mat_1: 3
        tortuosity_mat_2: 3
        particle_diameter: 0.3e-6
      # specify particle size ratio in the functional layer between material 1 and 2 (default: 1)
        particle_diameter_ratio: 1
        volume_fraction: 0.5
    # The following are microstructural properties of the diffusion layer, i.e. electrode layer near the gas channel. If functional_layer_height is specified and the following values are not specified, then they will either be set equal to their corresponding values in the functional layer or generated by the code via Percolation theory.
    # If functional_layer_height is 0 or unspecified, the following parameters need not be specified and the above microstructural parameters will be used for the entire electrode.
      diffusion_layer:
        porosity: 0.6
        particle_diameter: 0.3e-6
        volume_fraction: 1
  electrolyte:
    radial_discretization_points: 10
    height: 60.0e-6 # in m
  # height of dense barrier layers between electrodes and electrolyte (default: 0)
    barrier_layer_cathode_height: 10.0e-6
    barrier_layer_anode_height: 10.0e-6
    electrical_properties:
    # If ionic conductivity of electrolyte is unspecified, then the code uses default configuration of YSZ.
      pre_factor: 3.34e2
      activation_barrier: 85.63e3
    # If ionic conductivities of barrier layer coatings are unspecified, then the code uses default configuration of CGO on both sides.
      barrier_layer:
        cathode:
          pre_factor: 1.0e5
          activation_barrier: 100.0e3
        anode:
          pre_factor: 1.0e5
          activation_barrier: 100.0e3
  anode:
    radial_discretization_points: 30
    height: 500.0e-6 # in m
    functional_layer_height: 25.0e-6 # in m
  # electronic and ionic conductivities of anode = A*exp(-Ea/(RT))*pO2^pO2m. If it's a composite, then the more electronically conductive material must be material 1.
  # If these values are not provided, then the code uses conductivity of Ni as material 1 and YSZ as material 2.
    electrical_properties:
      material_1:
        electronic:
          pre_factor: 1.0e5
          activation_barrier: 10.0e3 # in J/mol
          pressure_exponent: -0.25
        ionic:
          pre_factor: 1.0e3
          activation_barrier: 100.0e3 # in J/mol
          pressure_exponent: -0.25
      material_2:
        electronic:
          pre_factor: 1.0e2
          activation_barrier: 100.0e3 # in J/mol
          pressure_exponent: -0.25
        ionic:
          pre_factor: 1.0e-5
          activation_barrier: 50.0e3 # in J/mol
          pressure_exponent: -0.25
  # Only porosity, particle diameter and volume fraction must be provided as obligatory input values. The rest can either be user-defined, or is calculated by the code.
    micro_structural_properties:
      functional_layer:
        porosity: 0.25
        porosity_gradient: 0
        tortuosity_mat_1: 3
        tortuosity_mat_2: 3
        particle_diameter: 0.3e-6
        particle_diameter_ratio: 1
        volume_fraction: 0.5
      diffusion_layer:
        porosity: 0.6
        particle_diameter: 0.3e-6
        volume_fraction: 1
  fuel_channel:
   height: 1.0e-3 # in m

inlet:
  air_channel:
    gas_velocity: 1.0 # in m/s
    temperature: 1073.15 # in K
    pressure: 101325.0 # in Pa
  # inlet gas compostion of air channel
    mole_fractions:
      O2: 0.21
      N2: "*"
  fuel_channel:
    gas_velocity: 1.0 # in m/s
    temperature: 1073.15 # in K
    pressure: 101325.0 # in Pa
  # inlet gas compostion of air channel
    mole_fractions:
      H2: 0.1
      CH4: 0.5
      H2O: "*"

initial:
# initial guesses for molar gas composition in the electrode
  mole_fractions:
    cathode:
      O2: 0.21
      N2: "*"
    anode:
      H2: 0.5
      H2O: "*"
  temperature: 1073.15 # in K
  pressure: 101325.0 # in Pa

electrochemistry:
# choose electrochemical reaction path. 'H2' and/or 'CO' pathways can be used, 'O2' is the only option at the air side.
# either provide Arrhenius-type parameters 'k' and 'E' or directly specify temperature-independent exchange current density 'i'
# distinguish: If the distributed charge transfer model is activated, then the code multiplies the exchange currnet density with specific three-phase boundary length; else for the interfacial model, this multiplication must already be included in the values specified below.
  H2:
  # pre-factor for Arrhenius-type temperature dependency of exchange current density
    k: 3575267.926
  # activation barrier for Arrhenius-type temperature dependency of exchange current density
    E: 108.4e3 # in J/mol
  # specify temperature-independent exchange current density
  # i: 8.5 # in A/m^2
  # anodic charge transfer coefficient for electrochemical H2 oxidation/H2O reduction in the fuel electrode. The cathodic coefficient is automatically calculated as 1-beta_anode. Therefore must be set <1.
    beta_anode: 0.5
  O2:
    k: 106482.620
    E: 122.5e3 # in J/mol
  # i: 28.0 # in A/m^2
    beta_cathode: 0.5
# starting value for cell voltage
  E_cell: 1.4 # in V
# end value for cell voltage.
  E_limit: 0.5 # in V
# potential step for i-V calculation. In this case, the simulation will calculate solutions for applied cell voltages from 1.4 to 0.5 V with 0.1 V increment.
  E_step: 0.1 # in V

solver:
# start time for MEA simulation. Should always be 0.
  initial_integration_time: 0 # in s
# end time for MEA simulation. The simulation should converge within this time frame.
  max_integration_time: 10.0 # in s
# initial time step for MEA integration. The solver will then automatically adjust the following time steps.
  initial_time_step: 1.0e-12 # in s

tolerance:
  absolute: 1.0e-8
  relative: 1.0e-9
  residual: 1.0e-6

chemical_model:
  $resource: ./chemical_model

# Second case: steady-state adiabatic 2-D planar cell. Only the differences compared to the button cell input configuration are commented.

  type: planar_cell

  general:

    surface_chemistry: true
    distributed_charge_transfer: true
    reference_anode: false
    reference_cathode: false
  # planar repeatng unit simulation. If 'false', then it's a planar cell geometry since interconnect is not solved.
    interconnect: true
  sections:
    cell:
    # number of cells in axial (flow) direction
      axial_discretization_points: 70
    # planar cell/repeating unit length
      length: 8.94e-2 # in m
    interconnect:
    # fix temperature or fix heat flux boundary condition for heat exchange with surroundings. If both set to '0' or unspecified, it represents an adiabatic simulation.
      set_temperature: 0
      set_heat_flux: 0
    # thickness of half the interconnect plate NOT including the interconnect rib. The rib thickness is set automatically to the gas channel thickness.
      thickness: 0.75e-3 # in m
    # density of dense interconnect material
      density: 7700.0 # in kg/m^3
    # specific heat capacity of dense interconnect material
      specific_heat_capacity: 660.0 # in J/(kg K)
    # thermal conductivity of dense interconnect material
      thermal_conductivity: 24.0 # in W/(m K)
    # total emissivity of interconnect material
      emissivity: 0.3
    air_channel:
      height: 1.0e-3 # in m
    # width of gas channel
      width: 2.98e3 # in m
    cathode:
      radial_discretization_points: 10
      height: 85.0e-6 # in m
    # width of the planar cell/repeating unit
      width: 4.47e-3 # in m
    # density of cathode material including porosity and volume fractions
      density: 3815.0 # in kg/m^3
    # specific heat capacity of cathode NOT including porosity but volume fractions
      specific_heat_capacity: 398.0 # in J/(kg K)
    # thermal conductivity of cathode NOT including porosity but volume fractions
      thermal_conductivity: 3.5 # in W/(m K)
      functional_layer_height: 15.0e-6 # in m
      electrical_properties:
        material_1:
          electronic:
            pre_factor: 1.0e5
            activation_barrier: 10.0e3 # in J/mol
            pressure_exponent: -0.25
          ionic:
            pre_factor: 1.0e3
            activation_barrier: 100.0e3 # in J/mol
            pressure_exponent: -0.25
        material_2:
          electronic:
            pre_factor: 1.0e2
            activation_barrier: 100.0e3 # in J/mol
            pressure_exponent: -0.25
          ionic:
            pre_factor: 1.0e5
            activation_barrier: 50.0e3 # in J/mol
            pressure_exponent: -0.25
      micro_structural_properties:
        functional_layer:
          porosity: 0.3
          porosity_gradient: 0
          tortuosity_mat_1: 3
          tortuosity_mat_2: 3
          particle_diameter: 0.3e-6 # in m
          particle_diameter_ratio: 1
          volume_fraction: 0.5
        diffusion_layer:
          porosity: 0.6
          particle_diameter: 0.3e-6 # in m
          volume_fraction: 1
    # emissivity of cathode composite after factoring in the porosity
      emissivity: 0.8
    electrolyte:
      radial_discretization_points: 10
      height: 60.0e-6 # in m
      width: 4.47e-3 # in m
      density: 5938.0 # in kg/m^3
      specific_heat_capacity: 620.0 # in J/(kg K)
      thermal_conductivity: 2.1 # in W/(m K)
      barrier_layer_cathode_height: 10.0e-6 # in m
      barrier_layer_anode_height: 10.0e-6 # in m
      electrical_properties:
        pre_factor: 3.34e2
        activation_barrier: 85.63e3 # in J/mol
        barrier_layer:
          cathode:
            pre_factor: 1.0e5
            activation_barrier: 100.0e3 # in J/mol
          anode:
            pre_factor: 1.0e5
            activation_barrier: 100.0e3 # in J/mol
    anode:
      radial_discretization_points: 30
      height: 500.0e-6 # in m
      density: 5140.0 # in kg/m^3
      specific_heat_capacity: 352.8 # in J/(kg K)
      thermal_conductivity: 4.0 # in W/(m K)
      functional_layer_height: 25.0e-6 # in m
      electrical_properties:
        material_1:
          electronic:
            pre_factor: 1.0e5
            activation_barrier: 10.0e3 # in J/mol
            pressure_exponent: -0.25
          ionic:
            pre_factor: 1.0e3
            activation_barrier: 100.0e3 # in J/mol
            pressure_exponent: -0.25
        material_2:
          electronic:
            pre_factor: 1.0e2
            activation_barrier: 100.0e3 # in J/mol
            pressure_exponent: -0.25
          ionic:
            pre_factor: 1.0e5
            activation_barrier: 50.0e3 # in J/mol
            pressure_exponent: -0.25
      micro_structural_properties:
        functional_layer:
          porosity: 0.25
          porosity_gradient: 0
          tortuosity_mat_1: 3
          tortuosity_mat_2: 3
          particle_diameter: 0.3e-6 # in m
          particle_diameter_ratio: 1
          volume_fraction: 0.5
        diffusion_layer:
          porosity: 0.6
          particle_diameter: 0.3e-6 # in m
          volume_fraction: 1
    # total emissivity of anode composite after factoring in the porosity
      emissivity: 0.5
    fuel_channel:
     height: 1.0e-3 # in m
     width: 2.98e-3 # in m

  inlet:
    air_channel:
      gas_velocity: 0.6 # in m/s
      temperature: 1123.15 # in K
      pressure: 101325.0 # in Pa
      mole_fractions:
        O2: 0.21
        N2: "*"
    fuel_channel:
      gas_velocity: 0.6 # in m/s
      temperature: 1123.15 # in K
      pressure: 101325.0 # in Pa
      mole_fractions:
        H2: 0.1
        CO2: 0.328
        H2O: "*"

  initial:
    mole_fractions:
      cathode:
        O2: 0.21
        N2: "*"
      anode:
        H2: 0.1
        CO: 0.2
        CO2: 0.1
        H2O: "*"
    temperature: 1073.15 # in K
    pressure: 101325.0 # in Pa

  electrochemistry:
    H2:
      k: 3575267.926e-11
      E: 108.4e3 # in J/mol
      beta_anode: 0.7
    CO:
      k: 148035.035e-11
      E: 131.38e3 # in J/mol
      beta_anode: 0.5
    O2:
      k: 106482.620e-11
      E: 122.5e3 # in J/mol
      beta_cathode: 0.45
  # applied cell voltage
    E_cell: 1.3 # in V

  solver:
    initial_integration_time: 0 # in s
    max_integration_time: 100.0 # in s
    initial_time_step: 1.0e-4 # in s
  # the following values are required for non-isothermal simulations
  # start time for solid temperature solver
    temp_initial_integration_time: 0 # in s
  # end time for solid temperature solver
    temp_max_integration_time: 1000 # in s
  # initial time step for solid temperature solver
    temp_initial_time_step: 1.0e-2 # in s
  # maximum allowed time step for solid temperature solver. If set to '0', then default is 'max_integration_time-initial_integration_time'.
    temp_max_time_step: 0 # in s

  tolerance:
    absolute: 1.0e-20
    relative: 1.0e-6
    residual: 1.0e-6
  # tolerances for temperature solver for non-isothermal simulation
    temp_absolute: 1.0e-5
    temp_relative: 1.0e-3
    temp_residual: 1.0e-3

  chemical_model:
    $resource: ./chemical_model

results matching ""

    No results matching ""