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

Go to the source code of this file.

Functions/Subroutines

subroutine sms_thbcs (nodft, nodlast, indx1, icodt, icodr, iskew, skew, a, ar, fthreac, nodreac, cptreac)

Function/Subroutine Documentation

◆ sms_thbcs()

subroutine sms_thbcs ( integer nodft,
integer nodlast,
integer, dimension(*) indx1,
integer, dimension(*) icodt,
integer, dimension(*) icodr,
integer, dimension(*) iskew,
skew,
a,
ar,
fthreac,
integer, dimension(*) nodreac,
integer cptreac )

Definition at line 30 of file sms_thbcs.F.

33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C C o m m o n B l o c k s
39C-----------------------------------------------
40#include "com01_c.inc"
41#include "param_c.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER NODLAST,INDX1(*),CPTREAC
46 INTEGER NODFT,ICODT(*),ICODR(*),ISKEW(*),NODREAC(*)
48 . a(3,*),ar(3,*),skew(lskew,*),fthreac(6,*)
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER I,J, N, K, ISK, LCOD, NINDX,
53 . INDX(1024),L,FLAG_MOM
54C-----------------------------------------------
55C
56 IF (cptreac >= 1) THEN
57 flag_mom = 0
58 DO 420 i = nodft,nodlast,1024
59 nindx = 0
60 DO 400 j=i,min(nodlast,i+1023)
61 n=indx1(j)
62 IF (icodt(n)/=0 .AND. nodreac(n)/=0)THEN
63 nindx = nindx + 1
64 indx(nindx) = n
65 ENDIF
66 400 CONTINUE
67 CALL sms_bcs1th(nindx ,indx ,iskew ,icodt ,a ,
68 2 skew ,fthreac,nodreac,flag_mom)
69 420 CONTINUE
70C
71 IF(iroddl/=0) THEN
72 flag_mom = 1
73 DO 440 i = nodft,nodlast,1024
74 nindx = 0
75 DO 430 j=i,min(nodlast,i+1023)
76 n=indx1(j)
77 IF (icodr(n)/=0 .AND. nodreac(n)>0)THEN
78 nindx = nindx + 1
79 indx(nindx) = n
80 ENDIF
81 430 CONTINUE
82 CALL sms_bcs1th(nindx,indx,iskew,icodr,ar,
83 & skew,fthreac,nodreac,flag_mom)
84 440 CONTINUE
85 ENDIF
86 ENDIF
87C
88 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
subroutine sms_bcs1th(nindx, indx, iskew, icodt, a, skew, fthreac, nodreac, flag)
Definition sms_bcs1th.F:30