| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=3), | public | :: | backend | = | "cpu" | ||
| real(kind=prec), | public, | pointer | :: | coordinates(:,:) | => | null() | Reference coordinates (s,t[,u]) in [-1,1]^nDim, shape (1:nPoints, 1:nDim). Defined only where elements(p) > 0. |
| integer, | public, | pointer | :: | elements(:) | => | null() | Element id (rank-local) containing each point; 0 = not found. |
| real(kind=prec), | public, | pointer | :: | lS_cache(:,:) | => | null() | Lagrange basis at coordinates(p,1), shape (0:nCached, 1:nPoints). Filled by LocatePoints for points with elements(p) > 0. |
| real(kind=prec), | public, | pointer | :: | lT_cache(:,:) | => | null() | Lagrange basis at coordinates(p,2), shape (0:nCached, 1:nPoints). |
| real(kind=prec), | public, | pointer | :: | lU_cache(:,:) | => | null() | Lagrange basis at coordinates(p,3), shape (0:nCached, 1:nPoints). Allocated only for nDim = 3. |
| integer, | public | :: | nCached | = | 0 | Polynomial degree at which the per-point Lagrange basis cache is valid. Zero means no cache. The cache is filled by LocatePoints and consumed by EvaluateScalar when the field's interpolant degree matches. |
|
| integer, | public | :: | nDim | = | 0 | ||
| integer, | public | :: | nPoints | = | 0 | ||
| real(kind=prec), | public, | allocatable | :: | x(:,:) | Physical coordinates, shape (1:nPoints, 1:nDim). User input. |
| procedure, public :: EvalScalar_2D_Points_t | |
| procedure, public :: EvalScalar_3D_Points_t | |
| generic, public :: EvaluateScalar => EvalScalar_2D_Points_t, EvalScalar_3D_Points_t | |
| procedure, public :: Free => Free_Points_t | |
| procedure, public :: Init => Init_Points_t | |
| generic, public :: LocatePoints => LocatePoints_2D_Points_t, LocatePoints_3D_Points_t | |
| procedure, public :: LocatePoints_2D_Points_t | |
| procedure, public :: LocatePoints_3D_Points_t | |
| procedure, public :: SetPoints => SetPoints_Points_t |