ExampleScripts: dyn.py

File dyn.py, 1019 bytes (added by miha, 16 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, "HafkeReactor.so");
9    model.Initialize();
10    eso=model.GetActiveESO();
11    esopar=eso.GetParameters();
12   
13    ri=dmain.CreateReportingInterface("basic");
14    ri.SetComponentName("data");
15   
16    # create solver
17    sfactory=dmain.GetSolverFactory();
18    solver=sfactory.CreateSolver(diana.CAPE_DAE, model, "ida.so");
19    solver.Initialize();
20    solpar=solver.GetParameters();
21    solver.SetReportingInterface(ri);
22    ri.Add(solpar["T"]);
23    ri.Add(eso.GetStateVariables().ItemByName("tk"));
24   
25    solpar["VerboseLevel"].SetValue(2);
26    solpar["Tend"].SetValue(16000);
27    solver.Solve();
28    # create directory and store results
29    import os
30    if not os.path.isdir('results'): os.mkdir('results');
31    ri.WriteData("results/dyn");
32    ri.WriteDataMatlab("results/dyn.m");
33except diana.ECapeUser, exc:
34    print exc