libROM  v1.0
Data-driven physical simulation library
Public Member Functions | List of all members
CAROM::VectorInterpolator Class Reference

#include <VectorInterpolator.h>

Inheritance diagram for CAROM::VectorInterpolator:
CAROM::Interpolator

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", std::string interp_method="LS", double closest_rbf_val=0.9)
 Constructor. More...
 
Vectorinterpolate (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, std::string interp_method, double closest_rbf_val=0.9)
 Constructor. 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)
 
std::string d_interp_method
 The interpolation method (linear solve, inverse distance weighting, lagrangian polynomials)
 
double 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.
 
Matrixd_lambda_T
 The RHS of the linear solve in tangential space.
 

Detailed Description

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.

Definition at line 32 of file VectorInterpolator.h.

Constructor & Destructor Documentation

◆ VectorInterpolator()

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",
std::string  interp_method = "LS",
double  closest_rbf_val = 0.9 
)

Constructor.

Parameters
[in]parameter_pointsThe parameter points.
[in]rotation_matricesThe rotation matrices associated with each parameter point.
[in]reduced_vectorsThe reduced vectors associated with each parameter point.
[in]ref_pointThe index within the vector of parameter points to the reference point
[in]rbfThe RBF type ("G" == gaussian, "IQ" == inverse quadratic, "IMQ" == inverse multiquadric)
[in]interp_methodThe interpolation method type ("LS" == linear solve, "IDW" == inverse distance weighting, "LP" == lagrangian polynomials)
[in]closest_rbf_valThe RBF parameter determines the width of influence. Set the RBF value of the nearest two parameter points to a value between 0.0 to 1.0

Definition at line 41 of file VectorInterpolator.cpp.

Member Function Documentation

◆ interpolate()

Vector * CAROM::VectorInterpolator::interpolate ( Vector point)

Obtain the interpolated reduced vector of the unsampled parameter point.

Parameters
[in]pointThe unsampled parameter point.

Definition at line 107 of file VectorInterpolator.cpp.


The documentation for this class was generated from the following files: