Samir Khan

1134 Reputation

14 Badges

11 years, 101 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

Look at this application: C Code to calculation flame temperature of octane

bisection := proc (a, b, Tinit)

   local epsilonABS, epsilonSTEP, c, atemp, btemp:

   epsilonABS := 0.1:
   epsilonSTEP := 0.1:
   atemp := a:
   btemp := b:

   while epsilonSTEP <= btemp-atemp or epsilonABS <= abs(HeatBalance_code(atemp, Tinit))
         and epsilonABS <= abs(HeatBalance_code(btemp, Tinit)) do
      c := (atemp + btemp) / 2:
      if abs(HeatBalance_code(c, Tinit)) <= 0 then
         break
      elif HeatBalance_code(atemp, Tinit)*HeatBalance_code(c, Tinit) < 0 then
         btemp := c
      else
         atemp := c
      end if
   end do:

return atemp:

end proc:

 

Maple 2018 lets you use units in fsolve.

For that worksheet, the result of fsolve becomes this:

See the attached worksheet for the complete application with units

Flow_through_an_Expansion_Valve.mw

 

 

 

The maps (and rotatable globe) in this application were developed with Maple 2017's world map tools (the application contains the plots, but not the code used to create the plots - I can give this to you in a separate worksheet)

Map_Projections.zip

If you have Maple 2017, go to the ?ApplicationGallery and look at the Structural Engineering section (specifically the "Steel Beam under Torsion" example).

Go to View > Show / Hide Contents..., deselect Execution Group Boundaries, and click OK

The unit of N wasn't correctly associated with the definition of F (they were actually two separate math regions). I've corrected this in the attached worksheet (and have also added with(Units[Simple]) to the top.

Berechnungen-1_shk.mwBerechnungen-1_shk.mw

While Maple 2017 doesn't have a direct link to weather data, you can connect Maple to web services that offer such data.

For example, https://openweathermap.org offer free and paid weather data that you can download straight into Maple via their API (we have no connection to openweathermap.org)

Here's an example call  that gives you the current weather conditions in Waterloo, Ontario (I've blanked out my API key):

restart:
apikey:="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx":
url:=cat("http://api.openweathermap.org/data/2.5/weather?id=6176823&APPID=",apikey):
data:=HTTP:-Get(url):
data[2]
"{"coord":{"lon":-80.52,"lat":43.47},"weather":[{"id":300,"main"\

  :"Drizzle","description":"light intensity drizzle","icon":"09d\

  "},{"id":701,"main":"Mist","description":"mist","icon":"50d"}]\

  ,"base":"stations","main":{"temp":286.25,"pressure":1007,"humi\

  dity":100,"temp_min":284.15,"temp_max":287.15},"visibility":28\

  16,"wind":{"speed":4.6,"deg":290,"gust":7.7},"clouds":{"all":9\

  0},"dt":1495806360,"sys":{"type":1,"id":3678,"message":0.0038,\

  "country":"CA","sunrise":1495792030,"sunset":1495846309},"id":\

  6176823,"name":"Waterloo","cod":200}"

Right click on the result, then go to numeric formating. Pick scientific and click ok

Check out the application here for a simple method of filtering noise from a signal

That's a visualization from one of my half-completed worksheets, and has not yet been published.

The mountain is actually Mount St Helens

Samir

Maple 18 ships with a worksheet that demonstrates a ball bouncing on a 2D surface.

Here's a worksheet (developed in Maple 18 - haven't run it in other versions) of a ball bouncing on a 3D surface. It's a work in progress, so caveat emptor.

 

Ball_Bouncing_on_3D_.mw

Samir

The answer is no, not at the moment. MSL look-up tables are not yet supported.

Samir

Here' a simple example of inverse dynamics.

For a complex example of inverse kinematics, examine this application

Inverse_Dynamic.msim

[I converted this from a Reply to an Answer and cleaned up the machine-generated Title.---Carl Love as a Moderator]

 

@tdewolf Here are guides that describes how you can use MapleSim-generated C code in (i) Visual Studio Express 2010 and (ii) VisSim (another simulation tool). They were written for MapleSim 5 ago and may not contain the most recent information, but they should be largely correct.

Compiling_C-Code_fro.pdf

Manual_Implementatio.pdf

[I converted this from a Reply to an Answer and cleaned up the machine-generated Title.--- Carl Love as Moderator]

Probably not what you're looking for, but sounds like this: http://www.maplesoft.com/applications/view.aspx?SID=4901

1 2 Page 1 of 2