35       character*132 textpart(16)
    36       character*81 objectset(4,*)
    38       integer istep,istat,n,key,i,iline,ipol,inl,ipoinp(2,*),
    39      &  inp(3,*),ipoinpc(0:*),nener,nobject,k,ipos
    48          write(*,*) 
'*ERROR reading *OBJECTIVE: *OBJECTIVE can    49      &only be used within a SENSITIVITY STEP'         57          if(textpart(i)(1:7).eq.
'FILTER=') 
then    58             read(textpart(i)(8:27),
'(a20)') 
filter    62          elseif(textpart(i)(1:7).eq.
'RADIUS=') 
then    63            radius=textpart(i)(8:27)
    67          elseif(textpart(i)(1:11).eq.
'TRANSITION=') 
then    71      &        
'*WARNING reading *OBJECTIVE: parameter not recognized:'    73      &                 textpart(i)(1:index(textpart(i),
' ')-1)
    81       call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
    85          if(textpart(1)(1:12).eq.
'DISPLACEMENT') 
then    87             objectset(1,nobject)(1:12)=
'DISPLACEMENT'    89                objectset(1,nobject)(k:k)=
' '    92                read(textpart(2)(1:80),
'(a80)',iostat=istat) 
    93      &              objectset(3,nobject)(1:80) 
    94                objectset(3,nobject)(81:81)=
' '    95                ipos=index(objectset(3,nobject),
' ')
    96                if(ipos.ne.1) objectset(3,nobject)(ipos:ipos)=
'N'    98          elseif(textpart(1)(1:14).eq.
'EIGENFREQUENCY') 
then   100             objectset(1,nobject)(1:14)=
'EIGENFREQUENCY'   102                objectset(1,nobject)(k:k)=
' '   104          elseif(textpart(1)(1:5).eq.
'GREEN') 
then   106             objectset(1,nobject)(1:5)=
'GREEN'   108                objectset(1,nobject)(k:k)=
' '   110          elseif(textpart(1)(1:4).eq.
'MASS') 
then   112             objectset(1,nobject)(1:4)=
'MASS'   114                objectset(1,nobject)(k:k)=
' '   117                read(textpart(2)(1:80),
'(a80)',iostat=istat) 
   118      &              objectset(3,nobject)(1:80) 
   119                objectset(3,nobject)(81:81)=
' '   120                ipos=index(objectset(3,nobject),
' ')
   121                if(ipos.ne.1) objectset(3,nobject)(ipos:ipos)=
'E'   123          elseif(textpart(1)(1:11).eq.
'SHAPEENERGY') 
then   125             objectset(1,nobject)(1:11)=
'SHAPEENERGY'   127                objectset(1,nobject)(k:k)=
' '   130                read(textpart(2)(1:80),
'(a80)',iostat=istat) 
   131      &              objectset(3,nobject)(1:80) 
   132                objectset(3,nobject)(81:81)=
' '   133                ipos=index(objectset(3,nobject),
' ')
   134                if(ipos.ne.1) objectset(3,nobject)(ipos:ipos)=
'E'   137          elseif(textpart(1)(1:6).eq.
'STRESS') 
then   139             objectset(1,nobject)(1:6)=
'STRESS'   141                objectset(1,nobject)(k:k)=
' '   144                read(textpart(2)(1:80),
'(a80)',iostat=istat) 
   145      &              objectset(3,nobject)(1:80) 
   146                objectset(3,nobject)(81:81)=
' '   147                ipos=index(objectset(3,nobject),
' ')
   148                if(ipos.ne.1) objectset(3,nobject)(ipos:ipos)=
'N'   154                read(textpart(3)(1:20),
'(f20.0)',iostat=istat) rho
   155                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   158                   write(*,*) 
'*ERROR reading *OBJECTIVE'   159                   write(*,*) 
'       first Kreisselmeier-Steinhauser'   160                   write(*,*) 
'       parameter rho cannot be less'   165                objectset(2,nobject)(41:60)=textpart(3)(1:20)
   171                read(textpart(4)(1:20),
'(f20.0)',iostat=istat) stress
   172                if(istat.gt.0) 
call inputerror(inpc,ipoinpc,iline,
   174                if(stress.le.0.d0) 
then   175                   write(*,*) 
'*ERROR reading *OBJECTIVE'   176                   write(*,*) 
'       the target stress in the'   177                   write(*,*) 
'       Kreisselmeier-Steinhauser function'   178                   write(*,*) 
'       must be strictly positive'   182                objectset(2,nobject)(61:80)=textpart(4)(1:20)
   185             write(*,*) 
'*ERROR reading *OBJECTIVE'   186             write(*,*) 
'       objective function not known'   194          objectset(2,nobject)(1:20)=
filter   195          objectset(2,nobject)(21:40)=radius
   198          call getnewline(inpc,textpart,istat,n,key,iline,ipol,inl,
   199      &        ipoinp,inp,ipoinpc)
   200          if((istat.lt.0).or.(key.eq.1)) 
exit 
subroutine filter(dgdxglob, nobject, nk, nodedesi, ndesi, objectset, xo, yo, zo, x, y, z, nx, ny, nz, neighbor, r, ndesia, ndesib)
Definition: filter.f:22
 
subroutine getnewline(inpc, textpart, istat, n, key, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: getnewline.f:21
 
subroutine transition(dgdxglob, nobject, nk, nodedesi, ndesi, objectset, xo, yo, zo, x, y, z, nx, ny, nz, co, ifree, ndesia, ndesib)
Definition: transition.f:22