def test_Sloppy_derived_parameters(): sloppyModelEg = { 'assignments': {}, 'derived_params': {'k': 's1/s2', 'q': 's3*s4', 'm': 'q+s5'}, 'functions': {}, 'odes': {'x':'y + _y_RHS', 'y': '-k*x/m'}, 'parameters':{'s1': 1, 's2': 10., 's3': 0.25, 's4': 1, 's5': 0.25}, 'events': {}, 'domains': {} } model_name = 'test_derived_parameters' ics = {'x': 1, 'y': 0.4} algparams = {'init_step': 0.1, 'stiff': True} sModel = makeSloppyModel(model_name, sloppyModelEg, 'Vode_ODEsystem', algParams=algparams, silent=False, containsRHSdefs=True) sModel.compute(trajname='test_derived_params', force=True, ics=ics, tdata=[0, 20], verboselevel=0 ) pts = sModel.sample('test_derived_params') assert_allclose(pts[-1]['x'], -0.042398, rtol=1e-4) assert_allclose(pts[-1]['y'], -0.073427, rtol=1e-4)
'mdt_216': 90.0, 'mu_39': 0.007701635339555 # was 0. } #print "F_28 should be ", exp(-all_ics_pars['mu_39']*all_ics_pars['D_26']) # change genTarget to 'Vode_ODEsystem' if your external C compiler doesn't work print("Making model") genTarget = 'Radau_ODEsystem' algparams = {'init_step': 0.1} if genTarget == 'Vode_ODEsystem': algparams['stiff'] = True sModel = makeSloppyModel('cplx_eg', sloppyModelEg, genTarget, algParams=algparams, silent=True) print("\nAux spec:\n", end=' ') sModel.showDef('cplx_eg', 'auxspec') # make some random i.c.s def uniformICs(varnames, a, b): return dict(list(zip(varnames, [random.uniform(a, b) for v in varnames]))) #ics = uniformICs(sModel.allvars, 0, 1) ics = {} for name, val in all_ics_pars.items(): if name in sModel.allvars: ics[name] = val
'mu_39': 0.007701635339555 # was 0. } #print "F_28 should be ", exp(-all_ics_pars['mu_39']*all_ics_pars['D_26']) # change genTarget to 'Vode_ODEsystem' if your external C compiler doesn't work print("Making model") genTarget = 'Radau_ODEsystem' algparams = {'init_step': 0.1} if genTarget == 'Vode_ODEsystem': algparams['stiff'] = True sModel = makeSloppyModel('cplx_eg', sloppyModelEg, genTarget, algParams=algparams, silent=True) print("\nAux spec:\n", end=' ') sModel.showDef('cplx_eg', 'auxspec') # make some random i.c.s def uniformICs(varnames, a, b): return dict(list(zip(varnames, [random.uniform(a, b) for v in varnames]))) #ics = uniformICs(sModel.allvars, 0, 1) ics = {}