MADNESS 0.10.1
madness::ExchangeCommutator::ThreeRangeOptions Struct Reference

#include <exchange_commutator.h>

Collaboration diagram for madness::ExchangeCommutator::ThreeRangeOptions:

Public Attributes

double alpha_hi = 1.0e4
 medium / tight boundary (≡ alpha_star)
double alpha_lo = 1.0
 diffuse / medium boundary
double eps_gfit = 1.0e-6
double hi = 10.0
double lo = 1.0e-6
LowRankFunctionParameters lrfparam_diffuse
LowRankFunctionParameters lrfparam_medium
int max_taylor_order = 15
bool medium_use_6d = false
bool medium_use_taylor = true

Detailed Description

Options for the three-range LRF k-commutator variant. Partition the Coulomb GFit into:

  • diffuse (α_μ < alpha_lo): wide Gaussians, large-ve LRF, low rank
  • medium (alpha_lo ≤ α_μ ≤ alpha_hi): tighter LRF
  • tight (α_μ > alpha_hi): discard (δ-cancellation in commutator) See lrf_three_range_gfit.md for the derivation.

Member Data Documentation

◆ alpha_hi

double madness::ExchangeCommutator::ThreeRangeOptions::alpha_hi = 1.0e4

medium / tight boundary (≡ alpha_star)

Referenced by main().

◆ alpha_lo

double madness::ExchangeCommutator::ThreeRangeOptions::alpha_lo = 1.0

diffuse / medium boundary

Referenced by main().

◆ eps_gfit

double madness::ExchangeCommutator::ThreeRangeOptions::eps_gfit = 1.0e-6

◆ hi

double madness::ExchangeCommutator::ThreeRangeOptions::hi = 10.0

◆ lo

double madness::ExchangeCommutator::ThreeRangeOptions::lo = 1.0e-6

◆ lrfparam_diffuse

LowRankFunctionParameters madness::ExchangeCommutator::ThreeRangeOptions::lrfparam_diffuse

Per-range LRF construction parameters; both default-constructed. Caller is expected to set radius / volume_element / tol / lmax / f12type per range before invocation.

Referenced by main().

◆ lrfparam_medium

LowRankFunctionParameters madness::ExchangeCommutator::ThreeRangeOptions::lrfparam_medium

Referenced by main().

◆ max_taylor_order

int madness::ExchangeCommutator::ThreeRangeOptions::max_taylor_order = 15

Max Taylor order for project_from_operator (passed straight through; default matches lowrankfunction.h's own default).

◆ medium_use_6d

bool madness::ExchangeCommutator::ThreeRangeOptions::medium_use_6d = false

If true, the medium slab is treated by a 6D apply with a partial-Coulomb operator (only the medium Gaussians) instead of any LRF. The diffuse slab still uses the LRF path. Mutually exclusive with medium_use_taylor; takes precedence.

Referenced by main().

◆ medium_use_taylor

bool madness::ExchangeCommutator::ThreeRangeOptions::medium_use_taylor = true

If true, build the medium-range LRF via project_from_operator (Taylor / direct construction) instead of random-Y project(). Mandatory for the medium slab in isolation: random-Y stalls at large error without diffuse anchor functions.

Referenced by main().


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