OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
hm_preread_pblast.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!|| hm_preread_pblast ../starter/source/loads/pblast/hm_preread_pblast.F
25!||--- called by ------------------------------------------------------
26!|| lectur ../starter/source/starter/lectur.F
27!||--- calls -----------------------------------------------------
28!|| arret ../starter/source/system/arret.F
29!|| hm_get_intv ../starter/source/devtools/hm_reader/hm_get_intv.F
30!|| hm_option_read_key ../starter/source/devtools/hm_reader/hm_option_read_key.F
31!|| hm_option_start ../starter/source/devtools/hm_reader/hm_option_start.F
32!|| ngr2usr ../starter/source/system/nintrr.F
33!||--- uses -----------------------------------------------------
34!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
35!|| message_mod ../starter/share/message_module/message_mod.F
36!|| submodel_mod ../starter/share/modules1/submodel_mod.F
37!||====================================================================
38 SUBROUTINE hm_preread_pblast(PBLAST,NUMLOADP , IGRSURF, LSUBMODEL,NSURF)
39C-----------------------------------------------
40C M o d u l e s
41C-----------------------------------------------
42 USE message_mod
43 USE pblast_mod
44 USE groupdef_mod
45 USE submodel_mod
48C-----------------------------------------------
49C I m p l i c i t T y p e s
50C-----------------------------------------------
51#include "implicit_f.inc"
52C-----------------------------------------------
53C C o m m o n B l o c k s
54C-----------------------------------------------
55#include "units_c.inc"
56C-----------------------------------------------
57C D u m m y A r g u m e n t s
58C-----------------------------------------------
59 INTEGER,INTENT(INOUT) :: NUMLOADP
60C-----------------------------------------------
61 TYPE (PBLAST_) , INTENT(INOUT) :: PBLAST
62 TYPE (SURF_) ,TARGET, DIMENSION(NSURF) :: IGRSURF
63 TYPE(submodel_data), DIMENSION(NSUBMOD), INTENT(IN) :: LSUBMODEL
64 INTEGER, INTENT(IN) :: NSURF
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68 INTEGER :: I, ID, ISU, IS, IERR1
69 CHARACTER(LEN=NCHARTITLE) :: TITR
70 INTEGER, DIMENSION(:), POINTER :: INGR2USR
71 LOGICAL :: IS_AVAILABLE
72C-----------------------------------------------
73C E x t e r n a l F u n c t i o n s
74C-----------------------------------------------
75 INTEGER,EXTERNAL :: NGR2USR
76C-----------------------------------------------
77C S o u r c e L i n e s
78C-----------------------------------------------
79 ierr1 = 0
80
81 CALL hm_option_start('/LOAD/PBLAST')
82
83 DO i = 1, pblast%NLOADP_B
84 CALL hm_option_read_key(lsubmodel, option_titr = titr, option_id = id)
85 CALL hm_get_intv('surf_ID', isu, is_available, lsubmodel)
86 ingr2usr => igrsurf(1:nsurf)%ID
87 is = ngr2usr(isu,ingr2usr,nsurf)
88 IF(is > 0)THEN
89 numloadp = numloadp + igrsurf(is)%NSEG*4
90 ENDIF
91 ENDDO
92
93 IF(pblast%NLOADP_B > 0 ) ALLOCATE ( pblast%PBLAST_TAB(pblast%NLOADP_B),stat=ierr1);
94 IF (ierr1 /= 0) THEN
95 WRITE(iout,*)' ** ERROR IN MEMORY ALLOCATION'
96 WRITE(istdo,*)' ** ERROR IN MEMORY ALLOCATION'
97 CALL arret(2)
98 ENDIF
99
100 END SUBROUTINE hm_preread_pblast
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
subroutine hm_option_start(entity_type)
subroutine hm_preread_pblast(pblast, numloadp, igrsurf, lsubmodel, nsurf)
integer, parameter nchartitle
subroutine arret(nn)
Definition arret.F:87