Skip to content

MOF workflow #1163

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

MOF workflow #1163

wants to merge 2 commits into from

Conversation

tjaffrel
Copy link

@tjaffrel tjaffrel commented Apr 2, 2025

Summary

Include a summary of major changes in bullet points:

  • Added zeo++ class and job to compute various properties of MOF and zeolites with various gas molecules
  • multiprocessing for zeo++ evaluation, use cif file, pymatgen structure
  • a standard check to see if a structure is likely to be porous, and especially a MOF

Additional dependencies introduced (if any)

TODO (if any)

Add the full workflow for MOF optimization, filtering step, combination with MLFF (more broadly ase calculator), widom insertion Monte Carlo Simulation to compute Henry coefficients, averaged interaction energy, and heat of adsorption with MLFF. Create Documentation.

Comment on lines 27 to 84
This class wraps the zeo++ executable to calculate pore properties
using given sorbate species.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add the properties that one gets?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just updated the information. There are many information you can get so one need to have a look at the zeo++ website


output["is_mof"] = False
if all(
k in output["N2"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why only N2?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just made it more general, now you can input a dictionary

@JaGeo
Copy link
Member

JaGeo commented Apr 2, 2025

Happy to review once this is ready.

@Andrew-S-Rosen
Copy link
Member

You may wish to consider using the conda-installable fork of zeo++ that has been patched by EPFL: https://github.com/lsmo-epfl/zeopp-lsmo

Comment on lines 413 to 419
output["is_mof"] = (
output["N2"]["PLD"] > 2.5
and output["N2"]["POAV_Volume_fraction"] > 0.3
and output["N2"]["POAV_A^3"] > output["N2"]["PONAV_A^3"]
and output["N2"]["POAV_Volume_fraction"]
> output["N2"]["PONAV_Volume_fraction"]
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest calling this is_porous and not is_mof. What if you want to run this on a zeolite?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just made it more general, now you can input a dictionary. It is not necessary is_mof anymore!

@tjaffrel tjaffrel changed the title Add MOF workflow; zeo++; check if this is a MOF; update with pre-commit MOF workflow Apr 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants