def import_calculations_from_file( filename ):
    """
    Construct a list of Calculation objects by reading a YAML file.
    Each YAML document should include 'title', 'stoichiometry', and 'energy' fields. e.g.::

        title: my calculation
        stoichiometry:
            - A: 1
            - B: 2
        energy: -0.1234 eV

    Separate calculations should be distinct YAML documents, separated by `---`
    
    Args:
        filename (str): Name of the YAML file to read.

    Returns:
        (dict(vasppy.Calculation)): A dictionary of Calculation objects. For each Calculation object, the 'title' field from the YAML input is used as the dictionary key.
    """
    calcs = {}
    with open( filename, 'r' ) as stream:
        docs = yaml.load_all( stream, Loader=yaml.SafeLoader )
        for d in docs:
            stoichiometry = Counter()
            for s in d['stoichiometry']:
                stoichiometry.update( s )
            calcs[ d['title'] ] = Calculation( title=d['title'], 
                                               stoichiometry=stoichiometry, 
                                               energy=energy_string_to_float( d['energy'] ) )
    return calcs
Construct a list of Calculation objects by reading a YAML file.
    Each YAML document should include 'title', 'stoichiometry', and 'energy' fields. e.g.::

        title: my calculation
        stoichiometry:
            - A: 1
            - B: 2
        energy: -0.1234 eV

    Separate calculations should be distinct YAML documents, separated by `---`
    
    Args:
        filename (str): Name of the YAML file to read.

    Returns:
        (dict(vasppy.Calculation)): A dictionary of Calculation objects. For each Calculation object, the 'title' field from the YAML input is used as the dictionary key.