subroutine no_optimisation()
use constants, only: mfile, nout
use numerics, only: neqns, nineqns, ipeqns, icc, lablcc, rcm, norm_objf
use process_output, only: int_to_string3, ovarre, ocmmnt, oblnkl, osubhd, &
oheadr
use constraints, only: constraint_eqns
use function_evaluator, only: funfom
implicit none
integer :: inn
real(dp), dimension(ipeqns) :: con1, con2, err
character(len=1), dimension(ipeqns) :: sym
character(len=10), dimension(ipeqns) :: lab
call oheadr(nout,'Numerics')
call ocmmnt(nout,'PROCESS has performed a run witout optimisation.')
call oblnkl(nout)
! Evaluate objective function
call funfom(norm_objf)
call ovarre(mfile,'Normalised objective function','(norm_objf)',norm_objf)
! Print the residuals of the constraint equations
call constraint_eqns(neqns+nineqns,-1,con1,con2,err,sym,lab)
write(nout,120)
120 format(t48,'physical',t73,'constraint',t100,'normalised')
write(nout,130)
130 format(t47,'constraint',t74,'residue',t101,'residue')
call oblnkl(nout)
do inn = 1,neqns
write(nout,140) inn,lablcc(icc(inn)),sym(inn),con2(inn), &
lab(inn),err(inn),lab(inn),con1(inn)
call ovarre(mfile,lablcc(icc(inn))//' normalised residue', &
'(eq_con'//int_to_string3(icc(inn))//')',con1(inn))
end do
140 format(t2,i4,t8,a33,t46,a1,t47,1pe12.4,t60,a10,t71,1pe12.4,t84,a10,t98,1pe12.4)
if (nineqns > 0) then
call osubhd(nout, &
'The following inequality constraint residues should be greater than or approximately equal to zero :')
do inn = neqns+1,neqns+nineqns
write(nout,140) inn,lablcc(icc(inn)),sym(inn),con2(inn), &
lab(inn), err(inn), lab(inn)
call ovarre(mfile,lablcc(icc(inn)),'(ineq_con'//int_to_string3(icc(inn))//')',con1(inn))
end do
end if
end subroutine no_optimisation