OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
accel1.F File Reference
#include "implicit_f.inc"
#include "com08_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine accel1 (a, ff, a2, a1, a0, as, vs, skew)

Function/Subroutine Documentation

◆ accel1()

subroutine accel1 ( a,
ff,
a2,
a1,
a0,
as,
vs,
skew )

Definition at line 28 of file accel1.F.

29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C C o m m o n B l o c k s
35C-----------------------------------------------
36#include "com08_c.inc"
37#include "param_c.inc"
38C-----------------------------------------------
39C D u m m y A r g u m e n t s
40C-----------------------------------------------
41 my_real a(3),a0(3,2),a1(3,2),a2(3,2),as(3),vs(3),skew(lskew),ff
42C-----------------------------------------------
43C L o c a l V a r i a b l e s
44C-----------------------------------------------
45 INTEGER J
46 my_real pi1,pi8,pi38,spi8,spi38,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,x1,x2,x3,y1,y2,y3,z1,z2,z3,d,dd,d2,dp,e,g,f
47
48 as(1) = a(1)*skew(1) + a(2)*skew(2) + a(3)*skew(3)
49 as(2) = a(1)*skew(4) + a(2)*skew(5) + a(3)*skew(6)
50 as(3) = a(1)*skew(7) + a(2)*skew(8) + a(3)*skew(9)
51 vs(1) = vs(1)+as(1)*dt12
52 vs(2) = vs(2)+as(2)*dt12
53 vs(3) = vs(3)+as(3)*dt12
54 IF(ff==zero)RETURN
55C
56 f = min(ff,zep4/dt2)
57C-----------------------------------------------
58C INITIALIALISATION DES COEFFICIENTS DU FILTRE
59C-----------------------------------------------
60 pi1 = two*atan2(one,zero)
61 pi8 = pi1*one_over_8
62 pi38 = three*pi8
63 spi8 = sin(pi8)
64 spi38 = sin(pi38)
65
66 d = tan(pi1*f*dt2)
67
68 dd = d*d
69 d2 = two*d
70 dp = one + dd
71 e = d2*spi8
72 g = e + dp
73 g = one/g
74
75 c0 = dd * g
76 c1 = two* c0
77 c2 = c0
78 c3 = two * g - c1
79 c4 = (e - dp) * g
80
81 e = d2*spi38
82 g = e + dp
83 g = one/g
84
85 c5 = dd * g
86 c6 = two * c5
87 c7 = c5
88 c8 = two * g - c6
89 c9 = (e - dp) * g
90C-----------------------------------------------
91C FILTERING
92C-----------------------------------------------
93 DO j=1,3
94 x1 = a0(j,2)
95 x2 = a0(j,1)
96 x3 = a(j)
97 y1 = a1(j,2)
98 y2 = a1(j,1)
99 y3 = c0 * x3 + c1 * x2 + c2 * x1 + c3 * y2 + c4 * y1
100 z1 = a2(j,2)
101 z2 = a2(j,1)
102 z3 = c5 * y3 + c6 * y2 + c7 * y1 + c8 * z2 + c9 * z1
103
104 a0(j,2) = x2
105 a0(j,1) = x3
106 a1(j,2) = y2
107 a1(j,1) = y3
108 a2(j,2) = z2
109 a2(j,1) = z3
110 ENDDO
111
112 as(1) = a2(1,1)*skew(1) + a2(2,1)*skew(2) + a2(3,1)*skew(3)
113 as(2) = a2(1,1)*skew(4) + a2(2,1)*skew(5) + a2(3,1)*skew(6)
114 as(3) = a2(1,1)*skew(7) + a2(2,1)*skew(8) + a2(3,1)*skew(9)
115
116 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20