def get_dict_element(): c.execute('''SELECT id,name,charge,multiplicity, num_atoms,num_elec,symmetry FROM ele_tab''') d = defaultdict(dict) for i in c.fetchall(): d[str(i[1])] = { "id": str(i[0]), "charge": int(i[2]), "multiplicity": int(i[3]), "num_atoms": int(i[4]), "symmetry": str(i[6]) } for ele in d: f = get_formula(ele) d[ele]["formula"] = f for geo in list_geo(): l = [get_coord(ele, a, geo) for a in f] d[ele][geo] = l return d
def d_ae_calc(self): d = defaultdict(dict) for run_id, d_mol in self.d_e.items(): for ele, energy in d_mol.items(): if len(get_formula(ele)) == 1: continue try: ae = sum(d_mol[i] for i in get_formula(ele)) - d_mol[ele] except KeyError: pass else: ae *= 627.503 d[run_id][ele] = ae return d
def get_dict_element(): c.execute('''SELECT id,name,charge,multiplicity, num_atoms,num_elec,symmetry FROM ele_tab''') d = defaultdict(dict) for i in c.fetchall(): d[str(i[1])] = {"id": str(i[0]), "charge": int(i[2]), "multiplicity": int(i[3]), "num_atoms": int(i[4]), "symmetry": str(i[6])} for ele in d: f = get_formula(ele) d[ele]["formula"] = f for geo in list_geo(): l = [get_coord(ele, a, geo) for a in f] d[ele][geo] = l return d
from src.calc import BigData q = BigData(d_arguments=arguments) from src.__init__ import get_formula # -#-#-#-#-#-#-#-#-#-#-#- # # D _ t a r g e t _ p t 2 # # -#-#-#-#-#-#-#-#-#-#-#- # from collections import defaultdict d_target_pt2 = defaultdict(lambda: 0.) for ele in q.l_element: try: for name_atome in get_formula(ele): dump = (q.d_e[fci_id][name_atome] - q.d_e[hf_id][name_atome]) d_target_pt2[ele] += dump except KeyError: pass # -#-#-#-#-#-#-#-#-#-#-#-#-#- # # Q u a l i t y _ f a c t o r # # -#-#-#-#-#-#-#-#-#-#-#-#-#- # if arguments["--quality_factor"]: if not 0. <= float(arguments["--quality_factor"]) <= 1.: print "0. < quality factor < 1. " sys.exit(1) else:
def get_l_children(self, l_ele): "From a list of element, return the list of children" l = {a for ele in l_ele for a in get_formula(ele)} if l_ele != set(["*"]) else set(["*"]) return l
from src.calc import BigData q = BigData(d_arguments=arguments) from src.__init__ import get_formula # -#-#-#-#-#-#-#-#-#-#-#- # # D _ t a r g e t _ p t 2 # # -#-#-#-#-#-#-#-#-#-#-#- # from collections import defaultdict d_target_pt2 = defaultdict(lambda: 0.) for ele in q.l_element: try: for name_atome in get_formula(ele): dump = (q.d_e[fci_id][name_atome] - q.d_e[hf_id][name_atome]) d_target_pt2[ele] += dump except KeyError: pass # -#-#-#-#-#-#-#-#-#-#-#-#-#- # # Q u a l i t y _ f a c t o r # # -#-#-#-#-#-#-#-#-#-#-#-#-#- # if arguments["--quality_factor"]: if not 0. <= float(arguments["--quality_factor"]) <= 1.: print "0. < quality factor < 1. " sys.exit(1) else: quality_factor = float(arguments["--quality_factor"])
def get_l_children(self, l_ele): "From a list of element, return the list of children" l = {a for ele in l_ele for a in get_formula(ele) } if l_ele != set(["*"]) else set(["*"]) return l