#include <VectorInterpolator.h>
Public Member Functions | |
| VectorInterpolator (std::vector< Vector * > parameter_points, std::vector< Matrix * > rotation_matrices, std::vector< Vector * > reduced_vectors, int ref_point, std::string rbf="G", double epsilon=1.0) | |
| Constructor. More... | |
| Vector * | interpolate (Vector *point) |
| Obtain the interpolated reduced vector of the unsampled parameter point. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CAROM::Interpolator | |
| Interpolator (std::vector< Vector * > parameter_points, std::vector< Matrix * > rotation_matrices, int ref_point, std::string rbf, double epsilon=1.0) | |
| Constructor. More... | |
| std::vector< double > | obtainRBFToTrainingPoints (Vector *point) |
| Compute the RBF from the parameter points with the unsampled parameter point. More... | |
| double | obtainRBF (Vector *point1, Vector *point2) |
| Compute the RBF between two points. More... | |
Protected Attributes inherited from CAROM::Interpolator | |
| int | d_rank |
| The rank of the process this object belongs to. | |
| int | d_num_procs |
| The number of processors being run on. | |
| int | d_ref_point |
| The index within the vector of parameter points to the reference point. | |
| std::string | d_rbf |
| The RBF type (gaussian, multiquadric, inverse quadratic, inverse multiquadric) | |
| int | d_epsilon |
| The RBF parameter that determines the width of influence. a small epsilon: larger influential width a large epsilon: smaller influential width. | |
| std::vector< Vector * > | d_parameter_points |
| The sampled parameter points. | |
| std::vector< Matrix * > | d_rotation_matrices |
| The reduced bases with compatible coordinates. | |
| Matrix * | d_lambda_T |
| The reduced elements in tangential space. | |
VectorInterpolator interpolates reduced vectors of a set of parameter points and returns an interpolated reduced vector for an unseen parameter point. The interpolation algorithm was adapted from "Gradient-based Constrained Optimization Using a Database of Linear Reduced-Order Models" by Y. Choi et al.
| CAROM::VectorInterpolator::VectorInterpolator | ( | std::vector< Vector * > | parameter_points, |
| std::vector< Matrix * > | rotation_matrices, | ||
| std::vector< Vector * > | reduced_vectors, | ||
| int | ref_point, | ||
| std::string | rbf = "G", |
||
| double | epsilon = 1.0 |
||
| ) |
Constructor.
| [in] | parameter_points | The parameter points. |
| [in] | rotation_matrices | The rotation matrices associated with each parameter point. |
| [in] | reduced_vectors | The reduced vectors associated with each parameter point. |
| [in] | ref_point | The index within the vector of parameter points to the reference point |
| [in] | rbf | The RBF type ("G" == gaussian, "MQ" == multiquadric, "IQ" == inverse quadratic, "IMQ" == inverse multiquadric) |
| [in] | epsilon | The RBF parameter that determines the width of influence. |
Obtain the interpolated reduced vector of the unsampled parameter point.
| [in] | point | The unsampled parameter point. |
1.8.5