Fwd: The show command freezes
- To: mathgroup at smc.vnet.net
- Subject: [mg90333] Fwd: The show command freezes
- From: "Jean-Marc Gulliet" <jeanmarc.gulliet at gmail.com>
- Date: Sun, 6 Jul 2008 07:19:03 -0400 (EDT)
- References: <g4d2sh$ep1$1@smc.vnet.net> <g4klhc$m8n$1@smc.vnet.net>
On Fri, Jul 4, 2008 at 8:26 PM, Aaron Fude <aaronfude at gmail.com> wrote:
> Mine is
>
> 6.0 for Microsoft Windows (32-bit) (March 13, 2008)
I won't be able to test on this version during the weekend (only Mac at home!)
Perhaps someone else from the group (I have crossposted the message on
MathGroup.)
Have a great weekend,
-- Jean-Marc
>
> On Fri, Jul 4, 2008 at 4:54 AM, Jean-Marc Gulliet
> <jeanmarc.gulliet at gmail.com> wrote:
>>
>> Aaron Fude wrote:
>>>
>>> Fair enough. Here's the code!
>>>
>>> F = 1000;
>>> K1 = 2; K2 = 1; g = 0.01; H1 = 14*F; H2 = 6*F; H = H1 + H2;
>>> \[CapitalDelta]1[c_, k_] := c^2/K1^2 - 1;
>>> \[CapitalGamma]1[c_, k_] := g/(k*K1^2);
>>> U1[c_, k_] :=
>>> Power[\[CapitalGamma]1[c, k], 2] - 4*\[CapitalDelta]1[c, k];
>>> Q1[c_, k_] := Sqrt[U1[c, k]];
>>> A1[c_, k_] := 1/2 k*Q1[c, k]*H1;
>>> \[CapitalPhi]1[c_, k_] := E^(-(1/2) k \[CapitalGamma]1[c, k] H1)/(
>>> 2 I c Cosh[A1[c, k]]);
>>> \[CapitalDelta]2[c_, k_] := c^2/K2^2 - 1;
>>> \[CapitalGamma]2[c_, k_] := g/(k*K2^2);
>>> U2[c_, k_] :=
>>> Power[\[CapitalGamma]2[c, k], 2] - 4*\[CapitalDelta]2[c, k];
>>> Q2[c_, k_] := Sqrt[U2[c, k]];
>>> A2[c_, k_] := 1/2 k*Q2[c, k]*H2;
>>> \[CapitalPhi]2[c_, k_] := E^(1/2 k \[CapitalGamma]2[c, k] H2)/(
>>> 2 I c Cosh[A2[c, k]]);
>>> M[c_, k_] := (\[NoBreak]{
>>> {0, -2 \[CapitalDelta]1[c, k] Tanh[
>>> A1[c, k]], -2 \[CapitalDelta]2[c, k] Tanh[A2[c, k]]},
>>> {g, 0, c k (Q2[c, k] + \[CapitalGamma]2[c, k] Tanh[A2[c, k]])},
>>> {g, c k (Q1[c, k] - \[CapitalGamma]1[c, k] Tanh[A1[c, k]]), 0}
>>> }\[NoBreak]);
>>> \[NoBreak]ns[c_, k_, tol_] := NullSpace[M[c, k], Tolerance -> tol]
>>> (*fh[c_,k_]:=Det[M[c, k]]*)
>>> fh[c_, k_] := \[CapitalDelta]1[c, k]*
>>> Tanh[A1[c,
>>> k]]*(Q2[c, k] + \[CapitalGamma]2[c, k]*
>>> Tanh[A2[c, k]]) + \[CapitalDelta]2[c, k]*
>>> Tanh[A2[c,
>>> k]]*(Q1[c, k] - \[CapitalGamma]1[c, k]*Tanh[A1[c, k]]);
>>> ff[c_, k_] :=
>>> Piecewise[{{fh[c, k], ( U1[c, k] >= 0) && (U2[c, k] >= 0)}}, None];
>>>
>>>
>>> FirstRoot[k_, p_] :=
>>> c /. FindRoot[(ff[c, m] /. m -> k) == 0, {c, 1.2},
>>> WorkingPrecision -> p + 5, PrecisionGoal -> p];
>>>
>>> Needs["VectorFieldPlots`"]
>>> k = 0.001;
>>> c = FirstRoot[k, 40];
>>>
>>> NS = ns[c, k, 10^-12];
>>>
>>> ZRange = {0, H};
>>>
>>> TicksYes = True;
>>> L = 2*H;
>>>
>>> vf1[x_, z_] := {\[CapitalGamma]1[c, k] + Q1[c, k], -2
>>> I \[CapitalDelta]1[c, k]}*E^(
>>> 1/2 k (\[CapitalGamma]1[c, k] - Q1[c, k])
>>> z) - {\[CapitalGamma]1[c, k] - Q1[c, k], -2
>>> I \[CapitalDelta]1[c, k]}*E^(
>>> 1/2 k (\[CapitalGamma]1[c, k] + Q1[c, k]) z);
>>> vf2[x_, z_] := {\[CapitalGamma]2[c, k] + Q2[c, k], -2
>>> I \[CapitalDelta]2[c, k]}*E^(
>>> 1/2 k (\[CapitalGamma]2[c, k] - Q2[c, k]) (z -
>>> H)) - {\[CapitalGamma]2[c, k] - Q2[c, k], -2
>>> I \[CapitalDelta]2[c, k]}*E^(
>>> 1/2 k (\[CapitalGamma]2[c, k] + Q2[c, k]) (z - H));
>>> vf[x_, z_] := Re[Piecewise[{
>>> {\[CapitalPhi]1[c, k] NS[[1]][[2]]*vf1[x, z], z < H1},
>>> {\[CapitalPhi]2[c, k] NS[[1]][[3]]*vf2[x, z], z > H1}}]*E^(
>>> I k (x - 2*c) )];
>>> profile =
>>> ParametricPlot[{Abs[Norm[vf[0, z]]], z}, {z, 0, H},
>>> AxesOrigin -> {0, 0}, AspectRatio -> 1/1.5,
>>> Ticks -> {TicksYes, Automatic}, PlotStyle -> {Thick, Black},
>>> PlotRange -> {Full, ZRange},
>>> AxesLabel -> {"|v|", "z"}, PlotPoints -> 1000];
>>>
>>> S0 = Graphics[{Dashed, Line[{{0, H1}, {1, H1}}]}];
>>>
>>> Show[profile]
>>> (*Show[profile, S0]*) (* This line makes it freeze *)
>>
>> Aaron,
>>
>> What version of Mathematica do you use? On my system, even with the number
>> of plot points increased ten fold, I get both plots in a blink:
>>
>> profile =
>> ParametricPlot[{Abs[Norm[vf[0, z]]], z}, {z, 0, H},
>> AxesOrigin -> {0, 0}, AspectRatio -> 1/1.5,
>> Ticks -> {TicksYes, Automatic}, PlotStyle -> {Thick, Black},
>> PlotRange -> {Full, ZRange}, AxesLabel -> {"|v|", "z"},
>> PlotPoints -> 10000];
>>
>> S0 = Graphics[{Dashed, Line[{{0, H1}, {1, H1}}]}];
>>
>> Show[profile]
>> Show[profile, S0]
>> $Version
>>
>> [... both graphs deleted ...]
>>
>> "6.0 for Mac OS X x86 (64-bit) (February 7, 2008)"
>>
>> Regards,
>> -- Jean-Marc
>
>