OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
accdtdc.F File Reference
#include "implicit_f.inc"
#include "vectorize.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine accdtdc (eftsk, eltsk, ienunl, alpha_dc, a, ms, itab)

Function/Subroutine Documentation

◆ accdtdc()

subroutine accdtdc ( integer eftsk,
integer eltsk,
integer, dimension(2,*) ienunl,
alpha_dc,
a,
ms,
integer, dimension(*) itab )

Definition at line 28 of file accdtdc.F.

29C-----------------------------------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C-----------------------------------------------
34C D u m m y A r g u m e n t s
35C-----------------------------------------------
36 INTEGER EFTSK ,ELTSK ,IENUNL(2,*), ITAB(*)
38 . a(3,*) ,alpha_dc(*),ms(*)
39C-----------------------------------------------
40C L o c a l V a r i a b l e s
41C-----------------------------------------------
42 INTEGER I,N1,N2,inn
44 . am(3),ad(3),alpha_1,f1(3),f2(3),mss_1
45C-----------------------------------------------
46C S o u r c e L i n e s
47C-----------------------------------------------
48
49 !------------------------------------------------!
50 ! MODIF ACCELERATIONS (TRANSLATIONS) !
51 !------------------------------------------------!
52#include "vectorize.inc"
53 DO i=eftsk ,eltsk
54 n1= ienunl(1,i)
55 n2= ienunl(2,i)
56 IF (max(alpha_dc(n1),alpha_dc(n2))<=one) cycle
57 IF (max(ms(n1),ms(n2))==zero) cycle
58 IF (ms(n1)==zero) THEN
59 f1(1:3) = a(1:3,n1)
60 ELSE
61 f1(1:3) = ms(n1)*a(1:3,n1)
62 END IF
63 IF (ms(n2)==zero) THEN
64 f2(1:3) = a(1:3,n2)
65 ELSE
66 f2(1:3) = ms(n2)*a(1:3,n2)
67 END IF
68 mss_1 = one/(ms(n1)+ms(n2))
69 am(1:3) = (f1(1:3)+f2(1:3))*mss_1
70 ad(1:3) = (f2(1:3)-f1(1:3))*mss_1
71 alpha_1 =one/max(alpha_dc(n1),alpha_dc(n2))
72 a(1:3,n1) = am(1:3) - ad(1:3)*alpha_1
73 a(1:3,n2) = am(1:3) + ad(1:3)*alpha_1
74 END DO
75C
76 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21