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

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 
)

Variable Documentation

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

Referenced by MMLimitTable::init().

const ergo_real INITIAL_STEP = 0.5

Referenced by MMLimitTable::init().

const int NO_OF_RANGES = 40
const int NO_OF_STEPS_PER_RANGE = 5

Referenced by MMLimitTable::init().

const ergo_real RANGE_STEP_DIFF_FACTOR = 0.15

Referenced by MMLimitTable::init().