Molecule¶
- class pyCRS.Molecule¶
This class stores inforation about a molecule and serves as the main interface for accessing estimated properties.
Attributes
areaThe COSMO surface area of the molecule
bond_energyThe Bond Energy (in Hartrees) for the molecule in the COSMO conductor phase.
dispersionThe dispersion energy
formulaThe molecular formula
gas_phase_bond_energyThe Bond Energy (in Hartrees) for the molecule in the gas phase
is_validA bool that indicates whether the molecule is valid or if there were errors in processing it (e.g., invalid SMILESS)
methodThe method (COSMO-RS, COSMO-SAC, etc.) for which the estimate is made.
molar_massThe molar mass in g/mol
nringThe nring parameter used in COSMO-RS
parametersA dictionary of parameters that can be used for certain models (e.g., vapor pressure model parameters)
propertiesA dictionary of property values for temperature-independent properties
properties_tdepA dictionary of (temperature,property) pairs for temperature-dependent properties
smilesThe SMILES string of a molecule, if available
volumeThe COSMO volume of the molecule
Methods
- get_sigma_profile(self: pyCRS_internal.Molecule) Dict[str, List[float]]¶
Returns a dictionary of sigma profiles values. For COSMO-RS, the dictionary has two entries (Total Profile and H-Bonding Profile). For COSMO-SAC, the dictionary has Total Profile, OH Profile, and OT Profile entries.
Example
import pyCRS mol = pyCRS.Input.read_smiles("CCCCCN") pyCRS.FastSigma.estimate(mol, method='COSMO-RS', model = 'FS1', display=False) for k,v in mol.get_sigma_profile().items(): print(k, v)
H-Bonding Profile [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.051576871269907, 0.093772696234738, ... , 0.36159288378918, 0.14796979638662, 0.0] Total Profile [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.051576871269907, 0.094440478268766, ... , 0.36159288378918, 0.147976661591423, 0.0]
- get_tdep_values(self: pyCRS_internal.Molecule, arg0: str) Tuple[List[float], List[float]]¶
Returns a tuple of (temperatures, values) for a temperature-dependent property given as an argument to the function.
Example
import pyCRS mol = pyCRS.Input.read_smiles("OCCCCCC") pyCRS.PropPred.estimate(mol, 'vaporpressure', temperatures=list(range(270,330,10))) unit = pyCRS.PropPred.units['vaporpressure'] print( "Temperature (K)".rjust(15)+f'Vapor pressure ({unit})'.rjust(25) ) for temp, val in zip(*mol.get_tdep_values('vaporpressure')): print(f'{temp:>15.3f}{val:>25.3f}')
Temperature (K) Vapor pressure (bar) 270.000 0.000 280.000 0.000 290.000 0.001 300.000 0.001 310.000 0.003 320.000 0.006
- has_missing_atoms(self: pyCRS_internal.Molecule, arg0: str) bool¶
- missing_atoms(self: pyCRS_internal.Molecule, arg0: str) List[str]¶
A list of atom symbols which could not be mapped to a descriptor