Tests the DFT grid generation. More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <memory>
#include "dft_common.h"
#include "grid_reader.h"
#include "grid_stream.h"
Classes | |
class | MyMolInfo |
Defines | |
#define | NATOMS 2 |
#define | N_BF_SHELLS 2 |
#define | N_BFS 4 |
Functions | |
static bool | pattern_to_ps (Dft::SparsePattern &p, const char *fName) |
static bool | grid_test_scaling (const char *fName) |
This routine tests the sparsity pattern generation scalability properties. | |
static void | grid_test_synchronisation () |
int | main (int argc, char *argv[]) |
Variables | |
struct { | |
ergo_real position [3] | |
int charge | |
} | Atoms [] |
static ergo_real | ShellRadii [] = { 1, 2 } |
static const MyMolInfo | MolInfo |
Tests the DFT grid generation.
This test generates the grid, possibly several times to detect problems with eg. thread synchronisation.
#define N_BF_SHELLS 2 |
Referenced by MyMolInfo::getBlocks(), and MyMolInfo::setShellRadii().
#define N_BFS 4 |
#define NATOMS 2 |
Referenced by MyMolInfo::getExps(), and grid_test_synchronisation().
static bool grid_test_scaling | ( | const char * | fName | ) | [static] |
This routine tests the sparsity pattern generation scalability properties.
At some point in time, water boxes of increasing sizes had irregular sparse pattern. This test helps to debug such cases.
References dft_get_num_threads(), ERGO_SPREFIX, grid_file_name, grid_stream_free(), grid_stream_generate(), grid_stream_new(), grid_stream_set_sparse_pattern(), Dft::GridParams::LMG, pattern_to_ps(), Dft::GridParams::radialGridScheme, and setupShellMap().
Referenced by main().
static void grid_test_synchronisation | ( | ) | [static] |
References Atoms, ERGO_SPREFIX, grid_close(), grid_free_files(), grid_getchunk_blocked(), grid_open_full(), and NATOMS.
Referenced by main().
int main | ( | int | argc, | |
char * | argv[] | |||
) |
References grid_set_tmpdir(), grid_test_scaling(), and grid_test_synchronisation().
static bool pattern_to_ps | ( | Dft::SparsePattern & | p, | |
const char * | fName | |||
) | [static] |
Referenced by grid_test_scaling().
struct { ... } Atoms[] [static] |
Referenced by MyMolInfo::getAtom(), and grid_test_synchronisation().
int charge |
ergo_real ShellRadii[] = { 1, 2 } [static] |
Referenced by MyMolInfo::setShellRadii().