Module modèle

Description du modèle

MSE permet de simuler des modèles paramétrés de la forme (plus de détails ici):

forme modèle

L'interface de MSE permet à l'utilisateur de décrire ce modèle sous la forme textuelle.

Description de la diffusion:

modele diff

Il s'agit ici d'une diffusion homogène paramétrée pour l'espèce 'a' et d'une diffusion non homogène pour l'espèce 'b'.

Cette description dans l'interface a pour effet l'exécution du code python suivant:

mse.setDiffusionxExp(0,0,"p1")
mse.setdpiDiffusionxExp(0,0,0,"1")
mse.setdpiDiffusionxExp(1,0,0,"0")
mse.setdpiDiffusionxExp(2,0,0,"0")
mse.setDiffusionyExp(0,0,"2*p1")
mse.setdpiDiffusionyExp(0,0,0,"2")
mse.setdpiDiffusionyExp(1,0,0,"0")
mse.setdpiDiffusionyExp(2,0,0,"0")
mse.setDiffusionxExp(1,0,"5*cos(x)")
mse.setdpiDiffusionxExp(0,1,0,"0")
mse.setdpiDiffusionxExp(1,1,0,"0")
mse.setdpiDiffusionxExp(2,1,0,"0")
mse.setDiffusionyExp(1,0,"5*cos(x)")
mse.setdpiDiffusionyExp(0,1,0,"0")
mse.setdpiDiffusionyExp(1,1,0,"0")
mse.setdpiDiffusionyExp(2,1,0,"0")
mse.buildDiffusion()

On remarque que l'interface masque des opérations de calculs (via sympy) et de paramétrisation de MSE non triviales.

Description du terme de réaction:

moduleModelreaction

Il s'agit ici d'un modèle paramétré de 2 espèces en interaction.

Cette description dans l'interface a pour effet l'exécution du code python suivant:

mse.setfxExp(0,"p1*a*(1-a)-p2*a*b")
mse.setdyfxExp(0,0,"-a*p1 - b*p2 + p1*(-a + 1)")
mse.setdyfxExp(1,0,"-a*p2")
mse.setdPiFj(0,0,"a*(-a + 1)")
mse.setdPiFj(1,0,"-a*b")
mse.setdPiFj(2,0,"0")
mse.setfxExp(1,"p3*a*b-b")
mse.setdyfxExp(0,1,"b*p3")
mse.setdyfxExp(1,1,"a*p3 - 1")
mse.setdPiFj(0,1,"0")
mse.setdPiFj(1,1,"0")
mse.setdPiFj(2,1,"a*b")
mse.buildModel()
mse.buildModelParams()
mse.buildWVarf()
mse.printTSOneStepW()

On remarque que l'interface masque des opérations de calculs (via sympy) et de paramétrisation de MSE non triviales.

Description de la donnée initiale:

tuto demoIC def IC

Il s'agit d'une donnée initiale paramétrée.

Cette description dans l'interface a pour effet l'exécution du code python suivant:

mse.initInitialState()
mse.setIntParam(mse.MSE_KEY_FORCE_INITIAL_STATE,1)
mse.setInitialState(0,0,"exp(-40*((x-p1)*(x-p1)+(y-p2)*(y-p2)))")
mse.setdPICiFj(0,0,"(-80*p1 + 80*x)*exp(-40*(-p1 + x)^2 - 40*(-p2 + y)^2)")
mse.setdPICiFj(1,0,"(-80*p2 + 80*y)*exp(-40*(-p1 + x)^2 - 40*(-p2 + y)^2)")
mse.printInitialState()

On remarque que l'interface masque des opérations de calculs (via sympy) et de paramétrisation de MSE non triviales.

 

Remarque: L'utilisation de l'interface masque de nombreuses étapes de calculs symboliques, le pilotage directe du module MSE est donc très technique pour décrire correctement un modèle complexe.