PyNeb  1.1.2
PyNeb Reference Manua
ICF Class Reference

Inherits object.

Public Member Functions

def __init__ (self)
 
def getAvailableICFs (self, elem_list=ELEM_LIST, type_=['HII', PNe, All)
 
def printAllICFs (self, type_=['HII', PNe, All)
 
def addICF
 
def delICF (self, label)
 
def printInfo
 
def getReference (self, label)
 
def getURL (self, label)
 
def getExpression (self, label)
 
def getType (self, label)
 
def getComment (self, label)
 
def getElemAbundance
 
def test (self)
 

Public Attributes

 log_
 
 calling
 
 all_icfs
 
 all_icf_refs
 
 abun
 
 icf_value
 
 elem_abun
 

Constructor & Destructor Documentation

def __init__ (   self)
ICF tool.
No parameters for the instantiation.

Member Function Documentation

def addICF (   self,
  label,
  elem,
  atom,
  icf,
  type_ = 'All',
  comment = '',
  ref = None,
  url = None 
)
Add a new icf

Parameters:
    - label    a label which identifies the new ICF. The suggested format for the label is "R_E.N", 
        where R is a reference to the paper, E to the equation in the paper and the optional 
        key N is an indication of the higher ion need to compute the icf.  
    - elem     element whose abundance is computed
    - atom     ion or ions whose abundance is multiplied by the icf to get the elemenmt abundance
    - icf      the correcting expression
    - type_     object class to which the icf is appliable (e.g. "PNe", "HII")
    - comment  additional comment, relevant to icf usage
    - ref      bibliographic reference, if any
    - url      URL of the source paper, if any
    
Usage:
    icf=pn.ICF()
    icf.addICF(label='TEST_1',
        elem='Ne',
        atom ='abun["Ne2"] + abun["Ne3"]',
        icf='(abun["O2"] + abun["O3"]) / abun["O2"]',
        type_='PNe',
        comment='',
        ref='PyNeb international conference, 2025',
        url='http://www.iac.es')
def delICF (   self,
  label 
)
Delete an existing icf (only for current session)

Parameters:
    - label    the label which identifies the new ICF. 
    
Usage:
    icf=pn.ICF()
    icf.delICF(label='TEST_1')
def getAvailableICFs (   self,
  elem_list = ELEM_LIST,
  type_ = ['HII',
  PNe,
  All 
)
Get a list of all the available ICFs for the specified elements. 
Details can be obtained by invoking getReference('label') and getExpression('label') or printAllICFs()

Parameters:
    - elem_list    selected element or list of selected elements (default: all PyNeb elements)
    - type_         dbject class to which the icf is appliable (e.g. "PNe", "HII"; default: both)

Usage:

icf=pn.ICF()
icf.getAvailableICFs()
icf.getAvailableICFs('S')
icf.getAvailableICFs('S', type_='HII')
def getComment (   self,
  label 
)
Return the comment associated to the selected ICF. 

Parameters:
    label    label of selected ICF expression
def getElemAbundance (   self,
  atom_abun,
  icf_list = [],
  icf_family = None,
  absentIon = np.nan,
  use_coll = True,
  use_MC = False 
)
Compute elemental abundances from ionic abundances. The complete iventory is printed through pn.ICF().printAllICFs().
See the ICF class for more details.
Store the result in ICF.elem_abund

Parameters: 
   - atom_abun    a dictionary of ionic abundances
   - icf_list     a list of selected ICFs (default: all)
   - icf_family   a string common to all the icf one want to use, e.g. "DIMS14"
   - use_coll     In case both collision lines and recombination lines abundances exists:
           if True (default), use collision line ionic abundance, if false use recombination ones
   - use_MC       If True and if the ICF definition includes error informations, the ICF will be multiplied
           by some factor taking into account the error.
Usage:
    atom_abun = {'O2': 0.001, 'O3': 0.002, 'Ne3': 1.2e-5}
    getElemAbundance(atom_abun)
def getExpression (   self,
  label 
)
Return the analytical expression of the selected ICF 

Parameters:
    label    label of selected ICF expression
def getReference (   self,
  label 
)
Return the reference of the selected ICF recipe 

Parameters:
    - label    label of selected ICF recipe or paper
def getType (   self,
  label 
)
Return the kind of object for which the selected ICF is suitable. 

Parameters:
    label    label of selected ICF expression
def getURL (   self,
  label 
)
Return the ADS URL of the selected ICF recipe 

Parameters:
    label    label of selected ICF recipe or paper
def printAllICFs (   self,
  type_ = ['HII',
  PNe,
  All 
)
Print a list of all the available ICFs. Details can be obtained by 
    invoking getReference('label') and getExpression('label')

Parameters:
    - type_    object class to which the icf is appliable (e.g. "PNe", "HII"; default: both)
def printInfo (   self,
  label,
  filter = 'licores' 
)
Return complete information on the required icf or paper

Parameters:
    label    label of selected ICF recipe or paper
    filter   string with initials of required fields (substring of 'licores'; all by default)   
    
Usage:
icf=pn.ICF()
icf.printInfo('Ial06_20a')
def test (   self)
Test function for the ICF class 

Member Data Documentation

abun
all_icf_refs
all_icfs
calling
elem_abun
icf_value
log_