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

Go to the source code of this file.

Functions/Subroutines

subroutine specificheats (inpc, textpart, shcon, nshcon, nmat, ntmat_, irstrt, istep, istat, n, iline, ipol, inl, ipoinp, inp, ipoinpc)
 

Function/Subroutine Documentation

◆ specificheats()

subroutine specificheats ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
real*8, dimension(0:3,ntmat_,*)  shcon,
integer, dimension(*)  nshcon,
integer  nmat,
integer  ntmat_,
integer  irstrt,
integer  istep,
integer  istat,
integer  n,
integer  iline,
integer  ipol,
integer  inl,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
integer, dimension(0:*)  ipoinpc 
)
22 !
23 ! reading the input deck: *SPECIFIC HEAT
24 !
25  implicit none
26 !
27  character*1 inpc(*)
28  character*132 textpart(16)
29 !
30  integer nshcon(*),nmat,ntmat,ntmat_,istep,istat,n,ipoinpc(0:*),
31  & key,irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*),i
32 !
33  real*8 shcon(0:3,ntmat_,*)
34 !
35  ntmat=0
36 !
37  if((istep.gt.0).and.(irstrt.ge.0)) then
38  write(*,*) '*ERROR in specificheats: *SPECIFIC HEAT should be'
39  write(*,*) ' placed before all step definitions'
40  call exit(201)
41  endif
42 !
43  if(nmat.eq.0) then
44  write(*,*) '*ERROR in specificheats: *SPECIFIC HEAT should be'
45  write(*,*) ' preceded by a *MATERIAL card'
46  call exit(201)
47  endif
48 !
49  do i=2,n
50  write(*,*)
51  & '*WARNING in specificheats: parameter not recognized:'
52  write(*,*) ' ',
53  & textpart(i)(1:index(textpart(i),' ')-1)
54  call inputwarning(inpc,ipoinpc,iline,
55  &"*SPECIFIC HEAT%")
56  enddo
57 !
58  do
59  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
60  & ipoinp,inp,ipoinpc)
61  if((istat.lt.0).or.(key.eq.1)) return
62  ntmat=ntmat+1
63  nshcon(nmat)=ntmat
64  if(ntmat.gt.ntmat_) then
65  write(*,*) '*ERROR in specificheats: increase ntmat_'
66  call exit(201)
67  endif
68  read(textpart(1)(1:20),'(f20.0)',iostat=istat)
69  & shcon(1,ntmat,nmat)
70  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
71  &"*SPECIFIC HEAT%")
72  read(textpart(2)(1:20),'(f20.0)',iostat=istat)
73  & shcon(0,ntmat,nmat)
74  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
75  &"*SPECIFIC HEAT%")
76  enddo
77 !
78  return
subroutine inputwarning(inpc, ipoinpc, iline, text)
Definition: inputwarning.f:20
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
subroutine inputerror(inpc, ipoinpc, iline, text)
Definition: inputerror.f:20
Hosted by OpenAircraft.com, (Michigan UAV, LLC)