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_withmpi(False)
    calc.set_resources( {"num_machines": 1, "tot_num_mpiprocs":} )
    calc.set_max_wallclock_seconds(30*60) \# 30 minutes
    calc.set_max_memory_kb(2e6)
    
    # 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)
    calc.use_parameters(parameters)
    
    # Load the cif node from the database, e.g. by PK
    # cif = load_node(<PK>)
    calc.use_structure(cif)
    
    # This places files in a subfolder "submit_test" instead of submitting.
    calc.submit_test()
    # 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.