Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
kj5248 opened this issue Nov 7, 2024 · 0 comments
Labels
Bug Something isn't working

Comments

@kj5248
Copy link
Collaborator

kj5248 commented Nov 7, 2024

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

@kj5248 kj5248 added the Bug Something isn't working label Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant