Skip to content

Floating-point error due to CBM = inf in latest ABACUS version #6909

Description

@A-006

Describe the bug

When running the latest version of ABACUS on the 007_H2O system, the conduction band minimum (CBM) is computed as infinity, whereas this issue does not occur in version 3.9.0.19. This discrepancy leads to a floating-point error on the Sunway (SW) platform.

Image

I found that this bug was introduced in commit a1f2685, which modified the prediction logic. Specifically, the issue arises because this->ekb(ik, ib) is now equal to this->eferm.ef, causing the error.
Image

The example is as below

007_32H2O.zip

Expected behavior

No response

To Reproduce

No response

Environment

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Verify the issue is not a duplicate.
  • Describe the bug.
  • Steps to reproduce.
  • Expected behavior.
  • Error message.
  • Environment details.
  • Additional context.
  • Assign a priority level (low, medium, high, urgent).
  • Assign the issue to a team member.
  • Label the issue with relevant tags.
  • Identify possible related issues.
  • Create a unit test or automated test to reproduce the bug (if applicable).
  • Fix the bug.
  • Test the fix.
  • Update documentation (if necessary).
  • Close the issue and inform the reporter (if applicable).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions