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

Go to the source code of this file.

Functions/Subroutines

subroutine presegmt (irect, nodes, nrt, nno, nst)

Function/Subroutine Documentation

◆ presegmt()

subroutine presegmt ( integer, dimension(4,*), intent(in) irect,
integer, dimension(*), intent(in) nodes,
integer, intent(in) nrt,
integer, intent(in) nno,
integer, intent(out) nst )

Definition at line 31 of file presegmt.F.

32C-----------------------------------------------
33C I m p l i c i t T y p e s
34C-----------------------------------------------
35 USE my_alloc_mod
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(IN) :: NRT, NNO, IRECT(4,*), NODES(*)
41 INTEGER, INTENT(OUT) :: NST
42C-----------------------------------------------
43C C o m m o n B l o c k s
44C-----------------------------------------------
45#include "com04_c.inc"
46C-----------------------------------------------
47C L o c a l V a r i a b l e s
48C-----------------------------------------------
49 INTEGER I, J, K
50 INTEGER, DIMENSION(:), ALLOCATABLE :: NTAG
51 INTEGER, DIMENSION(:), ALLOCATABLE :: NSEG
52C=======================================================================
53 CALL my_alloc(nseg,nno+1)
54 CALL my_alloc(ntag,numnod)
55
56 nst = 0
57 nseg(1) = 1
58 nseg(2:nno+1) = 0
59C
60 DO i=1,nno
61 ntag(nodes(i))=i
62 ENDDO
63C
64 DO i=1,nrt
65 DO j=1,4
66 IF (irect(j,i) /= 0) THEN
67 k = ntag(irect(j,i))+1
68 nseg(k)=nseg(k)+1
69 ENDIF
70 ENDDO
71 ENDDO
72C
73 DO i=1,nno
74 nst = nst + nseg(i+1)
75 ENDDO
76C
77 DEALLOCATE(ntag)
78 DEALLOCATE(nseg)
79 RETURN