Samir Khan

1169 Reputation

14 Badges

11 years, 227 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 replies submitted by Samir Khan

Here's an animation of a robot arm drawing a Maple leaf, courtesy of this worksheet

@Markiyan Hirnyk Your screen shows shows "Adult literacy rate, population 15+ years, gender parity index (GPI)"

The application uses "Adult literacy rate, population 15+ years, both sexes (%)" for the year 2015. As the title of the application here states, only subsaharan african countries are plotted (as such, Egypt is not plotted)

@Markiyan Hirnyk The data comes from Specifically, it's the adult literacy rate for both sexes, ages 15+. The complete application is here

@Ramakrishnan The Organic Rankine Cycle application can be found here (and it's in the Application Gallery in Maple 2017). All the code is in the startup code region. In the application

  • the flowchart is an image (that is, an image file created in another tool and placed on the plot with the background option)
  • the text and numbers on the plot are textplots.

If you want box color to vary with the value of a variable, you'll need to construct the flowchart (i.e the boxes and the arrows) using plottools. Perhaps something like this

conditionalValue := 1.2:
colorList := [[0,79/255, 121/255], [221/255,231/255, 240/255]]:
colorValue := piecewise(conditionalValue > 1, colorList[1], colorList[2]):
p1:=rectangle([-2,1],[2,-1],color=Color("RGB",colorValue), style=surface):
p2 := textplot([2,1.4,sprintf("Value = %.1f",conditionalValue)],font=[Arial, Bold]):
display(p1, p2,scaling=constrained, view = [-5..5, -5..5], axes = none)


@Ramakrishnan You might be interested in this document:

Enhancements to PDE solvers in Maple 2017

@Markiyan Hirnyk We already know :)


Please send one of your Mathcad worksheets to us at (mark it for my attention)

I'll let you know if we think Maple is a viable alternative.


@mclaine Could you please email a typical Mathcad worksheet to (marked for my attention). I'd like to take a closer look, and perhaps provide a few recommendations. The technical context always matters

Mathcad will discard angle units in numeric output...

Maple will not, unless you specifically ask it to (with convert(B,unit_free))

If you're thinking about switching from Mathcad to Maple, I would not concentrate on directly reproducing your Mathcad units experience in Maple. The underlying implementation is too different.

Are you doing antenna design? I'm guessing from your previous questions and comments about units, scientific constants, and phasors.

@mclaine I used to work for a Mathcad reseller in tech support, so I know both products well.

Are you attemping to convert an existing Mathcad worksheet to Maple? If so, can you share the Mathcad worksheet? That would help us understand the context of your issue.

@Christopher2222 Here's a rough cut of an analysis.



This function gives the coldest possible temperature (i.e. the wet bulb temperature) in a Zeer as a function of the air temperature

and the relative humidity

Twb_val := (Tdb_val, R_val) -> Property(Twb, HumidAir, Tdb = Tdb_val, R = R_val,

pressure = 101325):

Range of relative humidities to plot:

R_val := [0.3, 0.4, 0.5, 0.6, 0.7]:

p1 := seq(plot(Twb_val(temp, R_val[i]), temp = 280 .. 310, adaptive = false,

numpoints = 20), i = 1 .. 5):

p2 := seq(textplot([310, Twb_val(310, R_val[i]), sprintf("R = %.1f",R_val[i])]),

i = 1 .. 5):

display(p1, p2, labels = ["Air Temperature (K)", "Coldest Possible Temperature in Zeer (K)"],

labeldirections = [horizontal, vertical])


At a constant air temperature, the coldest possible temperature (i.e. the wet bulb temperature) increases as the relative humidity

(i.e. water in air) increases.


This makes sense because


If there is more water in the air, less water will evaporate from the wet sand between the two pots in the Zeer


and hence less latent heat will be removed



This MapleSim model contains a Modelica custom component that reads the CoolProp DLL. You'll need to change the path in the code to point to the location of the DLL on your computer.



@Thomas Richard

  • Those techniques are not appropriate for the typical home user (e.g. ISPs that block port 25, Windows OS etc)
  • MailGun works also on the MapleCloud. I have Cloud applications that email results to the user (after the user has entered their email in a text area). Let me know if you want access.


@Axel Vogt 

Here's the full email header


The header of Sample.txt implies that the data is generated by an oscilliscope. 

Can your oscilloscope generate binary data files? Then you could attempt to use ?FileTools[Binary] to import the data.

1 2 3 4 Page 2 of 4