1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-30 00:44:52 +02:00
qmckl/org/qmckl_jastrow.org
vijay gopal chilkuri b63f28ee72 Working on context.
2021-06-23 14:25:59 +05:30

4.5 KiB

Jastrow Factor

Functions for the calculation of the Jastrow factor \(f_{ee}, f_{en}, f_{een}\). These are stored in the factor_ee, factor_en, and factor_een variables. The jastrow structure contains all the information required to build these factors along with their derivatives.

Context

The following data stored in the context:

uninitialized int32_t in Keeps bit set for uninitialized data
aord_num int64_t in The number of a coeffecients
bord_num int64_t in The number of b coeffecients
cord_num int64_t in The number of c coeffecients
type_nuc_num uint64_t in Number of Nucleii types
dim_cord_vec uint64_t in Number of unique C coefficients
aord_vector double[aord_num + 1][type_nuc_num] in Order of a polynomial coefficients
bord_vector double[bord_num + 1] in Order of b polynomial coefficients
cord_vector double[cord_num][type_nuc_num] in Order of c polynomial coefficients

Data structure

qmckl_exit_code qmckl_jastrow (
const uninitialized int32_t,
const aord_num int64_t,
const bord_num int64_t,
const cord_num int64_t,
const type_nuc_num uint64_t,
const dim_cord_vec uint64_t,
const aord_vector* double,
const bord_vector* double,
const cord_vector* double );

The uninitialized integer contains one bit set to one for each initialization function which has not been called. It becomes equal to zero after all initialization functions have been called. The struct is then initialized and provided == true. Some values are initialized by default, and are not concerned by this mechanism.

qmckl_exit_code qmckl_init_jastrow(qmckl_context context);
qmckl_exit_code qmckl_init_jastrow(qmckl_context context) {

if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
 return false;
}

qmckl_context_struct* const ctx = (qmckl_context_struct* const) context;
assert (ctx != NULL);

ctx->jastrow.uninitialized = (1 << 2) - 1;

/* Default values */
ctx->jastrow.rescale_factor_kappa_ee = 1.0;
ctx->jastrow.rescale_factor_kappa_en = 1.0;

return QMCKL_SUCCESS;
}
bool qmckl_jastrow_provided (const qmckl_context context);