Samir Khan

1754 Reputation

19 Badges

14 years, 263 days

My role is to help customers better exploit our tools. I’ve worked in selling, supporting and marketing maths and simulation software for all my professional career.

I’m fascinated by the full breadth and range of application of Maple. From financial mathematics and engineering to probability and calculus, I’m always impressed by what our users do with our tools.

However much I strenuously deny it, I’m a geek at heart. My first encounter with Maple was as an undergraduate when I used it to symbolically solve the differential equations that described the heat transfer in a series of stirred tanks. My colleagues brute-forced the problem with a numerical solution in Fortran (but they got the marks because that was the point of the course). I’ve since dramatized the process in a worksheet, and never fail to bore people with the story behind it.

I was born, raised and spent my formative years in England’s second city, Birmingham. I graduated with a degree in Chemical Engineering from The University of Nottingham, and after completing a PhD in Fluid Dynamics at Herriot-Watt University in Edinburgh, I started working for Adept Scientific – Maplesoft’s partner in the UK.

MaplePrimes Activity

These are answers submitted by Samir Khan

When resizing an image with the mouse, hold down the Shift key to maintain the aspect ratio.

This is on the roadmap, but not in the product just yet

You can use the Context Panel to rescale Ω to kΩ.




In "Enter Units", write `Omega` for ohms, or `kOmega` for kilo ohms.

You can generate compressibility factor charts with the ThermophysicalData package

fluid := "CH4":
Zc := (p, t) -> Property(Z, fluid, temperature = t, pressure = p):
temps := [200*Unit(K), 300*Unit(K), 600*Unit(K)]:
    seq(plot(Zc(p, temps[i]), p = 0 * Unit(bar)..600 * Unit(bar)),i = 1..3)
   ,seq(plots:-textplot([640, Zc(600*Unit(bar), temps[i]), temps[i]] ), i = 1..3)
   ,labels = ["Pressure (bar)", "Compressibility Factor"]
   ,labeldirections = [horizontal, vertical]

You can certainly rescale kg/(m^2*s^2) to N/m^3 using the Context Panel. You need to use the "Enter Unit" field to specify your custom unit:

You can convert to torque units (e.g. N*m, lbf*ft etc) with the Context Panel.

  • Click on the result you want to rescale to torque (this probably has units of energy e.g. J) and open the Context Panel

  • Locate the "Enter Unit" box in the Context Panel, and enter your desired units of torque (e.g. N*m)

  • Press Enter

You should now find that your result is rescaled to units of torque

The Optimization package understands units, so you could do something like this:


XU:=Vector([1*Unit(s), 2*Unit(s), 3*Unit(s), 4*Unit(s), 5*Unit(s), 6*Unit(s)]):
YU:=Vector( [2*Unit(m), 3*Unit(m), 4*Unit(m), 3.5*Unit(m), 5.8*Unit(m), 7*Unit(m)]):

sse:=(a,b,c)->add( (a+b*XU[i]+c*XU[i]^2 - YU[i])^2, i = 1..6):

Optimization:-Minimize(sse(a,b,c),initialpoint = {a=1*Unit(m),b=1*Unit(m/s), c=1*Unit(m/s^2)})

Warning, (in sse) `i` is implicitly declared local


[1.287714285714*Units:-Unit(m^2), [a = HFloat(1.9599999999999476)*Units:-Unit(m), b = HFloat(0.16500000000003545)*Units:-Unit(m/s), c = HFloat(0.11071428571428099)*Units:-Unit(m/s^2)]]




Add this option to the plot command: useunits=[deg,lbf]

Subscripts in Flow can only contain alphanumeric characters, with any other characters escaping to the baseline.

The content menu is not available in Flow.

i. View>Print Extents displays the page margins

ii. Yes, the Draw tools only appears on an imported image. For a future release, we will introduce a blank mini-canvas that you can insert and draw on

iii. Assuming you mean the images in the in-product Application Gallery and the online Application center, the images were created in a mixture of Microsoft Word (using the drawing tools),, Libre CAD, and Libre Draw

iv. We will consider this for a future release.

v. That should work (the process is the same as described in the User Guide). Please contact technical support and they'll help.

You can use a code window (Edit>Code) to write a Maple-language procedure that contains a loop. You can then call that procedure in the canvas.

But you don't need a loop for your specific example - try filling the Matrix entirely within the constructor like so


For Flow 2021, you need activate both Maple and Flow

  • Open Maple, go to Help > About, click on Reactivate License, and reactivate with the Purchase Code
  • Then open Maple Flow, go to Help > About, click on Reactivate License, and reactivate with the Purchase Code

Flow 2022 (ready very soon!)  will be a single installer, so you don't need a prior installation of Maple.

You can't convert Maple Flow sheets to Maple sheets

Maple Flow's forward-in-space evaluation model does not support assign().

You can try x:=eval(x,s) instead.

1 2 3 4 Page 1 of 4