30 character*1 typeboun(*),inpc(*)
32 character*20 labmpc(*),label
33 character*81 set(*),noset
34 character*132 textpart(16)
36 integer istartset(*),iendset(*),ialset(*),ipompc(*),
37 & nodempc(3,*),idirref,
38 & nset,nset_,nalset,nalset_,nmpc,nmpc_,mpcfree,nk,nk_,ikmpc(*),
39 & ilmpc(*),ipkon(*),kon(*),i,node,ipos,istep,istat,n,ne_,
40 & j,k,nodeboun(*),ndirboun(*),ikboun(*),ilboun(*),ipoinpc(0:*),
41 & nboun,nboun_,key,iperturb(2),istart,inode,m,iline,ipol,inl,
42 & ipoinp(2,*),inp(3,*)
44 real*8 coefmpc(3,*),co(3,*),xboun(*),ctrl(*)
50 &
'*ERROR reading *MPC: *MPC should be placed' 51 write(*,*)
' before all step definitions' 55 if(iperturb(1).eq.1)
then 56 write(*,*)
'*ERROR reading *MPC: the *MPC option' 57 write(*,*)
' cannot be used in a perturbation step' 63 &
'*WARNING reading *MPC: parameter not recognized:' 65 & textpart(i)(1:index(textpart(i),
' ')-1)
73 call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
75 if((istat.lt.0).or.(key.eq.1))
exit 78 label=textpart(1)(1:20)
85 read(textpart(i)(1:10),
'(i10)',iostat=istat) node
87 noset=textpart(i)(1:80)
92 if(noset.eq.set(j))
then 93 m=iendset(j)-istartset(j)+1
95 node=ialset(istartset(j)+k-1)
97 if(label(1:8).eq.
'STRAIGHT')
then 99 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
100 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
101 & nboun,nboun_,xboun,inode,node,co,
103 elseif(label(1:5).eq.
'PLANE')
then 104 call planempc(ipompc,nodempc,coefmpc,
105 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
106 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
107 & nboun,nboun_,xboun,inode,node,co,
109 elseif(label(1:4).eq.
'BEAM')
then 111 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
112 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
113 & nboun,nboun_,inode,node,co,
116 call usermpc(ipompc,nodempc,coefmpc,
117 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
118 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
119 & nboun,nboun_,inode,node,co,label,
120 & typeboun,iperturb,node,idirref,xboun)
128 write(*,*)
'*ERROR in nosets: node set ',
130 write(*,*)
' has not been defined yet' 139 if(label(1:8).eq.
'STRAIGHT')
then 141 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
142 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
143 & nboun,nboun_,xboun,inode,node,co,
145 elseif(label(1:5).eq.
'PLANE')
then 146 call planempc(ipompc,nodempc,coefmpc,
147 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
148 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
149 & nboun,nboun_,xboun,inode,node,co,typeboun)
150 elseif(label(1:4).eq.
'BEAM')
then 152 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
153 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
154 & nboun,nboun_,inode,node,co,typeboun)
156 call usermpc(ipompc,nodempc,coefmpc,
157 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
158 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
159 & nboun,nboun_,inode,node,co,label,
160 & typeboun,iperturb,node,idirref,xboun)
169 if((label(1:8).ne.
'STRAIGHT').and.(label(1:5).ne.
'PLANE').and.
170 & (label(1:4).ne.
'BEAM'))
173 call usermpc(ipompc,nodempc,coefmpc,
174 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
175 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
176 & nboun,nboun_,inode,node,co,label,typeboun,
177 & iperturb,node,idirref,xboun)
184 write(*,*)
'*INFO reading *MPC: nonlinear geometric' 185 write(*,*)
' effects are turned on' 187 if(iperturb(1).eq.0) iperturb(1)=2
subroutine beammpc(ipompc, nodempc, labmpc, nmpc, nmpc_, mpcfree, ikmpc, ilmpc, nk, nk_, nodeboun, ndirboun, ikboun, ilboun, nboun, nboun_, inode, node, co, typeboun)
Definition: beammpc.f:22
subroutine planempc(ipompc, nodempc, coefmpc, labmpc, nmpc, nmpc_, mpcfree, ikmpc, ilmpc, nk, nk_, nodeboun, ndirboun, ikboun, ilboun, nboun, nboun_, xboun, inode, node, co, typeboun)
Definition: planempc.f:22
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
subroutine straightmpc(ipompc, nodempc, coefmpc, labmpc, nmpc, nmpc_, mpcfree, ikmpc, ilmpc, nk, nk_, nodeboun, ndirboun, ikboun, ilboun, nboun, nboun_, xboun, inode, node, co, typeboun)
Definition: straightmpc.f:22
subroutine usermpc(ipompc, nodempc, coefmpc, labmpc, nmpc, nmpc_, mpcfree, ikmpc, ilmpc, nk, nk_, nodeboun, ndirboun, ikboun, ilboun, nboun, nboun_, nnodes, node, co, label, typeboun, iperturb, noderef, idirref, xboun)
Definition: usermpc.f:23