1!
2!     CalculiX - A 3-dimensional finite element program
3!     Copyright (C) 1998-2021 Guido Dhondt
4!
5!     This program is free software; you can redistribute it and/or
6!     modify it under the terms of the GNU General Public License as
7!     published by the Free Software Foundation(version 2);
8!
9!
10!     This program is distributed in the hope that it will be useful,
11!     but WITHOUT ANY WARRANTY; without even the implied warranty of
12!     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13!     GNU General Public License for more details.
14!
15!     You should have received a copy of the GNU General Public License
16!     along with this program; if not, write to the Free Software
17!     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18!
19      subroutine skip(nset,nalset,nload,nbody,
20     &     nforc,nboun,nk,ne,nkon,
21     &     mi,nmpc,mpcend,nmat,ntmat_,npmat_,ncmat_,norien,ntrans,nam,
22     &     nprint,nlabel,ncs_,ne1d,ne2d,infree,nmethod,
23     &     iperturb,nener,ithermal,nstate_,iprestr,mcs,ntie,
24     &     nslavs,nprop,mortar,ifacecount,nintpoint,nef,nheading_)
25!
26      implicit none
27!
28      integer nset,nalset,nload,nforc,nboun,nk,ne,nkon,mi(*),
29     &     nmpc,mpcend,nmat,ntmat_,npmat_,ncmat_,norien,ntrans,nam,
30     &     nprint,nlabel,ncs_,ne1d,ne2d,infree(4),i,mt,nprop,mortar,
31     &     nmethod,iperturb(*),nener,ithermal(*),nstate_,iprestr,i4,
32     &     maxamta,mcs,ntie,nbody,nslavs,nintpoint,ifacecount,nef,
33     &     nheading_
34!
35      character*1 c1
36      character*3 c3
37      character*6 c6
38      character*8 c8
39      character*20 c20
40      character*66 c66
41      character*80 c80
42      character*81 c81
43      character*87 c87
44!
45      real*8 r8
46!
47      mt=mi(2)+1
48!
49!     skipping the next entries
50!
51!
52!     sets
53!
54      read(15)(c81,i=1,nset)
55      read(15)(i4,i=1,nset)
56      read(15)(i4,i=1,nset)
57      do i=1,nalset
58        read(15)i4
59      enddo
60!
61!     header lines
62!
63      read(15)(c66,i=1,nheading_)
64!
65!     mesh
66!
67      read(15)(r8,i=1,3*nk)
68      read(15)(i4,i=1,nkon)
69      read(15)(i4,i=1,ne)
70      read(15)(c8,i=1,ne)
71!
72!     single point constraints
73!
74      read(15)(i4,i=1,nboun)
75      read(15)(i4,i=1,nboun)
76      read(15)(c1,i=1,nboun)
77      read(15)(r8,i=1,nboun)
78      read(15)(i4,i=1,nboun)
79      read(15)(i4,i=1,nboun)
80      if(nam.gt.0) read(15)(i4,i=1,nboun)
81      read(15)(i4,i=1,nboun)
82      read(15)(i4,i=1,nboun)
83      read(15)(r8,i=1,nboun)
84!
85!     multiple point constraints
86!
87      read(15)(i4,i=1,nmpc)
88      read(15)(c20,i=1,nmpc)
89      read(15)(i4,i=1,nmpc)
90      read(15)(i4,i=1,nmpc)
91      read(15)(r8,i=1,nmpc)
92      read(15)(i4,i=1,3*mpcend)
93      read(15)(r8,i=1,mpcend)
94!
95!     point forces
96!
97      read(15)(i4,i=1,2*nforc)
98      read(15)(i4,i=1,nforc)
99      read(15)(r8,i=1,nforc)
100      read(15)(i4,i=1,nforc)
101      read(15)(i4,i=1,nforc)
102      if(nam.gt.0) read(15)(i4,i=1,nforc)
103      read(15)(r8,i=1,nforc)
104!
105!     distributed loads
106!
107      read(15)(i4,i=1,2*nload)
108      read(15)(c20,i=1,nload)
109      read(15)(r8,i=1,2*nload)
110      if(nam.gt.0) read(15)(i4,i=1,2*nload)
111      read(15)(r8,i=1,2*nload)
112      read(15)(c81,i=1,nbody)
113      read(15)(i4,i=1,3*nbody)
114      read(15)(r8,i=1,7*nbody)
115      read(15)(r8,i=1,7*nbody)
116!
117!     prestress
118!
119      if(iprestr.gt.0) read(15) (r8,i=1,6*mi(1)*ne)
120!
121!     labels
122!
123      read(15)(c6,i=1,nprint)
124      read(15)(c81,i=1,nprint)
125      read(15)(c87,i=1,nlabel)
126!
127!     elastic constants
128!
129      read(15)(r8,i=1,(ncmat_+1)*ntmat_*nmat)
130      read(15)(i4,i=1,2*nmat)
131!
132!     density
133!
134      read(15)(r8,i=1,2*ntmat_*nmat)
135      read(15)(i4,i=1,nmat)
136!
137!     specific heat
138!
139      read(15)(r8,i=1,4*ntmat_*nmat)
140      read(15)(i4,i=1,nmat)
141!
142!     conductivity
143!
144      read(15)(r8,i=1,7*ntmat_*nmat)
145      read(15)(i4,i=1,2*nmat)
146!
147!     expansion coefficients
148!
149      read(15)(r8,i=1,7*ntmat_*nmat)
150      read(15)(i4,i=1,2*nmat)
151      read(15)(r8,i=1,nmat)
152!
153!     physical constants
154!
155      read(15)(r8,i=1,10)
156!
157!     plastic data
158!
159      if(npmat_.ne.0)then
160        read(15)(r8,i=1,(2*npmat_+1)*ntmat_*nmat)
161        read(15)(i4,i=1,(ntmat_+1)*nmat)
162        read(15)(r8,i=1,(2*npmat_+1)*ntmat_*nmat)
163        read(15)(i4,i=1,(ntmat_+1)*nmat)
164      endif
165!
166!     material orientation
167!
168      if(norien.ne.0)then
169        read(15)(c80,i=1,norien)
170        read(15)(r8,i=1,7*norien)
171        read(15)(i4,i=1,mi(3)*ne)
172      endif
173!
174!     fluid section properties
175!
176      if(nprop.ne.0) then
177        read(15)(i4,i=1,ne)
178        read(15)(r8,i=1,nprop)
179      endif
180!
181!     transformations
182!
183      if(ntrans.ne.0)then
184        read(15)(r8,i=1,7*ntrans)
185        read(15)(i4,i=1,2*nk)
186      endif
187!
188!     amplitudes
189!
190      if(nam.gt.0)then
191        read(15)(c80,i=1,nam)
192        read(15)(i4,i=1,3*nam-1)
193        maxamta=2*i4
194        read(15)i4
195        read(15)(r8,i=1,maxamta)
196      endif
197!
198!     temperatures
199!
200      if(ithermal(1).gt.0)then
201        read(15)(r8,i=1,nk)
202        read(15)(r8,i=1,nk)
203        if((ne1d.gt.0).or.(ne2d.gt.0))then
204          read(15)(r8,i=1,2*nk)
205          read(15)(r8,i=1,2*nk)
206        endif
207        if(nam.gt.0) read(15)(i4,i=1,nk)
208        read(15)(r8,i=1,nk)
209      endif
210!
211!     materials
212!
213      read(15)(c80,i=1,nmat)
214      read(15)(i4,i=1,mi(3)*ne)
215!
216!     temperature, displacement, static pressure, velocity and acceleration
217!
218      read(15)(r8,i=1,mt*nk)
219      if((nmethod.eq.4).or.((nmethod.eq.1).and.(iperturb(1).ge.2)))
220     &     then
221        read(15)(r8,i=1,mt*nk)
222      endif
223!
224!     CFD results at the element centers
225!
226      if(nef.gt.0) then
227        read(15)(r8,i=1,8*nef)
228        read(15)(r8,i=1,8*nef)
229        read(15)(r8,i=1,8*nef)
230      endif
231!
232!     1d and 2d elements
233!
234      if((ne1d.gt.0).or.(ne2d.gt.0))then
235        read(15)(i4,i=1,2*nkon)
236        read(15)(r8,i=1,infree(1))
237        read(15)(i4,i=1,infree(2))
238        read(15)(r8,i=1,mi(3)*nkon)
239        read(15)(r8,i=1,2*ne)
240        read(15)(i4,i=1,infree(4))
241        read(15)(i4,i=1,3*(infree(3)-1))
242        read(15)(i4,i=1,infree(4))
243        read(15)(i4,i=1,2*infree(4))
244      endif
245!
246!     tie constraints
247!
248      if(ntie.gt.0) then
249        read(15)(c81,i=1,3*ntie)
250        read(15)(r8,i=1,3*ntie)
251      endif
252!
253!     cyclic symmetry
254!
255      if(ncs_.gt.0)then
256        read(15)(i4,i=1,ncs_)
257      endif
258      if(mcs.gt.0) then
259        read(15)(r8,i=1,17*mcs)
260      endif
261!
262!     integration point variables
263!
264      read(15)(r8,i=1,6*mi(1)*ne)
265      read(15)(r8,i=1,6*mi(1)*ne)
266      if(nener.eq.1) read(15)(r8,i=1,mi(1)*ne)
267      if(nstate_.gt.0) then
268        if(mortar.eq.0) then
269          read(15)(r8,i=1,nstate_*mi(1)*(ne+nslavs))
270        elseif(mortar.eq.1) then
271          read(15)(r8,i=1,nstate_*mi(1)*(ne+nintpoint))
272        endif
273      endif
274!
275!     face-to-face penalty contact variables
276!
277      if(mortar.eq.1) then
278        read(15) (i4,i=1,2*ifacecount+2)
279        read(15) (r8,i=1,3*nintpoint)
280        read(15) (r8,i=1,3*9*ifacecount)
281      endif
282!
283!     control parameters
284!
285      read(15) (r8,i=1,52)
286      read(15) (r8,i=1,2)
287      read(15) c3
288      read(15) r8
289!
290!     restart parameters
291!
292      read(15) (i4,i=1,2)
293!
294      return
295      end
296