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

Go to the source code of this file.

Functions/Subroutines

subroutine update_weight_rbe3 (nelemint, ifiend, s_lrbe3, nrbe3l, nrbe3, lrbe3, irbe3, inter_cand)

Function/Subroutine Documentation

◆ update_weight_rbe3()

subroutine update_weight_rbe3 ( integer, intent(inout) nelemint,
integer, intent(inout) ifiend,
integer, intent(in) s_lrbe3,
integer, intent(in) nrbe3l,
integer, intent(in) nrbe3,
integer, dimension(s_lrbe3), intent(in) lrbe3,
integer, dimension(nrbe3l,nrbe3), intent(in) irbe3,
type(inter_cand_), intent(inout) inter_cand )
Parameters
[in,out]nelemintnumber of new weight for rbe3
[in,out]ifiendadress of the last weight
[in]s_lrbe3size of LRBE3 array
[in]nrbe3l1rst dim of size of IRBE3
[in]nrbe32nd dim of size of IRBE3, number of RBE3
[in]lrbe3data for rbe3
[in]irbe3data for rbe3

Definition at line 30 of file update_weight_rbe3.F.

33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C D u m m y A r g u m e n t s
39C-----------------------------------------------
40 INTEGER, INTENT(inout) :: NELEMINT !< number of new weight for rbe3
41 INTEGER, INTENT(inout) :: IFIEND !< adress of the last weight
42 INTEGER, INTENT(in) :: S_LRBE3 !< size of LRBE3 array
43 INTEGER, INTENT(in) :: NRBE3L !< 1rst dim of size of IRBE3
44 INTEGER, INTENT(in) :: NRBE3 !< 2nd dim of size of IRBE3, number of RBE3
45 INTEGER, DIMENSION(S_LRBE3), INTENT(in) :: LRBE3 !< data for rbe3
46 INTEGER, DIMENSION(NRBE3L,NRBE3), INTENT(in) :: IRBE3 !< data for rbe3
47 TYPE(INTER_CAND_), INTENT(inout) :: INTER_CAND
48C-----------------------------------------------
49C L o c a l V a r i a b l e s
50C-----------------------------------------------
51 INTEGER :: I,J,NS,NM,NMT,M,NFT,JLT,IAD,II
52C
53C========================================================================|
54 nmt = 0
55 ! ---------------------------
56 ! loop over the RBE3
57 DO i=1,nrbe3
58 iad = irbe3(1,i)
59 ns = irbe3(3,i)
60 nm = irbe3(5,i)
61 DO nft =0,nm-1 ,4
62 jlt = min(4, nm - nft )
63 nelemint = nelemint + 1
64 nmt = nmt + 1
65 DO j = 1 ,jlt
66 ii = j+ nft
67 m= lrbe3(iad+ii)
68 inter_cand%IXINT(j,nelemint)=m
69 ENDDO
70 IF (jlt==1) THEN
71 inter_cand%IXINT(2,nelemint)=inter_cand%IXINT(1,nelemint)
72 inter_cand%IXINT(3,nelemint)=inter_cand%IXINT(1,nelemint)
73 inter_cand%IXINT(4,nelemint)=inter_cand%IXINT(1,nelemint)
74 ELSEIF (jlt==2) THEN
75 inter_cand%IXINT(3,nelemint)=inter_cand%IXINT(1,nelemint)
76 inter_cand%IXINT(4,nelemint)=inter_cand%IXINT(2,nelemint)
77 ELSEIF (jlt==3) THEN
78 inter_cand%IXINT(4,nelemint)=inter_cand%IXINT(3,nelemint)
79 ENDIF
80 inter_cand%IXINT(5,nelemint)=ns
81 inter_cand%IXINT(6,nelemint)=100
82 inter_cand%IXINT(7:8,nelemint)=0
83 ENDDO
84 ENDDO
85 ! ---------------------------
86 ifiend = ifiend + nmt
87 ! ---------------------------
88 RETURN
#define min(a, b)
Definition macros.h:20