ergo
|
The sparse XC matrix evaluator. More...
#include <pthread.h>
#include "aos.h"
#include "integrator.h"
#include "sparse_matrix.h"
#include "xc_matrix_sparse.h"
#include "dft_common.h"
#include "grid_reader.h"
#include "output.h"
#include "utilities.h"
#include "xc_evaluators.hpp"
#include "grid_hicu.h"
Classes | |
class | XCEvaluator |
class | XCEvaluatorRestricted |
struct | XcData |
class | XCEvaluatorUnrestricted |
Defines | |
#define | _XOPEN_SOURCE 500 |
#define | _XOPEN_SOURCE_EXTENDED 1 |
#define | WITH_PTHREAD 1 |
#define | restrict |
Functions | |
static void * | xcWorker (void *data) |
real | getXC_mt (const BasisInfoStruct &bis, const IntegralInfo &integralInfo, const Molecule &mol, const Dft::GridParams &gss, int nElectrons, const symmMatrix &dens, symmMatrix &xcm, real *xcEnergy, std::vector< int > const &permutationHML) |
real | getXC_seq (const BasisInfoStruct &bis, const IntegralInfo &integralInfo, const Molecule &mol, const Dft::GridParams &gss, int nElectrons, const symmMatrix &dens, symmMatrix &xcm, real *xcEnergy, std::vector< int > const &permutationHML) |
real | getUXC_seq (const BasisInfoStruct &bis, const IntegralInfo &integralInfo, const Molecule &mol, const Dft::GridParams &gss, int nElectrons, const symmMatrix &densA, const symmMatrix &densB, symmMatrix &xcA, symmMatrix &xcB, real *xcEnergy, std::vector< int > const &permutationHML) |
Variables | |
static pthread_mutex_t | dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER |
static pthread_mutex_t | dft_hicu_grid_init_mutex = PTHREAD_MUTEX_INITIALIZER |
The sparse XC matrix evaluator.
(c) Pawel Salek, pawsa@theochem.kth.se. 2002.04.05
This module evaluates DFT contribution KS matrix.
#define _XOPEN_SOURCE 500 |
#define _XOPEN_SOURCE_EXTENDED 1 |
#define restrict |
Referenced by XCEvaluatorRestricted::getXC().
#define WITH_PTHREAD 1 |
real getUXC_seq | ( | const BasisInfoStruct & | bis, |
const IntegralInfo & | integralInfo, | ||
const Molecule & | mol, | ||
const Dft::GridParams & | gss, | ||
int | nElectrons, | ||
const symmMatrix & | densA, | ||
const symmMatrix & | densB, | ||
symmMatrix & | xcA, | ||
symmMatrix & | xcB, | ||
real * | xcEnergy, | ||
std::vector< int > const & | permutationHML | ||
) |
Referenced by get_2e_matrices_and_energy_simple_sparse_unrestricted().
real getXC_mt | ( | const BasisInfoStruct & | bis, |
const IntegralInfo & | integralInfo, | ||
const Molecule & | mol, | ||
const Dft::GridParams & | gss, | ||
int | nElectrons, | ||
const symmMatrix & | dens, | ||
symmMatrix & | xcm, | ||
real * | xcEnergy, | ||
std::vector< int > const & | permutationHML | ||
) |
References XcData::nThreads, dft_get_num_threads(), XcData::xcEvaluator, XCEvaluatorRestricted::getXC(), XcData::nElectrons, XcData::xcm, xcWorker(), do_output(), LOG_CAT_ERROR, LOG_AREA_DFT, and LOG_CAT_INFO.
Referenced by Vxc_worker::ComputeMatrix(), get_2e_matrix_and_energy_simple_sparse(), and calculation_shared().
real getXC_seq | ( | const BasisInfoStruct & | bis, |
const IntegralInfo & | integralInfo, | ||
const Molecule & | mol, | ||
const Dft::GridParams & | gss, | ||
int | nElectrons, | ||
const symmMatrix & | dens, | ||
symmMatrix & | xcm, | ||
real * | xcEnergy, | ||
std::vector< int > const & | permutationHML | ||
) |
References XCEvaluatorRestricted::getXC().
static void* xcWorker | ( | void * | data | ) | [static] |
References XcData::el, XcData::xcEvaluator, XCEvaluatorRestricted::getXC(), XcData::nElectrons, XcData::xcm, XcData::xcEnergy, XcData::nThreads, do_output(), LOG_CAT_ERROR, and LOG_AREA_DFT.
Referenced by getXC_mt().
pthread_mutex_t dft_hicu_grid_init_mutex = PTHREAD_MUTEX_INITIALIZER [static] |
Referenced by XCEvaluator::XCEvaluator().
pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER [static] |
Referenced by XCEvaluatorRestricted::getXC().