OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
check_eltyp.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!|| check_eltyp ../starter/source/model/sets/check_eltyp.F
25!||--- called by ------------------------------------------------------
26!|| create_elt_clause ../starter/source/model/sets/create_element_clause.F
27!||--- calls -----------------------------------------------------
28!|| ancmsg ../starter/source/output/message/message.F
29!||--- uses -----------------------------------------------------
30!|| hm_option_read_mod ../starter/share/modules1/hm_option_read_mod.F
31!|| message_mod ../starter/share/message_module/message_mod.F
32!|| submodel_mod ../starter/share/modules1/submodel_mod.F
33!||====================================================================
34 SUBROUTINE check_eltyp(ELTYP,CLAUSE,OK)
35C-----------------------------------------------
36C ROUTINE DESCRIPTION :
37C ===================
38C For a SET of elements :
39C Check if the input deck has elements from this type.
40C If not : Warning Message + Negative answer.
41C------------------------------------------------------------------
42C DUMMY ARGUMENTS DESCRIPTION:
43C ===================
44C
45C NAME DESCRIPTION
46C
47C ELTYP type of Element from SET as defined in "radioss_maptavle.inc"
48C CLAUSE (SET structure) Clause to be treated
49C OK INTEGER : Elt found / Not found
50C-----------------------------------------------
51C M o d u l e s
52C-----------------------------------------------
53 USE setdef_mod
54 USE submodel_mod
55 USE message_mod
57C-----------------------------------------------
58C I m p l i c i t T y p e s
59C-----------------------------------------------
60#include "implicit_f.inc"
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64#include "com04_c.inc"
65#include "radioss_maptable.inc"
66C-----------------------------------------------
67C D u m m y A r g u m e n t s
68C-----------------------------------------------
69 INTEGER,INTENT(IN) :: ELTYP
70 TYPE (SET_),INTENT(INOUT) :: CLAUSE
71 INTEGER,INTENT(OUT) :: OK
72C-----------------------------------------------
73C L o c a l V a r i a b l e s
74C-----------------------------------------------
75 INTEGER NBELT
76 CHARACTER (LEN=50) :: EL_TITLE
77C-----------------------------------------------
78 nbelt = 0
79 SELECT CASE (eltyp)
80 CASE(elt_solid)
81 nbelt = numels
82 el_title='SOLID ELEMENTS'
83 CASE(elt_quad)
84 nbelt = numelq
85 el_title='QUAD ELEMENTS'
86 CASE(elt_sh4n)
87 nbelt = numelc
88 el_title='SHELL ELEMENTS'
89 CASE(elt_truss)
90 nbelt = numelt
91 el_title='TRUSS ELEMENTS'
92 CASE(elt_beam)
93 nbelt = numelp
94 el_title='BEAM ELEMENTS'
95 CASE(elt_spring)
96 nbelt = numelr
97 el_title='SPRING ELEMENTS'
98 CASE(elt_sh3n)
99 nbelt = numeltg
100 el_title='SH3N ELEMENTS'
101 CASE(elt_tria)
102 nbelt = numeltg
103 el_title='TRIA ELEMENTS'
104 END SELECT
105
106 IF(nbelt == 0)THEN
107 ok = 0
108 CALL ancmsg(msgid=2007,anmode=aninfo,
109 . msgtype=msgwarning,
110 . i1 = clause%SET_ID,
111 . c1=trim(clause%TITLE),
112 . c2=el_title)
113 ELSE
114 ok = 1
115 ENDIF
116 END
subroutine check_eltyp(eltyp, clause, ok)
Definition check_eltyp.F:35
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