OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
stack_mod.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| stack_mod ../engine/share/modules/stack_mod.F
25!||--- called by ------------------------------------------------------
26!|| anim_build_index_all ../engine/source/output/anim/reader/anim_build_index_all.F
27!|| anim_dcod_key_0 ../engine/source/output/anim/reader/anim_dcod_key_0.F
28!|| anim_reset_index_all ../engine/source/output/anim/reader/anim_reset_index_all.F
29!|| anioffc_ply ../engine/source/output/anim/generate/anioffc_ply.F
30!|| c3forc3 ../engine/source/elements/sh3n/coque3n/c3forc3.F
31!|| c3forc3_crk ../engine/source/elements/xfem/c3forc3_crk.F
32!|| c3ke3 ../engine/source/elements/sh3n/coque3n/c3ke3.F
33!|| c_tf_ne ../engine/source/output/sty/c_tf_ne.F
34!|| cbaforc3 ../engine/source/elements/shell/coqueba/cbaforc3.F
35!|| cbake3 ../engine/source/elements/shell/coqueba/cbake3.F
36!|| cdk6forc3 ../engine/source/elements/sh3n/coquedk6/cdk6forc3.F
37!|| cdkforc3 ../engine/source/elements/sh3n/coquedk/cdkforc3.F
38!|| cforc3 ../engine/source/elements/shell/coque/cforc3.F
39!|| cforc3_crk ../engine/source/elements/xfem/cforc3_crk.F
40!|| cmain3 ../engine/source/materials/mat_share/cmain3.F
41!|| cmain3pinch ../engine/source/elements/shell/coqueba/cmain3pinch.F
42!|| cmatc3 ../engine/source/elements/shell/coqueba/cmatc3.F
43!|| cncoefort ../engine/source/elements/sh3n/coquedk/cncoef3.F
44!|| czforc3 ../engine/source/elements/shell/coquez/czforc3.F
45!|| czforc3_crk ../engine/source/elements/xfem/czforc3_crk.F
46!|| czke3 ../engine/source/elements/shell/coquez/czke3.F
47!|| dfuncc ../engine/source/output/anim/generate/dfuncc.F
48!|| dfuncc_ply ../engine/source/output/anim/generate/dfuncc_ply.F
49!|| dmasanic ../engine/source/output/anim/generate/dmasanic.F
50!|| dynain_c_strag ../engine/source/output/dynain/dynain_c_strag.F
51!|| dynain_c_strsg ../engine/source/output/dynain/dynain_c_strsg.F
52!|| eig ../engine/stub/eig.F
53!|| eig1 ../engine/stub/eig1.F
54!|| eigcond ../engine/stub/eigcond.F
55!|| eigp ../engine/stub/eigp.F
56!|| fail_setoff_c ../engine/source/materials/fail/fail_setoff_c.F
57!|| fail_setoff_npg_c ../engine/source/materials/fail/fail_setoff_npg_c.F
58!|| fail_setoff_wind_frwave ../engine/source/materials/fail/fail_setoff_wind_frwave.F
59!|| forintc ../engine/source/elements/forintc.F
60!|| freanim ../engine/source/output/anim/reader/freanim.F
61!|| funct_python_update_elements ../engine/source/tools/curve/funct_python_update_elements.F90
62!|| genani ../engine/source/output/anim/generate/genani.F
63!|| gendynain ../engine/source/output/dynain/gendynain.F
64!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
65!|| genoutp ../engine/source/output/sty/genoutp.F
66!|| genstat ../engine/source/output/sta/genstat.F
67!|| h3d_list_quad_scalar ../engine/source/output/h3d/input_list/h3d_list_quad_scalar.F
68!|| h3d_list_quad_tensor ../engine/source/output/h3d/input_list/h3d_list_quad_tensor.F
69!|| h3d_list_shell_scalar ../engine/source/output/h3d/input_list/h3d_list_shell_scalar.F
70!|| h3d_list_shell_tensor ../engine/source/output/h3d/input_list/h3d_list_shell_tensor.F
71!|| h3d_quad_scalar ../engine/source/output/h3d/h3d_results/h3d_quad_scalar.F
72!|| h3d_quad_tensor ../engine/source/output/h3d/h3d_results/h3d_quad_tensor.F
73!|| h3d_quad_vector ../engine/source/output/h3d/h3d_results/h3d_quad_vector.F
74!|| h3d_read ../engine/source/output/h3d/h3d_build_fortran/h3d_read.F
75!|| h3d_shell_scalar ../engine/source/output/h3d/h3d_results/h3d_shell_scalar.F
76!|| h3d_shell_scalar_1 ../engine/source/output/h3d/h3d_results/h3d_shell_scalar_1.F
77!|| h3d_shell_tensor ../engine/source/output/h3d/h3d_results/h3d_shell_tensor.F
78!|| h3d_shell_vector ../engine/source/output/h3d/h3d_results/h3d_shell_vector.F
79!|| h3d_shell_vector_1 ../engine/source/output/h3d/h3d_results/h3d_shell_vector_1.F
80!|| h3d_solid_tensor ../engine/source/output/h3d/h3d_results/h3d_solid_tensor.F
81!|| h3d_solid_tensor_1 ../engine/source/output/h3d/h3d_results/h3d_solid_tensor_1.F
82!|| h3d_solid_vector ../engine/source/output/h3d/h3d_results/h3d_solid_vector.F
83!|| h3d_sph_scalar ../engine/source/output/h3d/h3d_results/h3d_sph_scalar.F
84!|| h3d_sph_tensor ../engine/source/output/h3d/h3d_results/h3d_sph_tensor.F
85!|| hist2 ../engine/source/output/th/hist2.F
86!|| imp_buck ../engine/source/implicit/imp_buck.F
87!|| imp_chkm ../engine/source/implicit/imp_solv.F
88!|| imp_glob_k ../engine/source/implicit/imp_glob_k.F
89!|| imp_glob_k0 ../engine/source/implicit/imp_glob_k.F
90!|| imp_glob_khp ../engine/source/implicit/imp_glob_k.F
91!|| imp_k_eig ../engine/stub/imp_k_eig.F
92!|| imp_solv ../engine/source/implicit/imp_solv.F
93!|| ini_tmax ../engine/source/output/ini_outmax.F
94!|| init_th ../engine/source/output/th/init_th.F
95!|| init_th0 ../engine/source/output/th/init_th0.F
96!|| layini ../engine/source/elements/shell/coque/layini.F
97!|| lech3d ../engine/source/output/h3d/h3d_build_fortran/lech3d.F
98!|| lectur ../engine/source/input/lectur.F
99!|| mulawc ../engine/source/materials/mat_share/mulawc.F90
100!|| outp_c_tf ../engine/source/output/sty/outp_c_t.F
101!|| prelech3d ../engine/source/output/h3d/h3d_build_fortran/prelech3d.F90
102!|| radioss2 ../engine/source/engine/radioss2.F
103!|| rdresb ../engine/source/output/restart/rdresb.F
104!|| resol ../engine/source/engine/resol.F
105!|| resol_head ../engine/source/engine/resol_head.F
106!|| resol_init ../engine/source/engine/resol_init.F
107!|| restalloc ../engine/source/output/restart/arralloc.F
108!|| sortie_main ../engine/source/output/sortie_main.F
109!|| stat_c_strafg ../engine/source/output/sta/stat_c_strafg.F
110!|| stat_c_strsfg ../engine/source/output/sta/stat_c_strsfg.F
111!|| tensorc ../engine/source/output/anim/generate/tensorc.F
112!|| tensorc_ply ../engine/source/output/anim/generate/tensorc_ply.F
113!|| thcoq ../engine/source/output/th/thcoq.F
114!|| upd_tmax ../engine/source/output/upd_outmax.F
115!|| usermat_shell ../engine/source/materials/mat_share/usermat_shell.F
116!|| wrrestp ../engine/source/output/restart/wrrestp.F
117!||====================================================================
118 MODULE stack_mod
119C-----------------------------------------------
120C m y _ r e a l
121C-----------------------------------------------
122#include "my_real.inc"
123C---------------------------------------------
124C Structures needed for stack (PID17) properties
125C---------------------------------------------
126
127C PLY Nodes structures for animations
128 TYPE stack_ply
129 INTEGER, DIMENSION (:,:), ALLOCATABLE :: IGEO ! IGEO TABLE
130 my_real ,
131 . DIMENSION (:,:), ALLOCATABLE :: geo , pm ! GEO, PM
132 END TYPE stack_ply
133 INTEGER , DIMENSION(:,:), ALLOCATABLE ::
134 . ply_info
135
136c
137 CONTAINS
138
139!||====================================================================
140!|| stack_ply_alloc ../engine/share/modules/stack_mod.F
141!||--- called by ------------------------------------------------------
142!|| radioss2 ../engine/source/engine/radioss2.F
143!||--- calls -----------------------------------------------------
144!|| ancmsg ../engine/source/output/message/message.F
145!|| arret ../engine/source/system/arret.F
146!||--- uses -----------------------------------------------------
147!|| message_mod ../engine/share/message_module/message_mod.F
148!||====================================================================
149 SUBROUTINE stack_ply_alloc(STACK,IPART_STACK,NPT_STACK,NS_STACK)
150C-----------------------------------------------
151C M o d u l e s
152C-----------------------------------------------
153 USE message_mod
154C-----------------------------------------------------------------------
155 IMPLICIT NONE
156C-----------------------------------------------
157C m y _ r e a l
158C-----------------------------------------------
159#include "my_real.inc"
160C-----------------------------------------------
161C D u m m y A r g u m e n t s
162C-----------------------------------------------
163 TYPE(stack_ply),INTENT(INOUT) :: STACK
164 INTEGER,INTENT(IN) :: IPART_STACK
165 INTEGER,INTENT(IN) :: NPT_STACK
166 INTEGER,INTENT(IN) :: NS_STACK
167C-----------------------------------------------
168C L o c a l V a r i a b l e s
169C-----------------------------------------------
170 INTEGER IERR
171C-----------------------------------------------
172 IF(ipart_stack >0) THEN
173
174
175 ALLOCATE(stack%IGEO(4*npt_stack+2,ns_stack),stat=ierr)
176 IF(ierr/=0) THEN
177 CALL ancmsg(msgid=19,anmode=aninfo,c1='(/PROP/STACK/...)')
178 CALL arret(2)
179 ENDIF
180 stack%IGEO = 0
181
182 ALLOCATE(stack%GEO(6*npt_stack+1,ns_stack),stat=ierr)
183 IF(ierr/=0) THEN
184 CALL ancmsg(msgid=19,anmode=aninfo,c1='(/PROP/STACK/...)')
185 CALL arret(2)
186 ENDIF
187 stack%GEO = 0.0
188
189 ALLOCATE(stack%PM(20,ns_stack),stat=ierr)
190 IF(ierr/=0) THEN
191 CALL ancmsg(msgid=19,anmode=aninfo,c1='(/PROP/STACK/...)')
192 CALL arret(2)
193 ENDIF
194 stack%PM = 0.0
195 ELSE
196 ALLOCATE(stack%IGEO(0,0),stack%GEO(0,0),stack%PM(0,0))
197 ENDIF
198
199 END SUBROUTINE stack_ply_alloc
200
201
202 END MODULE stack_mod
203
#define my_real
Definition cppsort.cpp:32
integer, dimension(:,:), allocatable ply_info
Definition stack_mod.F:133
subroutine stack_ply_alloc(stack, ipart_stack, npt_stack, ns_stack)
Definition stack_mod.F:150
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889
subroutine arret(nn)
Definition arret.F:87