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

[fix] u-matrix #1048

Merged
merged 13 commits into from
Mar 9, 2025
Merged

[fix] u-matrix #1048

merged 13 commits into from
Mar 9, 2025

Conversation

toxa81
Copy link
Collaborator

@toxa81 toxa81 commented Jan 15, 2025

No description provided.

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 14, 2025

cscs-ci run default

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 14, 2025

@mtaillefumier just a reminded that a fix on QE side is also equired. You can't pass J like this J=Hubbard_J(1,iat) / 2.0,

             CALL sirius_set_atom_type_hubbard(sctx, TRIM(atom_type(iat)%label), &
                   & l=Hubbard_l(iat), n=Hubbard_n(iat), occ=Hubbard_occ(iat, 1), &
                   & U=Hubbard_U(iat) / 2.0, J=Hubbard_J(1,iat) / 2.0, &
                   & alpha=Hubbard_alpha(iat) / 2.0, beta=Hubbard_beta(iat) / 2.0, &
                   & J0=Hubbard_J0(iat) / 2.0)

I believe there is a mismatch between how you describe J and treat it

    J:
      type: double
      attr: in, required
      doc: Exchange J parameter for the full interaction treatment.

@mtaillefumier
Copy link
Collaborator

I changed the internal data structure for the hubbard coefficients to match QE better.

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 17, 2025

@mtaillefumier J__ now is double[3] array, correct?

@mtaillefumier
Copy link
Collaborator

@mtaillefumier J__ now is double[3] array, correct?

QE J__ are double array of three elements. SIRIUS does the same now as many of the parameters have a dedicated variable (U, J, alpha, beta). The J__ array is for B, E2, E3. I used the vector class for this to simplify things a bit.

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 18, 2025

@mtaillefumier J__ now is double[3] array, correct?

QE J__ are double array of three elements. SIRIUS does the same now as many of the parameters have a dedicated variable (U, J, alpha, beta). The J__ array is for B, E2, E3. I used the vector class for this to simplify things a bit.

I changed to std::array<double,3> and also changed the API to reflect that J is double[3] array.

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 18, 2025

cscs-ci run default

@toxa81 toxa81 marked this pull request as ready for review February 18, 2025 17:14
@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 18, 2025

+ spack config --scope=user add config:build_stage:/dev/shm/spack-stage
==> Error: The "config" section of the configuration needs to be written to disk, but is currently using a deprecated format. Please update it using:
	spack config [--scope=<scope>] update config
Note that previous versions of Spack will not be able to use the updated configuration.

@simonpintarelli do you know, why it is breaking?

@toxa81
Copy link
Collaborator Author

toxa81 commented Feb 27, 2025

cscs-ci run default

@toxa81 toxa81 merged commit 1db4164 into develop Mar 9, 2025
3 of 4 checks passed
@toxa81 toxa81 deleted the fix/hubbard_api branch March 9, 2025 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants