aiida_lsmo.calcfunctions package

Submodules

aiida_lsmo.calcfunctions.ff_builder_module module

ff_builder calcfunction.

aiida_lsmo.calcfunctions.ff_builder_module.append_cif_molecule(ff_data, mol_cif)[source]

Append the FF parameters generated from the CifData, to the ff_loaded from the yaml

aiida_lsmo.calcfunctions.ff_builder_module.check_ff_list(inp_list)[source]

Check a list of atom types: 1) Remove duplicates, preserving the order of the elements. 2) Warn if there are atom types with the same name but different parameters 3) If a shorter atom type comes later, swap the order # TODO!

aiida_lsmo.calcfunctions.ff_builder_module.ff_builder(params, cif_molecule=None)[source]

AiiDA calcfunction to assemble force filed parameters into SinglefileData for Raspa.

aiida_lsmo.calcfunctions.ff_builder_module.get_ase_charges(cifdata)[source]

Given a CifData, get an ASE object with charges.

aiida_lsmo.calcfunctions.ff_builder_module.load_yaml()[source]

Load the ff_data.yaml as a dict.

Includes validation against schema.

aiida_lsmo.calcfunctions.ff_builder_module.mix_molecule_ff(ff_list, mixing_rule)[source]

Mix molecule-molecule interactions in case of separate_interactions: return mixed ff_list

aiida_lsmo.calcfunctions.ff_builder_module.render_ff_def(ff_data, params, ff_mix_found)[source]

Render the force_field.def file.

aiida_lsmo.calcfunctions.ff_builder_module.render_ff_mixing_def(ff_data, params)[source]

Render the force_field_mixing_rules.def file.

aiida_lsmo.calcfunctions.ff_builder_module.render_molecule_def(ff_data, params, molecule_name)[source]

Render the molecule.def file containing the thermophysical data, geometry and intramolecular force field.

aiida_lsmo.calcfunctions.ff_builder_module.render_pseudo_atoms_def(ff_data, params)[source]

Render the pseudo_atoms.def file.

aiida_lsmo.calcfunctions.ff_builder_module.string_to_singlefiledata(string, filename)[source]

Convert a string to a SinglefileData.

aiida_lsmo.calcfunctions.ff_data_schema module

Voluptuous schema for ff_data.yml

aiida_lsmo.calcfunctions.oxidation_state module

CalcFunction to compute the oxidation states of metals using oximachine

aiida_lsmo.calcfunctions.oxidation_state.compute_oxidation_states(cif)[source]

Compute the oxidation states of metals using oximachine

Parameters

cif – AiiDA CifData instance

Returns

AiiDA Dict node

aiida_lsmo.calcfunctions.selectivity module

Calcfunctions to compute gas-selectivity related applications.

aiida_lsmo.calcfunctions.selectivity.calc_selectivity(isot_dict_a, isot_dict_b)[source]

Compute the selectivity of gas A on gas B as S = kH_a/kH_b. Note that if the material is not porous to one of the materials, the result is simply {‘is_porous’: False}. To maintain the comptaibility with v1, intead of checking ‘is_porous’, it checks for the henry_coefficient_average key in the Dict.

aiida_lsmo.calcfunctions.working_cap module

Calcfunctions to compute working capacities for different gasses.

aiida_lsmo.calcfunctions.working_cap.calc_ch4_working_cap(isot_dict)[source]

Compute the CH4 working capacity from the output_parameters Dict of IsothermWorkChain. This must have run calculations at 5.8 and 65.0 bar (at 298K), which are the standard reference for the evaluation.

The results can be compared with Simon2015 (10.1039/C4EE03515A).

aiida_lsmo.calcfunctions.working_cap.calc_h2_working_cap(isotmt_dict)[source]

Compute the H2 working capacity from the output_parameters Dict of MultiTempIsothermWorkChain. This must have run calculations at 1, 5 and 100 bar at 77, 198, 298 K. The US DOE Target for the Onboard Storage of Hydrogen Vehicles set the bar to 4.5 wt% and 30 g/L (Kapelewski2018). Case-A: near-ambient-T adsorption, 100bar/198K to 5bar/298K (cf. Kapelewski2018, 10.1021/acs.chemmater.8b03276) ……. Ni2(m-dobdc), experimental: 23.0 g/L Case-B: low T adsorption, 100-5bar at 77K (cf. Ahmed2019, 10.1038/s41467-019-09365-w) ……. NU-100, best experimental: 35.5 g/L Case-C: low T adsorption at low discharge, 100-1bar at 77K (cf. Thornton2017, 10.1021/acs.chemmater.6b04933) ……. hypMOF-5059389, best simulated: 40.0 g/L

aiida_lsmo.calcfunctions.working_cap.calc_o2_working_cap(isot_dict)[source]

Compute the O2 working capacity from the output_parameters Dict of IsothermWorkChain. This must have run calculations at 5 and 140.0 bar (at 298K), to be consistent with the screening of Moghadam2018 (10.1038/s41467-018-03892-8), for which the MOF ANUGIA (UMCM-152) was found to have a volumetric working capacity of 249 vSTP/v (simulations are nearly identical to experiments). Consider that, at the same conditions, an empty thank can only store 136 vSTP/v, and a comparable working capacity can only br obtained compressing till 300bar.

aiida_lsmo.calcfunctions.working_cap.get_molec_uc_to_mg_g(isot_dict)[source]

Fix the discrepancy coming from old Raspa calculations, having a typo in the conversion label.

aiida_lsmo.calcfunctions.wrappers module

Calculation functions that wrap some advanced script for process evaluation.

aiida_lsmo.calcfunctions.wrappers.calc_co2_parasitic_energy(isot_co2, isot_n2, pe_parameters)[source]

Submit calc_pe calculation using AiiDA, for the CO2 parasitic energy. :isot_co2: (Dict) CO2 IsothermWorkChainNode.outputs[‘output_parameters’] :isot_n2: (Dict) N2 IsothermWorkChainNode.outputs[‘output_parameters’] :pe_parameters: (Dict) See PE_PARAMETERS_DEFAULT

Module contents

AiiDA calcfunctions