OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
writeMesh.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
!||====================================================================
24
!|| writemesh ../starter/source/airbag/writeMesh.F
25
!||--- called by ------------------------------------------------------
26
!|| init_monvol ../starter/source/airbag/init_monvol.F
27
!||--- uses -----------------------------------------------------
28
!||====================================================================
29
SUBROUTINE
writemesh
(VOLID)
30
C-----------------------------------------------
31
C M o d u l e s
32
C-----------------------------------------------
33
USE
fvmbag_meshcontrol_mod
34
USE
inoutfile_mod
35
use
element_mod ,
only
: nixs
36
C-----------------------------------------------
37
C I m p l i c i t T y p e s
38
C-----------------------------------------------
39
#include "implicit_f.inc"
40
C-----------------------------------------------
41
C C o m m o n B l o c k s
42
C-----------------------------------------------
43
INTEGER
,
INTENT(IN)
:: VOLID
44
C-----------------------------------------------
45
C Local variable
46
C-----------------------------------------------
47
CHARACTER(LEN=1024)
:: FILENAME
48
CHARACTER(LEN = 100)
:: RAD_INTER, RAD_HEADER, RAD_BEGIN, RAD_END
49
INTEGER
:: II, N1, N2, N3, N4
50
51
INTEGER
:: LEN_TMP_NAME
52
CHARACTER(len=4096)
:: TMP_NAME
53
54
55
rad_header =
"#RADIOSS STARTER"
56
rad_inter =
"#---1----|----2----|----3----|----4----|----5----|----6----|----7----|----8----|----9----|---10----|"
57
rad_begin =
"/BEGIN"
58
rad_end =
"/END"
59
60
WRITE
(filename,
"(A6,I4.4,A4)"
)
"MONVOL"
,volid,
".inc"
61
62
tmp_name=
outfile_name
(1:
outfile_name_len
)//filename(1:len_trim(filename))
63
len_tmp_name =
outfile_name_len
+len_trim(filename)
64
OPEN
(unit=10,file=tmp_name(1:len_tmp_name),form=
'formatted'
)
65
66
WRITE
(10,
"(A100)"
) rad_inter
67
WRITE
(10,
"(A5)"
)
"/NODE"
68
WRITE
(10,
"(A100)"
) rad_inter
69
DO
ii =
nb_total_node_old
+ 1,
nb_total_node
70
WRITE
(10,
"(I10, 1PG20.13, 1PG20.13, 1PG20.13)"
)
itab_tmp
(ii),
71
. node_coord(1, ii), node_coord(2, ii), node_coord(3, ii)
72
ENDDO
73
C VOID MATERIAL
74
WRITE
(10,
"(A100)"
) rad_inter
75
WRITE
(10,
"(A11)"
)
"/MAT/VOID/1"
76
WRITE
(10,
"(A5)"
)
"tetra"
77
WRITE
(10,
"(A12)"
)
"/PROP/VOID/1"
78
WRITE
(10,
"(A5)"
)
"tetra"
79
WRITE
(10,
"(A7)"
)
"/PART/1"
80
WRITE
(10,
"(A5)"
)
"tetra"
81
WRITE
(10,
"(I10, I10)"
) 1, 1
82
WRITE
(10,
"(A14)"
)
"/GRBRIC/PART/1"
83
WRITE
(10,
"(A5)"
)
"tetra"
84
WRITE
(10,
"(I10)"
) 1
85
WRITE
(10,
"(A100)"
) rad_inter
86
C WRITE TETRAS
87
WRITE
(10,
"(A100)"
) rad_inter
88
WRITE
(10,
"(A9)"
)
"/TETRA4/1"
89
WRITE
(10,
"(A100)"
) rad_inter
90
DO
ii =
nb_total_solids_old
+ 1,
nb_total_solids
91
n1 =
ixs_temp
(nixs * (ii - 1) + 2)
92
n2 =
ixs_temp
(nixs * (ii - 1) + 4)
93
n3 =
ixs_temp
(nixs * (ii - 1) + 7)
94
n4 =
ixs_temp
(nixs * (ii - 1) + 9)
95
WRITE
(10, "(5i10)
") II, ITAB_TMP(N1), ITAB_TMP(N2), ITAB_TMP(N3), ITAB_TMP(N4)
96
ENDDO
97
C END OF FILE
98
WRITE(10, "
(a8)
") "
#enddata"
99
CLOSE
(10)
100
END SUBROUTINE
writemesh
fvmbag_meshcontrol_mod
Definition
fvmbag_meshcontrol_mod.F:46
fvmbag_meshcontrol_mod::nb_total_solids_old
integer nb_total_solids_old
Definition
fvmbag_meshcontrol_mod.F:51
fvmbag_meshcontrol_mod::ixs_temp
integer, dimension(:), allocatable ixs_temp
Definition
fvmbag_meshcontrol_mod.F:52
fvmbag_meshcontrol_mod::nb_total_node_old
integer nb_total_node_old
Definition
fvmbag_meshcontrol_mod.F:50
fvmbag_meshcontrol_mod::nb_total_node
integer nb_total_node
Definition
fvmbag_meshcontrol_mod.F:50
fvmbag_meshcontrol_mod::itab_tmp
integer, dimension(:), allocatable itab_tmp
Definition
fvmbag_meshcontrol_mod.F:56
fvmbag_meshcontrol_mod::nb_total_solids
integer nb_total_solids
Definition
fvmbag_meshcontrol_mod.F:51
inoutfile_mod
Definition
inoutfile_mod.F:96
inoutfile_mod::outfile_name
character(len=outfile_char_len) outfile_name
Definition
inoutfile_mod.F:111
inoutfile_mod::outfile_name_len
integer outfile_name_len
Definition
inoutfile_mod.F:109
writemesh
subroutine writemesh(volid)
Definition
writeMesh.F:30
starter
source
airbag
writeMesh.F
Generated by
1.15.0