fitpack
Modern Fortran library for curve and surface fitting with splines
Loading...
Searching...
No Matches
fitpack_surfaces.f90 File Reference

Data Types

interface  fitpack_surfaces::fitpack_surface
 Bivariate surface fitter \( z = s(x, y) \) for scattered data. More...
 

Modules

module  fitpack_surfaces
 OOP wrapper for bivariate surface fitting to scattered data.
 

Functions/Subroutines

integer(fp_flag) function fitpack_surfaces::surface_fit_automatic_knots (this, smoothing, order, keep_knots)
 Fit a smoothing surface with automatic knot placement.
 
integer(fp_flag) function fitpack_surfaces::surface_fit_interpolating (this, reset_knots)
 Fit an interpolating surface ( \( s = 0 \)) through the data points.
 
integer(fp_flag) function fitpack_surfaces::surface_fit_least_squares (this, smoothing, reset_knots)
 Fit a least-squares surface with fixed knots.
 
real(fp_real) function, dimension(size(x)) fitpack_surfaces::surface_eval_many (this, x, y, ierr)
 Evaluate the surface at a list of scattered \( (x_i, y_i) \) points.
 
real(fp_real) function fitpack_surfaces::surface_eval_one (this, x, y, ierr)
 Evaluate the surface at a single \( (x, y) \) point.
 
real(fp_real) function, dimension(size(y), size(x)) fitpack_surfaces::surface_eval_gridded (this, x, y, ierr)
 Evaluate the surface on a rectangular grid \( x_i \times y_j \).
 
elemental subroutine fitpack_surfaces::surf_destroy (this)
 Destroy a surface object and release all allocated memory.
 
subroutine fitpack_surfaces::surf_new_points (this, x, y, z, w)
 Load new scattered data points and allocate workspace for surface fitting.
 
type(fitpack_surface) function fitpack_surfaces::surf_new_from_points (x, y, z, w, ierr)
 Construct a surface from scattered data points and perform a default fit.
 
integer(fp_flag) function fitpack_surfaces::surf_new_fit (this, x, y, z, w, smoothing, order)
 Load new data points and perform a fresh surface fit.
 
real(fp_real) function, dimension(size(y), size(x)) fitpack_surfaces::surface_derivatives_gridded (this, x, y, dx, dy, ierr)
 Evaluate partial derivatives on a rectangular grid.
 
real(fp_real) function, dimension(size(x)) fitpack_surfaces::surface_derivatives_many (this, x, y, dx, dy, ierr)
 Evaluate partial derivatives at scattered \( (x_i, y_i) \) points.
 
real(fp_real) function fitpack_surfaces::surface_derivatives_one (this, x, y, dx, dy, ierr)
 Evaluate a partial derivative at a single \( (x, y) \) point.
 
real(fp_real) function fitpack_surfaces::surface_integral (this, lower, upper)
 Compute the double integral of the surface over a rectangular domain.
 
type(fitpack_curve) function fitpack_surfaces::surface_cross_section (this, u, along_y, ierr)
 Extract a 1D cross-section curve from the surface.
 
type(fitpack_surface) function fitpack_surfaces::surface_derivative_spline (this, nux, nuy, ierr)
 Compute the B-spline representation of a partial derivative surface.
 
pure real(fp_real) function, dimension(n) fitpack_surfaces::merge_knots (along_y, tx, ty, n)
 Select knots from the appropriate direction for cross-section extraction.
 
elemental integer(fp_size) function fitpack_surfaces::surf_comm_size (this)
 Return the communication buffer size for the surface.
 
pure subroutine fitpack_surfaces::surf_comm_pack (this, buffer)
 Pack surface data into a communication buffer.
 
pure subroutine fitpack_surfaces::surf_comm_expand (this, buffer)
 Expand surface data from a communication buffer.