Spaces:
Runtime error
Runtime error
File size: 2,297 Bytes
1c703f0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
import json
import periodictable
from collections import Counter
from .utils import ndarray_decoder
from .structure_propriety import DBPropriety, Source
def read_c2db_json(file_name):
with open(file_name, 'r') as file:
data = json.load(file, object_hook=ndarray_decoder)
return data
def from_c2db_unique_id(c2db_instance_structure):
return c2db_instance_structure["1"]["unique_id"]
def from_c2db_formula(c2db_instance_structure):
structure_data = c2db_instance_structure.get('1', {})
atoms = structure_data.get('numbers')
element_counts = Counter(atoms)
formula = ''.join(f'{periodictable.elements[number].symbol}{count if count > 1 else ""}'
for number, count in element_counts.items())
return formula
pass
def from_c2db_structure(c2db_instance_structure):
structure_data = c2db_instance_structure.get('1', {})
structure = {
'cell': structure_data.get('cell', {}).get('array').T,
'atoms': structure_data.get('numbers'),
'positions': structure_data.get('positions'),
'pbc': structure_data.get('pbc')
}
return structure
def from_c2db_energy(c2db_instance_structure):
structure_data = c2db_instance_structure.get('1', {})
energy_value = structure_data["energy"]
source = Source(tipe="computation",
author_id="C2DB",
description={"calculator": structure_data['calculator'],
"calculator_parameters": structure_data['calculator_parameters'], },
cite="DOI 10.1088/2053-1583/aacfc1")
energy = DBPropriety(name="energy",
value=energy_value,
source=source)
return energy
def from_c2db_band_gap(c2db_instance):
return None
def from_c2db_band_structure(c2db_instance):
return None
def from_c2db_density_of_states(c2db_instance):
return None
# c2 = read_c2db_json("/Users/voicutomut/Desktop/WS2-64090c9845f8_data.json")
# print(c2.keys())
# print(c2['structure.json'])
# print("\nresults-asr.bandstructure.json", c2['results-asr.bandstructure.json'])
#
# print("\nresults-asr.bandstructure.json", c2['results-asr.bandstructure.json'].keys())
# print(c2['results-asr.bandstructure.json']['kwargs'])
|