How to pluge in a user-defined model?


A model is a set of partial differential equations (PDE). It has two sides: left-hand-side (LHS) and right-hand-side(RHS). The LHS describes the time-dependence, while the RHS has two terms: diffusion term (spatial derivatives) and kinetics term (motion). The kinetics are a set of parametric functions.

To plug in your own model, you can do:

  1. From the main menu choose Task | New | YourModel | OK, then, specify your dimension, and number of variable, and BCs. Done!
  2. Back to the main menu choose Model | Parameters, you will see a dialog box, where you can build your own model at will.
    1. varList: a list of variables, where you can specify names of each variable.
    2. Eq[#]: the right-hand-side equations list.
    3. Parameters: where you can list all parameters you are using, and their values.
    4. diffusion[#]: diffusion coefficients of your corresponding variables.
    5. Other choices, for example, if you know the analytic solution of the steady state, and you want to provide, check first, then if it pops up a separate sheet, where you can provide.

You can do editing, of course, in a plain text format file by "Save" and "Read".
varList 	= u,v
Eq[0] 	= a-(b+1)*u+u^2*v
Eq[1] 	= b*u-u^2*v
Parameters 	= a=3,b=10.2
Diffusion[0] 	= 6
Diffusion[1] 	= 10
Time dependence 	= false
Provide analytic SS solution 	= false
Provide analytic Jacobian 	= false
Provide analytic nullclines 	= false

Question: How does the program know my input, for example, "a-(b+1)*u+u^2*v"?

Answer: There is an embedded compiler-free interpreter ( CalcuTxt ), which can interpret string types of formula or equations without program recompiling. This tool makes the user-defined models run as fast as the embedded models.