Skip to content

Test: UnitTest for module_tddft#2580

Merged
dyzheng merged 69 commits intodeepmodeling:developfrom
lyb9812:refactor_tddft
Jun 8, 2023
Merged

Test: UnitTest for module_tddft#2580
dyzheng merged 69 commits intodeepmodeling:developfrom
lyb9812:refactor_tddft

Conversation

@lyb9812
Copy link
Collaborator

@lyb9812 lyb9812 commented Jun 1, 2023

Add unit tests for module_tddft.

lyb9812 and others added 30 commits April 17, 2023 14:51
* Add the dipole and spectrum post-processing script. (deepmodeling#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (deepmodeling#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (deepmodeling#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
* New propagator for better Convergence

* Add files via upload

* Add files via upload

* Modified the code's implementation approach.

I have modified the implementation approach of the code, and this one involves less changes to the original code. It also includes handling for multiple k-points.

* Delete module_esolver directory

* Delete module_hamilt_general directory

* Delete module_hamilt_lcao directory

* Add files via upload
…eling#2272)

* Add the dipole and spectrum post-processing script. (deepmodeling#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (deepmodeling#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (deepmodeling#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

* simplify matrix multiplication and update new propagator for tddft

* add autotests for new propagator

* fix bug of ekb in tddft

* delete temp output

* update ref of new propagator

* update CASES

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
@lyb9812 lyb9812 requested a review from hongriTianqi June 7, 2023 04:50
Copy link

@hongriTianqi hongriTianqi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please analyze the reason why case tests take 5 minutes more in this PR? @lyb9812

@hongriTianqi
Copy link

hongriTianqi commented Jun 7, 2023

Can you please analyze the reason why case tests take 5 minutes more in this PR?

In addition, multiple case tests deliver warnings with large derivation from the original results. This is unacceptable:

截屏2023-06-07 13 52 49

@mohanchen

截屏2023-06-07 13 50 00

@hongriTianqi
Copy link

Can you please analyze the reason why case tests take 5 minutes more in this PR?

In addition, multiple case tests deliver warnings with large derivation from the original results. This is unacceptable:

截屏2023-06-07 13 52 49 @mohanchen 截屏2023-06-07 13 50 00

This ISSUE is induced by my own PR #2477. I will take care of this issue.

@hongriTianqi hongriTianqi self-requested a review June 7, 2023 06:11
@hongriTianqi hongriTianqi self-requested a review June 7, 2023 06:15
Copy link

@hongriTianqi hongriTianqi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, there are more warnings in this PR than PR #2477. Please check if this is related to this PR.

For comparison, the warnings appeared in the following cases in PR #2477.

截屏2023-06-07 14 15 27

@lyb9812
Copy link
Collaborator Author

lyb9812 commented Jun 7, 2023

Can you please analyze the reason why case tests take 5 minutes more in this PR? @lyb9812

The total time of tests change from 34m to 40m since PR#2477.

@lyb9812
Copy link
Collaborator Author

lyb9812 commented Jun 7, 2023

Wait, there are more warnings in this PR than PR #2477. Please check if this is related to this PR.

For comparison, the warnings appeared in the following cases in PR #2477.

截屏2023-06-07 14 15 27

The warnings are the same as PR #2604 (the last received PR). So it is not introduced by this PR. It seems start from PR #2527 .

@hongriTianqi
Copy link

hongriTianqi commented Jun 7, 2023

can you please check the two test cases of 601, which are related to TDDFT code. Can you please solve the warnnings in these two case tests? Thanks! @lyb9812

tt

@hongriTianqi
Copy link

hongriTianqi commented Jun 7, 2023

The warnings do not start from PR #2527, I am still searching for it ....

@hongriTianqi
Copy link

hongriTianqi commented Jun 7, 2023

This issue is not induced by PR #2477, I am still searching for it ...

@hongriTianqi
Copy link

The CI for testing now takes a total of 40 minutes. What is the reason that the test takes 5 more minutes than before?

5 more minutes are taken by EXX case tests, which were introduced in PR #2478. @lyb9812 @Qianruipku

@lyb9812
Copy link
Collaborator Author

lyb9812 commented Jun 7, 2023

can you please check the two test cases of 601, which are related to TDDFT code. Can you please solve the warnnings in these two case tests? Thanks! @lyb9812

tt

There are no changes related to tddft in PR #2503 . The warnings in these two cases may be due to the random phase of wavefunction. I will confirm it after I complete the function of restart.

@dyzheng dyzheng merged commit d493cda into deepmodeling:develop Jun 8, 2023
jinzx10 pushed a commit to jinzx10/abacus-develop that referenced this pull request Jun 10, 2023
* Merge develop branch to TDDFT branch (deepmodeling#2249)

* Add the dipole and spectrum post-processing script. (deepmodeling#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (deepmodeling#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (deepmodeling#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* New propagator for better Convergence (deepmodeling#2253)

* New propagator for better Convergence

* Add files via upload

* Add files via upload

* Modified the code's implementation approach.

I have modified the implementation approach of the code, and this one involves less changes to the original code. It also includes handling for multiple k-points.

* Delete module_esolver directory

* Delete module_hamilt_general directory

* Delete module_hamilt_lcao directory

* Add files via upload

* Update dipole.py (deepmodeling#2270)

* Simplify matrix multiplication and add new propagator method (deepmodeling#2272)

* Add the dipole and spectrum post-processing script. (deepmodeling#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (deepmodeling#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (deepmodeling#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

* simplify matrix multiplication and update new propagator for tddft

* add autotests for new propagator

* fix bug of ekb in tddft

* delete temp output

* update ref of new propagator

* update CASES

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>

* delete td_htype and update ref of tddft autotests

* delete td_htype

* refactor tddft code

* move read_paramter of electric field to input_conv.cpp for tddft

* sve conflicts

* move definition of tag

* convert read_parameter

* add namespace module_tddft

* remove tmp file

* move read_paramters of electric field in tddft to input_conv.cpp

* add force of tddft efield

* add annotations

* move read_parameters from H_TDDFT_pw.cpp to input_conv.cpp

* add ifdef __LCAO

* remove input parameter of read_td_efield

* remove input parameter of read_td_efield

* fix bug for input UTs

* change name of parameters of compute_force in H_TDDFT_pw.h

* improve annotation

* solve conflicts

* solve conflicts

* add UT for read_td_efield

* add ifdef __LCAO

* add ifdef __LCAO

* mistake for TEST and TEST_F

* fix ReadTdEfieldTest

* fix ReadTdEfieldTest

* add doublenear() for EXPECT_EQ in ReadEfieldTest

* add nampspace for doublenear

* add nampspace for doublenear

* mistake

* replace doublenear with EXPECT_NEAR

* TEST_F

* delete nband in propagator

* add UT for module tddft

* comment add_test

* fix bug of prepare() in H_TDDFT_pw.cpp

* split tddft_test

* fix bug

* fix bug of UT for tddft

* add tddft prefix

* add UT for cblacs_gridinit

* fix bug of UT for tddft

* fix bug of UT for tddft

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: HTZhao <104255052+ESROAMER@users.noreply.github.com>
Co-authored-by: Omega <62006565+Satinelamp@users.noreply.github.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
mohanchen pushed a commit that referenced this pull request Jun 10, 2023
…ao (#2610)

* remove unnecessary "this"

* allow copy of RadialSet & calculate rcut_max on demand

* clean up

* add "RadialCollection", the top-level container for radial functions

* enable MPI test for module_nao & bug fix for reading orbital file

* clean up

* BetaRadials implemented

* Fix: compiling warning by both Intel and GNU compilers (#2609)

* Fix: warning detected by intel compiler

* Fix: compiling warning detected by GNU compiler

* Fix: error

---------

Co-authored-by: dyzheng <zhengdy@bjaisi.com>

* Fix: optimized printing of start magnetization (#2605)

* Fix: optimized printing of start magnetization

* Fix: update refs in examples

---------

Co-authored-by: dyzheng <zhengdy@bjaisi.com>

* Test: UnitTest for module_tddft (#2580)

* Merge develop branch to TDDFT branch (#2249)

* Add the dipole and spectrum post-processing script. (#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* New propagator for better Convergence (#2253)

* New propagator for better Convergence

* Add files via upload

* Add files via upload

* Modified the code's implementation approach.

I have modified the implementation approach of the code, and this one involves less changes to the original code. It also includes handling for multiple k-points.

* Delete module_esolver directory

* Delete module_hamilt_general directory

* Delete module_hamilt_lcao directory

* Add files via upload

* Update dipole.py (#2270)

* Simplify matrix multiplication and add new propagator method (#2272)

* Add the dipole and spectrum post-processing script. (#1928)

* Add the Dipole and post-processing script necessary to calculate the spectrum using TDDFT.

* fix td_val test bug.

* Fix: bug in parsing strings mixed with " ", "\t" (#1951)

* Use template to reconstruct parse_expression

* Feature: output R matrix at each MD step

* Modify'matrix_HS' to 'matrix' for R matrix output

* Merge branches 'develop' and 'develop' of https://github.com/1041176461/abacus-develop into develop

* Fix: modify index in parse_expression

* Fix: bug in parsing strings mixed with " ", "\t"

---------

Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* solve conflicts

* Fix : bug of multi-kpoint for tddft (#2023)

* fix bug of electric field in tddft

* fix bug of dipole and electric field

* fix bug of multi-kpoint for tddft

* unit conversion of out_efield

* delete useless paramters for tddft (td_val_elec*)

* delete useless parameters for tddft

* pack all changes in tddft

* solve conflicts

* delete td_val

* simplify matrix multiplication and update new propagator for tddft

* add autotests for new propagator

* fix bug of ekb in tddft

* delete temp output

* update ref of new propagator

* update CASES

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>

* delete td_htype and update ref of tddft autotests

* delete td_htype

* refactor tddft code

* move read_paramter of electric field to input_conv.cpp for tddft

* sve conflicts

* move definition of tag

* convert read_parameter

* add namespace module_tddft

* remove tmp file

* move read_paramters of electric field in tddft to input_conv.cpp

* add force of tddft efield

* add annotations

* move read_parameters from H_TDDFT_pw.cpp to input_conv.cpp

* add ifdef __LCAO

* remove input parameter of read_td_efield

* remove input parameter of read_td_efield

* fix bug for input UTs

* change name of parameters of compute_force in H_TDDFT_pw.h

* improve annotation

* solve conflicts

* solve conflicts

* add UT for read_td_efield

* add ifdef __LCAO

* add ifdef __LCAO

* mistake for TEST and TEST_F

* fix ReadTdEfieldTest

* fix ReadTdEfieldTest

* add doublenear() for EXPECT_EQ in ReadEfieldTest

* add nampspace for doublenear

* add nampspace for doublenear

* mistake

* replace doublenear with EXPECT_NEAR

* TEST_F

* delete nband in propagator

* add UT for module tddft

* comment add_test

* fix bug of prepare() in H_TDDFT_pw.cpp

* split tddft_test

* fix bug

* fix bug of UT for tddft

* add tddft prefix

* add UT for cblacs_gridinit

* fix bug of UT for tddft

* fix bug of UT for tddft

---------

Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: HTZhao <104255052+ESROAMER@users.noreply.github.com>
Co-authored-by: Omega <62006565+Satinelamp@users.noreply.github.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>

* Test: add module_io/bessel_basis unit test (#2614)

* Test: module_io/bessel_basis unit test

still leave readin_C4 and allocate_C4 two functions untested, will complete soon.

* Update bessel_basis_test.cpp

add annotations to describe tested functions

* Revert "Refactor: output efermi in pw basis (#2604)" (#2616)

This reverts commit a23df80.

* const qualifiers appended

---------

Co-authored-by: dyzheng <zhengdy@dp.tech>
Co-authored-by: dyzheng <zhengdy@bjaisi.com>
Co-authored-by: lyb9812 <88070104+lyb9812@users.noreply.github.com>
Co-authored-by: HeFuxiang94 <78629482+HeFuxiang94@users.noreply.github.com>
Co-authored-by: jiyuyang <1041176461@qq.com>
Co-authored-by: jiyuang <jiyuyang@mail.ustc.com>
Co-authored-by: HTZhao <104255052+ESROAMER@users.noreply.github.com>
Co-authored-by: Omega <62006565+Satinelamp@users.noreply.github.com>
Co-authored-by: Qianrui <76200646+Qianruipku@users.noreply.github.com>
Co-authored-by: Yike Huang <67682086+kirk0830@users.noreply.github.com>
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.

7 participants