# 4.4.12.1. Chemistry Overview

Aria provides two ways of modeling chemical contributions to the transport equations it solves: CHEMEQ and General Chemistry. The purpose of this overview is to describe the differences between these approaches and provide guidelines for which one to select for a given application.

## 4.4.12.1.1. Feature Comparison

As a quick reference, a list of feature differences between the two solvers is shown in Table 4.2 below.

CHEMEQ is best suited for evaluating reactions without species transport in order to obtain a source term for the energy equation. It also links to pressurization zones to enable reduced-cost pressurization calculations. CHEMEQ stores its species concentrations in an element field and updates that element field in time while providing a source term for the energy equation.

On the other hand, General Chemistry is best suited for situations where you want to resolve species transport and reaction. General Chemistry is designed only to provide source terms, so there must be a linear system set up for each DOF (energy, species concentrations, etc…) to actually update its values in time. For cases where the species are not transported, the added cost of setting up this linear system makes CHEMEQ the more efficient choice.

Table 4.2 Feature table for CHEMEQ and General Chemistry.
Feature | CHEMEQ | General Chemistry
--- | --- | ---
Reaction Blocks | Yes | Yes
Multiphase reactions | No | Yes
Coupled Solve | No | Optional
Provides Species Source | No | Yes
Reversible Reactions | No | Yes
Equilibrium Chemistry | No | Yes

## 4.4.12.1.2. Reaction Summary & Diagnostics

For both modeling options, additional debugging information can be provided by activating the `--arialog chemistry` option from the command line launch command. With this logging activated, Aria will write files containing information on the initial conditions prior to ODE failure at each evaluation point of each element on each processor. The files will be named in the following format: `chemistry.E[eid]-[point].P[proc].txt` for General Chemistry, and `chemeq.[model].E[eid]-[point].P[proc].txt` for CHEMEQ.

A summary of all the reactions parsed from the input is also printed to the log file so you can verify they are evaluating as you have intended. An example of this output is shown below. Details about these terms are described in the reaction blocks section.

    +-----------------------------------------------------------------------------+
    | Reaction Summary                                                            |
    +-----------------------------------------------------------------------------+

     Name:                     R1
      Reaction String:         A->B
      Stoich Coeffs:           -1.00000 1.00000
      Temperature Phase:       No Material Phase
      Pressure Phase:          No Material Phase
      Heat of Reaction:        -1.00000e+06
      Multiplier Function:     Unity
      Rate Function:           Arrhenius
          Arguments:           A = 0.100000 Ea = 350.000 beta = 0.00000 R = 1.00000
      Pressure Function:       Unity
      Concentration Function:  Standard
          Arguments:           mu = 1.00000 0.00000