CalculiX  2.13
A Free Software Three-Dimensional Structural Finite Element Program
keystart.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine keystart (ifreeinp, ipoinp, inp, name, iline, ikey)
 

Function/Subroutine Documentation

◆ keystart()

subroutine keystart ( integer  ifreeinp,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
character*20  name,
integer  iline,
integer  ikey 
)
20 !
21  implicit none
22 !
23 ! stores the order in which the input is to be read in fields
24 ! ipoinp and inp;
25 !
26 ! order:
27 ! 1) *RESTART,READ
28 ! 2) *NODE
29 ! 3) *USER ELEMENT
30 ! 4) *ELEMENT
31 ! 5) *NSET
32 ! 6) *ELSET
33 ! 7) *SURFACE
34 ! 8) *TRANSFORM
35 ! 9) *MATERIAL
36 ! 10) *ORIENTATION
37 ! 11) *TIE
38 ! 12) *SURFACE INTERACTION
39 ! 13) *INITIAL CONDITIONS
40 ! 14) *AMPLITUDE
41 ! 15) *CONTACT PAIR
42 ! 16) *COUPLING
43 ! 17) everything else
44 !
45  integer nentries
46  parameter(nentries=17)
47 !
48  character*20 name,nameref(nentries)
49 !
50  integer ifreeinp,ipoinp(2,*),inp(3,*),namelen(nentries),i,ikey,
51  & iline
52 !
53 ! order in which the cards have to be read
54 !
55  data nameref /'RESTART,READ','NODE','USERELEMENT','ELEMENT',
56  & 'NSET',
57  & 'ELSET','SURFACE','TRANSFORM','MATERIAL',
58  & 'ORIENTATION','TIE','SURFACEINTERACTION',
59  & 'INITIALCONDITIONS','AMPLITUDE',
60  & 'CONTACTPAIR','COUPLING','REST'/
61 !
62 ! length of the names in field nameref
63 !
64  data namelen /12,4,11,7,4,5,7,9,8,11,3,18,17,9,11,8,4/
65 !
66  do i=1,nentries
67  if(name(1:namelen(i)).eq.nameref(i)(1:namelen(i))) then
68  if(ikey.eq.i) return
69  if(ikey.gt.0) inp(2,ipoinp(2,ikey))=iline-1
70  ikey=i
71  if(ipoinp(1,i).eq.0) then
72  ipoinp(1,i)=ifreeinp
73  else
74  inp(3,ipoinp(2,i))=ifreeinp
75  endif
76  ipoinp(2,i)=ifreeinp
77  exit
78  endif
79  enddo
80  inp(1,ifreeinp)=iline
81  ifreeinp=ifreeinp+1
82 !
83  return
Hosted by OpenAircraft.com, (Michigan UAV, LLC)