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

Go to the source code of this file.

Functions/Subroutines

subroutine nodalthicknesss (inpc, textpart, set, istartset, iendset, ialset, nset, thickn, nk, istep, istat, n, iline, ipol, inl, ipoinp, inp, iaxial, ipoinpc)
 

Function/Subroutine Documentation

◆ nodalthicknesss()

subroutine nodalthicknesss ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
character*81, dimension(*)  set,
integer, dimension(*)  istartset,
integer, dimension(*)  iendset,
integer, dimension(*)  ialset,
integer  nset,
real*8, dimension(2,*)  thickn,
integer  nk,
integer  istep,
integer  istat,
integer  n,
integer  iline,
integer  ipol,
integer  inl,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
integer  iaxial,
integer, dimension(0:*)  ipoinpc 
)
22 !
23 ! reading the input deck: *NODAL THICKNESS
24 !
25  implicit none
26 !
27  character*1 inpc(*)
28  character*81 set(*),noset
29  character*132 textpart(16)
30 !
31  integer istartset(*),iendset(*),ialset(*),nset,nk,istep,istat,n,
32  & key,i,j,k,l,ipos,iline,ipol,inl,ipoinp(2,*),inp(3,*),iaxial,
33  & ipoinpc(0:*)
34 !
35  real*8 thickn(2,*),thickness1,thickness2
36 !
37  if(istep.gt.0) then
38  write(*,*) '*ERROR in nodalthicknesses: *NODAL THICKNESS'
39  write(*,*) ' should be placed before all step definitions'
40  call exit(201)
41  endif
42 !
43  do i=2,n
44  write(*,*)
45  & '*WARNING in nodalthicknesses: parameter not recognized:'
46  write(*,*) ' ',
47  & textpart(i)(1:index(textpart(i),' ')-1)
48  call inputwarning(inpc,ipoinpc,iline,
49  &"*NODAL THICKNESS%")
50  enddo
51 !
52  do
53  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
54  & ipoinp,inp,ipoinpc)
55  if((istat.lt.0).or.(key.eq.1)) return
56  read(textpart(2)(1:20),'(f20.0)',iostat=istat) thickness1
57  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
58  &"*NODAL THICKNESS%")
59  if(iaxial.eq.180) thickness1=thickness1/iaxial
60  if(n.eq.2) then
61  thickness2=0.d0
62  else
63  read(textpart(2)(1:20),'(f20.0)',iostat=istat) thickness2
64  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
65  &"*NODAL THICKNESS%")
66  endif
67  read(textpart(1)(1:10),'(i10)',iostat=istat) l
68  if(istat.eq.0) then
69  thickn(1,l)=thickness1
70  thickn(2,l)=thickness2
71  else
72  read(textpart(1)(1:80),'(a80)',iostat=istat) noset
73  noset(81:81)=' '
74  ipos=index(noset,' ')
75  noset(ipos:ipos)='N'
76  do i=1,nset
77  if(set(i).eq.noset) exit
78  enddo
79  if(i.gt.nset) then
80  noset(ipos:ipos)=' '
81  write(*,*) '*ERROR in nodalthicknesses: node set ',noset
82  write(*,*) ' has not yet been defined. '
83  call inputerror(inpc,ipoinpc,iline,
84  &"*NODAL THICKNESS%")
85  call exit(201)
86  endif
87  do j=istartset(i),iendset(i)
88  if(ialset(j).gt.0) then
89  thickn(1,ialset(j))=thickness1
90  thickn(2,ialset(j))=thickness2
91  else
92  k=ialset(j-2)
93  do
94  k=k-ialset(j)
95  if(k.ge.ialset(j-1)) exit
96  thickn(1,k)=thickness1
97  thickn(2,k)=thickness2
98  enddo
99  endif
100  enddo
101  endif
102  enddo
103 !
104  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)