OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
accel1.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!|| accel1 ../engine/source/tools/accele/accel1.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||====================================================================
28 SUBROUTINE accel1(A,FF,A2,A1,A0,AS,VS,SKEW)
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
117 END
subroutine accel1(a, ff, a2, a1, a0, as, vs, skew)
Definition accel1.F:29
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20