-
Notifications
You must be signed in to change notification settings - Fork 125
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
Feature: initialize planewave basis wavefunction by numerical atomic orbitals #2983
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If results of KG do not change too much, you can update them because they are sensitive.
Thanks Qianrui, I find failed tests are all SDFT related. Maybe there are variables not initialized, I will examine and find out. |
…into develop find limitation of newly impld initializer
Introduction and performance
A simple test would be illustrative, I choose the conventionally considered hard-to-converge system examples/smearing/lcao_fe, make following changes:
![image](https://private-user-images.githubusercontent.com/67682086/269146258-3951e796-e5b5-4f42-bb6c-b349cf2f55ea.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDYyNTgtMzk1MWU3OTYtZTViNS00ZjQyLWJiNmMtYjM0OWNmMmY1NWVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQyMDVlZGQwMzQ0MTk0OTNkMWFiZjg0MDQ0MjQ4ZDg5ZWExNjU1MzkwMWNkYTBjYTQ2MDRjZDc5Mzk2Mzk3NDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Frf8hhchGmIbHN-umnY5-9CmiTZNoDy_3xm1gvRhymk)
![DRHO](https://private-user-images.githubusercontent.com/67682086/269149529-77e0beb0-9fd3-4a47-a225-815c281cdb0f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDk1MjktNzdlMGJlYjAtOWZkMy00YTQ3LWEyMjUtODE1YzI4MWNkYjBmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU0OTZhOWQyM2I3ODc2ZDI2YmRjNjRiYjhjYmE2ZDA1NGJmNDE2ZmZjOTFkMzhkYzdmNTg0NDk3YjIyNDhkOTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.JugyohJCK2Ge4qrUPOXE7P5SbxulwKHXpeKT9eUUjOk)
![DRHO_1st](https://private-user-images.githubusercontent.com/67682086/269149546-ee0cf44f-6eeb-4fa6-846f-e9cba5ded371.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDk1NDYtZWUwY2Y0NGYtNmVlYi00ZmE2LTg0NmYtZTljYmE1ZGVkMzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTExNmI0MGRkMmI1ZDQwMzNhMWFlOThiMzM3NzdjODFlMjhmZTc3NWYzYjg2YjE4MDViY2ZmNTczOWFjZjk2ZDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.V_R9TMN8fn_fan3yRG4KxseQMyuVgl6AyjXpNrZGqQU)
![threshold](https://private-user-images.githubusercontent.com/67682086/269149568-b6b4c001-8d74-4ed7-8323-9f687fc9b009.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDk1NjgtYjZiNGMwMDEtOGQ3NC00ZWQ3LTgzMjMtOWY2ODdmYzliMDA5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE2NTIwNzRjY2Q0Nzk3NGY2NmJlMDhkNmUwYTQ2ODk3NmFjZWVjNjJhMWViOTZkMGMzMDkzZDY3NWMwZDBiMzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.n5cMM2W_OdRaTtyjpVOvg4EP4BRgtNx4rEZgVBFtQ3c)
![ETOT](https://private-user-images.githubusercontent.com/67682086/269149576-25c43c95-5b50-4a59-a33a-8f3d20d9fc71.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDk1NzYtMjVjNDNjOTUtNWI1MC00YTU5LWEzM2EtOGYzZDIwZDlmYzcxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlYzZmODQ5NWUwNmM0Y2Q2ZTk4YWM3ZGYzYTUwMDg1MjA2NWQ5YTdjMjUyYWFhODJhNjc1MTQ5Nzg5NzQ5MzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ZsNv_RwVuUcvCcseirCIUXVdkVL6nQjVlqPIirTpxM8)
![AvgIter](https://private-user-images.githubusercontent.com/67682086/269149587-0591ceed-6000-498b-b3e6-0cecc97225ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxNzYzNDksIm5iZiI6MTcyMjE3NjA0OSwicGF0aCI6Ii82NzY4MjA4Ni8yNjkxNDk1ODctMDU5MWNlZWQtNjAwMC00OThiLWIzZTYtMGNlY2M5NzIyNWFlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI4VDE0MTQwOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJmMTlkYzVjZjM4YTZiZjA3ZTI0MzJjMjRmZjY2NDQyYjAyMTIxNGRkYzZmMzgzNzBlMWFmZDVlZWMyOWJhMDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.puja1Ll6s8YuvAvy8TnyOvVwmJ0BbbJXEFehM_9Cum8)
Tested result:
Usage
psi_initializer 1
in INPUT file, will enable the newly-implemented psi initializer, supportsrandom
,atomic
,atomic+random
,nao
,nao+random
method. For*+random
method, 5% random wavefunction is mixed, in accordance with the old versioninit_wfc nao
the newly added, where nao stands for Numerical Atomic OrbitalUnittests' Note:
The unittest system has been well-estabilished for quite a while, but it is hard for wavefunction initialization function to make really unit test. Therefore tests are designed in a top-down way: use the value generated from old implemented one as reference value.
Feature in future
Stochastic DFT scheme is not supported currently, its related implementation will depend on actual demands. Therefore currently if INPUT has two lines like:
, will switch
psi_initializer
to0
automatically.