mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-09-16 17:55:29 +02:00
Added provide local energy.
This commit is contained in:
parent
77d399f460
commit
b925cac7e2
@ -177,6 +177,42 @@ typedef struct qmckl_local_energy_struct {
|
|||||||
Some values are initialized by default, and are not concerned by
|
Some values are initialized by default, and are not concerned by
|
||||||
this mechanism.
|
this mechanism.
|
||||||
|
|
||||||
|
** Access functions
|
||||||
|
|
||||||
|
When all the data for the local energy have been provided, the following
|
||||||
|
function returns ~true~.
|
||||||
|
|
||||||
|
#+begin_src c :comments org :tangle (eval h_func)
|
||||||
|
bool qmckl_local_energy_provided (const qmckl_context context);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src c :comments org :tangle (eval c) :noweb yes :exports none
|
||||||
|
bool qmckl_local_energy_provided(const qmckl_context context) {
|
||||||
|
|
||||||
|
if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
qmckl_context_struct* const ctx = (qmckl_context_struct*) context;
|
||||||
|
assert (ctx != NULL);
|
||||||
|
|
||||||
|
qmckl_exit_code rc;
|
||||||
|
|
||||||
|
if(!qmckl_electron_provided(context)) return QMCKL_NOT_PROVIDED;
|
||||||
|
|
||||||
|
if(!qmckl_nucleus_provided(context)) return QMCKL_NOT_PROVIDED;
|
||||||
|
|
||||||
|
rc = qmckl_provide_ao_basis_ao_vgl(context);
|
||||||
|
if (rc != QMCKL_SUCCESS) return rc;
|
||||||
|
|
||||||
|
rc = qmckl_provide_mo_basis_mo_vgl(context);
|
||||||
|
if (rc != QMCKL_SUCCESS) return rc;
|
||||||
|
|
||||||
|
ctx->local_energy.provided = (ctx->local_energy.uninitialized == 0);
|
||||||
|
return ctx->local_energy.provided;
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Computation
|
* Computation
|
||||||
** Kinetic energy
|
** Kinetic energy
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
Loading…
Reference in New Issue
Block a user