Global Sensitivity Analysis in a subset of model parameters

Hi everyone. I was wondering if there is a way to perform Global Sensitivity Analysis in a subset of model parameters, because some of them are physically constant. The most naive approach would be to set the lower and upper bounds for these parameters equal, however in Sobol method, the total number of evaluations for ST and S1 will still be N*(p+2), where p is the total number of parameters, so even though the parameters that are constant will not contribute to the output (ST=S1=0), the computational cost will be the same.

Also, regarding Morris method, when I set the lower and upper bounds equal I get the following error message:

BoundsError: attempt to access 0-element Vector{Vector{Float64}} at index [1]

Thank you everyone in advance!

Make an outer function that takes the sensitivity functions and appends them:

function outer_function(p)
  inner_function([p;p_fixed])
end

and then running the global sensitivity on p with outer_function

Thanks Chris. Regarding the error in Morris method, do you have an idea why it happens?

I’d need an MWE.

Thanks Chris. I actually resolved the issue by using ComponentArrays.jl