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.