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

Go to the source code of this file.

Functions/Subroutines

subroutine alloc_line_str (igrslin)

Function/Subroutine Documentation

◆ alloc_line_str()

subroutine alloc_line_str ( type(surf_), dimension(nslin) igrslin)

Definition at line 34 of file alloc_line_str.F.

35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE message_mod
39 USE groupdef_mod
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44C-----------------------------------------------
45C C o m m o n B l o c k s
46C-----------------------------------------------
47#include "com04_c.inc"
48#include "scr17_c.inc"
49#include "tabsiz_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 TYPE(SURF_) ,DIMENSION(NSLIN) :: IGRSLIN
54C-----------------------------------------------
55C L o c a l V a r i a b l e s
56C-----------------------------------------------
57 INTEGER ISU,I,J,K,L_SLIN,ID,NSEG,TYPE,PROC,
58 . LEVEL,NSEG_R2R_ALL,NSEG_R2R_SHARE,NODE,
59 . ELTYP,ELEM,ERR,ITITLE(LTITR),LEN
60 CHARACTER(LEN=LTITR) :: TITR,NEW_TITLE(NSLIN)
61 INTEGER, ALLOCATABLE, DIMENSION (:) :: ISLINI
62!=======================================================================
63 DO isu=1,nslin
64 CALL read_i_c(ititle,ltitr)
65 CALL fretitl2(titr,ititle,ltitr)
66 len = 0
67 DO j=1,ltitr
68 IF (titr(j:j) /= ' ') len = j
69 ENDDO
70 new_title(isu) = titr(1:len)
71 ENDDO ! DO ISU=1,NSLIN
72!!------ Allocate and read subset data from restart
73 ALLOCATE (islini(lenislin) ,stat=err)
74 CALL read_i_c(islini, lenislin)
75!=======================================================================
76 l_slin = 0
77!
78 DO isu=1,nslin
79 id = islini(l_slin+1)
80 l_slin = l_slin+1
81 nseg = islini(l_slin+1)
82 l_slin = l_slin+1
83 TYPE = islini(l_slin+1)
84 l_slin = l_slin+1
85 level = islini(l_slin+1)
86 l_slin = l_slin+1
87 nseg_r2r_all = islini(l_slin+1)
88 l_slin = l_slin+1
89 nseg_r2r_share = islini(l_slin+1)
90 l_slin = l_slin+1
91!
92! ICHAR(TITR) = ISLINI(L_SLIN+1)
93! L_SLIN = L_SLIN+1
94!---
95 igrslin(isu)%ID = id
96 igrslin(isu)%NSEG = nseg
97 igrslin(isu)%TYPE = TYPE
98 igrslin(isu)%LEVEL = level
99 igrslin(isu)%NSEG_R2R_ALL = nseg_r2r_all
100 igrslin(isu)%NSEG_R2R_SHARE = nseg_r2r_share
101!
102! LINE ENTITIES (NODES, PROC, ELTYP, ELEM)
103!
104 ALLOCATE(igrslin(isu)%NODES(nseg,2))
105 ALLOCATE(igrslin(isu)%ELTYP(nseg))
106 ALLOCATE(igrslin(isu)%ELEM(nseg))
107 ALLOCATE(igrslin(isu)%PROC(nseg))
108!
109 DO j=1,nseg
110 DO k=1,2
111 node = islini(l_slin+1)
112 l_slin = l_slin+1
113 igrslin(isu)%NODES(j,k) = node
114 ENDDO
115 proc = islini(l_slin+1)
116 l_slin = l_slin+1
117 igrslin(isu)%PROC(j) = proc
118 eltyp = islini(l_slin+1)
119 l_slin = l_slin+1
120 igrslin(isu)%ELTYP(j) = eltyp
121 elem = islini(l_slin+1)
122 l_slin = l_slin+1
123 igrslin(isu)%ELEM(j) = elem
124 ENDDO
125 ENDDO ! DO ISU=1,NSLIN
126!---------
127 DEALLOCATE (islini)
128!---------
129 RETURN
initmumps id
subroutine fretitl2(titr, iasc, l)
Definition freform.F:804
void read_i_c(int *w, int *len)