ParallelTable complaining while Table executes
- To: mathgroup at smc.vnet.net
- Subject: [mg127628] ParallelTable complaining while Table executes
- From: narducci60 at gmail.com
- Date: Wed, 8 Aug 2012 03:17:25 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
I'm having trouble parallelizing a simple code. Table[] executes it without any problem but if I try to use ParallelTable something seems to go wrong.
Here is the snippet:
Table[Show[
Plot3D[h2Dbreak[xx, yy, t, -1], {xx, 0, 10}, {yy, 0, 10},
PlotStyle -> Yellow, ColorFunctionScaling -> False,
BoxRatios -> {1, 1, .5}, MaxRecursion -> 7, Mesh -> None,
Filling -> \[Phi]2D[0, 0, t], FillingStyle -> psau, Axes -> False,
Ticks -> None, Boxed -> False,
PlotRange -> {{0, 10}, {0, 10}, {-5, 1.5}}],
Plot3D[\[Phi]2Dbreak[xx, yy, t, -1], {xx, 0, 10}, {yy, 0, 10},
PlotStyle -> ps, BoxRatios -> {1, 1, 2}, MaxRecursion -> 7,
Mesh -> None, Filling -> Bottom, FillingStyle -> psbulk,
Axes -> False, Ticks -> None, Boxed -> False,
PlotRange -> {{0, 10}, {0, 10}, {-5, 1.5}}]
], {t, 0, .02, .01}]
where
\[Phi]2Dbreak[x_, y_, t_, nabla2\[Phi]crit_] :=
If[t < tbreak[x, y, nabla2\[Phi]crit], \[Phi]2D[x, y, t], \[Phi]2D[x,
y, tbreak[x, y, nabla2\[Phi]crit]]]
h2Dbreak[x_, y_, t_, nabla2\[Phi]crit_] :=
If[nabla2\[Phi][x, y, t] < nabla2\[Phi]crit, Indeterminate,
h2D[x, y, t]]
tbreak[x_, y_, nabla2\[Phi]crit_] :=
If[tbreaktmp[x, y, nabla2\[Phi]crit] > 0,
tbreaktmp[x, y, nabla2\[Phi]crit], 1000]
tbreaktmp[x_, y_, nabla2\[Phi]crit_] :=
t //. FindRoot[
nabla2\[Phi][x, y, t] == nabla2\[Phi]crit, {t, 0.1, 2}]
h2Dbreak[x_, y_, t_, nabla2\[Phi]crit_] :=
If[nabla2\[Phi][x, y, t] < nabla2\[Phi]crit, Indeterminate,
h2D[x, y, t]]
Needs["VectorAnalysis`"]
nabla2\[Phi][x_, y_, t_] :=
Laplacian[\[Phi]2D[Xx, Yy, t]] //. {Xx -> x, Yy -> y}
Table[...] works fine while ParallelTable complains:
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
General::stop: Further output of FindRoot::nlnum will be suppressed during this calculation.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
General::stop: Further output of FindRoot::nlnum will be suppressed during this calculation.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
FindRoot::nlnum: The function value {0.5 +VectorAnalysis`Laplacian[-0.2]}
is not a list of numbers with dimensions {1} at {t} = {0.1}.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
General::stop: Further output of FindRoot::nlnum will be suppressed during this calculation.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
General::stop: Further output of ReplaceRepeated::reps will be suppressed during this calculation.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
General::stop: Further output of ReplaceRepeated::reps will be suppressed during this calculation.
ReplaceRepeated::reps: {FindRoot[nabla2\[Phi][0.000715,0.000715,t]==-0.5,{t,0.1,2.}]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.
General::stop: Further output of ReplaceRepeated::reps will be suppressed during this calculation.
and returns no output. I tried to DistributeDefinitions -- no success.
Any hint?
Thanks,
Dario