S-function evaluator with batch evaluation support.
More...
#include <sfunction_evaluator.h>
S-function evaluator with batch evaluation support.
Wraps existing S-function logic and adds:
- Batch evaluation for multiple terms
- Coordinate system caching
- Binomial coefficient caching
◆ SFunctionEvaluator()
| occ::mults::SFunctionEvaluator::SFunctionEvaluator |
( |
int |
max_rank = 4 | ) |
|
|
explicit |
◆ compute()
| SFunctionResult occ::mults::SFunctionEvaluator::compute |
( |
int |
t1, |
|
|
int |
t2, |
|
|
int |
j, |
|
|
int |
deriv_level = 0 |
|
) |
| |
Compute single S-function.
- Parameters
-
| t1 | Multipole index for site A |
| t2 | Multipole index for site B |
| j | Combined rank parameter |
| deriv_level | Derivative level (0=value only, 1=first derivs) |
- Returns
- S-function result
◆ compute_batch()
Batch evaluate S-functions from term list.
- Parameters
-
| term_list | Pre-filtered list of terms |
| deriv_level | Derivative level |
- Returns
- Vector of results (same size and order as term_list.terms)
◆ coordinates()
◆ index_to_lm()
| static std::pair< int, int > occ::mults::SFunctionEvaluator::index_to_lm |
( |
int |
index | ) |
|
|
static |
◆ lm_to_index()
| static int occ::mults::SFunctionEvaluator::lm_to_index |
( |
int |
l, |
|
|
int |
m |
|
) |
| |
|
static |
◆ max_rank()
| int occ::mults::SFunctionEvaluator::max_rank |
( |
| ) |
const |
|
inline |
◆ r()
| double occ::mults::SFunctionEvaluator::r |
( |
| ) |
const |
|
inline |
◆ set_coordinate_system()
| void occ::mults::SFunctionEvaluator::set_coordinate_system |
( |
const CoordinateSystem & |
coords | ) |
|
Set coordinate system directly (for body-frame S-functions)
- Parameters
-
| coords | Pre-computed coordinate system with body-frame unit vectors |
◆ set_coordinates()
| void occ::mults::SFunctionEvaluator::set_coordinates |
( |
const Vec3 & |
ra, |
|
|
const Vec3 & |
rb |
|
) |
| |
Set coordinate system for subsequent evaluations.
- Parameters
-
| ra | Position of site A |
| rb | Position of site B |
The documentation for this class was generated from the following file: