Skip to content

Errors when setting the initial value of iteration variable to the value of its lower bound  #3382

@kj5248

Description

@kj5248

If you attempt to run an IN.DAT where the initial value of an iteration variable matches the lower bound it will fail. For example

ixc = 61 * gapds
boundl(61) = 0.12
gapds    = 1.2000e-01 * gap between inboard vacuum vessel and thermal shield (m) (`iteration variable 61`)

will result in failure. However if this is replaced like below it will pass.

ixc = 61 * gapds
boundl(61) = 0.12
gapds    = 1.2000001e-01 * gap between inboard vacuum vessel and thermal shield (m) (`iteration variable 61`)

Whilst a value for gapds of 1.2000000000001e-01 will not. This must be due to some sort of precision issue ie using == instead of is_close etc.

Problem should be fixed so that an iteration can start on its lower bound (or even if it rounds at high precision to lower bound).

Alternatively for another iteration variable like thwcndut:

ixc = 58 * thwcndut
boundl(58) = 4.0d-3
thwcndut = 3.9999999999999999999999e-03

will succeed despite being below the bound, so has different behavior to gapds

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions