Stores the data needed to specify a surface through a 2D
interpolant. The surface is a function of (u,v) in [-1,1]x[-1,1].
The constructor for a 2D interpolant takes an array of points and
an array of knots to define a sursurface.
Deletes allocated memory
ComputeFacePoint: Compute the nodes on a surface
by interpolating
u = computational space variable (u, Zeta)
p = resultant physical space variable (x, y, z)
self = Interpolation data that defines a surface
<
ComputePoly2D: Compute the lagrange interpolant through the points
p(i, j) at the location (x, y)
u = computational space variable (u, Zeta)
p = resultant physical space variable (x, y, z)
self = Interpolation data that defines a surface
<
ProjectFaceToNewPoints
ComputeSurfaceDerivative: Compute the derivative in the two local
coordinate directions on a subdomain surface by interpolating
the surface data
Compute2DPolyDeriv: Compute the gradient of the
lagrange interpolant through the points
p(i, j) at the location (u, v). The result, grad,
is (dX/du,dX/dv) where X = (x,y,z)
For debugging purposes, print the information in the surface
interpolant.
Compute the newton divided difference table.
The node values are destroyed while creating the table.
Compute the newton form interpolant at the point x
Compute the derivative of the newton form interpolant at
the point x
Compute at x the lagrange polynomial L_k of degree n-1
whose zeros are given by the z(i)
Compute at x the derivative of the lagrange polynomial L_k of
degree n-1 whose zeros are given by the z(i)
Derived Types
Components
Type |
Visibility | Attributes |
|
Name |
| Initial | |
real(kind=RP),
|
public, |
DIMENSION(:,:,:), ALLOCATABLE
|
:: |
points |
|
|
|
real(kind=RP),
|
public, |
DIMENSION(:), ALLOCATABLE
|
:: |
uKnots |
|
|
|
real(kind=RP),
|
public, |
DIMENSION(:), ALLOCATABLE
|
:: |
vKnots |
|
|
|
real(kind=RP),
|
public, |
dimension(:), allocatable
|
:: |
wbu |
|
|
|
real(kind=RP),
|
public, |
dimension(:), allocatable
|
:: |
wbv |
|
|
|
real(kind=RP),
|
public, |
dimension(:,:), allocatable
|
:: |
Du |
|
|
|
real(kind=RP),
|
public, |
dimension(:,:), allocatable
|
:: |
Dv |
|
|
|
integer,
|
public, |
DIMENSION(2)
|
:: |
noOfKnots |
|
|
|
Type-Bound Procedures
Functions
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(FacePatch)
|
|
|
|
:: |
self |
|
Return Value
logical
Subroutines
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(FacePatch)
|
|
|
|
:: |
self |
|
real(kind=RP),
|
|
|
DIMENSION(:)
|
:: |
uKnots |
|
real(kind=RP),
|
|
|
DIMENSION(:)
|
:: |
vKnots |
|
real(kind=RP),
|
|
optional, |
DIMENSION(:,:,:)
|
:: |
points |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(FacePatch),
|
intent(inout) |
|
|
:: |
self |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(FacePatch),
|
intent(in) |
|
|
:: |
self |
|
real(kind=RP),
|
intent(in), |
|
DIMENSION(2)
|
:: |
u |
|
real(kind=RP),
|
intent(out), |
|
DIMENSION(3)
|
:: |
p |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(FacePatch),
|
intent(in) |
|
|
:: |
patch |
|
integer,
|
intent(in) |
|
|
:: |
Nx |
|
real(kind=RP),
|
intent(in) |
|
|
:: |
xi(Nx+1) |
|
integer,
|
intent(in) |
|
|
:: |
Ny |
|
real(kind=RP),
|
intent(in) |
|
|
:: |
eta(Ny+1) |
|
real(kind=RP),
|
intent(out) |
|
|
:: |
faceCoords(1:3,Nx+1,Ny+1) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(FacePatch)
|
|
|
|
:: |
self |
|
real(kind=RP),
|
|
|
DIMENSION(2)
|
:: |
u |
|
real(kind=RP),
|
|
|
DIMENSION(3,2)
|
:: |
grad |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(FacePatch)
|
|
|
|
:: |
self |
|