Far field expansion class. More...
Public Member Functions | |
| void | AccumulateCoeffs (const Matrix &data, const Vector &weights, int begin, int end, int order) |
| Accumulates the far field moment represented by the given reference data into the coefficients. | |
| double | bandwidth_sq () const |
| Get the coefficients. | |
| double | ConvolveField (const MultFarFieldExpansion &fe2, const MultFarFieldExpansion &fe3, int order1, int order2, int order3) const |
| Evaluates the three-way convolution with two other far field expansions. | |
| double | ConvolveField (const MultFarFieldExpansion &fe, int order) const |
| double | EvaluateField (const double *x_q, int order) const |
| double | EvaluateField (const Matrix &data, int row_num, int order) const |
| Evaluates the far-field coefficients at the given point. | |
| const Vector * | get_center () const |
| Vector * | get_center () |
| Get the center of expansion. | |
| const Vector & | get_coeffs () const |
| Get the coefficients. | |
| int | get_max_order () const |
| Get the maximum possible approximation order. | |
| int | get_order () const |
| Get the approximation order. | |
| double | get_weight_sum () const |
| Gets the weight sum. | |
| void | Init (const TKernelAux &ka) |
| void | Init (const Vector ¢er, const TKernelAux &ka) |
| Initializes the current far field expansion object with the given center. | |
| double | MixField (const Matrix &data, int node1_begin, int node1_end, int node2_begin, int node2_end, const MultFarFieldExpansion &fe2, const MultFarFieldExpansion &fe3, int order2, int order3) const |
| Evaluates the two-way convolution mixed with exhaustive computations with two other far field expansions. | |
| template<typename TBound > | |
| int | OrderForConvertingToLocal (const TBound &far_field_region, const TBound &local_field_region, double min_dist_sqd_regions, double max_dist_sqd_regions, double required_bound, double *actual_error) const |
| Computes the required order for converting to the local expansion inside another region, so that the total error (truncation error of the far field expansion plus the conversion * error) is bounded above by the given user bound. | |
| template<typename TBound > | |
| int | OrderForEvaluating (const TBound &far_field_region, const TBound &local_field_region, double min_dist_sqd_regions, double max_dist_sqd_regions, double max_error, double *actual_error) const |
| Computes the required order for evaluating the far field expansion for any query point within the specified region for a given bound. | |
| void | PrintDebug (const char *name="", FILE *stream=stderr) const |
| Prints out the series expansion represented by this object. | |
| void | RefineCoeffs (const Matrix &data, const Vector &weights, int begin, int end, int order) |
| Refine the far field moment that has been computed before up to a new order. | |
| void | set_center (const Vector ¢er) |
| Set the center of the expansion - assumes that the center has been initialized before. | |
| void | set_order (int new_order) |
| Set the approximation order. | |
| void | TranslateFromFarField (const MultFarFieldExpansion &se) |
| Translate from a far field expansion to the expansion here. | |
| void | TranslateToLocal (MultLocalExpansion< TKernelAux > &se, int truncation_order) |
| Translate to the given local expansion. | |
Far field expansion class.
Definition at line 60 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::AccumulateCoeffs | ( | const Matrix & | data, | |
| const Vector & | weights, | |||
| int | begin, | |||
| int | end, | |||
| int | order | |||
| ) |
Accumulates the far field moment represented by the given reference data into the coefficients.
| double MultFarFieldExpansion< TKernelAux >::bandwidth_sq | ( | ) | const [inline] |
Get the coefficients.
Definition at line 93 of file mult_farfield_expansion.h.
| double MultFarFieldExpansion< TKernelAux >::ConvolveField | ( | const MultFarFieldExpansion< TKernelAux > & | fe2, | |
| const MultFarFieldExpansion< TKernelAux > & | fe3, | |||
| int | order1, | |||
| int | order2, | |||
| int | order3 | |||
| ) | const |
Evaluates the three-way convolution with two other far field expansions.
| double MultFarFieldExpansion< TKernelAux >::EvaluateField | ( | const Matrix & | data, | |
| int | row_num, | |||
| int | order | |||
| ) | const |
Evaluates the far-field coefficients at the given point.
| Vector* MultFarFieldExpansion< TKernelAux >::get_center | ( | ) | [inline] |
Get the center of expansion.
Definition at line 96 of file mult_farfield_expansion.h.
| const Vector& MultFarFieldExpansion< TKernelAux >::get_coeffs | ( | ) | const [inline] |
Get the coefficients.
Definition at line 101 of file mult_farfield_expansion.h.
| int MultFarFieldExpansion< TKernelAux >::get_max_order | ( | ) | const [inline] |
Get the maximum possible approximation order.
Definition at line 107 of file mult_farfield_expansion.h.
| int MultFarFieldExpansion< TKernelAux >::get_order | ( | ) | const [inline] |
Get the approximation order.
Definition at line 104 of file mult_farfield_expansion.h.
| double MultFarFieldExpansion< TKernelAux >::get_weight_sum | ( | ) | const [inline] |
Gets the weight sum.
Definition at line 111 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::Init | ( | const Vector & | center, | |
| const TKernelAux & | ka | |||
| ) |
Initializes the current far field expansion object with the given center.
| double MultFarFieldExpansion< TKernelAux >::MixField | ( | const Matrix & | data, | |
| int | node1_begin, | |||
| int | node1_end, | |||
| int | node2_begin, | |||
| int | node2_end, | |||
| const MultFarFieldExpansion< TKernelAux > & | fe2, | |||
| const MultFarFieldExpansion< TKernelAux > & | fe3, | |||
| int | order2, | |||
| int | order3 | |||
| ) | const |
Evaluates the two-way convolution mixed with exhaustive computations with two other far field expansions.
| int MultFarFieldExpansion< TKernelAux >::OrderForConvertingToLocal | ( | const TBound & | far_field_region, | |
| const TBound & | local_field_region, | |||
| double | min_dist_sqd_regions, | |||
| double | max_dist_sqd_regions, | |||
| double | required_bound, | |||
| double * | actual_error | |||
| ) | const [inline] |
Computes the required order for converting to the local expansion inside another region, so that the total error (truncation error of the far field expansion plus the conversion * error) is bounded above by the given user bound.
| int MultFarFieldExpansion< TKernelAux >::OrderForEvaluating | ( | const TBound & | far_field_region, | |
| const TBound & | local_field_region, | |||
| double | min_dist_sqd_regions, | |||
| double | max_dist_sqd_regions, | |||
| double | max_error, | |||
| double * | actual_error | |||
| ) | const [inline] |
Computes the required order for evaluating the far field expansion for any query point within the specified region for a given bound.
| void MultFarFieldExpansion< TKernelAux >::PrintDebug | ( | const char * | name = "", |
|
| FILE * | stream = stderr | |||
| ) | const |
Prints out the series expansion represented by this object.
| void MultFarFieldExpansion< TKernelAux >::RefineCoeffs | ( | const Matrix & | data, | |
| const Vector & | weights, | |||
| int | begin, | |||
| int | end, | |||
| int | order | |||
| ) |
Refine the far field moment that has been computed before up to a new order.
| void MultFarFieldExpansion< TKernelAux >::set_center | ( | const Vector & | center | ) | [inline] |
Set the center of the expansion - assumes that the center has been initialized before.
..
Definition at line 120 of file mult_farfield_expansion.h.
References GenVector< T >::length().
| void MultFarFieldExpansion< TKernelAux >::set_order | ( | int | new_order | ) | [inline] |
Set the approximation order.
Definition at line 114 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::TranslateFromFarField | ( | const MultFarFieldExpansion< TKernelAux > & | se | ) |
Translate from a far field expansion to the expansion here.
The translated coefficients are added up to the ones here.
| void MultFarFieldExpansion< TKernelAux >::TranslateToLocal | ( | MultLocalExpansion< TKernelAux > & | se, | |
| int | truncation_order | |||
| ) |
Translate to the given local expansion.
The translated coefficients are added up to the passed-in local expansion coefficients.
1.6.3