diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/src/DETSPL2.f | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/src/DETSPL2.f')
| -rw-r--r-- | Donjon/src/DETSPL2.f | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Donjon/src/DETSPL2.f b/Donjon/src/DETSPL2.f new file mode 100644 index 0000000..f5aa08d --- /dev/null +++ b/Donjon/src/DETSPL2.f @@ -0,0 +1,65 @@ +*DECK DETSPL2 + SUBROUTINE DETSPL2(XCNTR ,YCNTR ,NXMAX ,NYMAX ,FXY, + > FP1 ,FP2 ,F2X ,F2Y ,FDUMMY, + > XINT ,YINT ,FYINT ,FXYINT) +* +*----------------------------------------------------------------------- +* +*Purpose: +* Perform spline interpolation. +* +*Copyright: +* Copyright (C) 2010 Ecole Polytechnique de Montreal. +* +*Author(s): +* E. Varin +* +*Parameters: +* XCNTR +* YCNTR +* NXMAX +* NYMAX +* FXY +* FP1 +* FP2 +* F2X +* F2Y +* FDUMMY +* XINT +* YINT +* FYINT +* FXYINT +* +*----------------------------------------------------------------------- +* + REAL*4 XCNTR(NXMAX),YCNTR(NYMAX),FXY(NXMAX,NYMAX), + > XINT ,YINT ,FXYINT, + > F2X(NXMAX) ,F2Y(NYMAX) ,FYINT(NYMAX), + > FDUMMY(NXMAX) +*---- +* CALCULATE THE SECOND DERIVATIVES ALONG XCNTR FOR EACH Y +*---- + DO 10 I=1,NYMAX + + DO 20 J=1,NXMAX + FDUMMY(J) = FXY(J,I) + 20 CONTINUE + + CALL DETSPLI(XCNTR,FDUMMY,NXMAX,FP1,FP2,F2X) +*---- +* INTERPOLATE ALONG THE X COORDINATE FOR EACH Y +*---- + CALL DETSPLI2(XCNTR,FDUMMY,F2X,NXMAX,XINT,FYINT(I)) + + 10 CONTINUE +*---- +* CALCULATE SECOND DERIVATIVE ALONG Y FOR XINT +*---- + CALL DETSPLI(YCNTR,FYINT,NYMAX,FP1,FP2,F2Y) +*---- +* INTERPOLATE ALONG Y FOR XINT +*---- + CALL DETSPLI2(YCNTR,FYINT,F2Y,NYMAX,YINT,FXYINT) + + RETURN + END |
