A note on the use of canned models

As with a lot of aspects of modeling, the use of canned models depends heavily on your level of experience and knowledge.  I would argue that using canned models is the wrong way to go, unless you already know a lot about your problem, and you are capable of understanding the workings of the model, or what is best, capable of writing your own model.  If nothing else, I think you should write a few simple models, using the technique of the canned model, before using a canned model.  Canned models work best in an ‘engineering’ type of setting; you need an answer to a well understood (but possibly complicated) problem.

 

Pros: you can get a result quickly, and without investing much time or energy into the problem.  For linear problems, the results are likely to be correct for the problem that you told it to solve (although that may not be the problem you wanted it to solve).

Cons: you deny yourself the time to really understand the process and the solution.  For most Science models, this analysis time is more important than the actual answer.  For non-linear or otherwise complex problems, you have little assurance that the result is the one you want.

 

My bias is that it is usually faster and more instructive to write your own models!

 

Although I am down-playing the use of canned models, I have the reverse attitude towards canned algorithms, routines and especially output graphics.  Although it is great to write your own model, that doesn’t mean you have to write the matrix solvers, mesh gridding, or graphics routines, or even fancy math routines.  One of the delights of meta-programs such as Python is the ease of using in-built functions such as ODE solvers and graphics routines.  It is possible to write a fairly sophisticated model in only a page of code in Python, including fancy graphics.  Python will even do FE models of some complexity with only a couple of function calls.  However; please be very careful of using the sophisticated routines.  It is easy to fall into the same traps that apply to canned programs if you use a canned routine that you don’t understand.