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 chargebalance. 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 chargebalance.
Returns: integer amount of cation. Depends on cell size (this is an ‘extrinsic’ function!)
