Defining frozen core settings in Psi4 for a composite scheme

Hello everyone,

I am having difficulty defining different frozen core settings in a composite scheme. My objective is to correlate all electrons at the MP2/CBS level while, for CCSD(T), I want to correlate only the valence electrons. I would like to know if it is possible to achieve this in Psi4.

Here is the input that I am using:

molecule h2o {
   H 1 0.95
   H 1 0.95 2 104.4

set {
    scf_type      direct
    mp2_type      conv
    cc_type       conv 
    e_convergence 7
    reference     rhf
    freeze_core true

def test_composite(**kwargs):

    scf = {
        'wfn': 'hf',
        'basis': kwargs.pop('scf_basis', 'aug-cc-pwCV[TQ]Z'),
        'scheme': kwargs.pop('scf_scheme', 'scf_xtpl_helgaker_2')
    corl = {
        'wfn': kwargs.pop('corl_wfn', 'mp2'),
        'basis': kwargs.pop('corl_basis', 'aug-cc-pwCV[TQ]Z'),
        'scheme': kwargs.pop('corl_scheme', 'corl_xtpl_helgaker_2')
    delta = {
        'wfn': kwargs.pop('delta_wfn', 'ccsd(t)'),
        'wfn_lesser': kwargs.pop('delta_wfn_lesser', 'mp2'),
        'basis': kwargs.pop('delta_basis', 'def2-SVP'),
        'scheme': kwargs.pop('delta_scheme', 'xtpl_highest_1')
    return [scf, corl, delta]


E_func         = energy('test_composite')

Any insights or suggestions from the community would be greatly appreciated. Thank you for your time and expertise.

Dear Emmanouil,
Thank you for bringing this to my attention. There is a test case in the Psi4 folder, which might be helpful for you to adapt your code:

Here, we set freeze_core = True, which is then propagated to all stages in the composite schema, except the upper level of the final stage, where it’s set to False and thus you obtain the D:(AE-FC)MP2/DZ contribution.

To adapt this to your example, you’ll have to expand the delta dict to contain an options entry. Note that an options_lo entry is also parsed and will apply the provided options only to the lower level of that particular stage:

Hope that helps!