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

Save or read orbitals in text format, portable and readable by MADNESS group #498

Open
wants to merge 138 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
328bb23
Fix default vdW radii (#463)
Gabrielgerez Sep 26, 2023
6a5a348
add readthedocs.yml, same as for MRCPP
Gabrielgerez Sep 27, 2023
096725a
Manually add requirements to .readthedocs.yml
Gabrielgerez Sep 27, 2023
d5becc8
attempt 2 at setting up requirements
Gabrielgerez Sep 27, 2023
bb93e8b
Fix typo in .readthedocs.yml
Gabrielgerez Sep 27, 2023
6c36768
Fix a second typo in .readthedocs.yml
Gabrielgerez Sep 27, 2023
7405a5f
Fix incoming build error in rtd
Gabrielgerez Oct 2, 2023
b4c5fa4
Update .readthedocs.yml
robertodr Oct 2, 2023
8cfc889
Pin sphinx
robertodr Oct 2, 2023
7f73667
Update betzy_example.job
gitpeterwind Oct 15, 2023
33ccfd7
cavity function used directly instead of projected first (#458)
gitpeterwind Nov 2, 2023
2c78b6c
Convert default radii to bohr when input units are not angstrom (#473)
robertodr Nov 20, 2023
ab5b6ad
Refactor the Permittivity function (#465)
Gabrielgerez Nov 21, 2023
b850d4a
Linear response with solvent (#471)
robertodr Nov 24, 2023
9849caa
Bugfix: critical sign error in magnetic properties
stigrj Jan 16, 2024
f17aa5a
Add test for magnetic properties
stigrj Jan 16, 2024
9dcd227
Validate cavity only if doing PCM
robertodr Feb 6, 2024
5366f2b
Tell user to specify radii explicitly when not known
robertodr Feb 6, 2024
cc9733c
add sqnm code
Apr 17, 2023
3092b7f
add readme of vcsqnm package
Apr 17, 2023
341cdf9
paritally finished structure of interface
Apr 17, 2023
0315e90
saves
Apr 18, 2023
ceea49e
improve print statement
Apr 18, 2023
f24ff5c
sketch of geopt working
Apr 18, 2023
a1e3f5f
remove unnecessary prints, adjust geopt params.
Apr 18, 2023
d017dac
read in old previous solution as initial guess
Apr 18, 2023
00eeb6f
add parameters, mpi barrier and return final result
moritzgubler Apr 19, 2023
b99815b
update intrface to geompetry optimizer
moritzgubler Apr 19, 2023
acefaff
added documentation and more output.
moritzgubler Apr 19, 2023
edabca3
added mpi todo.
moritzgubler Apr 19, 2023
31b8f41
add print for automatic step size guessing
moritzgubler Apr 19, 2023
2f50d3c
adjust print
moritzgubler Apr 19, 2023
baf2d44
adjust initial step size
moritzgubler Apr 19, 2023
932784c
Add geomerty optimizer input parameters
stigrj Apr 22, 2023
58e5fe3
Update input parser
stigrj Apr 22, 2023
548ac32
Make use of geometry optimization input parameters
stigrj Apr 22, 2023
ff32671
Fix geomopt input defaults
stigrj Apr 22, 2023
215c253
Add GeometryOptimizer.use_previous_guess input option
stigrj May 23, 2023
90a8c1c
Add some sentences to the documentation template
moritzgubler May 24, 2023
2e87a5c
add license informations
moritzgubler Aug 17, 2023
d9e9d24
merge historylist from initial repository.
moritzgubler Aug 18, 2023
ff75ab0
pass json as const
moritzgubler Aug 18, 2023
75fa30e
make position argument const
moritzgubler Aug 18, 2023
502edc4
improve get position function
moritzgubler Aug 18, 2023
d08cf47
impove energy and force mechanism and add documentation
moritzgubler Aug 18, 2023
b48a491
convert cout to cerr
moritzgubler Aug 18, 2023
6b35835
Update src/vc_sqnm/README.md
moritzgubler Aug 18, 2023
98cef2e
add missing ;
moritzgubler Aug 18, 2023
63db859
improve prints
moritzgubler Sep 1, 2023
b6745d6
write output json
moritzgubler Sep 1, 2023
d205805
format output
moritzgubler Sep 1, 2023
3d3eca7
Update mpi barrier comment
moritzgubler Oct 23, 2023
9583a26
remove old comment
moritzgubler Oct 23, 2023
6286ccd
dont copy scf results
moritzgubler Oct 23, 2023
1c0463e
improve signature of function
moritzgubler Oct 23, 2023
2314f02
imporve interface
moritzgubler Oct 23, 2023
0ff500c
improve interface
moritzgubler Oct 23, 2023
41df8b4
fix constant parameters
moritzgubler Oct 23, 2023
b3724eb
start work on manual
moritzgubler Oct 24, 2023
c083ee7
fix typo
moritzgubler Oct 24, 2023
c748639
more docs
moritzgubler Oct 24, 2023
c57a227
finalize docs
moritzgubler Oct 24, 2023
291e421
reference geopt docs
moritzgubler Oct 24, 2023
cde8793
print warning when the geometry optimization did
moritzgubler Oct 24, 2023
bfbbb7f
use mrchems print library for convergence warning.
moritzgubler Oct 24, 2023
1f7b823
Update geometry_optimization.rst
robertodr Oct 25, 2023
d9d3374
Add stub for SNQM test
robertodr Oct 30, 2023
0029d37
Flesh out test
robertodr Oct 30, 2023
cc126ea
Tweak geometry optiimizer printed output
stigrj Jan 29, 2024
d860972
adapt output json
moritzgubler Feb 1, 2024
8078bc0
also write xyz file
moritzgubler Feb 1, 2024
cb3dbef
remove prints
moritzgubler Feb 2, 2024
43350ee
pass additional argument
moritzgubler Feb 2, 2024
966b8ba
fix output units of xyz file
moritzgubler Feb 2, 2024
5b80166
add more comment in xyz file
moritzgubler Feb 2, 2024
1f18f4a
flush output stream
moritzgubler Feb 2, 2024
294c08c
use mrchem conversion factor
moritzgubler Feb 5, 2024
2eca088
correct numAtoms in xyz writer
moritzgubler Feb 6, 2024
f2b91a2
Add poisson-boltzmann to the SCRF (#450)
Gabrielgerez Feb 14, 2024
12fc171
XC by nodes
gitpeterwind Nov 26, 2023
99688b0
node based DFT implemented and tested for second order GGA
gitpeterwind Nov 30, 2023
0ffa8e2
mrcpp tag
gitpeterwind Nov 30, 2023
d51ddce
omp_threads as keyword in the MPI section to set the number of omp th…
gitpeterwind Dec 7, 2023
4540bf7
clean ups, comments
gitpeterwind Dec 9, 2023
910b582
superfast rotation in sad initial guess
gitpeterwind Dec 11, 2023
b859abd
use overlap from mrcpp, RRmaximizer slightly optimized
gitpeterwind Jan 1, 2024
6f6f4f6
update mrcpp git tag
gitpeterwind Jan 30, 2024
3aa8184
dummy
gitpeterwind Jan 31, 2024
1a9550f
Update fetch_mrcpp.cmake
ilfreddy Feb 6, 2024
c97ca5e
fix tests
gitpeterwind Feb 13, 2024
bca09e6
update mrcpp gittag
gitpeterwind Feb 14, 2024
c21df25
update test and mrcpp gittag
gitpeterwind Feb 15, 2024
140c04f
update test li_scf_pbe0 json file and gittag
gitpeterwind Feb 15, 2024
43b1400
doc OMP_NUM_THREADS
gitpeterwind Feb 20, 2024
aa44545
merge user_ref.rst
gitpeterwind Feb 20, 2024
6795f74
git rm unwanted files
gitpeterwind Feb 20, 2024
e40f5c1
Update doc/users/user_inp.rst
ilfreddy Feb 20, 2024
ff76b1e
Refactorization using component functions as Orbitals
gitpeterwind Aug 5, 2024
c48e883
compiles with Func methods instead of variable
gitpeterwind Aug 12, 2024
847d665
qmfunction tests passes
gitpeterwind Aug 14, 2024
4dde496
all tests passes except hessians
gitpeterwind Aug 22, 2024
53d2f77
all tests passes
gitpeterwind Aug 23, 2024
70f123e
some cleaning
gitpeterwind Aug 26, 2024
5acf7d1
compatibility for redefined mrcpp alloc
gitpeterwind Aug 26, 2024
3490ccf
conflict solved
gitpeterwind Aug 5, 2024
ef25796
compiles with Func methods instead of variable
gitpeterwind Aug 12, 2024
ab901a3
qmfunction tests passes
gitpeterwind Aug 14, 2024
a6bc9ba
all tests passes except hessians
gitpeterwind Aug 22, 2024
66947ac
all tests passes
gitpeterwind Aug 23, 2024
2fc0119
some cleaning
gitpeterwind Aug 26, 2024
a8bf937
compatibility for redefined mrcpp alloc
gitpeterwind Aug 26, 2024
81e088e
resolve conflict
gitpeterwind Aug 28, 2024
6c8f6ad
Refactorization using component functions as Orbitals
gitpeterwind Aug 5, 2024
df3940b
compiles with Func methods instead of variable
gitpeterwind Aug 12, 2024
e6f49f1
qmfunction tests passes
gitpeterwind Aug 14, 2024
b76793d
all tests passes except hessians
gitpeterwind Aug 22, 2024
f0e550d
all tests passes
gitpeterwind Aug 23, 2024
fe10cb7
some cleaning
gitpeterwind Aug 26, 2024
4e6d15e
compatibility for redefined mrcpp alloc
gitpeterwind Aug 26, 2024
cb6c427
multiplicative factor for momentum
gitpeterwind Aug 28, 2024
d39e0e5
merged
gitpeterwind Aug 28, 2024
c511191
Merge branch 'recover-latest' into UseComponents
gitpeterwind Aug 28, 2024
ba8fc9e
read and write orbitals in text format
gitpeterwind Dec 19, 2024
a454032
read and write set of orbitals
gitpeterwind Dec 23, 2024
0fbdf62
documentation
gitpeterwind Dec 30, 2024
12aee43
merged
gitpeterwind Jan 2, 2025
2a4b3b3
Update fetch_mrcpp.cmake
ilfreddy Feb 18, 2025
0f30f2f
update hf_grad_lda test
gitpeterwind Feb 20, 2025
2d008a5
update mrcpp tag
gitpeterwind Feb 20, 2025
da106b5
update hf_grad_blyp_surface_force test
gitpeterwind Feb 20, 2025
20e53b0
update tag
gitpeterwind Feb 20, 2025
b67c2ce
fixed imaginary operators
gitpeterwind Feb 24, 2025
cd08515
updated test reference outputs
gitpeterwind Feb 25, 2025
faa9c15
relaxed rtol in test for E_xc hf_grad_blyp_surface_force to 1e-5
gitpeterwind Feb 25, 2025
ac5a3c5
Clean ups, suggestions from Roberto
gitpeterwind Feb 26, 2025
4686a50
clang-format
gitpeterwind Feb 26, 2025
d5b88c9
Update tests/qmoperators/xc_operator_blyp.cpp
gitpeterwind Mar 5, 2025
d9ba893
merge
gitpeterwind Mar 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Bugfix: critical sign error in magnetic properties
  • Loading branch information
stigrj authored and gitpeterwind committed Jul 11, 2024
commit 9849caa0c0e4d5540ad3339d366c358ccd006767
6 changes: 2 additions & 4 deletions src/qmoperators/QMDerivative.cpp
Original file line number Diff line number Diff line change
@@ -79,12 +79,11 @@ Orbital QMDerivative::apply(Orbital inp) {
if (inp.hasImag()) {
out.alloc(NUMBER::Real);
mrcpp::apply(out.real(), D, inp.imag(), dir);
if (inp.conjugate()) out.real().rescale(-1.0);
if (!inp.conjugate()) out.real().rescale(-1.0);
}
if (inp.hasReal()) {
out.alloc(NUMBER::Imag);
mrcpp::apply(out.imag(), D, inp.real(), dir);
out.imag().rescale(-1.0);
}
}
return out;
@@ -121,12 +120,11 @@ QMOperatorVector QMDerivative::apply(QMOperator_p &O) {
if (V_inp->hasImag()) {
V_out->alloc(NUMBER::Real);
mrcpp::apply(V_out->real(), D, V_inp->imag(), d);
if (V_inp->conjugate()) V_out->real().rescale(-1.0);
if (!V_inp->conjugate()) V_out->real().rescale(-1.0);
}
if (V_inp->hasReal()) {
V_out->alloc(NUMBER::Imag);
mrcpp::apply(V_out->imag(), D, V_inp->real(), d);
V_out->imag().rescale(-1.0);
}
}
out.push_back(V_out);
15 changes: 7 additions & 8 deletions src/qmoperators/one_electron/MomentumOperator.h
Original file line number Diff line number Diff line change
@@ -27,22 +27,21 @@

#include "tensor/RankOneOperator.h"

#include "qmoperators/QMDerivative.h"
#include "qmoperators/one_electron/NablaOperator.h"

namespace mrchem {

class MomentumOperator final : public RankOneOperator<3> {
public:
MomentumOperator(std::shared_ptr<mrcpp::DerivativeOperator<3>> D) {
auto p_x = std::make_shared<QMDerivative>(0, D, true);
auto p_y = std::make_shared<QMDerivative>(1, D, true);
auto p_z = std::make_shared<QMDerivative>(2, D, true);
MomentumOperator(std::shared_ptr<mrcpp::DerivativeOperator<3>> D)
: MomentumOperator(NablaOperator(D, true)) {}

MomentumOperator(NablaOperator D) {
// Invoke operator= to assign *this operator
RankOneOperator<3> &p = (*this);
p[0] = p_x;
p[1] = p_y;
p[2] = p_z;
p[0] = -1.0*D[0];
p[1] = -1.0*D[1];
p[2] = -1.0*D[2];
p[0].name() = "p[x]";
p[1].name() = "p[y]";
p[2].name() = "p[z]";
8 changes: 4 additions & 4 deletions src/qmoperators/one_electron/NablaOperator.h
Original file line number Diff line number Diff line change
@@ -33,10 +33,10 @@ namespace mrchem {

class NablaOperator final : public RankOneOperator<3> {
public:
NablaOperator(std::shared_ptr<mrcpp::DerivativeOperator<3>> D) {
auto d_x = std::make_shared<QMDerivative>(0, D);
auto d_y = std::make_shared<QMDerivative>(1, D);
auto d_z = std::make_shared<QMDerivative>(2, D);
NablaOperator(std::shared_ptr<mrcpp::DerivativeOperator<3>> D, bool imag = false) {
auto d_x = std::make_shared<QMDerivative>(0, D, imag);
auto d_y = std::make_shared<QMDerivative>(1, D, imag);
auto d_z = std::make_shared<QMDerivative>(2, D, imag);

// Invoke operator= to assign *this operator
RankOneOperator<3> &d = (*this);
2 changes: 1 addition & 1 deletion src/scf_solver/HelmholtzVector.cpp
Original file line number Diff line number Diff line change
@@ -152,7 +152,7 @@ Orbital HelmholtzVector::apply(int i, Orbital &phi) const {
if (phi.hasImag()) {
out.alloc(NUMBER::Imag);
mrcpp::apply(this->prec, out.imag(), H, phi.imag(), -1, true); // Absolute prec
double sign = (phi.conjugate()) ? -1.0 : 1.0;
double sign = (phi.conjugate()) ? 1.0 : -1.0;
out.imag().rescale(sign / (2.0 * mrcpp::pi));
}
return out;