MADNESS  0.10.1
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
DF Class Reference

Given a molecule and nonrelativistic ground state orbitals, solve the Dirac-Hartree-Fock equations. More...

#include <DF.h>

Collaboration diagram for DF:
Collaboration graph
[legend]

Public Member Functions

 DF (World &world, const char *input_file)
 
 DF (World &world, std::shared_ptr< std::istream > input)
 
void DF_load_balance (World &world, real_function_3d &Vnuc)
 
void diagonalize (World &world, real_function_3d &myV, real_convolution_3d &op, std::vector< Fcwf > &Kpsis)
 
Tensor< double > end_timer (World &world)
 
void exchange (World &world, real_convolution_3d &op, std::vector< Fcwf > &Kpsis)
 
Tensor< double > get_times (World &world)
 
bool iterate (World &world, real_function_3d &V, real_convolution_3d &op, real_function_3d &JandV, std::vector< Fcwf > &Kpsis, XNonlinearSolver< std::vector< Fcwf >, std::complex< double >, Fcwf_vector_allocator > &kainsolver, double &tolerance, int &iteration_number, double &nuclear_repulsion_energy)
 
void make_component_lineplots (World &world, const char *filename1, const char *filename2, int npt, double endpnt)
 
void make_component_logplots (World &world, const char *filename1, const char *filename2, int npt, int startpnt, int endpnt)
 
void make_density_lineplots (World &world, const char *filename, int npt, double endpnt)
 
void make_fermi_potential (World &world, real_convolution_3d &op, real_function_3d &potential)
 
void make_fermi_potential (World &world, real_convolution_3d &op, real_function_3d &potential, double &nuclear_repulsion_energy)
 
void make_gaussian_potential (World &world, real_function_3d &potential)
 
void make_gaussian_potential (World &world, real_function_3d &potential, double &nuclear_repulsion_energy)
 
void orthogonalize_inplace (World &world)
 
double pop (std::vector< double > &v)
 
void print_molecule (World &world)
 
void print_sizes (World &world, bool individual)
 
double rele (World &world, Fcwf &psi)
 
void saveDF (World &world)
 
void solve (World &world)
 
void solve_occupied (World &world)
 
void start_timer (World &world)
 

Static Public Member Functions

static void help ()
 
static void print_parameters ()
 

Private Attributes

bool closed_shell
 
DFParameters DFparams
 
Tensor< double > energies
 
InitParameters Init_params
 
std::vector< Fcwfoccupieds
 
std::vector< double > sss
 
double total_energy
 
std::vector< double > ttt
 

Detailed Description

Given a molecule and nonrelativistic ground state orbitals, solve the Dirac-Hartree-Fock equations.

Constructor & Destructor Documentation

◆ DF() [1/2]

DF::DF ( World world,
const char *  input_file 
)

◆ DF() [2/2]

DF::DF ( World world,
std::shared_ptr< std::istream >  input 
)

Member Function Documentation

◆ DF_load_balance()

void DF::DF_load_balance ( World world,
real_function_3d Vnuc 
)

◆ diagonalize()

void DF::diagonalize ( World world,
real_function_3d myV,
real_convolution_3d op,
std::vector< Fcwf > &  Kpsis 
)

◆ end_timer()

Tensor< double > DF::end_timer ( World world)

◆ exchange()

void DF::exchange ( World world,
real_convolution_3d op,
std::vector< Fcwf > &  Kpsis 
)

◆ get_times()

Tensor< double > DF::get_times ( World world)

◆ help()

static void DF::help ( )
inlinestatic

References madness::print(), and madness::print_header2().

Referenced by main().

◆ iterate()

bool DF::iterate ( World world,
real_function_3d V,
real_convolution_3d op,
real_function_3d JandV,
std::vector< Fcwf > &  Kpsis,
XNonlinearSolver< std::vector< Fcwf >, std::complex< double >, Fcwf_vector_allocator > &  kainsolver,
double &  tolerance,
int &  iteration_number,
double &  nuclear_repulsion_energy 
)

◆ make_component_lineplots()

void DF::make_component_lineplots ( World world,
const char *  filename1,
const char *  filename2,
int  npt,
double  endpnt 
)

◆ make_component_logplots()

void DF::make_component_logplots ( World world,
const char *  filename1,
const char *  filename2,
int  npt,
int  startpnt,
int  endpnt 
)

◆ make_density_lineplots()

void DF::make_density_lineplots ( World world,
const char *  filename,
int  npt,
double  endpnt 
)

◆ make_fermi_potential() [1/2]

void DF::make_fermi_potential ( World world,
real_convolution_3d op,
real_function_3d potential 
)

Referenced by solve_occupied().

◆ make_fermi_potential() [2/2]

void DF::make_fermi_potential ( World world,
real_convolution_3d op,
real_function_3d potential,
double &  nuclear_repulsion_energy 
)

◆ make_gaussian_potential() [1/2]

void DF::make_gaussian_potential ( World world,
real_function_3d potential 
)

◆ make_gaussian_potential() [2/2]

void DF::make_gaussian_potential ( World world,
real_function_3d potential,
double &  nuclear_repulsion_energy 
)

◆ orthogonalize_inplace()

void DF::orthogonalize_inplace ( World world)

References std::abs(), matrix_inner(), max, occupieds, Q(), Q2(), and transform().

Referenced by iterate().

◆ pop()

double DF::pop ( std::vector< double > &  v)

References v.

◆ print_molecule()

void DF::print_molecule ( World world)

◆ print_parameters()

static void DF::print_parameters ( )
inlinestatic

References madness::print().

Referenced by main().

◆ print_sizes()

void DF::print_sizes ( World world,
bool  individual = false 
)

◆ rele()

double DF::rele ( World world,
Fcwf psi 
)

References apply_T(), energy, inner(), and psi().

Referenced by iterate().

◆ saveDF()

void DF::saveDF ( World world)

◆ solve()

void DF::solve ( World world)

◆ solve_occupied()

void DF::solve_occupied ( World world)

◆ start_timer()

void DF::start_timer ( World world)

Member Data Documentation

◆ closed_shell

bool DF::closed_shell
private

◆ DFparams

DFParameters DF::DFparams
private

◆ energies

Tensor<double> DF::energies
private

Referenced by DF(), diagonalize(), iterate(), and saveDF().

◆ Init_params

InitParameters DF::Init_params
private

◆ occupieds

std::vector<Fcwf> DF::occupieds
private

◆ sss

std::vector<double> DF::sss
private

◆ total_energy

double DF::total_energy
private

Referenced by DF(), iterate(), and saveDF().

◆ ttt

std::vector<double> DF::ttt
private

The documentation for this class was generated from the following files: