The combination of Non-Local Correlation with other functionals

Hi, is it possible to employ Non-Local Correlation (NLC) Functionals like VV10 in conjunction with B3LYP or TPSSh to account for dispersion effects? Or is it strictly limited to usage with PBE?
I mean something like this:

$molecule
0 1
Co                 8.44777400    5.67230600   12.57000400
P                  7.54495100    6.82940400   10.84548200
P                  9.38529200    4.87402900   14.45082300
O                  7.15492900    6.68316200   13.70969000
N                  7.09380800    4.11074000   12.39362700
C                  5.38233000    5.06406200   13.91195900
C                  4.11888300    4.76408000   14.49191600
H                  3.65738700    3.80119300   14.24897400
C                  7.35355600    2.93504400   11.62473400
C                  5.95072100    4.08225900   13.03340600
H                  5.31227000    3.19846000   12.87679600
C                  6.02026600    6.32574300   14.19932100
C                  4.09504700    6.88369100   15.62990700
H                  3.59853300    7.59351600   16.29862800
C                  5.32045700    7.21600000   15.07963000
H                  5.79729700    8.17400300   15.30137500
C                  3.47373400    5.64528700   15.34207600
H                  2.50570600    5.39349900   15.78008000
C                  9.87053600    4.79168900   11.49927800
H                  9.74553300    4.92130600   10.40956500
H                  9.91379800    3.70092200   11.67753800
H                 10.86679600    5.20225400   11.74192900
C                  7.49783800    0.50628600   11.44593800
H                  7.43371700   -0.47552100   11.92237200
C                  7.67408500    3.02818300   10.25993700
H                  7.74595800    4.01159600    9.79863200
C                  7.26858700    1.65635800   12.20864300
H                  7.03189700    1.56568100   13.27095300
C                  7.81005400    0.60965600   10.08740700
H                  7.99069200   -0.28815000    9.49152100
C                  9.70202600    7.21041700   12.76233900
H                 10.03596100    7.62030900   11.79014300
H                 10.63452500    6.96162900   13.30295100
H                  9.18853600    8.01060400   13.32324700
C                 11.16463900    4.39484900   14.41789300
H                 11.49935800    4.10214800   15.42617900
H                 11.78215700    5.23571700   14.06932800
H                 11.31348500    3.54814700   13.73186600
C                  7.89246800    1.87776900    9.49983500
H                  8.13113500    1.97458800    8.43752900
C                  9.33394700    6.06374100   15.85585800
H                  8.28842100    6.30378300   16.09532800
H                  9.84537300    6.99603400   15.57680400
H                  9.82328500    5.63506200   16.74541300
C                  8.64909300    3.37163500   15.23088100
H                  8.76448900    2.51116100   14.55558000
H                  7.57819800    3.53293500   15.42497300
H                  9.15164200    3.14227300   16.18480400
C                  8.42445100    6.92158600    9.22642600
H                  9.45959900    7.25954000    9.38682800
H                  7.91855200    7.62871400    8.54931800
H                  8.45889900    5.93432000    8.74102600
C                  7.29483800    8.61573300   11.22138000
H                  6.76489000    8.70431100   12.18025000
H                  6.70747600    9.10077100   10.42524900
H                  8.26496900    9.12441500   11.31187700
C                  5.83473300    6.36003000   10.32892300
H                  5.80510000    5.32518600    9.95783700
H                  5.46739900    7.03296200    9.53686800
H                  5.16092800    6.43489800   11.19592700
$end

$rem
BASIS                           def2-svp
METHOD                      TPSSh
NL_CORRELATION     vdW-DF-10
!......
$end

Have you tried EXCHANGE = GEN in combination with a $xc_functional section?

I think you can easily do this but the NL parameters are not optimized for these functionals and might be worse than optimized empirical dispersion correction.

That may be true but I’m pretty sure we’ve done this, in order to implement the PBEh(40)-rVV10 functional that is used in some CP2K papers,
https://doi.org/10.1021/acs.jpclett.2c03460
https://doi.org/10.1021/acs.jctc.1c00412

I checked my old inputs from those papers and the NL correlation doesn’t go into the $xc_functional section but rather into $rem, e.g.

$rem
nl_correlation  vv10
use_rvv10       true
nl_vv_c         93
nl_vv_b         530
$end

where the last two lines are setting the parameters to some that have been used in CP2K calculations

Thank you for your detailed explanation. Based on this, am I correct in using the following input?
I extracted the ‘b=5.0’ value for TPSS functional from https://doi.org/10.1021/ct4003527.

$rem
method            tpss
nl_correlation    vv10
use_rvv10         true
nl_vv_c           93
nl_vv_b           500
$end

Please see the papers that I cited for the details about the functional, which you can map to the input section that I pasted above. These keywords should also be described in the manual.