#include <ctype.h>
#include <cmath>
#include <pthread.h>
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <list>
#include <map>
#include "dft_common.h"
#include "functionals.h"
#include "grid_atomic.h"
#include "output.h"
#include "barrier.h"
Classes | |
| class | ShellTree |
| Class that allows to find in NLogN time all shells that overlap with a given box. More... | |
| struct | Ball |
Defines | |
| #define | _XOPEN_SOURCE 500 |
| #define | _XOPEN_SOURCE_EXTENDED 1 |
| #define | _BSD_SOURCE 1 |
| #define | __CVERSION__ |
Functions | |
| void * | dal_malloc_ (size_t sz, const char *place, unsigned line) |
| int | sync_threads (bool release, int nThreads) |
| creates or destroys a barrier for nThreads. | |
| static void | dft_set_hf_weight (real w) |
| static real | dft_get_hf_weight (void) |
| static int | ergo_fort_print (const char *format,...) |
| EXTERN_C void | dft_init (void) |
| EXTERN_C int | dft_get_num_threads (void) |
| EXTERN_C void | dft_set_num_threads (int nThreads) |
| int | dft_setfunc (const char *line) |
| static ergo_real | distance (const ergo_real *a, const ergo_real *b) |
| Coomputes distance between two points, they do not need to be of the Vector3D type. | |
| void | ergoShellsToOrbs (const int *nshlbl, const int(*shlblock)[2], int *norbbl, int(*orbblock)[2], const BasisInfoStruct &bis) |
| transform shell block indices to orbital block indices. | |
| real | dftene_ (const real *rho, const real *grad) |
| void | dftptf0_ (real *rho, real *grad, real *wght, real *vx) |
| void | dftpot0_ (FirstDrv *ds, const real *weight, const FunDensProp *dp) |
| void | dftpot1_ (SecondDrv *ds, const real *w, const FunDensProp *dp, const int *triplet) |
Variables | |
| int | ZEROI = 0 |
| int | ONEI = 1 |
| int | THREEI = 3 |
| int | FOURI = 4 |
| real | ZEROR = 0.0 |
| real | ONER = 1.0 |
| real | TWOR = 2.0 |
| real | FOURR = 4.0 |
| static const ergo_real | GET_BLOCKS_FUDGE_FACTOR = 1.0 |
| static const ergo_real | SET_SHELL_RADII_ORBITAL_THR = 1e-11 |
| static real | dft_hf_weight = 0.0 |
| int(*) | fort_print (const char *format,...) = printf |
| static int | dft_thread_count = -1 |
Mostly functional mixing.
(c) Pawel Salek, pawsa@theochem.kth.se, 2001-08-02 NOTES: Adding new functionals: a. use fun-slater.c as template. b. add 'extern Functional MyFunctional;' to functionals.h c. add '&MyFunctional' to available_functionals below. d. have a beer. Or some crackers, if you prefer.
| #define __CVERSION__ |
| #define _BSD_SOURCE 1 |
| #define _XOPEN_SOURCE 500 |
| #define _XOPEN_SOURCE_EXTENDED 1 |
| void* dal_malloc_ | ( | size_t | sz, | |
| const char * | place, | |||
| unsigned | line | |||
| ) |
| static real dft_get_hf_weight | ( | void | ) | [static] |
| EXTERN_C int dft_get_num_threads | ( | void | ) |
| EXTERN_C void dft_init | ( | void | ) |
| static void dft_set_hf_weight | ( | real | w | ) | [static] |
| EXTERN_C void dft_set_num_threads | ( | int | nThreads | ) |
| int dft_setfunc | ( | const char * | line | ) |
| void dftpot0_ | ( | FirstDrv * | ds, | |
| const real * | weight, | |||
| const FunDensProp * | dp | |||
| ) |
| void dftpot1_ | ( | SecondDrv * | ds, | |
| const real * | w, | |||
| const FunDensProp * | dp, | |||
| const int * | triplet | |||
| ) |
Coomputes distance between two points, they do not need to be of the Vector3D type.
In a way, we lose here some error checking. Perhaps it should be avoided.
| static int ergo_fort_print | ( | const char * | format, | |
| ... | ||||
| ) | [static] |
| void ergoShellsToOrbs | ( | const int * | nshlbl, | |
| const int * | shlblock[2], | |||
| int * | norbbl, | |||
| int * | orbblock[2], | |||
| const BasisInfoStruct & | bis | |||
| ) |
transform shell block indices to orbital block indices.
IORIDX contains preprocessed information about where given shell begins and ends in given symmetry.
| int sync_threads | ( | bool | release, | |
| int | nThreads | |||
| ) |
creates or destroys a barrier for nThreads.
| release | tells whether we are to destroy the barrier (true) or just sync (false). | |
| nThreads | informs the code how many threads are supposed to block on the barrier. |
real dft_hf_weight = 0.0 [static] |
int dft_thread_count = -1 [static] |
| int(*) fort_print(const char *format,...) = printf |
| int FOURI = 4 |
const ergo_real GET_BLOCKS_FUDGE_FACTOR = 1.0 [static] |
| int ONEI = 1 |
const ergo_real SET_SHELL_RADII_ORBITAL_THR = 1e-11 [static] |
| int THREEI = 3 |
| int ZEROI = 0 |
1.4.7