1 SUBROUTINE ga_niche(myid)
10 USE mpi_params,
ONLY: master
12 REAL(rprec) :: alpha, del, del2, sigshar, SUMshar, share
13 INTEGER :: nniche, jj, ii, j, k, myid
39 nniche=nniche+nichflg(jj)
42 IF (myid .eq. master)
THEN
44 WRITE(iunit_ga_out,1900)
54 IF (nichflg(k).ne.0)
THEN
55 del2=del2+((parent(k,j)-parent(k,ii))/pardel(k))**2
59 IF (del.lt.sigshar)
THEN
65 sumshar=sumshar+share/npopsiz
67 IF (sumshar.ne.0.0_dp) fitness(ii)=fitness(ii)/sumshar
70 1900
FORMAT(1x,
'ERROR: iniche=1 and ALL values in nichflg array = 0'/
71 1 1x,
' Do you want to niche or not?')
73 END SUBROUTINE ga_niche