OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
interp.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| interp ../engine/source/tools/curve/interp.F
25!||--- called by ------------------------------------------------------
26!|| laser2 ../engine/source/loads/laser/laser2.F
27!|| laser3 ../engine/source/loads/laser/laser2.F
28!|| m18law ../engine/source/materials/mat/mat018/m18law.F
29!|| m18th ../engine/source/materials/mat/mat018/m18th.F
30!|| repla3 ../engine/source/elements/spring/repla3.F
31!|| rgwal1 ../engine/source/ale/grid/rgwal1.F
32!|| timfun ../engine/source/tools/curve/timfun.F
33!||====================================================================
34 SUBROUTINE interp(TF,TT,NPOINT,F,TG)
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C D u m m y A r g u m e n t s
41C-----------------------------------------------
42 INTEGER NPOINT
43 my_real tt, f, tg
44 my_real tf(2,*)
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER I, M
49 my_real dt1, dt2, d1, d2
50C-----------------------------------------------
51 IF (tt-tf(1,npoint)>zero) GO TO 50
52 DO 20 i=2,npoint
53 m=i
54 IF (tt-tf(1,m)<=zero) GO TO 30
55 20 CONTINUE
56 50 f=zero
57 tg=zero
58 RETURN
59 30 dt1=tt-tf(1,m-1)
60 dt2=-tt+tf(1,m)
61 d1=tf(1,m)-tf(1,m-1)
62 d2=tf(2,m)-tf(2,m-1)
63 tg=zero
64 IF(d1/=zero)tg=d2/d1
65 !TEST POUR PRECISION DU CALCUL
66 IF(dt1<=dt2)THEN
67 f =tf(2,m-1)+dt1*tg
68 ELSE
69 f =tf(2,m)-dt2*tg
70 ENDIF
71 RETURN
72 END
#define my_real
Definition cppsort.cpp:32
subroutine interp(tf, tt, npoint, f, tg)
Definition interp.F:35