Spaces:
Runtime error
Runtime error
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']) | |