1
$\begingroup$

I have the following code:

P = 100;(*Precision for the calculation*)

nV = 2;

omV = 1;(*eV*)

B0V = 194;(*eV^2*)

km[om0_, ma0_, n0_, g0_] := 
 Block[{ma = SetPrecision[ma0, P], om = SetPrecision[om0, P], 
   n = SetPrecision[n0, P], g = SetPrecision[g0, P]}, 
  Sqrt[om^2/
    2*( -ma^2/om^2 + n^2 + 1 - 
      Sqrt[(ma^2/om^2 + n^2 - 1)^2 + (2*g*194/om*10^(-9))^2])]]

pkm=ContourPlot[km[1,m,2,g],{m,10^(-4),10^0},{g,10^(-4),10^8},ScalingFunctions->{"Log","Log"},PlotLegends->BarLegend[{Automatic,{0,1}},LegendLabel->"Subscript[k, -]"],Contours->10,PlotPoints->100];

test = LogLogPlot[
  1/B0V*10^9*omV*nV*Sqrt[1 - m^2/omV^2], {m, 10^(-0.25), 10^0}, 
  PlotPoints -> 60000]

Show[pkm,  test]

that produces the following output:

enter image description here

My problem is that Mathematica does not color the whole range that should be colored. For example the whole range up to 1 on the x axis should be colored. I have indicate this with the blue curve. Everything under the blue curve should be colored. Everything else should give an imaginary value and should be white. (Another small question would be How I can draw the blue curve down to 0.001 y values?)

Many thanks in advance!

$\endgroup$
  • 2
    $\begingroup$ do you get what you need if you add the option PlotRange->All to ContourPlot? $\endgroup$ – kglr Oct 16 at 13:30
  • $\begingroup$ Yes, thanks a lot! $\endgroup$ – Jan SE Oct 16 at 13:36
3
$\begingroup$

If we add the option PlotRange->All to ContourPlot,

Show[pkm, test]

gives

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.