1 | import sys, os |
---|
2 | from diana import * |
---|
3 | dm=GetDianaMain(sys.argv) |
---|
4 | mm=dm.GetModelManager() |
---|
5 | sf=dm.GetSolverFactory() |
---|
6 | |
---|
7 | modelname='model/HafkeReactor.so' |
---|
8 | model=mm.CreateModel(CAPE_CONTINUOUS, modelname) |
---|
9 | model.Initialize() |
---|
10 | eso=model.GetActiveESO() |
---|
11 | epar=eso.GetRealParameters() |
---|
12 | evar=eso.GetStateVariables() |
---|
13 | |
---|
14 | solver=sf.CreateSolver(CAPE_DAE, model, 'ida.so') |
---|
15 | solver.Initialize() |
---|
16 | spar=solver.GetParameters() |
---|
17 | |
---|
18 | ri=dm.CreateReportingInterface('basic') |
---|
19 | solver.SetReportingInterface(ri) |
---|
20 | ri.Add(spar['T']) |
---|
21 | ri.Add(epar['qknormal']) |
---|
22 | for var in evar: ri.Add(var) |
---|
23 | |
---|
24 | spar['VerboseLevel'].SetValue(2) |
---|
25 | spar['T0'].SetValue(0) |
---|
26 | spar['Tend'].SetValue(4e+4) |
---|
27 | solver.Solve() |
---|
28 | |
---|
29 | outdir='HafkeIntro' |
---|
30 | if not os.path.isdir(outdir): os.mkdir(outdir) |
---|
31 | ri.WriteDataMatlab(outdir+'/Example.m') |
---|