OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lec_inistate.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "scry_c.inc"
#include "scr16_c.inc"
#include "units_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lec_inistate (ixs, ixq, ixc, ixt, ixp, ixr, geo, pm, kxsp, ixtg, index, itri, nsigsh, igeo, ipm, nsigs, nsigsph, ksysusr, ptshel, ptsh3n, ptsol, ptquad, ptsph, numel, nsigrs, unitab, isolnodd00, lsubmodel, rtrans, idrape, nsigi, ptspri, nsigbeam, ptbeam, nsigtruss, pttruss, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, ksigsh3, fail_ini, iusolyld, iuser, igrbric, map_tables, iparg, stack, iworksh, mat_param, numsph, nisp)

Function/Subroutine Documentation

◆ lec_inistate()

subroutine lec_inistate ( integer, dimension(nixs,*) ixs,
integer, dimension(nixq,*) ixq,
integer, dimension(nixc,*) ixc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
geo,
pm,
integer, dimension(*) kxsp,
integer, dimension(nixtg,*) ixtg,
integer, dimension(*) index,
integer, dimension(*) itri,
integer nsigsh,
integer, dimension(npropgi,*) igeo,
integer, dimension(npropmi,*) ipm,
integer nsigs,
integer nsigsph,
integer, dimension(*) ksysusr,
integer, dimension(*) ptshel,
integer, dimension(*) ptsh3n,
integer, dimension(*) ptsol,
integer, dimension(*) ptquad,
integer, dimension(*) ptsph,
integer numel,
integer nsigrs,
type (unit_type_), intent(in) unitab,
integer, dimension(*) isolnodd00,
type(submodel_data), dimension(*) lsubmodel,
rtrans,
integer, dimension(nplymax,*) idrape,
integer nsigi,
integer, dimension(*) ptspri,
integer nsigbeam,
integer, dimension(*) ptbeam,
integer nsigtruss,
integer, dimension(*) pttruss,
sigi,
sigsh,
sigsp,
sigsph,
sigrs,
sigbeam,
sigtruss,
integer, dimension(*) strsglob,
integer, dimension(*) straglob,
integer, dimension(*) orthoglob,
integer isigsh,
integer iyldini,
integer ksigsh3,
integer, dimension(5) fail_ini,
integer iusolyld,
integer iuser,
type (group_), dimension(ngrbric) igrbric,
type(mapping_struct_) map_tables,
integer, dimension(nparg,ngroup), intent(in) iparg,
type (stack_ply) stack,
integer, dimension(3,numelc + numeltg), intent(in) iworksh,
type (matparam_struct_), dimension(nummat), intent(inout) mat_param,
integer, intent(in) numsph,
integer, intent(in) nisp )

Definition at line 36 of file lec_inistate.F.

49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 USE unitab_mod
53 USE groupdef_mod
54 USE submodel_mod
56 USE stack_mod
57 USE matparam_def_mod
58 use element_mod , only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
59C-----------------------------------------------
60C I m p l i c i t T y p e s
61C-----------------------------------------------
62#include "implicit_f.inc"
63C-----------------------------------------------
64C C o m m o n B l o c k s
65C-----------------------------------------------
66#include "com01_c.inc"
67#include "com04_c.inc"
68#include "param_c.inc"
69#include "scry_c.inc"
70#include "scr16_c.inc"
71#include "units_c.inc"
72C-----------------------------------------------
73C D u m m y A r g u m e n t s
74C-----------------------------------------------
75 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
76 INTEGER IXS(NIXS,*), IXQ(NIXQ,*),IXC(NIXC,*),
77 . IGEO(NPROPGI,*), IXT(NIXT,*),IXP(NIXP,*), IXR(NIXR,*),
78 . IXTG(NIXTG,*),INDEX(*),ITRI(*),KXSP(*),IPM(NPROPMI,*),
79 . KSYSUSR(*),PTSHEL(*),PTSH3N(*),PTSOL(*),PTQUAD(*),PTSPH(*),
80 . IDRAPE(NPLYMAX,*),PTSPRI(*),PTBEAM(*),PTTRUSS(*)
81 INTEGER NSIGI,NSIGSH,NSIGS, NSIGSPH, NSIGRS,
82 . NUMEL,ISOLNODD00(*),NSIGBEAM,NSIGTRUSS,STRSGLOB(*),
83 . STRAGLOB(*),ORTHOGLOB(*),ISIGSH,IYLDINI,KSIGSH3,FAIL_INI(5),
84 . IUSOLYLD,IUSER,VARMAX
85 INTEGER, DIMENSION(NPARG,NGROUP) ,INTENT(IN):: IPARG
87 . geo(*),pm(npropm,*),rtrans(ntransf,*),
88 . sigi(nsigs,*),sigsh(max(1,nsigsh),*),sigtruss(nsigtruss,*),
89 . sigsp(nsigi,*),sigsph(nsigsph,*),sigrs(nsigrs,*),sigbeam(nsigbeam,*)
90C
91 TYPE(SUBMODEL_DATA) LSUBMODEL(*)
92 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
93C
94 TYPE(MAPPING_STRUCT_) :: MAP_TABLES
95 TYPE (STACK_PLY) :: STACK
96 INTEGER, INTENT(IN) :: IWORKSH(3,NUMELC + NUMELTG)
97 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(INOUT) :: MAT_PARAM
98 INTEGER, INTENT(IN) :: NUMSPH
99 INTEGER, INTENT(IN) :: NISP
100C-----------------------------------------------
101C L o c a l V a r i a b l e s
102C-----------------------------------------------
103 INTEGER I, J, N, stat
104 INTEGER NIBRICK, NIQUAD, NISHELL, NISH3N, NISPRING, NIBEAM, NITRUSS, NISPHCEL
105 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGSH
106 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SOLID_SIGI
107 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_QUAD_SIGI
108 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGSPRI
109 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGBEAM
110 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGTRUSS
111 INTEGER, DIMENSION(:), ALLOCATABLE :: ID_SIGSPH
112 INTEGER, DIMENSION(:), ALLOCATABLE :: WORK
113 LOGICAL IS_STATE
114C=======================================================================
115C
116C -- READING OF INITIAL STATE DATA - EXTRACTED FROM INITIA.F
117C
118C=======================================================================
119 iuser = 0
120 iyldini = 0
121 iusolyld = 0
122 fail_ini(1:5) = 0
123 isigsh =0
124 ksigsh3 = 0
125 iortshel = 0
126 inispri = 0
127 varmax = max(nsigsh,nsigi,nsigi,nsigtruss,nsigbeam,nsigrs)
128 is_state = .false.
129C
130 ALLOCATE (id_sigsh(numshel+numsh3n) ,stat=stat)
131 ALLOCATE (id_solid_sigi(numsol) ,stat=stat)
132 ALLOCATE (id_quad_sigi(numquad) ,stat=stat)
133 ALLOCATE (id_sigspri(numspri) ,stat=stat)
134 ALLOCATE (id_sigbeam(numbeam) ,stat=stat)
135 ALLOCATE (id_sigtruss(numtrus) ,stat=stat)
136 ALLOCATE (id_sigsph(numsph) ,stat=stat)
137 ALLOCATE (work(70000) ,stat=stat)
138C
139 IF(numshel+numsh3n > 0) id_sigsh(1:numshel+numsh3n) = 0
140 IF(numsol > 0 )id_solid_sigi(1:numsol) = 0
141 IF(numquad > 0 )id_quad_sigi(1:numquad) = 0
142 IF(numspri > 0 )id_sigspri(1:numspri) = 0
143 IF(numbeam > 0 )id_sigbeam(1:numbeam) = 0
144 IF(numtrus > 0 )id_sigtruss(1:numtrus) = 0
145 work(1:70000) = 0
146C
147 IF (abs(isigi) == 3.OR.abs(isigi) == 4.OR.abs(isigi) == 5) THEN
148 DO i=1,numshel+numsh3n
149 DO j=1,nsigsh
150 sigsh(j,i)=zero
151 ENDDO
152 ENDDO
153 ENDIF
154
155C--------------------------------------------------------
156C CONTRAINTES INITIALES + ENERGIES DENSITES EPS-PLAST
157C SOLIDE-QUAD-SPRING READ ON FILE
158C--------------------------------------------------------
159
160 IF (isigi == 1.OR.isigi == 2) THEN
161C
162C FICHIER S00 (Obsolete)
163C
164 IF (ioutp_fmt == 2) THEN
165 DO i=1,numels+numelq
166 READ(iin4,'(I8,3F16.0/8X,3F16.0)') n,(sigi(j,i),j=1,6)
167 sigi(7,i) = n
168 ENDDO
169 ELSE
170 DO i=1,numels+numelq
171 READ(iin4,'(I10,3F20.0/8X,3F20.0)') n,(sigi(j,i),j=1,6)
172 sigi(7,i) = n
173 ENDDO
174 ENDIF
175
176 ELSEIF (isigi == 3.OR.isigi == 4.OR.isigi == 5) THEN
177C
178C FICHIER Y000
179C
180 CALL lec_inistate_yfile(
181 1 nsigsh ,nsigs ,nsigsph ,nsigrs ,nsigi ,
182 2 sigsh ,sigi ,sigsph ,sigrs ,sigsp ,
183 3 isigsh ,iuser ,
184 4 id_sigsh , id_solid_sigi, id_quad_sigi )
185
186 ENDIF
187
188C-----------------------------------------
189C CONTRAINTES INITIALES FICHIER D00
190C-----------------------------------------
191 IF (isigi == -3.OR.isigi == -4.OR.isigi == -5) is_state = .true.
192
193 IF (isigi == -3.OR.isigi == -4.OR.isigi == -5) THEN
194 isigi = -isigi
195! CALL LEC_INISTATE_D00 (
196! 1 IXS ,IXQ ,IXC ,IXT ,IXP ,
197! 2 ixr ,geo ,pm ,ixtg ,index ,
198! 3 ITRI ,NSIGSH ,IGEO ,
199! 4 IPM ,NSIGS ,NSIGSPH ,KSYSUSR ,NSIGRS ,
200! 5 UNITAB ,ISOLNODD00 ,LSUBMODEL ,RTRANS ,IDRAPE ,
201! 6 NSIGI ,NSIGBEAM ,NSIGTRUSS ,
202! 7 SIGI ,SIGSH ,SIGSP ,SIGSPH ,SIGRS ,
203! 8 SIGBEAM ,SIGTRUSS ,STRSGLOB ,STRAGLOB ,ORTHOGLOB ,
204! 9 ISIGSH ,IYLDINI ,FAIL_INI ,IUSOLYLD ,IUSER ,
205! A ID_SIGSH ,ID_SOLID_SIGI,ID_QUAD_SIGI ,ID_SIGSPRI ,ID_SIGBEAM,
206! B ID_SIGTRUSS,WORK ,IGRBRIC )
208 1 ixs ,ixq ,ixc ,ixt ,ixp ,
209 2 ixr ,geo ,pm ,ixtg ,index ,
210 3 itri ,nsigsh ,igeo ,
211 4 ipm ,nsigs ,nsigsph ,ksysusr ,nsigrs ,
212 5 unitab ,isolnodd00 ,lsubmodel ,rtrans ,idrape ,
213 6 nsigi ,nsigbeam ,nsigtruss ,
214 7 sigi ,sigsh ,sigsp ,sigsph ,sigrs ,
215 8 sigbeam ,sigtruss ,strsglob ,straglob ,orthoglob ,
216 9 isigsh ,iyldini ,fail_ini ,iusolyld ,iuser ,
217 a id_sigsh ,id_solid_sigi,id_quad_sigi ,id_sigspri ,id_sigbeam,
218 b id_sigtruss,work ,igrbric ,nibrick ,niquad ,
219 c nishell ,nish3n ,nispring ,nibeam ,nitruss ,
220 d map_tables ,varmax ,iparg ,ptshel ,ptsh3n ,
221 e stack ,iworksh ,iout ,mat_param ,nisphcel ,
222 f numsph ,nisp ,kxsp ,id_sigsph)
223 ENDIF
224C------------------------------------------------------------------------------------------
225 CALL lec_inistate_tri(
226 1 ixs ,ixq ,ixc ,ixt ,ixp ,
227 2 ixr ,kxsp ,ixtg ,index ,itri ,
228 3 nsigsh ,nsigs ,nsigsph ,ksysusr ,ksigsh3 ,
229 4 nsigrs ,nsigi ,nsigbeam ,nsigtruss ,
230 5 ptshel ,ptsh3n ,ptsol ,ptquad ,ptsph ,
231 6 ptspri ,ptbeam ,pttruss ,sigi ,sigsh ,
232 7 sigsp ,sigsph ,sigrs ,sigbeam ,sigtruss ,
233 8 id_sigsh ,id_solid_sigi,id_quad_sigi ,id_sigspri ,id_sigbeam ,
234 9 id_sigtruss,work ,id_sigsph ,is_state)
235
236C
237 IF(numsol > 0) DEALLOCATE (id_solid_sigi)
238 IF(numquad > 0 )DEALLOCATE (id_quad_sigi)
239 IF(numshel+numsh3n > 0 )DEALLOCATE (id_sigsh)
240 IF(numspri > 0 )DEALLOCATE (id_sigspri)
241 IF(numbeam > 0 )DEALLOCATE (id_sigbeam)
242 IF(numtrus > 0 )DEALLOCATE (id_sigtruss)
243 IF(numsph > 0 )DEALLOCATE (id_sigsph)
244 DEALLOCATE (work)
245C
246 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine hm_read_inistate_d00(ixs, ixq, ixc, ixt, ixp, ixr, geo, pm, ixtg, index, itri, nsigsh, igeo, ipm, nsigs, nsigsph, ksysusr, nsigrs, unitab, isolnodd00, lsubmodel, rtrans, idrape, nsigi, nsigbeam, nsigtruss, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, fail_ini, iusolyld, iuser, id_sigsh, id_solid_sigi, id_quad_sigi, id_sigspri, id_sigbeam, id_sigtruss, work, igrbric, nibrick, niquad, nishell, nish3n, nispring, nibeam, nitruss, map_tables, varmax, iparg, ptshel, ptsh3n, stack, iworksh, iout, mat_param, nisphcel, numsph, nisp, kxsp, id_sigsph)
subroutine lec_inistate_tri(ixs, ixq, ixc, ixt, ixp, ixr, kxsp, ixtg, index, itri, nsigsh, nsigs, nsigsph, ksysusr, ksigsh3, nsigrs, nsigi, nsigbeam, nsigtruss, ptshel, ptsh3n, ptsol, ptquad, ptsph, ptspri, ptbeam, pttruss, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, id_sigsh, id_solid_sigi, id_quad_sigi, id_sigspri, id_sigbeam, id_sigtruss, work, id_sigsphcel, is_state)
subroutine lec_inistate_yfile(nsigsh, nsigs, nsigsph, nsigrs, nsigi, sigsh, sigi, sigsph, sigrs, sigsp, isigsh, iuser, id_sigsh, id_solid_sigi, id_quad_sigi)
#define max(a, b)
Definition macros.h:21