The TELEMAC-MASCARET system  trunk
dealmesh.f
Go to the documentation of this file.
1 ! *******************
2  SUBROUTINE dealmesh
3 ! *******************
4  &(mesh)
5 !
6 !***********************************************************************
7 ! BIEF V7P1
8 !***********************************************************************
9 !
10 !brief Deallocates a bief_mesh mesh structure.
11 !
12 !history Y. AUDOUIN (EDF LAB, LNHE)
13 !+ 23/05/2013
14 !+ V6P3
15 !+ First version.
16 !
17 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 !| MESH |<->| MESH STRUCTURE TO BE ALLOCATED
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !
21  USE bief, ex_dealmesh => dealmesh
22 !
25  IMPLICIT NONE
26 !
27 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
28 !
29  TYPE(bief_mesh) , INTENT(INOUT) :: MESH
30 !
31 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
32 !
33  DEALLOCATE(mesh%NDS)
34  CALL bief_deallobj(mesh%XEL)
35  DEALLOCATE(mesh%XEL)
36  CALL bief_deallobj(mesh%YEL)
37  DEALLOCATE(mesh%YEL)
38  CALL bief_deallobj(mesh%ZEL)
39  DEALLOCATE(mesh%ZEL)
40  CALL bief_deallobj(mesh%SURFAC)
41  DEALLOCATE(mesh%SURFAC)
42  CALL bief_deallobj(mesh%SURDET)
43  DEALLOCATE(mesh%SURDET)
44  CALL bief_deallobj(mesh%LGSEG)
45  DEALLOCATE(mesh%LGSEG)
46  CALL bief_deallobj(mesh%XSGBOR)
47  DEALLOCATE(mesh%XSGBOR)
48  CALL bief_deallobj(mesh%YSGBOR)
49  DEALLOCATE(mesh%YSGBOR)
50  CALL bief_deallobj(mesh%ZSGBOR)
51  DEALLOCATE(mesh%ZSGBOR)
52  CALL bief_deallobj(mesh%XNEBOR)
53  DEALLOCATE(mesh%XNEBOR)
54  CALL bief_deallobj(mesh%YNEBOR)
55  DEALLOCATE(mesh%YNEBOR)
56  CALL bief_deallobj(mesh%ZNEBOR)
57  DEALLOCATE(mesh%ZNEBOR)
58  CALL bief_deallobj(mesh%X)
59  DEALLOCATE(mesh%X)
60  mesh%X => null()
61  CALL bief_deallobj(mesh%Y)
62  DEALLOCATE(mesh%Y)
63  CALL bief_deallobj(mesh%Z)
64  DEALLOCATE(mesh%Z)
65  CALL bief_deallobj(mesh%COSLAT)
66  DEALLOCATE(mesh%COSLAT)
67  CALL bief_deallobj(mesh%SINLAT)
68  DEALLOCATE(mesh%SINLAT)
69  CALL bief_deallobj(mesh%DISBOR)
70  DEALLOCATE(mesh%DISBOR)
71  CALL bief_deallobj(mesh%M)
72  DEALLOCATE(mesh%M)
73  CALL bief_deallobj(mesh%MSEG)
74  DEALLOCATE(mesh%MSEG)
75  CALL bief_deallobj(mesh%W)
76  DEALLOCATE(mesh%W)
77  CALL bief_deallobj(mesh%T)
78  DEALLOCATE(mesh%T)
79  CALL bief_deallobj(mesh%VNOIN)
80  DEALLOCATE(mesh%VNOIN)
81  CALL bief_deallobj(mesh%CMI)
82  DEALLOCATE(mesh%CMI)
83  CALL bief_deallobj(mesh%AIRST)
84  DEALLOCATE(mesh%AIRST)
85  CALL bief_deallobj(mesh%DTHAUT)
86  DEALLOCATE(mesh%DTHAUT)
87  CALL bief_deallobj(mesh%DPX)
88  DEALLOCATE(mesh%DPX)
89  CALL bief_deallobj(mesh%DPY)
90  DEALLOCATE(mesh%DPY)
91  CALL bief_deallobj(mesh%COORDG)
92  DEALLOCATE(mesh%COORDG)
93  CALL bief_deallobj(mesh%XSEG)
94  DEALLOCATE(mesh%XSEG)
95  CALL bief_deallobj(mesh%YSEG)
96  DEALLOCATE(mesh%YSEG)
97  CALL bief_deallobj(mesh%IFAC)
98  DEALLOCATE(mesh%IFAC)
99  DEALLOCATE(mesh%NELEM)
100  DEALLOCATE(mesh%NELMAX)
101  DEALLOCATE(mesh%NPTFR)
102  DEALLOCATE(mesh%NPTFRX)
103  DEALLOCATE(mesh%NELEB)
104  DEALLOCATE(mesh%NELEBX)
105  DEALLOCATE(mesh%DIM1)
106  DEALLOCATE(mesh%TYPELM)
107  DEALLOCATE(mesh%TYPELMBND)
108  DEALLOCATE(mesh%NPOIN)
109  DEALLOCATE(mesh%NPMAX)
110  DEALLOCATE(mesh%MXPTVS)
111  DEALLOCATE(mesh%MXELVS)
112  DEALLOCATE(mesh%LV)
113  DEALLOCATE(mesh%NSEG)
114  CALL bief_deallobj(mesh%IKLE)
115  DEALLOCATE(mesh%IKLE)
116  CALL bief_deallobj(mesh%KLEI)
117  DEALLOCATE(mesh%KLEI)
118  CALL bief_deallobj(mesh%IFABOR)
119  DEALLOCATE(mesh%IFABOR)
120  CALL bief_deallobj(mesh%NELBOR)
121  DEALLOCATE(mesh%NELBOR)
122  CALL bief_deallobj(mesh%NULONE)
123  DEALLOCATE(mesh%NULONE)
124  CALL bief_deallobj(mesh%KP1BOR)
125  DEALLOCATE(mesh%KP1BOR)
126  CALL bief_deallobj(mesh%NBOR)
127  DEALLOCATE(mesh%NBOR)
128  CALL bief_deallobj(mesh%IKLBOR)
129  DEALLOCATE(mesh%IKLBOR)
130  CALL bief_deallobj(mesh%IKLEM1)
131  DEALLOCATE(mesh%IKLEM1)
132  CALL bief_deallobj(mesh%LIMVOI)
133  DEALLOCATE(mesh%LIMVOI)
134  CALL bief_deallobj(mesh%IFANUM)
135  DEALLOCATE(mesh%IFANUM)
136  CALL bief_deallobj(mesh%GLOSEG)
137  DEALLOCATE(mesh%GLOSEG)
138  CALL bief_deallobj(mesh%ELTSEG)
139  DEALLOCATE(mesh%ELTSEG)
140  CALL bief_deallobj(mesh%ORISEG)
141  DEALLOCATE(mesh%ORISEG)
142  CALL bief_deallobj(mesh%GLOSEGBOR)
143  DEALLOCATE(mesh%GLOSEGBOR)
144  CALL bief_deallobj(mesh%ELTSEGBOR)
145  DEALLOCATE(mesh%ELTSEGBOR)
146  CALL bief_deallobj(mesh%ORISEGBOR)
147  DEALLOCATE(mesh%ORISEGBOR)
148  CALL bief_deallobj(mesh%ELTCAR)
149  DEALLOCATE(mesh%ELTCAR)
150  CALL bief_deallobj(mesh%KNOLG)
151  DEALLOCATE(mesh%KNOLG)
152  CALL bief_deallobj(mesh%NACHB)
153  DEALLOCATE(mesh%NACHB)
154  CALL bief_deallobj(mesh%ISEG)
155  DEALLOCATE(mesh%ISEG)
156  CALL bief_deallobj(mesh%INDPU)
157  DEALLOCATE(mesh%INDPU)
158  CALL bief_deallobj(mesh%NHP)
159  DEALLOCATE(mesh%NHP)
160  CALL bief_deallobj(mesh%NHM)
161  DEALLOCATE(mesh%NHM)
162  CALL bief_deallobj(mesh%IFAPAR)
163  DEALLOCATE(mesh%IFAPAR)
164  DEALLOCATE(mesh%NB_NEIGHB)
165  DEALLOCATE(mesh%NB_NEIGHB_SEG)
166  CALL bief_deallobj(mesh%NB_NEIGHB_PT)
167  CALL bief_deallobj(mesh%LIST_SEND)
168  CALL bief_deallobj(mesh%NH_COM)
169  CALL bief_deallobj(mesh%NB_NEIGHB_PT_SEG)
170  CALL bief_deallobj(mesh%LIST_SEND_SEG)
171  CALL bief_deallobj(mesh%NH_COM_SEG)
172  IF(ncsize.GT.1) THEN
173  IF(ASSOCIATED(mesh%BUF_SEND%I)) THEN
174  DEALLOCATE(mesh%BUF_SEND%I)
175  DEALLOCATE(mesh%BUF_RECV%I)
176  IF(modass.EQ.2) THEN
177  DEALLOCATE(mesh%BUF_SENDI8)
178  DEALLOCATE(mesh%BUF_RECVI8)
179  ENDIF
180  ENDIF
181  ENDIF
182  CALL bief_deallobj(mesh%BUF_SEND)
183  CALL bief_deallobj(mesh%BUF_RECV)
184  IF (modass.EQ.3) THEN
185  CALL bief_deallobj(mesh%BUF_SEND_ERR)
186  CALL bief_deallobj(mesh%BUF_RECV_ERR)
187  ENDIF
188  IF(modass.EQ.2) THEN
189  IF(ASSOCIATED(mesh%WI8)) DEALLOCATE(mesh%WI8)
190  IF(ASSOCIATED(mesh%TI8)) DEALLOCATE(mesh%TI8)
191  ENDIF
192  DEALLOCATE(mesh%NB_NEIGHB_PT)
193  DEALLOCATE(mesh%LIST_SEND)
194  DEALLOCATE(mesh%NH_COM)
195  DEALLOCATE(mesh%NB_NEIGHB_PT_SEG)
196  DEALLOCATE(mesh%LIST_SEND_SEG)
197  DEALLOCATE(mesh%NH_COM_SEG)
198  DEALLOCATE(mesh%BUF_SEND)
199  DEALLOCATE(mesh%BUF_RECV)
200 !
201  CALL bief_deallobj(mesh%NUBO)
202  DEALLOCATE(mesh%NUBO)
203  CALL bief_deallobj(mesh%JMI)
204  DEALLOCATE(mesh%JMI)
205 !
206 !-----------------------------------------------------------------------
207 !
208  RETURN
209  END SUBROUTINE dealmesh
subroutine dealmesh(MESH)
Definition: dealmesh.f:6
subroutine bief_deallobj(OBJ)
Definition: bief_deallobj.f:7
Definition: bief.f:3