GLAMERDOC++
Gravitational Lensing Code Library
|
ISOP namespace is for functions related to isoparametric interpolation. More...
Namespaces | |
namespace | Rules |
Quadrature rules. Must be of the closed type. | |
Classes | |
struct | isop_map |
Functor to transparently map [-1,1]x[-1,1] to interpolation space. More... | |
struct | quadrature_result |
Result of numerical integration. More... | |
Functions | |
double | isop (const double nodes[], double xi, double eta) |
Do the isoparametric interpolation given a list of 8 nodes. See notes for isop_render(). | |
template<typename Function > | |
isop_map< Function > | make_isop_map (Function f, const double *x, const double *y) |
Creates an isoparametric mapping functor. | |
double | isop_render (Source &source, const double nodx[], const double nody[], double a_xi, double b_xi, double a_eta, double b_eta) |
Integrate source flux using the isoparameterized lens. | |
template<typename Rule , typename Function > | |
quadrature_result | quadrature (Function f, double a0, double b0, double a1, double b1, double pg, double ag) |
ISOP namespace is for functions related to isoparametric interpolation.
|
inline |
Do the isoparametric interpolation given a list of 8 nodes. See notes for isop_render().
nodes | values of interpolated quantity (ie kappa, y coordinate) for the 8 border points |
xi | x position where interpolate is wanted in [-1,1 units |
eta | y position where interpolate is wanted in [-1,1 units |
double ISOP::isop_render | ( | Source & | source, |
const double | nodx[], | ||
const double | nody[], | ||
double | a_xi, | ||
double | b_xi, | ||
double | a_eta, | ||
double | b_eta ) |
Integrate source flux using the isoparameterized lens.
Integrate the surface brightness of a source using the isoparametric representation of the lens mapping.
The isoparametric representation is defined by the 8 nodes on the border of a [-1,1]x[-1,1] square. The first node (index 0) is in the bottom-left corner, and then nodes are counted counter-clockwise:
* 6 -- 5 -- 4 * | | * 7 3 * | | * 0 -- 1 -- 2 *
The positions of the nodes in the isoparametric space are
* (-1, 1) -- ( 0, 1) -- ( 1, 1) * | | * (-1, 0) ( 1, 0) * | | * (-1,-1) -- ( 0,-1) -- ( 1,-1) *
The interval to be integrated is given in terms of the isoparametric coordinates xi and eta.