WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Bug: IDA::initializeSimulation errors if t0 is too close to 0.1 and findConsistent is set to true #314

@alexander-novo

Description

@alexander-novo

Description how to reproduce the bug

If you create a simulation with an initial time of t0, initializeSimulation will fail with an error if findConsistent is set to true:

[ERROR][rank 0][/tmp/sundials/src/idas/idas_ic.c:179][IDACalcIC] tout1 too close to t0 to attempt initial condition calculation.

ERROR: Function IDACalcIC failed with flag -22!

terminate called after throwing an instance of 'AnalysisManager::Sundials::SundialsException'
  what():  Method in Ida class failed!

Aborted (core dumped)

GridKit™ version

latest

System and environment details

N/A

Additional information

When findConsistent is set to true, there is a call to IDACalcIC:

retval = IDACalcIC(solver_, initType, 0.1);

The third parameter as documented by SUNDIALS:

tout1 – is the first value of at which a solution will be requested (from IDASolve()). This value is needed here only to determine the direction of integration and rough scale in the independent variable .

The passed argument isn't based on t0 at all, and in fact if t0 is too close to 0.1, the above error will be thrown

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions