Helper class for interpolation of purely radially dependent viscosity profiles. More...
#include <viscosity_interpolation.hpp>
Public Member Functions | |
| RadialProfileViscosityInterpolator (const grid::Grid2DDataScalar< ScalarType > &radial_viscosity_profile, const ScalarType &reference_viscosity=1.0, const ScalarType &viscosity_lower_bound=std::numeric_limits< ScalarType >::lowest(), const ScalarType &viscosity_upper_bound=std::numeric_limits< ScalarType >::max()) | |
| Creates an interpolator class. | |
| void | interpolate (const grid::Grid4DDataScalar< ScalarType > &dst_grid) |
| Runs a kernel to interpolate the viscosity profile into a full grid. | |
| void | operator() (const int local_subdomain_id, const int x, const int y, const int r) const |
Call interpolate() to run this kernel. | |
Helper class for interpolation of purely radially dependent viscosity profiles.
Requires as input the already radially interpolated profile on a 2D grid (layout: (local_subdomain_id, r)). Such a grid can be initialized using functions like
If requested, the viscosity can be scaled by 1.0 / reference_viscosity and also clamped to some upper and lower bounds.
|
inlineexplicit |
Creates an interpolator class.
The order is: first clamping, then scaling by the inverse of the reference.
| radial_viscosity_profile | see class description |
| reference_viscosity | the resulting profile is scaled by 1.0 / reference_viscosity |
| viscosity_lower_bound | lower bound for clamping |
| viscosity_upper_bound | upper bound for clamping |
|
inline |
Runs a kernel to interpolate the viscosity profile into a full grid.
|
inline |
Call interpolate() to run this kernel.