source/dft/lin_trans.cc File Reference

Blocked DFT Linear Response contribution evaluator. More...

#include "config.h"
#include <stdio.h>
#include <cmath>
#include <string.h>
#include <time.h>
#include <sys/times.h>
#include <unistd.h>
#include <pthread.h>
#include "aos.h"
#include "dft_common.h"
#include "functionals.h"
#include "integrator.h"
#include "output.h"
#include "grid_matrix.h"
#include "rho-mat.h"
#include "utilities.h"

Classes

struct  LinRespBlData
struct  LinData

Functions

int min (int a, int b)
static void lin_resp_cb_b_lda (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, LinRespBlData *data)
static void lin_resp_cb_b_gga (DftIntegratorBl *grid, real *restrict tmp, int bllen, int blstart, int blend, LinRespBlData *data)
EXTERN_C real dft_lin_respao (const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, const real *dens, const real *vec, real *trans_vec, int nThreads)
 dft_lin_respao performs the transformation of given transition density
static void * dft_lin_resp_worker (void *data)
EXTERN_C real dft_lin_resp_mt (const BasisInfoStruct &bis, const Molecule &mol, const Dft::GridParams &gss, const real *dens, const real *vec, real *trans_vec)

Variables

static pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER

Detailed Description

Blocked DFT Linear Response contribution evaluator.

Author:
: Pawel Salek responsible

Function Documentation

EXTERN_C real dft_lin_resp_mt ( const BasisInfoStruct bis,
const Molecule mol,
const Dft::GridParams gss,
const real dens,
const real vec,
real trans_vec 
)
static void* dft_lin_resp_worker ( void *  data  )  [static]
EXTERN_C real dft_lin_respao ( const BasisInfoStruct bis,
const Molecule mol,
const Dft::GridParams gss,
const real dens,
const real vec,
real trans_vec,
int  nThreads 
)

dft_lin_respao performs the transformation of given transition density

Parameters:
vec and the result is stored in
trans_vec - both of which are square matrix A ground state density
dens is required.
bis is the basis set description structure.
mol contains the molecule data (is this strictly needed?)
gss a structure describing the grid settings.
nThreads tells how many threads execute this section (needed for grid).

References dal_new, DFT_MAX_BLLEN, dft_prop_mutex, do_output(), free(), Molecule::getNumberOfElectrons(), Dft::integrate(), Functional_::is_gga, LinRespBlData::kappa, lin_resp_cb_b_gga(), lin_resp_cb_b_lda(), LOG_AREA_DFT, LOG_AREA_LR, LOG_CAT_INFO, LinRespBlData::nbast, BasisInfoStruct::noOfBasisFuncs, Util::TimeMeter::print(), LinRespBlData::res, selected_func, LinRespBlData::trplet, LinRespBlData::vecs_in_batch, and LinRespBlData::vt.

Referenced by dft_lin_resp_worker().

static void lin_resp_cb_b_gga ( DftIntegratorBl grid,
real *restrict  tmp,
int  bllen,
int  blstart,
int  blend,
LinRespBlData data 
) [static]
static void lin_resp_cb_b_lda ( DftIntegratorBl grid,
real *restrict  tmp,
int  bllen,
int  blstart,
int  blend,
LinRespBlData data 
) [static]
int min ( int  a,
int  b 
) [inline]

Variable Documentation

pthread_mutex_t dft_prop_mutex = PTHREAD_MUTEX_INITIALIZER [static]

Referenced by dft_lin_respao().


Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1