OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
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 thbcs (nodft, nodlast, icodt, icodr, iskew, skew, a, ar, ms, in, fthreac, nodreac, cptreac)

Function/Subroutine Documentation

◆ thbcs()

subroutine thbcs ( integer nodft,
integer nodlast,
integer, dimension(*) icodt,
integer, dimension(*) icodr,
integer, dimension(*) iskew,
skew,
a,
ar,
ms,
in,
fthreac,
integer, dimension(*) nodreac,
integer cptreac )

Definition at line 30 of file 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,CPTREAC
46 INTEGER NODFT,NODLT,ICODT(*),ICODR(*),ISKEW(*),NODREAC(*)
48 . a(3,*), ar(3,*), ms(*),skew(lskew,*),
49 . fthreac(*),in(*)
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I, N, K, ISK, LCOD, NINDX,
54 . INDX(1024),L,J,FLAG_MOM
55C-----------------------------------------------
56C
57 IF (cptreac >= 1) THEN
58 flag_mom = 0
59 DO 420 i = nodft,nodlast,1024
60 nindx = 0
61 DO 400 n=i,min(nodlast,i+1023)
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 bcs1th(nindx,indx,iskew,icodt,
68 & a,skew,ms,fthreac,
69 & nodreac,flag_mom,in)
70 420 CONTINUE
71C
72 IF(iroddl/=0) THEN
73 flag_mom = 1
74 DO 440 i = nodft,nodlast,1024
75 nindx = 0
76 DO 430 n=i,min(nodlast,i+1023)
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 bcs1th(nindx,indx,iskew,icodr,
83 & ar,skew,ms,fthreac,
84 & nodreac,flag_mom,in)
85 440 CONTINUE
86 ENDIF
87 ENDIF
88C
89 RETURN
subroutine bcs1th(nindx, indx, iskew, icodt, a, skew, ms, fthreac, nodreac, flag, in)
Definition bcs1th.F:31
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20