2. Perform geometric analysis of one MOF

Use the zeo++ code to analyze the structure, such as the volume inside the MOF that is accessible to methane.

  • To make things simple, start with one MOF: DSoLANSUKYIH.cif

  • Set up the Deneb computer at EPFL

    • Import the deneb-molsim computer and its codes into AiiDA

      $ verdi import {{ "/assets/2018_EPFL_molsim/deneb-molsim.aiida" | absolute_url }}
      $ verdi computer list -a  # should show 'deneb-molsim'
      $ verdi code list -A   # should show 'zeopp@deneb-molsim', 'raspa@deneb-molsim'
    • Generate an SSH key pair for passwordless connection

      $ ssh-keygen
      Generating public/private rsa key pair.
      Enter file in which to save the key (/home/max/.ssh/id_rsa): <Enter>
      Enter passphrase (empty for no passphrase): <Enter>
      Enter same passphrase again: <Enter>
      Your identification has been savedin /home/max/.ssh/id_rsa.
      Your public key has been saved in /home/max/.ssh/id_rsa.pub.
      The key fingerprint is: ...
      The key's randomart image is: ...
      $ ssh-copy-id <user>@deneb1.epfl.ch
      $ ssh <user>@deneb1.epfl.ch  # should now work without password
    • configure your personal access to the deneb-molsim computer

      $ verdi computer configure deneb-molsim
      Configuring computer 'deneb-molsim' for the AiiDA user '<your-aiida-user>@epfl.ch'
      Computer deneb-molsim has transport of type ssh
      Note: to leave a field unconfigured, leave it empty and press [Enter]
      => username = <your-epfl-username>
      => port = 22
      => look_for_keys =
      => key_filename =
      => timeout = 60
      => allow_agent =
      => proxy_command =
      => compress = True
      => gss_auth = no
      => gss_kex = no
      => gss_deleg_creds = no
      => gss_host = deneb1.epfl.ch
      => load_system_host_keys = True
      => key_policy = AutoAddPolicy
      Configuration stored for your user on computer 'deneb-molsim'.
    • Finally, test your new computer

      $ verdi computer test deneb-molsim
  • Compute the density, accessible volume and accessible surface area using zeo++.

    Use the zeo++ web site to figure out what the -ha, -res, -sa, -volpo command line options do.

    What is an appropriate value for the probe radius r?

    code = Code.get_from_string("zeopp@deneb-molsim")
    calc = code.new_calc()
    # computational resources for calculation
    calc.set_resources( {"num_machines": 1, "tot_num_mpiprocs":} )
    calc.set_max_wallclock_seconds(30*60) \# 30 minutes
    # zeo++ command line parameters
    NetworkParameters = DataFactory('zeopp.parameters') d={
        'ha': True,
        'res': True,
        'sa': [<r (Angstrom)>, <r (Angstrom)>, 1000],
        'volpo': [<r (Angstrom)>, <r (Angstrom)>, 1000],
    parameters = NetworkParameters(dict=d)
    # Load the cif node from the database, e.g. by PK
    # cif = load_node(<PK>)
    # This places files in a subfolder "submit_test" instead of submitting.
    # Uncomment lines below when the script runs through
    # calc.store_all()
    # calc.submit()
    # print(calc)  # prints UUID and PK

Remember: Use verdi run <script.py> to run python scripts in the same environment as in the verdi shell.