epsman.sym.convertSyms module
Functions for converting symmetry lists for various contexts.
08/02/22 v1 Implements ePS & Gamess symmetries.
- TODO: add manual overrides for user-defined sym mapping.
This will need to set a mapping dictionary as per dimMapPD.attrs[‘mappingDict’] output by convertSymsGamessePS(). And propagte to main orb table as set by setOrbInfoPD(), `orbPD[‘ePS’] = orbPD[‘Gamess’].apply(lambda x: orbPD.attrs[‘PGmap’].attrs[‘mappingDict’][x]) `
- epsman.sym.convertSyms.convertSymsGamessePS(gamessPGDict, symDict=None, verbose=True)[source]
Convert from Gamess defined labels to ePS symmetry labels.
- Parameters:
gamessPGDict (dict) – Dictionary containing PG info from a Gamess file. Currently set at file IO, via
epsman.elecStructure._orbInfo.setOrbInfoPD(). In that case accessible as orbPD.attrs[‘PG’]symDict (dict, default = None) – Dictionary contining ePS symmetry definitions. If not passed will be created via
epsman.sym.defineSyms.getePSsymmetries(). (Which uses https://epolyscat.droppages.com/SymmetryLabels)
- Returns:
dimMapPD (Pandas dataframe) – Dataframe with all dim mappings.
TODO
- Return basic dict form too, needs to be updated with missing vals.
- Push converted labels back to orbPD?
- epsman.sym.convertSyms.setePSPGlabel(PG)[source]
Get and convert point group labels from Gamess inputs (via orbPD data) to ePS format.
- Parameters:
PG (dictionary) – A dictionary defining the point group, as currently set in
epsman.elecStructure._orbInfo.setOrbInfoPD()for Gamess input files. Minimally passing PG[‘Label’] = ‘<Gamess symmetry label>’ will also work. For N-fold groups, PG[‘NAXIS’] = N also needs to be defined.- Returns:
PG
- Return type:
dictionary, now includes PG[‘ePSLabel’] for converted label.