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

Go to the source code of this file.

Functions/Subroutines

subroutine surfaceinteractions (inpc, textpart, matname, nmat, nmat_, irstrt, istep, istat, n, iline, ipol, inl, ipoinp, inp, nrhcon, ipoinpc, imat)
 

Function/Subroutine Documentation

◆ surfaceinteractions()

subroutine surfaceinteractions ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
character*80, dimension(*)  matname,
integer  nmat,
integer  nmat_,
integer  irstrt,
integer  istep,
integer  istat,
integer  n,
integer  iline,
integer  ipol,
integer  inl,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
integer, dimension(*)  nrhcon,
integer, dimension(0:*)  ipoinpc,
integer  imat 
)
22 !
23 ! reading the input deck: *SURFACE INTERACTION
24 !
25  implicit none
26 !
27  character*1 inpc(*)
28  character*80 matname(*)
29  character*132 textpart(16)
30 !
31  integer nmat,nmat_,istep,istat,n,key,i,irstrt,iline,ipol,inl,
32  & ipoinp(2,*),inp(3,*),nrhcon(*),ipoinpc(0:*),imat
33 !
34  if((istep.gt.0).and.(irstrt.ge.0)) then
35  write(*,*) '*ERROR reading *SURFACE INTERACTION:'
36  write(*,*) ' *SURFACE INTERACTION should be placed'
37  write(*,*) ' before all step definitions'
38  call exit(201)
39  endif
40 !
41  nmat=nmat+1
42  if(nmat.gt.nmat_) then
43  write(*,*)
44  & '*ERROR reading *SURFACE INTERACTION: increase nmat_'
45  call exit(201)
46  endif
47  imat=nmat
48 !
49  do i=2,n
50  if(textpart(i)(1:5).eq.'NAME=') then
51  matname(nmat)=textpart(i)(6:85)
52  if(textpart(i)(86:86).ne.' ') then
53  write(*,*) '*ERROR reading *SURFACE INTERACTION:'
54  write(*,*) ' name too long'
55  write(*,*) ' (more than 80 characters)'
56  write(*,*) ' interaction name:',textpart(i)(1:132)
57  call exit(201)
58  endif
59  exit
60  else
61  write(*,*) '*WARNING reading *SURFACE INTERACTION:'
62  write(*,*) ' parameter not recognized:'
63  write(*,*) ' ',
64  & textpart(i)(1:index(textpart(i),' ')-1)
65  call inputwarning(inpc,ipoinpc,iline,
66  &"*SURFACE INTERACTION%")
67  endif
68  enddo
69 !
70 ! a fictitious nonzero number of density values is stored in nrhcon
71 ! for contact calculations in which all materials are required to
72 ! have a density assigned (e.g. dynamic calculations). This is needed
73 ! since a surface interaction is internally treated as material
74 !
75  nrhcon(nmat)=-1
76 !
77  call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
78  & ipoinp,inp,ipoinpc)
79 !
80  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
Hosted by OpenAircraft.com, (Michigan UAV, LLC)