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

Go to the source code of this file.

Functions/Subroutines

subroutine retainednodaldofss (inpc, textpart, set, istartset, iendset, ialset, nset, nodeboun, ndirboun, xboun, nboun, nboun_, nk, iamboun, nam, ipompc, nodempc, coefmpc, nmpc, nmpc_, mpcfree, inotr, trab, ikboun, ilboun, ikmpc, ilmpc, nk_, co, labmpc, typeboun, istat, n, iline, ipol, inl, ipoinp, inp, nmethod, iperturb, ipoinpc, vold, mi, istep)
 

Function/Subroutine Documentation

◆ retainednodaldofss()

subroutine retainednodaldofss ( character*1, dimension(*)  inpc,
character*132, dimension(16)  textpart,
character*81, dimension(*)  set,
integer, dimension(*)  istartset,
integer, dimension(*)  iendset,
integer, dimension(*)  ialset,
integer  nset,
integer, dimension(*)  nodeboun,
integer, dimension(*)  ndirboun,
real*8, dimension(*)  xboun,
integer  nboun,
integer  nboun_,
integer  nk,
integer, dimension(*)  iamboun,
integer  nam,
integer, dimension(*)  ipompc,
integer, dimension(3,*)  nodempc,
real*8, dimension(*)  coefmpc,
integer  nmpc,
integer  nmpc_,
integer  mpcfree,
integer, dimension(2,*)  inotr,
real*8, dimension(7,*)  trab,
integer, dimension(*)  ikboun,
integer, dimension(*)  ilboun,
integer, dimension(*)  ikmpc,
integer, dimension(*)  ilmpc,
integer  nk_,
real*8, dimension(3,*)  co,
character*20, dimension(*)  labmpc,
character*1, dimension(*)  typeboun,
integer  istat,
integer  n,
integer  iline,
integer  ipol,
integer  inl,
integer, dimension(2,*)  ipoinp,
integer, dimension(3,*)  inp,
integer  nmethod,
integer  iperturb,
integer, dimension(0:*)  ipoinpc,
real*8, dimension(0:mi(2),*)  vold,
integer, dimension(*)  mi,
integer  istep 
)
26 !
27 ! reading the input deck: *RETAINED NODAL DOFS
28 !
29  implicit none
30 !
31  logical fixed
32 !
33  character*1 typeboun(*),type,inpc(*)
34  character*20 labmpc(*),label
35  character*81 set(*),noset
36  character*132 textpart(16)
37 !
38  integer istartset(*),iendset(*),ialset(*),nodeboun(*),
39  & ndirboun(*),ntransl,istep,
40  & nset,nboun,nboun_,istat,n,i,j,k,l,ibounstart,ibounend,
41  & key,nk,iamboun(*),nam,iamplitude,ipompc(*),nodempc(3,*),
42  & nmpc,nmpc_,mpcfree,inotr(2,*),ikboun(*),ilboun(*),ikmpc(*),
43  & ilmpc(*),nk_,ipos,iline,ipol,inl,ipoinp(2,*),inp(3,*),
44  & nmethod,iperturb,ipoinpc(0:*),ktrue,mi(*)
45 !
46  real*8 xboun(*),bounval,coefmpc(*),trab(7,*),co(3,*),
47  & vold(0:mi(2),*)
48 !
49  iamplitude=0
50  ntransl=0
51  type='C'
52  fixed=.false.
53  label=' '
54 !
55  if(istep.lt.1) then
56  write(*,*) '*ERROR reading *RETAINED NODAL DOFS:'
57  write(*,*) ' *RETAINED NODAL DOFS can only be used'
58  write(*,*) ' within a STEP'
59  call exit(201)
60  endif
61 !
62  do i=2,n
63  if(textpart(i)(1:9).eq.'SORTED=NO') then
64  else
65  write(*,*)
66  &'*WARNING reading *RETAINED NODAL DOFS: parameter not recognized:'
67  write(*,*) ' ',
68  & textpart(i)(1:index(textpart(i),' ')-1)
69  call inputwarning(inpc,ipoinpc,iline,
70  &"*RETAINED NODAL DOFS%")
71  endif
72  enddo
73 !
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 !
79  read(textpart(2)(1:10),'(i10)',iostat=istat) ibounstart
80  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
81  &"*RETAINED NODAL DOFS%")
82 !
83  if(textpart(3)(1:1).eq.' ') then
84  ibounend=ibounstart
85  else
86  read(textpart(3)(1:10),'(i10)',iostat=istat) ibounend
87  if(istat.gt.0) call inputerror(inpc,ipoinpc,iline,
88  &"*RETAINED NODAL DOFS%")
89  endif
90 !
91  bounval=0.d0
92 !
93  read(textpart(1)(1:10),'(i10)',iostat=istat) l
94  if(istat.eq.0) then
95  if((l.gt.nk).or.(l.le.0)) then
96  write(*,*) '*ERROR reading *RETAINED NODAL DOFS:'
97  write(*,*) ' node ',l,' is not defined'
98  call exit(201)
99  endif
100  ktrue=l
101  call bounadd(l,ibounstart,ibounend,bounval,
102  & nodeboun,ndirboun,xboun,nboun,nboun_,
103  & iamboun,iamplitude,nam,ipompc,nodempc,
104  & coefmpc,nmpc,nmpc_,mpcfree,inotr,trab,
105  & ntransl,ikboun,ilboun,ikmpc,ilmpc,co,nk,nk_,labmpc,
106  & type,typeboun,nmethod,iperturb,fixed,vold,ktrue,mi,
107  & label)
108  else
109  read(textpart(1)(1:80),'(a80)',iostat=istat) noset
110  noset(81:81)=' '
111  ipos=index(noset,' ')
112  noset(ipos:ipos)='N'
113  do i=1,nset
114  if(set(i).eq.noset) exit
115  enddo
116  if(i.gt.nset) then
117  noset(ipos:ipos)=' '
118  write(*,*) '*ERROR reading *RETAINED NODAL DOFS:'
119  write(*,*) ' node set ',noset
120  write(*,*) ' has not yet been defined. '
121  call inputerror(inpc,ipoinpc,iline,
122  &"*RETAINED NODAL DOFS%")
123  call exit(201)
124  endif
125  do j=istartset(i),iendset(i)
126  if(ialset(j).gt.0) then
127  k=ialset(j)
128  ktrue=k
129  call bounadd(k,ibounstart,ibounend,bounval,
130  & nodeboun,ndirboun,xboun,nboun,nboun_,
131  & iamboun,iamplitude,nam,ipompc,nodempc,
132  & coefmpc,nmpc,nmpc_,mpcfree,inotr,trab,
133  & ntransl,ikboun,ilboun,ikmpc,ilmpc,co,nk,nk_,labmpc,
134  & type,typeboun,nmethod,iperturb,fixed,vold,ktrue,
135  & mi,label)
136  else
137  k=ialset(j-2)
138  do
139  k=k-ialset(j)
140  if(k.ge.ialset(j-1)) exit
141  ktrue=k
142  call bounadd(k,ibounstart,ibounend,bounval,
143  & nodeboun,ndirboun,xboun,nboun,nboun_,
144  & iamboun,iamplitude,nam,ipompc,nodempc,
145  & coefmpc,nmpc,nmpc_,mpcfree,inotr,trab,
146  & ntransl,ikboun,ilboun,ikmpc,ilmpc,co,nk,nk_,
147  & labmpc,type,typeboun,nmethod,iperturb,fixed,
148  & vold,ktrue,mi,label)
149  enddo
150  endif
151  enddo
152  endif
153  enddo
154 !
155  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 bounadd(node, is, ie, val, nodeboun, ndirboun, xboun, nboun, nboun_, iamboun, iamplitude, nam, ipompc, nodempc, coefmpc, nmpc, nmpc_, mpcfree, inotr, trab, ntrans, ikboun, ilboun, ikmpc, ilmpc, co, nk, nk_, labmpc, type, typeboun, nmethod, iperturb, fixed, vold, nodetrue, mi, label)
Definition: bounadd.f:24
subroutine inputerror(inpc, ipoinpc, iline, text)
Definition: inputerror.f:20
Hosted by OpenAircraft.com, (Michigan UAV, LLC)