Why use the Electrolyte Database

The electrolyte database (EDB) provides both a command line interface for loading chemical species and reaction data, as well as a programming interface for creating IDAES ready configuration dictionaries.

See How to use EDB for more information on EDB.


In our How to setup simple chemistry guide, we demonstrated that to solve chemical reaction problems in WaterTAP a user must provide up to 2 configuration files:

  1. [Required] A thermo-properties configuration dictionary

  2. [Optional] A reaction-properties configuration dictionary

Those configuration files can be generated by the user as python dictionaries that are then fed into an IDAES unit model to define the reactions occurring in that system. If we can create and run chemistry models in WaterTAP without using a database, then why have the database?

As was shown in that How to setup simple chemistry guide, even a simple configuration dictionary can be 100s of lines of python code and involves numerous parameters that the user must provide. All that example did was show how to simulate water self-ionization. Essentially a useless problem to solve. Realistic chemistry may require hundreds of reactions and species. That is where the EDB comes into play.


  1. Provides a means to load and/or store data associated with chemical species and chemical reactions

  2. Provides an interface for users to request specific information on chemical species and reactions

  3. Provides subroutines to search for possible reactions in a system when given a set of chemicals

  4. Provides a methodology to automatically generate IDAES configuration dictionaries for use in WaterTAP


Full utilization of EDB will streamline WaterTAP workflow in the development of chemical reaction sub-modules. In each chemical sub-module, there is a significant amount of overlap in terms of the chemical species and reactions present. If you were not using the EDB’s functionality to automatically generate configuration dictionaries, then there would be significant amounts of code duplication, as each of the configuration dictionaries would have significant overlap with each other.

The EDB will also greatly simplify how WaterTAP users can define their own system chemistry. As an example, take a look at the difference between the amount of code and knowledge that is necessary to create configuration dictionaries manually versus how the EDB can generate those same configuration dictionaries automatically in the ‘Simple EDB Example’.

To start using EDB, have a look at the installation instructions.