286 |
assert abs(float(M.y2) - 2.0437e-13) < 1e-15; |
assert abs(float(M.y2) - 2.0437e-13) < 1e-15; |
287 |
assert abs(float(M.y3) - 1.0) < 1e-5; |
assert abs(float(M.y3) - 1.0) < 1e-5; |
288 |
|
|
289 |
|
def testkryxDENSE(self): |
290 |
|
self.L.load('johnpye/idakryx.a4c') |
291 |
|
M = self.L.findType('idakryx').getSimulation('sim') |
292 |
|
M.setSolver(ascpy.Solver('QRSlv')) |
293 |
|
M.build() |
294 |
|
I = ascpy.Integrator(M) |
295 |
|
I.setEngine('IDA') |
296 |
|
I.setReporter(ascpy.IntegratorReporterConsole(I)) |
297 |
|
I.setParameter('linsolver','DENSE') |
298 |
|
I.setParameter('maxl',8) |
299 |
|
I.setParameter('gsmodified',False) |
300 |
|
I.setParameter('autodiff',True) |
301 |
|
I.setParameter('rtol',0) |
302 |
|
I.setParameter('atol',1e-3); |
303 |
|
I.setParameter('atolvect',False) |
304 |
|
I.setParameter('calcic',True) |
305 |
|
I.analyse() |
306 |
|
I.setLogTimesteps(ascpy.Units("s"), 0.01, 10.24, 10); |
307 |
|
I.solve() |
308 |
|
assert abs(M.u[2][2].getValue()) < 1e-5 |
309 |
|
|
310 |
def testdenxSPGMR(self): |
def testdenxSPGMR(self): |
311 |
self.L.load('johnpye/idadenx.a4c') |
self.L.load('johnpye/idadenx.a4c') |
312 |
M = self.L.findType('idadenx').getSimulation('sim') |
M = self.L.findType('idadenx').getSimulation('sim') |
326 |
assert abs(float(M.y2) - 2.0437e-13) < 1e-15; |
assert abs(float(M.y2) - 2.0437e-13) < 1e-15; |
327 |
assert abs(float(M.y3) - 1.0) < 1e-5; |
assert abs(float(M.y3) - 1.0) < 1e-5; |
328 |
|
|
329 |
def testkryx(self): |
def testkryxSPGMR(self): |
330 |
self.L.load('johnpye/idakryx.a4c') |
self.L.load('johnpye/idakryx.a4c') |
331 |
M = self.L.findType('idakryx').getSimulation('sim') |
M = self.L.findType('idakryx').getSimulation('sim') |
332 |
M.build() |
M.build() |