33 character*1 type,typeboun(*)
34 character*20 labmpc(*),label
36 integer ipompc(*),nodempc(3,*),nmpc,nmpc_,mpcfree,mi(*),
37 & ikmpc(*),ilmpc(*),i,j,idir,nk,newnode,idof,id,mpcfreenew,
38 & ithermal(*),jstart,jend,nodeboun(*),ndirboun(*),ikboun(*),
39 & ilboun(*),nboun,nboun_,jact,knor(*),ntrans,inotr(2,*),
40 & nnodes,nodeact,nmethod,nk_,k,iperturb(2),nam,indexk,
41 & iamplitude,idirref,iamboun(*)
43 real*8 coefmpc(*),xboun(*),xta(3,100),co(3,*),trab(7,*),
52 if(ithermal(2).le.1)
then 55 elseif(ithermal(2).eq.2)
then 64 idof=8*(newnode-1)+idir
65 call nident(ikmpc,idof,nmpc,id)
66 if((id.le.0).or.(ikmpc(id).ne.idof))
then 68 if(nmpc.gt.nmpc_)
then 70 &
'*ERROR in gen3dtruss: increase nmpc_' 81 nodempc(1,mpcfree)=newnode
82 nodempc(2,mpcfree)=idir
84 mpcfree=nodempc(3,mpcfree)
87 &
'*ERROR in gen3dtruss: increase memmpc_' 91 nodempc(1,mpcfree)=nk-8+k
92 nodempc(2,mpcfree)=idir
94 mpcfree=nodempc(3,mpcfree)
97 &
'*ERROR in gen3dtruss: increase memmpc_' 102 nodempc(2,mpcfree)=idir
103 coefmpc(mpcfree)=-4.d0
104 mpcfreenew=nodempc(3,mpcfree)
105 if(mpcfreenew.eq.0)
then 107 &
'*ERROR in gen3dtruss: increase memmpc_' 126 nodeact=knor(indexk+j)
129 call usermpc(ipompc,nodempc,coefmpc,
130 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
131 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
132 & nboun,nboun_,nnodes,nodeact,co,label,
133 & typeboun,iperturb,i,idirref,xboun)
141 co(k,nodeact)=xta(k,jact)
144 call usermpc(ipompc,nodempc,coefmpc,
145 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
146 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
147 & nboun,nboun_,nnodes,nodeact,co,label,
148 & typeboun,iperturb,i,idirref,xboun)
153 call usermpc(ipompc,nodempc,coefmpc,
154 & labmpc,nmpc,nmpc_,mpcfree,ikmpc,ilmpc,
155 & nk,nk_,nodeboun,ndirboun,ikboun,ilboun,
156 & nboun,nboun_,nnodes,nodeact,co,label,
157 & typeboun,iperturb,i,idirref,xboun)
163 if(nodeact.ne.-1)
then 169 call bounadd(nk,idir,idir,val,nodeboun,
170 & ndirboun,xboun,nboun,nboun_,iamboun,
171 & iamplitude,nam,ipompc,nodempc,coefmpc,
172 & nmpc,nmpc_,mpcfree,inotr,trab,ntrans,
173 & ikboun,ilboun,ikmpc,ilmpc,co,nk,nk_,labmpc,
174 &
type,typeboun,nmethod,iperturb,fixed,vold,
subroutine nident(x, px, n, id)
Definition: nident.f:26
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
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