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

Go to the source code of this file.

Functions/Subroutines

subroutine headings (inpc, textpart, istat, n, iline, ipol, inl, ipoinp, inp, ipoinpc, heading, istep, irstrt)
 

Function/Subroutine Documentation

◆ headings()

subroutine headings ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
integer  istat,
integer  n,
integer  iline,
integer  ipol,
integer  inl,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
integer, dimension(0:*)  ipoinpc,
character*66, dimension(*)  heading,
integer  istep,
integer  irstrt 
)
21 !
22 ! reading the input deck: *HEADING
23 !
24  implicit none
25 !
26  character*1 inpc(*)
27  character*66 heading(*)
28  character*132 textpart(16)
29  character*1320 text
30 !
31  integer istat,n,key,iline,ipol,inl,ipoinp(2,*),inp(3,*),
32  & ipoinpc(0:*),i,j,nentries,nheading,istep,irstrt
33 !
34  if((istep.gt.0).and.(irstrt.ge.0)) then
35  write(*,*) '*ERROR reading *HEADING: *HEADING should be placed'
36  write(*,*) ' before all step definitions'
37  call exit(201)
38  endif
39 !
40  do i=2,n
41  write(*,*)
42  & '*WARNING in headings: parameter not recognized:'
43  write(*,*) ' ',
44  & textpart(i)(1:index(textpart(i),' ')-1)
45  call inputwarning(inpc,ipoinpc,iline,
46  &"*HEADING%")
47  enddo
48 !
49  nheading=0
50  do
51 !
52 ! reading a new line
53 !
54  if(iline.eq.inp(2,inl)) then
55  if(inp(3,inl).eq.0) then
56  do
57  ipol=ipol+1
58  if(ipol.gt.nentries) then
59  istat=-1
60  return
61  elseif(ipoinp(1,ipol).ne.0) then
62  exit
63  endif
64  enddo
65  inl=ipoinp(1,ipol)
66  iline=inp(1,inl)
67  else
68  inl=inp(3,inl)
69  iline=inp(1,inl)
70  endif
71  else
72  iline=iline+1
73  endif
74  j=0
75  do i=ipoinpc(iline-1)+1,ipoinpc(iline)
76  j=j+1
77  text(j:j)=inpc(i)
78  enddo
79  text(j+1:j+1)=' '
80 !
81  istat=0
82  key=0
83 !
84 ! only free format is supported
85 !
86  if((text(1:1).eq.'*').and.(text(2:2).ne.'*')) then
87  key=1
88  endif
89 !
90  call splitline(text,textpart,n)
91  if((key.ne.0).or.(istat.lt.0)) exit
92 !
93  do i=j+2,66
94  text(i:i)=' '
95  enddo
96 !
97  nheading=nheading+1
98  heading(nheading)=text(1:66)
99  enddo
100 !
101  return
subroutine inputwarning(inpc, ipoinpc, iline, text)
Definition: inputwarning.f:20
Hosted by OpenAircraft.com, (Michigan UAV, LLC)