MADNESS 0.10.1
Classes | Typedefs | Functions | Variables
testperiodicdft.cc File Reference
#include <madness/mra/mra.h>
#include <madness/tensor/solvers.h>
#include <madness/chem/molecule.h>
#include <madness/chem/molecularbasis.h>
#include <madness/chem/xcfunctional.h>
#include "subspace.h"
Include dependency graph for testperiodicdft.cc:

Classes

class  AtomicBasisFunctor< Q >
 
class  AtomicOrbitalFunctor
 
class  ExpFunctor< Q >
 
class  ExpFunctor3d< Q >
 
class  KPeriodicBSHOperator
 
class  MolecularGuessDensityFunctor
 
class  NuclearDensityFunctor
 
class  SplitterFunctor
 

Typedefs

typedef SeparatedConvolution< double_complex, 3 > coperatorT
 
typedef SeparatedConvolution< double, 3 > operatorT
 
typedef std::shared_ptr< coperatorTpcoperatorT
 
typedef std::shared_ptr< operatorTpoperatorT
 
typedef std::pair< vector_complex_function_3d, vector_complex_function_3dvcpairT
 

Functions

complex_function_3d apply_periodic_bsh (World &world, const complex_function_3d &f, const double &kx, const double &ky, const double &kz, const double &energy, const double &L)
 
complex_function_3d apply_periodic_bsh (World &world, const complex_function_3d &f, const Vector< double, 3 > &kpt, const double &energy, const double &L)
 
vector_complex_function_3d apply_potential (World &world, const real_function_3d &potential, const vector_complex_function_3d &psi)
 
std::pair< vector_complex_function_3d, tensor_realdiag_and_transform (World &world, const Vector< double, 3 > kpt, const real_function_3d &v, const vector_complex_function_3d &psik, int nmo=0)
 
static void END_TIMER (World &world, const char *msg)
 
void fixphases (World &world, tensor_real &e, tensor_complex &U)
 
void fixphases (World &world, tensor_real &e, tensor_complex &U, vector_complex_function_3d &psik)
 
static const double_complex I (0, 1)
 
vector_complex_function_3d initial_guess (World &world, const real_function_3d &vnuc, real_function_3d &rho, const std::vector< Vector< double, 3 > > &kpoints, int nst)
 
int main (int argc, char **argv)
 
vector< poperatorTmake_bsh_operators (World &world, const tensor_real &evals, double shift)
 
real_function_3d make_coulomb_potential (World &world, const real_function_3d &rho)
 
real_function_3d make_density (World &world, const vector_complex_function_3d &v, double weight)
 
tensor_complex make_kinetic_matrix (World &world, const vector_complex_function_3d &v, const Vector< double, 3 > &kpt)
 
real_function_3d make_lda_potential (World &world, const real_function_3d &rho)
 
vector_complex_function_3d makeao (World &world, const std::vector< Vector< double, 3 > > &kpts, double R)
 
vector_complex_function_3d makeao_slow (World &world, const std::vector< Vector< double, 3 > > &kpoints)
 
tensor_complex matrix_exponential (const tensor_complex &A)
 
vector_complex_function_3d orth (World &world, const vector_complex_function_3d &v, double thresh=1.e-10)
 
void orthogonalize (World &world, vector_complex_function_3d &psi)
 
static void START_TIMER (World &world)
 
vcpairT update (World &world, int ik, const vector_complex_function_3d &psi, vector_complex_function_3d &vpsi, const Vector< double, 3 > &kpt, const real_function_3d &v, const tensor_real &e)
 

Variables

static AtomicBasisSet aobasis
 
static const double kwavelet = 14
 
static const double L = 10.6591
 
static const int maxR = 3
 
static Molecule molecule
 
static double sss
 
static Subspacesubspace
 
static const double thresh = 1e-5
 
static const int truncate_mode = 0
 
static double ttt
 
static const double twopi = 2.0*constants::pi
 

Typedef Documentation

◆ coperatorT

◆ operatorT

typedef SeparatedConvolution<double,3> operatorT

◆ pcoperatorT

typedef std::shared_ptr<coperatorT> pcoperatorT

◆ poperatorT

typedef std::shared_ptr<operatorT> poperatorT

◆ vcpairT

Function Documentation

◆ apply_periodic_bsh() [1/2]

complex_function_3d apply_periodic_bsh ( World world,
const complex_function_3d f,
const double &  kx,
const double &  ky,
const double &  kz,
const double &  energy,
const double &  L 
)

◆ apply_periodic_bsh() [2/2]

complex_function_3d apply_periodic_bsh ( World world,
const complex_function_3d f,
const Vector< double, 3 > &  kpt,
const double &  energy,
const double &  L 
)

◆ apply_potential()

vector_complex_function_3d apply_potential ( World world,
const real_function_3d potential,
const vector_complex_function_3d psi 
)

◆ diag_and_transform()

std::pair< vector_complex_function_3d, tensor_real > diag_and_transform ( World world,
const Vector< double, 3 >  kpt,
const real_function_3d v,
const vector_complex_function_3d psik,
int  nmo = 0 
)

◆ END_TIMER()

static void END_TIMER ( World world,
const char *  msg 
)
static

◆ fixphases() [1/2]

void fixphases ( World world,
tensor_real e,
tensor_complex U 
)

◆ fixphases() [2/2]

void fixphases ( World world,
tensor_real e,
tensor_complex U,
vector_complex_function_3d psik 
)

◆ I()

static const double_complex I ( ,
 
)
static

◆ initial_guess()

vector_complex_function_3d initial_guess ( World world,
const real_function_3d vnuc,
real_function_3d rho,
const std::vector< Vector< double, 3 > > &  kpoints,
int  nst 
)

◆ main()

int main ( int  argc,
char **  argv 
)

◆ make_bsh_operators()

vector< poperatorT > make_bsh_operators ( World world,
const tensor_real evals,
double  shift 
)

◆ make_coulomb_potential()

real_function_3d make_coulomb_potential ( World world,
const real_function_3d rho 
)

◆ make_density()

real_function_3d make_density ( World world,
const vector_complex_function_3d v,
double  weight 
)

◆ make_kinetic_matrix()

tensor_complex make_kinetic_matrix ( World world,
const vector_complex_function_3d v,
const Vector< double, 3 > &  kpt 
)

◆ make_lda_potential()

real_function_3d make_lda_potential ( World world,
const real_function_3d rho 
)

References madness::copy(), END_TIMER, and START_TIMER.

Referenced by initial_guess(), and main().

◆ makeao()

vector_complex_function_3d makeao ( World world,
const std::vector< Vector< double, 3 > > &  kpts,
double  R 
)

◆ makeao_slow()

vector_complex_function_3d makeao_slow ( World world,
const std::vector< Vector< double, 3 > > &  kpoints 
)

◆ matrix_exponential()

tensor_complex matrix_exponential ( const tensor_complex A)

References e(), madness::inner(), k, MADNESS_CHECK, and madness::scale().

Referenced by fixphases().

◆ orth()

vector_complex_function_3d orth ( World world,
const vector_complex_function_3d v,
double  thresh = 1.e-10 
)

◆ orthogonalize()

void orthogonalize ( World world,
vector_complex_function_3d psi 
)

◆ START_TIMER()

static void START_TIMER ( World world)
static

◆ update()

vcpairT update ( World world,
int  ik,
const vector_complex_function_3d psi,
vector_complex_function_3d vpsi,
const Vector< double, 3 > &  kpt,
const real_function_3d v,
const tensor_real e 
)

Variable Documentation

◆ aobasis

AtomicBasisSet aobasis
static

◆ kwavelet

const double kwavelet = 14
static

Referenced by main().

◆ L

const double L = 10.6591
static

◆ maxR

const int maxR = 3
static

◆ molecule

Molecule molecule
static

Referenced by GaussianNucleusFunctor::GaussianNucleusFunctor(), madness::Nuclear< T, NDIM >::Nuclear(), NuclearVector::NuclearVector(), madness::PNOParameters::PNOParameters(), madness::AtomicBasisSet::atoms_to_bfn(), madness::AtomicBasisSet::basisfn_to_atom(), compute_frequencies(), madness::MP3::compute_mp3_ghij(), madness::MP3::compute_mp3_ghij_fast(), madness::MolecularOptimizer::compute_reduced_mass(), compute_reduced_mass(), madness::create_nuclear_correlation_factor(), madness::create_nuclear_correlation_factor(), madness::cubefile_header(), dipole_generator(), madness::do_response_orbital_vtk_plots(), madness::do_vtk_plots(), madness::MolecularEnergy::energy_and_gradient(), madness::AtomicBasisSet::eval(), madness::AtomicBasisSet::eval_guess_density(), madness::AtomicBasisSet::get_aeps(), madness::AtomicBasisSet::get_atomic_basis_function(), madness::AtomicBasisSet::get_avec(), madness::ACParameters< NDIM >::initialize(), initialize_calc_params(), madness::MolecularOrbitals< T, NDIM >::load_mos(), main(), main(), madness::make_atom_vec(), makeao(), makeao_slow(), madness::AtomicBasisSet::nbf(), nuclear_generator(), madness::MP3::MacroTaskMP3::operator()(), madness::TDHF::plot(), madness::AtomicBasisSet::print(), madness::AtomicBasisSet::print_anal(), madness::MolecularOrbitals< T, NDIM >::read_restartaodata(), madness::MolecularOrbitals< T, NDIM >::read_restartdata(), madness::MolecularOrbitals< T, NDIM >::save_restartaodata(), madness::MolecularOrbitals< T, NDIM >::save_restartdata(), madness::PNOParameters::set_derived_values(), madness::CalculationParameters::set_derived_values(), madness::ResponseParameters::set_derived_values(), madness::AtomicBasisSet::shells_to_bfn(), and madness::write_molecules_to_file().

◆ sss

double sss
static

Referenced by END_TIMER(), and START_TIMER().

◆ subspace

Subspace* subspace
static

◆ thresh

const double thresh = 1e-5
static

◆ truncate_mode

const int truncate_mode = 0
static

Referenced by main().

◆ ttt

double ttt
static

Referenced by END_TIMER(), and START_TIMER().

◆ twopi

const double twopi = 2.0*constants::pi
static

Referenced by main().