ergo
mm_limit_table.cc File Reference
#include <stdio.h>
#include <vector>
#include <limits>
#include "mm_limit_table.h"
#include "matrix_norm.h"
#include "template_blas_basicmath.h"

Classes

struct  interaction_matrix_limit_struct
 
struct  interaction_matrix_limit_range_struct
 
class  MMLimitTable
 

Functions

void mm_limits_init (ergo_real maxDistance)
 
ergo_real mm_limits_get_max_abs_mm_contrib (int degree1, const ergo_real *maxMomentVectorNormList1, int degree2, const ergo_real *maxMomentVectorNormList2, ergo_real distance)
 
int mm_limits_get_minimum_multipole_degree_needed (ergo_real distance, const multipole_struct_large *boxMultipole, int maxDegreeForDistrs, const ergo_real *maxMomentVectorNormForDistrsList, ergo_real threshold)
 

Variables

const ergo_real HUGE_REAL_NUMBER = template_blas_sqrt(std::numeric_limits<ergo_real>::max()) / 100
 
const int NO_OF_STEPS_PER_RANGE = 5
 
const ergo_real INITIAL_STEP = 0.5
 
const ergo_real RANGE_STEP_DIFF_FACTOR = 0.15
 
const int NO_OF_RANGES = 40
 
static MMLimitTable global_mmLimitTable
 

Function Documentation

◆ mm_limits_get_max_abs_mm_contrib()

ergo_real mm_limits_get_max_abs_mm_contrib ( int  degree1,
const ergo_real maxMomentVectorNormList1,
int  degree2,
const ergo_real maxMomentVectorNormList2,
ergo_real  distance 
)

◆ mm_limits_get_minimum_multipole_degree_needed()

int mm_limits_get_minimum_multipole_degree_needed ( ergo_real  distance,
const multipole_struct_large boxMultipole,
int  maxDegreeForDistrs,
const ergo_real maxMomentVectorNormForDistrsList,
ergo_real  threshold 
)

◆ mm_limits_init()

Variable Documentation

◆ global_mmLimitTable

MMLimitTable global_mmLimitTable
static

◆ HUGE_REAL_NUMBER

const ergo_real HUGE_REAL_NUMBER = template_blas_sqrt(std::numeric_limits<ergo_real>::max()) / 100

Referenced by MMLimitTable::init().

◆ INITIAL_STEP

const ergo_real INITIAL_STEP = 0.5

Referenced by MMLimitTable::init().

◆ NO_OF_RANGES

const int NO_OF_RANGES = 40

◆ NO_OF_STEPS_PER_RANGE

const int NO_OF_STEPS_PER_RANGE = 5

Referenced by MMLimitTable::init().

◆ RANGE_STEP_DIFF_FACTOR

const ergo_real RANGE_STEP_DIFF_FACTOR = 0.15

Referenced by MMLimitTable::init().