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

Go to the source code of this file.

Functions/Subroutines

subroutine spmd_fiadd20_pon (nb, len, nsvsi, bufr, daanc6, nsv, alphak)
subroutine spmd_fiadd20e_pon (nb, len, nsvsi, bufr, daanc6, ixlins, alphak)

Function/Subroutine Documentation

◆ spmd_fiadd20_pon()

subroutine spmd_fiadd20_pon ( integer nb,
integer len,
integer, dimension(*) nsvsi,
bufr,
double precision, dimension(3,6,*) daanc6,
integer, dimension(*) nsv,
alphak )

Definition at line 30 of file spmd_i20tool.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35#include "implicit_f.inc"
36C-----------------------------------------------
37C C o m m o n B l o c k s
38C-----------------------------------------------
39#include "scr05_c.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 INTEGER NB, LEN, NSVSI(*),NSV(*)
45 . bufr(len,*), alphak(3,*)
46 DOUBLE PRECISION DAANC6(3,6,*)
47C-----------------------------------------------
48C L o c a l V a r i a b l e s
49C-----------------------------------------------
50 INTEGER I, N, INC ,ISIGN
51 DOUBLE PRECISION DAANC6L(3,6)
52C-----------------------------------------------
53C S o u r c e L i n e s
54C-----------------------------------------------
55C
56 DO i = 1, nb
57 n = nsv(nsvsi(i))
58 isign = 1
59 IF(alphak(2,n) < zero .or. bufr(1,i) < zero)isign = -1
60 alphak(2,n) = isign*min(abs(alphak(2,n)),abs(bufr(1,i)))
61 CALL getdpdaanc(daanc6l,bufr(2,i),iresp,inc)
62 daanc6(1,1,n) = daanc6(1,1,n)+daanc6l(1,1)
63 daanc6(1,2,n) = daanc6(1,2,n)+daanc6l(1,2)
64 daanc6(1,3,n) = daanc6(1,3,n)+daanc6l(1,3)
65 daanc6(1,4,n) = daanc6(1,4,n)+daanc6l(1,4)
66 daanc6(1,5,n) = daanc6(1,5,n)+daanc6l(1,5)
67 daanc6(1,6,n) = daanc6(1,6,n)+daanc6l(1,6)
68 daanc6(2,1,n) = daanc6(2,1,n)+daanc6l(2,1)
69 daanc6(2,2,n) = daanc6(2,2,n)+daanc6l(2,2)
70 daanc6(2,3,n) = daanc6(2,3,n)+daanc6l(2,3)
71 daanc6(2,4,n) = daanc6(2,4,n)+daanc6l(2,4)
72 daanc6(2,5,n) = daanc6(2,5,n)+daanc6l(2,5)
73 daanc6(2,6,n) = daanc6(2,6,n)+daanc6l(2,6)
74 daanc6(3,1,n) = daanc6(3,1,n)+daanc6l(3,1)
75 daanc6(3,2,n) = daanc6(3,2,n)+daanc6l(3,2)
76 daanc6(3,3,n) = daanc6(3,3,n)+daanc6l(3,3)
77 daanc6(3,4,n) = daanc6(3,4,n)+daanc6l(3,4)
78 daanc6(3,5,n) = daanc6(3,5,n)+daanc6l(3,5)
79 daanc6(3,6,n) = daanc6(3,6,n)+daanc6l(3,6)
80 END DO
81C
82 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
subroutine getdpdaanc(daanc6, buf, iresp, inc)

◆ spmd_fiadd20e_pon()

subroutine spmd_fiadd20e_pon ( integer nb,
integer len,
integer, dimension(*) nsvsi,
bufr,
double precision, dimension(3,6,*) daanc6,
integer, dimension(2,*) ixlins,
alphak )

Definition at line 92 of file spmd_i20tool.F.

94C-----------------------------------------------
95C I m p l i c i t T y p e s
96C-----------------------------------------------
97#include "implicit_f.inc"
98C-----------------------------------------------
99C C o m m o n B l o c k s
100C-----------------------------------------------
101#include "scr05_c.inc"
102C-----------------------------------------------
103C D u m m y A r g u m e n t s
104C-----------------------------------------------
105 INTEGER NB, LEN, NSVSI(*), IXLINS(2,*)
106 my_real
107 . bufr(len,*), alphak(3,*)
108 DOUBLE PRECISION DAANC6(3,6,*)
109C-----------------------------------------------
110C L o c a l V a r i a b l e s
111C-----------------------------------------------
112 INTEGER I, N, NL1, NL2, INC ,ISIGN
113 DOUBLE PRECISION DAANC6L(3,6)
114C-----------------------------------------------
115C S o u r c e L i n e s
116C-----------------------------------------------
117C
118 DO i = 1, nb
119 n = nsvsi(i)
120 nl1 = ixlins(1,n)
121 nl2 = ixlins(2,n)
122 isign = 1
123 IF(alphak(2,nl1) < zero .or. bufr(1,i) < zero)isign = -1
124 alphak(2,nl1) = isign*min(abs(alphak(2,nl1)),abs(bufr(1,i)))
125 isign = 1
126 IF(alphak(2,nl2) < zero .or. bufr(2,i) < zero)isign = -1
127 alphak(2,nl2) = isign*min(abs(alphak(2,nl2)),abs(bufr(2,i)))
128 CALL getdpdaanc(daanc6l,bufr(3,i),iresp,inc)
129 daanc6(1,1,nl1) = daanc6(1,1,nl1)+daanc6l(1,1)
130 daanc6(1,2,nl1) = daanc6(1,2,nl1)+daanc6l(1,2)
131 daanc6(1,3,nl1) = daanc6(1,3,nl1)+daanc6l(1,3)
132 daanc6(1,4,nl1) = daanc6(1,4,nl1)+daanc6l(1,4)
133 daanc6(1,5,nl1) = daanc6(1,5,nl1)+daanc6l(1,5)
134 daanc6(1,6,nl1) = daanc6(1,6,nl1)+daanc6l(1,6)
135 daanc6(2,1,nl1) = daanc6(2,1,nl1)+daanc6l(2,1)
136 daanc6(2,2,nl1) = daanc6(2,2,nl1)+daanc6l(2,2)
137 daanc6(2,3,nl1) = daanc6(2,3,nl1)+daanc6l(2,3)
138 daanc6(2,4,nl1) = daanc6(2,4,nl1)+daanc6l(2,4)
139 daanc6(2,5,nl1) = daanc6(2,5,nl1)+daanc6l(2,5)
140 daanc6(2,6,nl1) = daanc6(2,6,nl1)+daanc6l(2,6)
141 daanc6(3,1,nl1) = daanc6(3,1,nl1)+daanc6l(3,1)
142 daanc6(3,2,nl1) = daanc6(3,2,nl1)+daanc6l(3,2)
143 daanc6(3,3,nl1) = daanc6(3,3,nl1)+daanc6l(3,3)
144 daanc6(3,4,nl1) = daanc6(3,4,nl1)+daanc6l(3,4)
145 daanc6(3,5,nl1) = daanc6(3,5,nl1)+daanc6l(3,5)
146 daanc6(3,6,nl1) = daanc6(3,6,nl1)+daanc6l(3,6)
147 CALL getdpdaanc(daanc6l,bufr(3+inc,i),iresp,inc)
148 daanc6(1,1,nl2) = daanc6(1,1,nl2)+daanc6l(1,1)
149 daanc6(1,2,nl2) = daanc6(1,2,nl2)+daanc6l(1,2)
150 daanc6(1,3,nl2) = daanc6(1,3,nl2)+daanc6l(1,3)
151 daanc6(1,4,nl2) = daanc6(1,4,nl2)+daanc6l(1,4)
152 daanc6(1,5,nl2) = daanc6(1,5,nl2)+daanc6l(1,5)
153 daanc6(1,6,nl2) = daanc6(1,6,nl2)+daanc6l(1,6)
154 daanc6(2,1,nl2) = daanc6(2,1,nl2)+daanc6l(2,1)
155 daanc6(2,2,nl2) = daanc6(2,2,nl2)+daanc6l(2,2)
156 daanc6(2,3,nl2) = daanc6(2,3,nl2)+daanc6l(2,3)
157 daanc6(2,4,nl2) = daanc6(2,4,nl2)+daanc6l(2,4)
158 daanc6(2,5,nl2) = daanc6(2,5,nl2)+daanc6l(2,5)
159 daanc6(2,6,nl2) = daanc6(2,6,nl2)+daanc6l(2,6)
160 daanc6(3,1,nl2) = daanc6(3,1,nl2)+daanc6l(3,1)
161 daanc6(3,2,nl2) = daanc6(3,2,nl2)+daanc6l(3,2)
162 daanc6(3,3,nl2) = daanc6(3,3,nl2)+daanc6l(3,3)
163 daanc6(3,4,nl2) = daanc6(3,4,nl2)+daanc6l(3,4)
164 daanc6(3,5,nl2) = daanc6(3,5,nl2)+daanc6l(3,5)
165 daanc6(3,6,nl2) = daanc6(3,6,nl2)+daanc6l(3,6)
166 END DO
167C
168 RETURN