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

Parameters
  • struc_oxid – a Structure object; oxidation states must be assigned for this structure; disordered structures should be OK

  • 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!

property 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!)

property 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