Skip to content

Commit 4d660e4

Browse files
Add R2SCANL_{X,C}
1 parent 3126633 commit 4d660e4

7 files changed

Lines changed: 76 additions & 8 deletions

File tree

include/exchcxx/impl/builtin/kernels.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575
#include <exchcxx/impl/builtin/kernels/ft98_x.hpp>
7676
#include <exchcxx/impl/builtin/kernels/scanl_c.hpp>
7777
#include <exchcxx/impl/builtin/kernels/scanl_x.hpp>
78+
#include <exchcxx/impl/builtin/kernels/r2scanl_c.hpp>
79+
#include <exchcxx/impl/builtin/kernels/r2scanl_x.hpp>
7880

7981
#include <exchcxx/impl/builtin/kernels/pc07_k.hpp>
8082
#include <exchcxx/impl/builtin/kernels/pc07opt_k.hpp>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#pragma once
2+
3+
#include <exchcxx/impl/builtin/kernels/r2scan_c.hpp>
4+
#include <exchcxx/impl/builtin/kernels/pc07_k.hpp>
5+
#include <exchcxx/impl/builtin/kernels/pc07opt_k.hpp>
6+
7+
#include <exchcxx/impl/builtin/kernels/deorbitalized.hpp>
8+
9+
namespace ExchCXX {
10+
11+
12+
template <>
13+
struct kernel_traits<BuiltinR2SCANL_C> :
14+
public kernel_traits<Deorbitalized<BuiltinR2SCAN_C, BuiltinPC07OPT_K>> {
15+
16+
static constexpr double dens_tol = 1e-15;
17+
static constexpr double zeta_tol = 1e-15;
18+
static constexpr double sigma_tol = 1.0000000000000027e-20;
19+
static constexpr double tau_tol = 1e-20;
20+
21+
};
22+
23+
struct BuiltinR2SCANL_C : detail::BuiltinKernelImpl< BuiltinR2SCANL_C > {
24+
25+
BuiltinR2SCANL_C( Spin p ) :
26+
detail::BuiltinKernelImpl< BuiltinR2SCANL_C >(p) { }
27+
28+
virtual ~BuiltinR2SCANL_C() = default;
29+
30+
};
31+
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#pragma once
2+
3+
#include <exchcxx/impl/builtin/kernels/r2scan_x.hpp>
4+
#include <exchcxx/impl/builtin/kernels/pc07_k.hpp>
5+
#include <exchcxx/impl/builtin/kernels/pc07opt_k.hpp>
6+
7+
#include <exchcxx/impl/builtin/kernels/deorbitalized.hpp>
8+
9+
namespace ExchCXX {
10+
11+
12+
template <>
13+
struct kernel_traits<BuiltinR2SCANL_X> :
14+
public kernel_traits<Deorbitalized<BuiltinR2SCAN_X, BuiltinPC07OPT_K>> {
15+
16+
static constexpr double dens_tol = 1e-15;
17+
static constexpr double zeta_tol = 1e-15;
18+
static constexpr double sigma_tol = 1.0000000000000027e-20;
19+
static constexpr double tau_tol = 1e-20;
20+
21+
};
22+
23+
struct BuiltinR2SCANL_X : detail::BuiltinKernelImpl< BuiltinR2SCANL_X > {
24+
25+
BuiltinR2SCANL_X( Spin p ) :
26+
detail::BuiltinKernelImpl< BuiltinR2SCANL_X >(p) { }
27+
28+
virtual ~BuiltinR2SCANL_X() = default;
29+
30+
};
31+
32+
}

src/builtin_interface.cxx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ std::unique_ptr<BuiltinKernel>
105105
return std::make_unique<BuiltinR2SCAN_X>( polar );
106106
else if( kern == Kernel::R2SCAN_C )
107107
return std::make_unique<BuiltinR2SCAN_C>( polar );
108-
//else if( kern == Kernel::R2SCANL_X )
109-
// return std::make_unique<BuiltinR2SCANL_X>( polar );
110-
//else if( kern == Kernel::R2SCANL_C )
111-
// return std::make_unique<BuiltinR2SCANL_C>( polar );
108+
else if( kern == Kernel::R2SCANL_X )
109+
return std::make_unique<BuiltinR2SCANL_X>( polar );
110+
else if( kern == Kernel::R2SCANL_C )
111+
return std::make_unique<BuiltinR2SCANL_C>( polar );
112112
else if( kern == Kernel::FT98_X )
113113
return std::make_unique<BuiltinFT98_X>( polar );
114114

src/builtin_kernel.cxx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -651,8 +651,8 @@ MGGA_GENERATE_HOST_HELPERS( BuiltinPC07OPT_K )
651651

652652
MGGA_GENERATE_HOST_HELPERS( BuiltinSCANL_C )
653653
MGGA_GENERATE_HOST_HELPERS( BuiltinSCANL_X )
654-
//MGGA_GENERATE_HOST_HELPERS( BuiltinR2SCANL_C )
655-
//MGGA_GENERATE_HOST_HELPERS( BuiltinR2SCANL_X )
654+
MGGA_GENERATE_HOST_HELPERS( BuiltinR2SCANL_C )
655+
MGGA_GENERATE_HOST_HELPERS( BuiltinR2SCANL_X )
656656

657657
}
658658
}

src/cuda/builtin.cu

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -884,8 +884,8 @@ MGGA_GENERATE_DEVICE_HELPERS( BuiltinPC07OPT_K );
884884

885885
MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCANL_C );
886886
MGGA_GENERATE_DEVICE_HELPERS( BuiltinSCANL_X );
887-
//MGGA_GENERATE_DEVICE_HELPERS( BuiltinR2SCANL_C );
888-
//MGGA_GENERATE_DEVICE_HELPERS( BuiltinR2SCANL_X );
887+
MGGA_GENERATE_DEVICE_HELPERS( BuiltinR2SCANL_C );
888+
MGGA_GENERATE_DEVICE_HELPERS( BuiltinR2SCANL_X );
889889
}
890890
}
891891

test/ut_common.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ static std::vector<ExchCXX::Kernel> builtin_supported_kernels = {
131131
ExchCXX::Kernel::SCANL_X,
132132
ExchCXX::Kernel::R2SCAN_X,
133133
ExchCXX::Kernel::R2SCAN_C,
134+
ExchCXX::Kernel::R2SCANL_X,
135+
ExchCXX::Kernel::R2SCANL_C,
134136
ExchCXX::Kernel::FT98_X,
135137

136138
ExchCXX::Kernel::PC07_K,

0 commit comments

Comments
 (0)