ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Protected Types | Protected Member Functions | Protected Attributes | List of all members
TestModuleHamiltEkinetic Class Reference
Inheritance diagram for TestModuleHamiltEkinetic:
Collaboration diagram for TestModuleHamiltEkinetic:

Protected Types

using ekinetic_cpu_op = hamilt::ekinetic_pw_op< double, base_device::DEVICE_CPU >
 
using ekinetic_gpu_op = hamilt::ekinetic_pw_op< double, base_device::DEVICE_GPU >
 
using set_memory_complex_double_op = base_device::memory::set_memory_op< std::complex< double >, base_device::DEVICE_GPU >
 
using delete_memory_double_op = base_device::memory::delete_memory_op< double, base_device::DEVICE_GPU >
 
using delete_memory_complex_double_op = base_device::memory::delete_memory_op< std::complex< double >, base_device::DEVICE_GPU >
 
using resize_memory_double_op = base_device::memory::resize_memory_op< double, base_device::DEVICE_GPU >
 
using resize_memory_complex_double_op = base_device::memory::resize_memory_op< std::complex< double >, base_device::DEVICE_GPU >
 
using syncmem_d_h2d_op = base_device::memory::synchronize_memory_op< double, base_device::DEVICE_GPU, base_device::DEVICE_CPU >
 
using syncmem_cd_h2d_op = base_device::memory::synchronize_memory_op< std::complex< double >, base_device::DEVICE_GPU, base_device::DEVICE_CPU >
 
using syncmem_cd_d2h_op = base_device::memory::synchronize_memory_op< std::complex< double >, base_device::DEVICE_CPU, base_device::DEVICE_GPU >
 

Protected Member Functions

void SetUp () override
 
void TearDown () override
 

Protected Attributes

const int dim = 27
 
const int band = 8
 
const double tpiba2 = 0.37945422533
 
std::vector< double > gk2
 
std::vector< std::complex< double > > psi
 
std::vector< std::complex< double > > expected_hpsi
 
const base_device::DEVICE_CPU * cpu_ctx = {}
 
const base_device::DEVICE_GPU * gpu_ctx = {}
 

Member Typedef Documentation

◆ delete_memory_complex_double_op

using TestModuleHamiltEkinetic::delete_memory_complex_double_op = base_device::memory::delete_memory_op<std::complex<double>, base_device::DEVICE_GPU>
protected

◆ delete_memory_double_op

◆ ekinetic_cpu_op

using TestModuleHamiltEkinetic::ekinetic_cpu_op = hamilt::ekinetic_pw_op<double, base_device::DEVICE_CPU>
protected

◆ ekinetic_gpu_op

using TestModuleHamiltEkinetic::ekinetic_gpu_op = hamilt::ekinetic_pw_op<double, base_device::DEVICE_GPU>
protected

◆ resize_memory_complex_double_op

using TestModuleHamiltEkinetic::resize_memory_complex_double_op = base_device::memory::resize_memory_op<std::complex<double>, base_device::DEVICE_GPU>
protected

◆ resize_memory_double_op

◆ set_memory_complex_double_op

using TestModuleHamiltEkinetic::set_memory_complex_double_op = base_device::memory::set_memory_op<std::complex<double>, base_device::DEVICE_GPU>
protected

◆ syncmem_cd_d2h_op

using TestModuleHamiltEkinetic::syncmem_cd_d2h_op = base_device::memory:: synchronize_memory_op<std::complex<double>, base_device::DEVICE_CPU, base_device::DEVICE_GPU>
protected

◆ syncmem_cd_h2d_op

using TestModuleHamiltEkinetic::syncmem_cd_h2d_op = base_device::memory:: synchronize_memory_op<std::complex<double>, base_device::DEVICE_GPU, base_device::DEVICE_CPU>
protected

◆ syncmem_d_h2d_op

using TestModuleHamiltEkinetic::syncmem_d_h2d_op = base_device::memory::synchronize_memory_op<double, base_device::DEVICE_GPU, base_device::DEVICE_CPU>
protected

Member Function Documentation

◆ SetUp()

void TestModuleHamiltEkinetic::SetUp ( )
inlineoverrideprotected

◆ TearDown()

void TestModuleHamiltEkinetic::TearDown ( )
inlineoverrideprotected

Member Data Documentation

◆ band

const int TestModuleHamiltEkinetic::band = 8
protected

◆ cpu_ctx

const base_device::DEVICE_CPU* TestModuleHamiltEkinetic::cpu_ctx = {}
protected

◆ dim

const int TestModuleHamiltEkinetic::dim = 27
protected

◆ expected_hpsi

std::vector<std::complex<double> > TestModuleHamiltEkinetic::expected_hpsi
protected
Initial value:
= {
{0.15981,0}, {0,0}, {0.15981,0}, {-0.0185867,0}, {0.15981,0}, {0.113268,0}, {0.113268,0}, {0.15981,0}, {-0.0185867,0}, {-0.0185867,0}, {0.15981,0}, {0.113268,0}, {0.113268,0}, {0.15981,0}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,0}, {0.113268,0}, {0.15981,0}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,0}, {0.15981,0}, {0.113268,0},
{0,0.232721}, {0,0}, {0,-0.232721}, {0,0}, {0,-0.232721}, {0,-0.369943}, {0,0.369943}, {0,0.232721}, {0,0}, {0,0.154796}, {0,0.232721}, {0,0}, {0,0}, {0,-0.232721}, {0,-0.154796}, {0,-0.154796}, {0,0.154796}, {0,0}, {0,0}, {0,0}, {0,-0.232721}, {0,-0.154796}, {0,-0.154796}, {0,0.154796}, {0,0.154796}, {0,0.232721}, {0,0},
{0,0.232721}, {0,0}, {0,-0.232721}, {0,0.154796}, {0,0.232721}, {0,0}, {0,0}, {0,-0.232721}, {0,-0.154796}, {0,0.154796}, {0,0.232721}, {0,2.26525e-17}, {0,0.369943}, {0,0.232721}, {0,9.4785e-18}, {0,0.154796}, {0,9.4785e-18}, {0,0.154796}, {0,-0.154796}, {0,2.26525e-17}, {0,-0.232721}, {0,-0.154796}, {0,9.4785e-18}, {0,-0.154796}, {0,9.4785e-18}, {0,-0.232721}, {0,-0.369943},
{0,-0.232721}, {0,0}, {0,0.232721}, {0,-0.154796}, {0,-0.232721}, {0,0}, {0,0}, {0,0.232721}, {0,0.154796}, {0,0}, {0,0.232721}, {0,0.369943}, {0,0}, {0,0.232721}, {0,0.154796}, {0,0}, {0,0.154796}, {0,0.154796}, {0,-0.154796}, {0,-0.369943}, {0,-0.232721}, {0,1.8957e-17}, {0,-0.154796}, {0,1.8957e-17}, {0,-0.154796}, {0,-0.232721}, {0,4.53049e-17},
{9.78551e-18,0.15981}, {0,0}, {9.78551e-18,-0.15981}, {-0.0185867,0}, {9.78551e-18,-0.15981}, {-0.113268,-1.38713e-17}, {-0.113268,1.38713e-17}, {9.78551e-18,0.15981}, {-0.0185867,0}, {-0.0185867,0}, {9.78551e-18,-0.15981}, {-0.113268,-1.38713e-17}, {-0.113268,-1.38713e-17}, {-2.93565e-17,0.15981}, {-0.0185867,-4.55243e-18}, {-0.0185867,-4.55243e-18}, {-0.0185867,0}, {-0.0185867,-4.55243e-18}, {-0.0185867,4.55243e-18}, {-0.113268,1.38713e-17}, {9.78551e-18,0.15981}, {-0.0185867,0}, {-0.0185867,0}, {-0.0185867,4.55243e-18}, {-0.0185867,4.55243e-18}, {-2.93565e-17,-0.15981}, {-0.113268,1.38713e-17},
{-0.232721,1.42501e-17}, {0,0}, {-0.232721,-1.42501e-17}, {0,0}, {-0.232721,-1.42501e-17}, {-4.53049e-17,0.369943}, {-4.53049e-17,-0.369943}, {-0.232721,1.42501e-17}, {0,0}, {0,0.154796}, {0.232721,1.42501e-17}, {0,0}, {0,0}, {0.232721,4.27502e-17}, {3.7914e-17,-0.154796}, {3.7914e-17,-0.154796}, {0,0.154796}, {0,0}, {0,0}, {0,0}, {0.232721,-1.42501e-17}, {0,-0.154796}, {0,-0.154796}, {3.7914e-17,0.154796}, {3.7914e-17,0.154796}, {0.232721,-4.27502e-17}, {0,0},
{-0.232721,1.42501e-17}, {0,0}, {-0.232721,-1.42501e-17}, {0,0.154796}, {0.232721,1.42501e-17}, {0,0}, {0,0}, {0.232721,-1.42501e-17}, {0,-0.154796}, {0,0.154796}, {0.232721,1.42501e-17}, {2.77413e-33,-2.26525e-17}, {4.53049e-17,-0.369943}, {-0.232721,-4.27502e-17}, {-2.32156e-33,9.4785e-18}, {-3.7914e-17,0.154796}, {0,9.4785e-18}, {-3.7914e-17,0.154796}, {-3.7914e-17,-0.154796}, {-2.77413e-33,-2.26525e-17}, {0.232721,-1.42501e-17}, {0,-0.154796}, {0,9.4785e-18}, {-3.7914e-17,-0.154796}, {2.32156e-33,9.4785e-18}, {-0.232721,4.27502e-17}, {4.53049e-17,0.369943},
{0.232721,-1.42501e-17}, {0,0}, {0.232721,1.42501e-17}, {0,-0.154796}, {-0.232721,-1.42501e-17}, {0,0}, {0,0}, {-0.232721,1.42501e-17}, {0,0.154796}, {0,0}, {0.232721,1.42501e-17}, {4.53049e-17,-0.369943}, {0,0}, {-0.232721,-4.27502e-17}, {-3.7914e-17,0.154796}, {0,0}, {0,0.154796}, {-3.7914e-17,0.154796}, {-3.7914e-17,-0.154796}, {4.53049e-17,0.369943}, {0.232721,-1.42501e-17}, {0,1.8957e-17}, {0,-0.154796}, {4.64312e-33,1.8957e-17}, {-3.7914e-17,-0.154796}, {-0.232721,4.27502e-17}, {-5.54825e-33,-4.53049e-17}
}

◆ gk2

std::vector<double> TestModuleHamiltEkinetic::gk2
protected
Initial value:
= {
3, 0, 3, 8, 3, 4, 4, 3, 8, 8, 3, 4, 4, 3, 8, 8, 8, 8, 8, 4, 3, 8, 8, 8, 8, 3, 4
}

◆ gpu_ctx

const base_device::DEVICE_GPU* TestModuleHamiltEkinetic::gpu_ctx = {}
protected

◆ psi

std::vector<std::complex<double> > TestModuleHamiltEkinetic::psi
protected
Initial value:
= {
{0.140385,0}, {1.15637,0}, {0.140385,0}, {-0.00612284,-0}, {0.140385,0}, {0.0746255,0}, {0.0746255,0}, {0.140385,0}, {-0.00612284,-0}, {-0.00612284,-0}, {0.140385,0}, {0.0746255,0}, {0.0746255,0}, {0.140385,0}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,-0}, {0.0746255,0}, {0.140385,0}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,-0}, {0.140385,0}, {0.0746255,0},
{-0,0.204435}, {0,-0}, {0,-0.204435}, {0,-0}, {0,-0.204435}, {0,-0.243733}, {-0,0.243733}, {-0,0.204435}, {0,-0}, {-0,0.0509928}, {-0,0.204435}, {0,-0}, {0,-0}, {0,-0.204435}, {0,-0.0509928}, {0,-0.0509928}, {-0,0.0509928}, {0,-0}, {0,-0}, {0,-0}, {0,-0.204435}, {0,-0.0509928}, {0,-0.0509928}, {-0,0.0509928}, {-0,0.0509928}, {-0,0.204435}, {0,-0},
{-0,0.204435}, {-0,0}, {0,-0.204435}, {-0,0.0509928}, {-0,0.204435}, {-0,0}, {-0,0}, {0,-0.204435}, {0,-0.0509928}, {-0,0.0509928}, {-0,0.204435}, {-0,1.49244e-17}, {-0,0.243733}, {-0,0.204435}, {-0,3.12241e-18}, {-0,0.0509928}, {-0,3.12241e-18}, {-0,0.0509928}, {0,-0.0509928}, {-0,1.49244e-17}, {0,-0.204435}, {0,-0.0509928}, {-0,3.12241e-18}, {0,-0.0509928}, {-0,3.12241e-18}, {0,-0.204435}, {0,-0.243733},
{0,-0.204435}, {-0,0}, {-0,0.204435}, {0,-0.0509928}, {0,-0.204435}, {-0,0}, {-0,0}, {-0,0.204435}, {-0,0.0509928}, {-0,0}, {-0,0.204435}, {-0,0.243733}, {-0,0}, {-0,0.204435}, {-0,0.0509928}, {-0,0}, {-0,0.0509928}, {-0,0.0509928}, {0,-0.0509928}, {0,-0.243733}, {0,-0.204435}, {-0,6.24482e-18}, {0,-0.0509928}, {-0,6.24482e-18}, {0,-0.0509928}, {0,-0.204435}, {-0,2.98487e-17},
{8.59613e-18,0.140385}, {1.15637,0}, {8.59613e-18,-0.140385}, {-0.00612284,-0}, {8.59613e-18,-0.140385}, {-0.0746255,-9.13898e-18}, {-0.0746255,9.13898e-18}, {8.59613e-18,0.140385}, {-0.00612284,-0}, {-0.00612284,-0}, {8.59613e-18,-0.140385}, {-0.0746255,-9.13898e-18}, {-0.0746255,-9.13898e-18}, {-2.57884e-17,0.140385}, {-0.00612284,-1.49966e-18}, {-0.00612284,-1.49966e-18}, {-0.00612284,-0}, {-0.00612284,-1.49966e-18}, {-0.00612284,1.49966e-18}, {-0.0746255,9.13898e-18}, {8.59613e-18,0.140385}, {-0.00612284,-0}, {-0.00612284,-0}, {-0.00612284,1.49966e-18}, {-0.00612284,1.49966e-18}, {-2.57884e-17,-0.140385}, {-0.0746255,9.13898e-18},
{-0.204435,1.2518e-17}, {0,-0}, {-0.204435,-1.2518e-17}, {0,-0}, {-0.204435,-1.2518e-17}, {-2.98487e-17,0.243733}, {-2.98487e-17,-0.243733}, {-0.204435,1.2518e-17}, {0,-0}, {-0,0.0509928}, {0.204435,1.2518e-17}, {-0,0}, {-0,0}, {0.204435,3.75541e-17}, {1.24896e-17,-0.0509928}, {1.24896e-17,-0.0509928}, {-0,0.0509928}, {0,-0}, {-0,-0}, {0,0}, {0.204435,-1.2518e-17}, {0,-0.0509928}, {0,-0.0509928}, {1.24896e-17,0.0509928}, {1.24896e-17,0.0509928}, {0.204435,-3.75541e-17}, {0,0},
{-0.204435,1.2518e-17}, {-0,0}, {-0.204435,-1.2518e-17}, {-0,0.0509928}, {0.204435,1.2518e-17}, {0,-0}, {-0,-0}, {0.204435,-1.2518e-17}, {0,-0.0509928}, {-0,0.0509928}, {0.204435,1.2518e-17}, {1.82771e-33,-1.49244e-17}, {2.98487e-17,-0.243733}, {-0.204435,-3.75541e-17}, {-7.6477e-34,3.12241e-18}, {-1.24896e-17,0.0509928}, {-0,3.12241e-18}, {-1.24896e-17,0.0509928}, {-1.24896e-17,-0.0509928}, {-1.82771e-33,-1.49244e-17}, {0.204435,-1.2518e-17}, {0,-0.0509928}, {-0,3.12241e-18}, {-1.24896e-17,-0.0509928}, {7.6477e-34,3.12241e-18}, {-0.204435,3.75541e-17}, {2.98487e-17,0.243733},
{0.204435,-1.2518e-17}, {-0,0}, {0.204435,1.2518e-17}, {0,-0.0509928}, {-0.204435,-1.2518e-17}, {0,-0}, {-0,-0}, {-0.204435,1.2518e-17}, {-0,0.0509928}, {-0,0}, {0.204435,1.2518e-17}, {2.98487e-17,-0.243733}, {0,-0}, {-0.204435,-3.75541e-17}, {-1.24896e-17,0.0509928}, {-0,0}, {-0,0.0509928}, {-1.24896e-17,0.0509928}, {-1.24896e-17,-0.0509928}, {2.98487e-17,0.243733}, {0.204435,-1.2518e-17}, {-0,6.24482e-18}, {0,-0.0509928}, {1.52954e-33,6.24482e-18}, {-1.24896e-17,-0.0509928}, {-0.204435,3.75541e-17}, {-3.65542e-33,-2.98487e-17}
}

◆ tpiba2

const double TestModuleHamiltEkinetic::tpiba2 = 0.37945422533
protected

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