Carl Love

Carl Love

28055 Reputation

25 Badges

13 years, 1 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@666 basha I have something for this situation, but not a complete solution yet. This will work for any 3D surface plot, not just those in my worksheet. If you include the options shading= ZHUE, lightmodel= NONE, you'll get something like this:

ParamPlot3d(
   GetNu, S= 0..12, Ha= 0..12, [Rd= 4.5, Ec= 0.06, Nb= 0.15, Nt= 0.15, Sc= 0.5],
   labels= [S, Ha, Nu],
   surfaceopts= [shading= ZHUE], lightmodel= NONE
);

You will notice that this has not changed the underlying contourplot. You can take any 3D plot and view it as a 2D plot by including the option orientation= [-90,0]. So, for the above

ParamPlot3d(
   GetNu, S= 0..12, Ha= 0..12, [Rd= 4.5, Ec= 0.06, Nb= 0.15, Nt= 0.15, Sc= 0.5],
   labels= [S, Ha, Nu], 
   surfaceopts= [shading= ZHUE], lightmodel= NONE, orientation= [-90,0]
);

I have modified the code so that all dsolve solutions are stored in a remember table; so, it's possible now to change the options on a plot and have the new plot come up instantly. The new worksheet is nanofluid_BVP_Sheikholeslami.mw  The example above is the first of the 3D plots.

Maple's 3D plotting is more-sophisticated than its 2D plotting. Translating the coloring options of a 3D plot to an actual 2D contour plot is difficult (but I think that it's ultimately possible). The built-in coloring option of a contourplot allows for a range bounded by two colors, but not the whole red-to-violet visual spectrum (aka the "HUE" spectrum in some Maple commands). If the above meets your needs, great. If not, I'll try to modify the 2D plot also.

@Carl Love Please let me know if the above works for you. I can imagine some situations where it won't work, and I'm still not clear what output you're looking for in all cases.

@tomleslie I modified the code between when VV downloaded it and when you downloaded, and I introduced an error, which has now been fixed. In the first procedure, q:= R() should be q:= nextprime(R()).

@vv My code above works just as well (meaning without apparent effort) for thousand-bit keys also. I just used a 70-bit key because I wanted it all to fit nicely in the post.

Just do RSA:-GenKey(512);

@student_md The last line of my Answer can be used to "flatten" or "remove the brackets" from Tom's Answer, if you take his Matrix and use it as the T in my code.

But I suspect that Acer has a more-efficient Answer. I haven't analyzed his yet.

@666 basha So heat transfer = Nu? That's all that you needed to say several replies ago. I know how to translate numbers into colors.

Nu: symbol, concept that I understand;
Translating symbols to numbers: concept that I understand;
Translating numbers to plot colors: concept that I understand.

But...

"heat transfer": concept that I don't know much about.

It'll probably take me a day to get to it.

@tomleslie I just posted a complete implementation of RSA. The OP's procedure is equivalent to my procedure Stringify.

@666 basha Okay, I understand your desired color scheme. But what is the heat transfer formula? (And why didn't you answer that before?) Please remember that I don't know the first thing about fluid mechanics. (I'm not even sure that the field that we're discussing is properly called "fluid mechanics".) All I know is

  • symbolic computation
  • numeric computation
  • abstract ODEs
  • how to solve ODEs numerically
  • how to plot the solutions with Maple.

@Rohith  The issue that you present is not really about denominators; rather, it's about nested expressions. Since you had indets[flat] rather than indets in your Question, I used flat in my Answer, which avoids nested expressions; I assumed that that's what you wanted. The expression that you're trying to extract in this case, a*cos(psi)*sin(a)^2, is a `*` inside a `+` inside a `*` (because division is `*` also) inside a `+`. Regular indets will find it no matter how deeply it's nested, but indets[flat](..., `*`) will ignore it.

So, try this

getFuncCoeff:= proc(e)
local 
   One,
   Funcs:= [select(
      x-> membertype({function, function^anything}, {op(x)}),
      indets(subsindets(e, function, f-> One*f), `*`)
   )[]],
   Coeffs:= subsindets(Funcs, {function, identical(One)}, 1)
;
   eval(Funcs, One= 1), Coeffs
end proc;

 

@666 basha What is the formula for heat transfer in terms of the parameters of this BVP system? Is it the Nusselt number? Do you want higher heat transfer values at the red end of the spectrum or the violet end?

@666 basha I said to replace mul with (`*`@op), but you've replaced it with `*`@op. The parentheses matter.

@666 basha So, you want the coloring that's used for the 3D surface to be used for the 2D contour plot? And do you want that shown in 2D or 3D? And what coloring do you want, the X*Y that you show? What's the relevance of that?

@666 basha 

I said to replace mul with (`*`@op), but you have just replaced it with op. Just using op will remove all the cross-product terms from the model.

"Model is not of full rank" generally means that the data has insufficient variation in at least one of the input parameters. The input parameters in this case are  [S, Ha, Rd, Ec, Nt, Nb]. The data is collected over the course of running the worksheet. Each plot varies at most 2 parameters. If you run all the plots in the worksheet as I presented it, there will be about 15,000 data points with sufficient variation for Fit to not give the warning. If you continue to have this problem, let me know.

 

@666 basha The one-argument forms of mul and add were added after Maple 18. To retrofit, replace mul with (`*`@op).

@666 basha The plot that you show is generated by procedure ParamPlot3d. Inside that procedure, a 2D version of the contour plot is created and assigned to local C. So, you just need to make the first line of the body of the procedure (i.e., after the local declarations) 

return C;

First 293 294 295 296 297 298 299 Last Page 295 of 709