I'm plotting contours by replacing different set of parameters into a ParametricNDSolve result. For instance I have three different sets of parameters {n,m,Ea,LogZ} that will be replaced into the contoursol function
contoursol[{n_?NumericQ, m_?NumericQ, Ea_?NumericQ, LogZ_?NumericQ}]:= Module[{t}, ParametricNDSolve[{T'[t] == htc[TA] (TA - T[t]), y'[t] == 10^LogZ Exp[-Ea/(R T[t])] y[t]^m (1 - y[t])^n, y[0] == 10^-4, T[0] == T0}, \[Alpha], {t, 0, 10}, {TA}]];
data1 = { 1.56407, 0.377154, 114957., 15.9797};
data2 = {1.43237, 0.334775, 110680., 15.141};
data3 = {1.31691, 0.450877, 101020., 13.5803};
And when I use ContourPlot to generate the contours, I was having difficulties to differentiate the contours from different dataset of parameters. Since there's no PlotStyle but the ContourStyle, where all the contour colors were set based on the contour values rather than the function types. Below is my code:
ContourPlot[Evaluate[(1 - y[TE + 273.15][t]) /. {{contoursol[data1]},{contoursol[data2]}, {contoursol[data3]}}], {t, 0, 10}, {TE, 110, 180}, ContourStyle -> {Grey, Green, Blue}, Contours -> {5, 10, 30}, ContourLabels -> Automatic, ImageSize -> Large, ContourShading -> False, PlotRange ->All]
Can anyone please help me to figure how to make the contour colors based on the function type rather than the contour values? The only way I can think of is to use separate ContourPlot function and combine them using the Show function. Thank you in advance for your great help!
ParametricNDSolve
you have $\alpha$ where I think you want to have{y,T}
, and also you don't have definitions for{T0, R, htc}
. But the gist of the question is that you are doing a contourplot of 2 different functions overlaid together and you want a way to distinguish the contour lines from one function or the other? $\endgroup$