DianaICSolver: Cstr.py

File Cstr.py, 1.3 KB (added by miroshkin, 14 years ago)

Cstr: python script

Line 
1import diana 
2try:
3    dmain=diana.GetDianaMain()
4    # get Diana model manger
5    mmanger=dmain.GetModelManager();
6
7    # create model
8    model=mmanger.CreateModel(diana.CAPE_CONTINUOUS, "Cstr.so");
9    model.Initialize();
10    eso=model.GetActiveESO();
11    esopar=eso.GetParameters();
12    ri=dmain.CreateReportingInterface("basic");
13    ri.SetComponentName("data");
14
15    # create solver
16    sfactory=dmain.GetSolverFactory();
17
18    ## consistent initial conditions solver calling
19    icsolver=sfactory.CreateSolver(diana.CAPE_IC, model, "icsolver.so");
20    icsolver.Initialize();
21    icpar=icsolver.GetParameters();
22    icpar['VerboseLevel'].SetValue(0);
23    icsolver.Solve();
24    ##
25
26    solver=sfactory.CreateSolver(diana.CAPE_DAE, model, "ida.so");
27    solver.Initialize();
28    solpar=solver.GetParameters();
29    solver.SetReportingInterface(ri);
30
31    ri.Add(solpar["T"]);
32    ri.Add(eso.GetStateVariables().ItemByName("x1"));
33    ri.Add(eso.GetStateVariables().ItemByName("x2"));
34
35    solpar["VerboseLevel"].SetValue(1);
36    solpar["Tend"].SetValue(100);
37    solver.Solve();
38
39    # create directory and store results
40    import os
41    if not os.path.isdir('results'): os.mkdir('results');
42    ri.WriteData("results/Cstr");
43    ri.WriteDataMatlab("results/Cstr.m");
44except diana.ECapeUser, exc:
45    print repr(exc)