pymatgen.apps.battery.analyzer module

class BatteryAnalyzer(struc_oxid, cation='Li')[source]

Bases: object

A suite of methods for starting with an oxidized structure and determining its potential as a battery

Pass in a structure for analysis :param struc_oxid - a Structure object; oxidation states must be assigned for this structure; disordered structures should be OK: :param cation - a String symbol or Element for the cation. It must be positively charged, but can be 1+/2+/3+ etc.:

get_max_capgrav(remove=True, insert=True)[source]

Give max capacity in mAh/g for inserting and removing a charged cation Note that the weight is normalized to the most lithiated state, thus removal of 1 Li from LiFePO4 gives the same capacity as insertion of 1 Li into FePO4.

Parameters:
  • remove – (bool) whether to allow cation removal
  • insert – (bool) whether to allow cation insertion
Returns:

max grav capacity in mAh/g

get_max_capvol(remove=True, insert=True, volume=None)[source]

Give max capacity in mAh/cc for inserting and removing a charged cation into base structure.

Parameters:
  • remove – (bool) whether to allow cation removal
  • insert – (bool) whether to allow cation insertion
  • volume – (float) volume to use for normalization (default=volume of initial structure)
Returns:

max vol capacity in mAh/cc

get_removals_int_oxid()[source]

Returns a set of delithiation steps, e.g. set([1.0 2.0 4.0]) etc. in order to produce integer oxidation states of the redox metals. If multiple redox metals are present, all combinations of reduction/oxidation are tested. Note that having more than 3 redox metals will likely slow down the algorithm.

Examples

LiFePO4 will return [1.0] Li4Fe3Mn1(PO4)4 will return [1.0, 2.0, 3.0, 4.0]) Li6V4(PO4)6 will return [4.0, 6.0]) note that this example is not normalized

Returns:array of integer cation removals. If you double the unit cell, your answers will be twice as large!
max_cation_insertion

Maximum number of cation A that can be inserted while maintaining charge-balance. No consideration is given to whether there (geometrically speaking) are Li sites to actually accommodate the extra Li.

Returns:integer amount of cation. Depends on cell size (this is an ‘extrinsic’ function!)
max_cation_removal

Maximum number of cation A that can be removed while maintaining charge-balance.

Returns:integer amount of cation. Depends on cell size (this is an ‘extrinsic’ function!)
is_redox_active_intercalation(element)[source]

True if element is redox active and interesting for intercalation materials

Parameters:element – Element object