I'm trying to develop some code that I can easily adapt to different material models (see Propagation Models
For that I have defined a "vector"

that enters into the functions that are the starting point of all the procedure:

Or if you like it better
Subscript[\[Rho], JCA][\[Omega]_, \[Sigma]_, \[Phi]_, ainf_, \[CapitalLambda]VCL_] := ((ainf*\[Rho])/\[Phi])*(1 + ((\[Sigma]*\[Phi])/(I*\[Omega]*ainf*\[Rho]))*Sqrt[1 + I*((4*ainf^2*\[Eta]*\[Rho]*\[Omega])/(\[Sigma]^2*\[CapitalLambda]VCL^2*\[Phi]^2))]);
Subscript[K, JCA][[Omega], [Phi], [CapitalLambda]TCL_] := ([Gamma]Subscript[p, 0])/[Phi]/([Gamma] - ([Gamma] - 1)/(1 - I((8*[Kappa])/([CapitalLambda]TCL^2Cp[Rho][Omega]))Sqrt[1 + I(([CapitalLambda]TCL^2Cp*[Rho][Omega])/(16[Kappa]))]));
Subscript[k, w][\[Omega]_, \[Sigma]_, \[Phi]_,
ainf_, [CapitalLambda]VCL_, [CapitalLambda]TCL_] := [Omega]* Sqrt[Subscript[[Rho], JCA][[Omega], [Sigma], [Phi], ainf, [CapitalLambda]VCL]/ Subscript[K, JCA][[Omega], [Phi], [CapitalLambda]TCL]]; Subscript[Z, w][[Omega], [Sigma], [Phi], ainf, [CapitalLambda]VCL_, [CapitalLambda]TCL_] := Sqrt[Subscript[[Rho], JCA][[Omega], [Sigma], [Phi], ainf, [CapitalLambda]VCL]* Subscript[K, JCA][[Omega], [Phi], [CapitalLambda]TCL]];
Everything calculates well. E.g.:

I defined first

I tried then to get a fit:

The error message is something I don't understand:

I tried all possible combinations with error messages always different, but always useless.
Please help!
Excuse me if I have used images. If I had used the inline notation, you would have understood nothing.
Thanks
InputFormprior to copy and paste. $\endgroup$