Samir Khan

1971 Reputation

20 Badges

16 years, 193 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

In Settings tab, set Compiler=false.

If you install a compiler (as described here), you can simulate the model with Compiler=true.

Samir

As an addendum, here's a Maple 15 worksheet that discretizes the Water Hammer PDEs along the spatial dimension, and solves the resulting set of ODEs numerically.

For a given set of inputs, the results are consistent with those of the MapleSim model. There are a few small differences which can be explained by differences in how boundary conditions are set in MapleSim (i.e. the closure characteristics of the valve) and Maple (i.e. the velocity profile at the end of the pipeline)

Water_Hammer_Application.mw

@acer Go ahead with the Application.

When I first wrote the worksheet, I spoke to experts at Maplesoft about the visualization (the responsiveness of pointplots for large numPoints, or other methods of visualization) but no workable result was presented.

I started writing a 3d convex hull routine to remove the interior points (to make the pointplots more responsive), but I never finished...might have to brush the dust off it.

Samir

@acer 

Here's an archive of the worksheet plus screengrabs of plots being produced in situ. I haven't touched the worksheet in over two years because I found it too resource intensive for wider consumption. Use at your own risk :)

Quaternion_Fractal.zip

@acer The Maple 15 version removed a bug in the string manipulation code. There were no other changes apart from that (i.e. the URLs they call are the same).

I can't remember trying the application on Maple 12 (nor do I have this version installed)

@Christopher2222

 

This worksheet is in better shape

 Countercurrent_doub.mw

@Christopher2222

 

This worksheet is in better shape

 Countercurrent_doub.mw

@Christopher2222 

There are multiple typos in the worksheet I posted.  Bear with me while I clear them up...

@Christopher2222 

There are multiple typos in the worksheet I posted.  Bear with me while I clear them up...

@Robert Israel 

MapleSim's Parameter block does not understand the EllipticK function (that's why I didn't use the exact expression).  I can, however,  just type the power series expansion into the Parameter block.

@Axel Vogt The worksheet works as expected in Maple 13 and 14.  However, before you mentioned it, I hadn't tried it in Maple 12 - but it seems that it hangs somewhere.  Just so you can see what's going on, here's a version of the worksheet with the procedure exposed: ForexExposed.mw

@stefanv 

I used the Haversine formula to calculate the distance between two longitude/latitude points. This accounts for the curvature of the earth by approximating it with a sphere.

Hello Lester,

You can upload a PDF or zip file to Mapleprimes.com and link to it in a post via the green up arrow in the comments editor.

Samir

What elements are you having problems with? Can you post a simple example?

Samir

Funnily enough I needed to do exactly this a month ago for an app I was writing. This code downloads weather data (from wunderground.com) for Waterloo International Airport, airport code YKF (the airport referenced in your link) for 13th May 2010.

restart;
with(Sockets); sid :=
Open("www.wunderground.com", 80);
Write(sid, cat("GET /history/airport/CYKF/2010/05/13/DailyHistory.html?HideSpecis=0&format=0 HTTP/1.0 \n\n")):
str := "":
while b <> false do
   str := cat(str, b):
   b := Read(sid):
end do:
Close(sid):
str;

If you really wanted to use the Environment Canada website you pointed to, then examine the [CSV] download link near the bottom of the webpage - it links to http://www.climate.weatheroffice.gc.ca/climateData/bulkdata_e.html?timeframe=2&Prov=XX&StationID=32008&Year=2010&Month=4&Day=1&format=csv&type=dly

All you'd need to do is reconcile that link against the code above. Try it out, but if you have problems let me know.

Samir


 

5 6 7 8 Page 7 of 8