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

Go to the source code of this file.

Functions/Subroutines

subroutine conductivitys (inpc, textpart, cocon, ncocon, nmat, ntmat_, irstrt, istep, istat, n, iline, ipol, inl, ipoinp, inp, ipoinpc)
 

Function/Subroutine Documentation

◆ conductivitys()

subroutine conductivitys ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
real*8, dimension(0:6,ntmat_,*)  cocon,
integer, dimension(2,*)  ncocon,
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: *CONDUCTIVITY
24 !
25  implicit none
26 !
27  character*1 inpc(*)
28  character*132 textpart(16)
29 !
30  integer ncocon(2,*),nmat,ntmat,ntmat_,istep,istat,n,
31  & ipoinpc(0:*),
32  & i,ityp,key,irstrt,iline,ipol,inl,ipoinp(2,*),inp(3,*)
33 !
34  real*8 cocon(0:6,ntmat_,*)
35 !
36  ntmat=0
37 !
38  if((istep.gt.0).and.(irstrt.ge.0)) then
39  write(*,*) '*ERROR in conductivities: *CONDUCTIVITY should be'
40  write(*,*) ' placed before all step definitions'
41  call exit(201)
42  endif
43 !
44  if(nmat.eq.0) then
45  write(*,*)'*ERROR in conductivities: *CONDUCTIVITY should be'
46  write(*,*) ' preceded by a *MATERIAL card'
47  call exit(201)
48  endif
49 !
50  ityp=1
51 !
52  do i=2,n
53  if(textpart(i)(1:5).eq.'TYPE=') then
54  if(textpart(i)(6:8).eq.'ISO') then
55  ityp=1
56  elseif(textpart(i)(6:10).eq.'ORTHO') then
57  ityp=3
58  elseif(textpart(i)(6:10).eq.'ANISO') then
59  ityp=6
60  endif
61  else
62  write(*,*)
63  & '*WARNING in conductivities: parameter not recognized:'
64  write(*,*) ' ',
65  & textpart(i)(1:index(textpart(i),' ')-1)
66  call inputwarning(inpc,ipoinpc,iline,
67  &"*CONDUCTIVITY%")
68  endif
69  enddo
70 !
71  ncocon(1,nmat)=ityp
72 !
73  if(ityp.eq.1) then
74  do
75  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
76  & ipoinp,inp,ipoinpc)
77  if((istat.lt.0).or.(key.eq.1)) return
78  ntmat=ntmat+1
79  ncocon(2,nmat)=ntmat
80  if(ntmat.gt.ntmat_) then
81  write(*,*) '*ERROR in conductivities: increase ntmat_'
82  call exit(201)
83  endif
84  do i=1,1
85  read(textpart(i)(1:20),'(f20.0)',iostat=istat)
86  & cocon(i,ntmat,nmat)
87  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
88  &"*CONDUCTIVITY%")
89  enddo
90  read(textpart(2)(1:20),'(f20.0)',iostat=istat)
91  & cocon(0,ntmat,nmat)
92  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
93  &"*CONDUCTIVITY%")
94  enddo
95  elseif(ityp.eq.3) then
96  do
97  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
98  & ipoinp,inp,ipoinpc)
99  if((istat.lt.0).or.(key.eq.1)) return
100  ntmat=ntmat+1
101  ncocon(2,nmat)=ntmat
102  if(ntmat.gt.ntmat_) then
103  write(*,*) '*ERROR in conductivities: increase ntmat_'
104  call exit(201)
105  endif
106  do i=1,3
107  read(textpart(i)(1:20),'(f20.0)',iostat=istat)
108  & cocon(i,ntmat,nmat)
109  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
110  &"*CONDUCTIVITY%")
111  enddo
112  read(textpart(4)(1:20),'(f20.0)',iostat=istat)
113  & cocon(0,ntmat,nmat)
114  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
115  &"*CONDUCTIVITY%")
116  enddo
117  elseif(ityp.eq.6) then
118  do
119  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
120  & ipoinp,inp,ipoinpc)
121  if((istat.lt.0).or.(key.eq.1)) return
122  ntmat=ntmat+1
123  ncocon(2,nmat)=ntmat
124  if(ntmat.gt.ntmat_) then
125  write(*,*) '*ERROR in conductivities: increase ntmat_'
126  call exit(201)
127  endif
128  do i=1,6
129  read(textpart(i)(1:20),'(f20.0)',iostat=istat)
130  & cocon(i,ntmat,nmat)
131  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
132  &"*CONDUCTIVITY%")
133  enddo
134  read(textpart(7)(1:20),'(f20.0)',iostat=istat)
135  & cocon(0,ntmat,nmat)
136  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
137  &"*CONDUCTIVITY%")
138  enddo
139  endif
140 !
141  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)