Elmer FEM solver Elmer is an open source finite element software for multiphysical problems
FindOptimum.src File Reference

## Functions/Subroutines

subroutine findoptimum (Model, Solver, dt, TransientSimulation)

real(kind=dp) function,
dimension(n)
rnd (n)

INTEGER function idx (n)

subroutine geneticoptimize (parsize, parameters, func)

subroutine randomparameter ()

subroutine scanparameter ()

subroutine bisectoptimize ()

subroutine secantsearch ()

subroutine simplexoptimize (nx, x, cost, minx, maxx, diffx)

subroutine guessoptimum ()

## Function/Subroutine Documentation

 subroutine findoptimum::bisectoptimize ( )

Choose next parameter set from 1D bisection search.

References messages::fatal(), messages::info(), lists::listgetconstreal(), and solver().

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine findoptimum::geneticoptimize ( integer parsize, real (kind=dp), dimension(parsize) parameters, real (kind=dp) func )

Choose next parameter set from genetic optimization procedure.

References idx(), lists::listgetconstreal(), lists::listgetinteger(), rnd(), and solver().

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine findoptimum::guessoptimum ( )

This subroutine may be used to continue the optimization from the previous best value.

References lists::listgetstring(), solver(), and messages::warn().

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function:

 INTEGER function findoptimum::idx ( integer, intent(in) n)

Referenced by geneticoptimize(), generalutils::searchi(), and generalutils::searchr().

Here is the caller graph for this function:

 subroutine findoptimum::randomparameter ( )

Choose next parameter set from even random distribution.

Referenced by findoptimum().

Here is the caller graph for this function:

 real(kind=dp) function, dimension(n) findoptimum::rnd ( integer, intent(in) n)

Referenced by geneticoptimize().

Here is the caller graph for this function:

 subroutine findoptimum::scanparameter ( )

Choose next parameter from 1D parameter scanning.

References messages::fatal(), and messages::info().

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine findoptimum::secantsearch ( )

Choose next parameter set from secant method This only works for design problems where the target cost is known.

References messages::fatal(), messages::info(), lists::listgetconstreal(), and solver().

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function:

 subroutine findoptimum::simplexoptimize ( integer nx, real (kind=dp), dimension(:) x, real (kind=dp) cost, real (kind=dp), dimension(:) minx, real (kind=dp), dimension(:) maxx, real (kind=dp), dimension(:) diffx )

Find the optimum using the Simplex method (Nelder-Mead algorithm) Note that constraint box is taken into account only when creating the initial simplex.

Referenced by findoptimum().

Here is the call graph for this function:

Here is the caller graph for this function: