DianaOptimization: SensHybridSys.py

File SensHybridSys.py, 1.1 KB (added by danker, 15 years ago)
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    solver=sfactory.CreateSolver(diana.CAPE_DAE, model, "petri_meta.so"); 
18    solver.Initialize(); 
19    solpar=solver.GetParameters(); 
20    solver.SetReportingInterface(ri); 
21    ri.Add(solpar["T"]); 
22    ri.Add(eso.GetStateVariables().ItemByName("x1")); 
23    ri.Add(eso.GetStateVariables().ItemByName("x2")); 
24
25    solpar["VerboseLevel"].SetValue(2);
26    solpar["Tend"].SetValue(100); 
27    solver.Solve(); 
28
29    # create directory and store results
30    import os
31    if not os.path.isdir('results'): os.mkdir('results'); 
32    ri.WriteData("results/dyn"); 
33    ri.WriteDataMatlab("results/dyn.m"); 
34except diana.ECapeUser, exc: 
35    print exc