I need to combine two plots like this Combining two plots which are in two regions but in 3D case. The problem is that I don't know where exactly boundary passes.
I have two complex functions qpC32 and qpC34. And I want to plot only real parts of this functions in such a way that
Where Im@qpC32 != 0 do qpC32=0 && Plot[Re@qpC32, {q, 0, 2000}, {m5, 0, 2000}]
Where Im@qpC34 != 0 do qpC34=0 && Plot[Re@qpC34, {q, 0, 2000}, {m5, 0, 2000}]
and after that I want to combine two plots:
Plot[Re@qpC32+Re@qpC34, {q, 0, 2000}, {m5, 0, 2000}]
It is not correct code but it is a general idea what I want to do.
And finally here is my code for my functions and plotting theirs.
eqn = j -
Sqrt[q^2 + qp^2 -
2 q qp Cos[\[Theta]]] - \[Sqrt](qp^2 +
1/2 (16 m5^2 + ma^2 + mp^2 -
Sqrt[(-(16 m5^2) - ma^2 - mp^2)^2 -
4 (ma^2 mp^2 - 16 m5^2 qp^2)])) == 0;
With[{gensol = Solve[eqn , qp]},
Block[{\[Theta] = Pi/12, m = 5.5, M = 300, Nc = 3, c = \!\(\*
TagBox[
InterpretationBox[
RowBox[{"\"\<-4.46874\>\"", "*",
SuperscriptBox["10", "\"\<4\>\""]}],
-44687.3983417778,
AutoDelete->True],
ScientificForm]\), b = \!\(\*
TagBox[
InterpretationBox[
RowBox[{"\"\<1.61594\>\"", "*",
SuperscriptBox["10", "\"\<5\>\""]}],
161593.81818181818`,
AutoDelete->True],
ScientificForm]\), k1 = \!\(\*
TagBox[
InterpretationBox[
RowBox[{"\"\<1.6485\>\"", "*",
SuperscriptBox["10", "\"\<1\>\""]}],
16.485010961790245`,
AutoDelete->True],
ScientificForm]\), k2 = \!\(\*
TagBox[
InterpretationBox[
RowBox[{"\"\<-1.31313\>\"", "*",
SuperscriptBox["10", "\"\<1\>\""]}],
-13.131344420001051`,
AutoDelete->True],
ScientificForm]\), ma, mp,
j},(*subs vals when gensol is evaluated*){j = \[Sqrt](q^2 +
1/2 (16 m5^2 + ma^2 + mp^2 +
Sqrt[(-(16 m5^2) - ma^2 - mp^2)^2 -
4 (ma^2 mp^2 - 16 m5^2 q^2)])),
ma = \[Sqrt](-2 (M^2 -
2 (3 k1 + k2) (Sqrt[(c + M^2 + 2 m5^2)/(2 (k1 + k2))] +
m b/(2 (c + M^2 + 2 m5^2)))^2 - c + 2 m5^2)),
mp = Sqrt[
2 b m (Sqrt[(c + M^2 + 2 m5^2)/(2 (k1 + k2))] +
m b/(2 (c + M^2 + 2 m5^2)))^-1]};
sols = gensol]];
qpC32 = Compile[{{q, _Complex}, {m5, _Complex}},
Evaluate[qp /. sols[[2]]],
RuntimeOptions -> "EvaluateSymbolically" -> False] ;
qpC34 = Compile[{{q, _Complex}, {m5, _Complex}},
Evaluate[qp /. sols[[4]]],
RuntimeOptions -> "EvaluateSymbolically" -> False] ;
Plot3D[ Re@qpC34[q, m5], {q, 0, 2000}, {m5, 0, 2000},
PlotRange -> Full]
Plot3D[ Im@qpC34[q, m5], {q, 0, 2000}, {m5, 0, 2000},
PlotRange -> Full]
Plot3D[ Re@qpC32[q, m5], {q, 0, 2000}, {m5, 0, 2000},
PlotRange -> Full]
Plot3D[ Im@qpC32[q, m5], {q, 0, 2000}, {m5, 0, 2000},
PlotRange -> Full]